Beiträge von LoomaR

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums

    Warum sollte ich jedem mein RCON geben wollen ? Genau, macht man nicht, deswegen benutze ich ein Adminsystem, warum ? Es soll Benutzerfreundlich sein. Mein Server hat mehr als nur ausreichende Ressourcen, weswegen ich mir diese Performancefressenden Klassen noch leisten darf :)

    Adde mich mal in Skype und wir schauen uns dass gerne mal fix gemeinsam an !


    Bei mir mit ein wenig hin und her unter Unix Fixxed :



    Ja ich habe absichtlich keinen Gamemode geladen !

    So funktioniert das ganze ! Also mit deinem Code, aber wie mache ich es nun, dass dort etwas in der Richtung steht wie:


    "[AdmMsg]: %s, Du bist nicht befugt diesen Befehl zu benutzen!" Mindest benötigter Rang : (RANG)


    Und eventuell noch sowas wie ... Du hast %s zum (Rang) befördert. Hat Spieler %s zum (RANG) befördert ?


    Eventuell würde mir auch helfen, wenn du es detaliert erklärst warum du es so machst ! Den Query habe ich absichtlich wieder nach oben geschoben ! Da ich sonst Fehler bekomme !


    ocmd:setadmin(playerid, params[])
    {
    new query[256];
    if(isPlayerAnAdmin(playerid,1))
    {
    format(query, sizeof query, "[AdmMsg]: %s, Du bist nicht befugt diesen Befehl zu benutzen!" ,Spielername(playerid));
    return SendClientMessage(playerid, Rot, query);
    }
    new pID;
    if(sscanf(params, "ui", pID, rang)) return SendClientMessage(playerid, Blau, "[SysMsg]: Benutze: /setadmin [SpielerID][Rang 0 - 5]");
    SetPVarInt(pID, "Adminlevel", rang);
    SendClientMessage(playerid, Blau, "Der Vorgang war erfolgreich");
    mysql_format(Handle, query, sizeof(query), "UPDATE `users` SET `Adminlevel`='%i' WHERE `username`='%s'",rang,Spielername(pID));
    mysql_pquery(Handle, query);
    return 1;
    }


    Und zur Hölle warum muss ich GetPVarInt und SetPVarInt nutzren wenn ich mit MySQL arbeite, das verstehe ich nicht ganz :(

    Schrott !


    Grund : FERTIGPC ( Allgemein Müll )


    Beu dir deinen Rechner selber zusammen, ist kosteng+ünstiger und du kannst deine Komponenten aufeinander abstimmen :)

    Ich habe da ein Problemchen !


    Ich nutze ein MySQL System, Admin erstellen und in der DB Speichern alles kein Thema ...


    Aber warum geht dieses hier nicht :


    /*Hier kann man die Enums finden !*/


    enum PD
    {
    pEingeloggt,
    pGeld,
    pLevel,
    pAdminlevel,
    pFraktion,
    pOnline
    };


    new SpielerInfo[MAX_PLAYERS][PD];
    new Handle;
    new rang;
    new fraktion;


    /*Das Script beginnt hier !*/


    ocmd:setadmin(playerid, params[])
    {
    new query[256];
    //if(!IsPlayerAdmin(playerid))
    if(isPlayerAnAdmin(playerid,1, rang))
    {
    format(query, sizeof query, "[AdmMsg]: %s, Du bist nicht befugt diesen Befehl zu benutzen!" ,Spielername(playerid));
    return SendClientMessage(playerid, Rot, query);
    }
    new pID;
    if(sscanf(params, "ui", pID, rang)) return SendClientMessage(playerid, Blau, "[SysMsg]: Benutze: /setadmin [SpielerID][Rang 0 - 5]");
    SetPVarInt(playerid, "Adminlevel", rang);
    SendClientMessage(pID, Blau, "Der Vorgang war erfolgreich");
    mysql_format(Handle, query, sizeof(query), "UPDATE `users` SET `Adminlevel`='%i' WHERE `username`='%s'",rang,Spielername(playerid));
    mysql_pquery(Handle, query);
    return 1;
    }


    stock isPlayerAnAdmin(playerid)
    {
    if(GetPVarInt(playerid,"Adminlevel")>=rang)
    return 0;
    }


    stock isPlayerNotAnAdmin(playerid)
    {
    if(getPVarInt(playerid,"Adminlevel")<=rang)
    return 0;
    }


    stock Adminrang(playerid)
    {
    new rang[128];
    switch(SpielerInfo[playerid][pAdminlevel])
    {
    case 0 : rang = "Zivilist";
    case 1 : rang = "Probe Supporter";
    case 2 : rang = "Supporter";
    case 3 : rang = "Moderator";
    case 4 : rang = "Admin";
    case 5 : rang = "FullAdmin";
    case 6 : rang = "Inhaber";
    }
    return rang;
    }


    Vielen Dank für Eure Hilfe !

    8|?( :wacko:


    Und ich suche doch nur eine Erklärung für :


    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, Rot, "[AdmMsg]: [u]'%s[/u]', Du bist nicht befugt diesen Befehl zu benutzen!");


    Nicht wegen einem case oder return oder wie auch immer, und warum dass so sein muss, damit ich auch einen grund und nicht nur eine Vorlage habe ! :/

    Dank deine Antwort bin ich auf das hier gestoßen :)


    [ SCRIPTING ] sscanf 2.0


    Besten Dank !


    new pID,rang;


    Das hatte ich absichtlich weggelassen, da die Ränge aus einem Stock enstehen :)


    stock Adminrang(playerid)
    {
    new rang[54];
    switch(SpielerInfo[playerid][pAdminlevel])
    {
    case 0 : rang = "Zivilist";
    case 1 : rang = "Probe Supporter";
    case 2 : rang = "Supporter";
    case 3 : rang = "Moderator";
    case 4 : rang = "Admin";
    case 5 : rang = "FullAdmin";
    case 6 : rang = "Inhaber";
    }
    return rang;
    }


    Dafür nochmals besten Dank an @seegran und ChristianW wegen die Hilfe gestern Abend im TS³ !

    Guten Tag zusammen,


    ich versuche gerade einen Setadmin Befehl zu basteln, der einen User jedoch persönlich anspricht. Ich glaube ich mache da was verkehrt, kann mir Jemand einen Tipp geben ?


    Zudem, ich Suche eine Erklärung für die Verwendung von %i, %s, %d, %e und so weiter. Was steht genau für was und ist wie anzuwenden ?


    Danke :)


    ocmd:setadmin(playerid, params[])
    {
    new query[256];
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, Rot, "[AdmMsg]: %s, Du bist nicht befugt diesen Befehl zu benutzen!");
    new pID;
    if(sscanf(params, "ui", pID, rang)) return SendClientMessage(playerid, Blau, "Benutze: /setadmin [SpielerID][Rang 0 - 5]");
    SetPVarInt(playerid, "Adminlevel", rang);
    SendClientMessage(pID, Blau ,"Der Vorgang war erfolgreich");
    mysql_format(Handle, query, sizeof(query), "UPDATE `samp_database`.`users` SET `Adminlevel`='%i' WHERE `username`='%s'", Spielername(playerid));
    mysql_pquery(Handle, query);
    return 1;
    }

    Guten morgen zusammen,


    ich habe eine kleine Frage, kann mir eventuell Jemand sagen, was ich noch machen muss um das ganze 100% auf MySQL Basis zu haben ?ß?


    ocmd:setadmin(playerid, params[])
    {
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, Rot, "AdmMsg: Du bist nicht befugt diesen Befehl zu benutzen!");
    new pID, pRang;
    if(sscanf(params, "ui", pID, pRang)) return SendClientMessage(playerid, Blau, "Benutze: /setadmin [SpielerID][Rang 0 - 5]");
    SetPVarInt(playerid, "Adminlevel", pRang);
    SendClientMessage(pID, Blau ,"Der Vorgang war erfolgreich");
    SpielerSpeichern(playerid);
    return 1;
    }


    Das gannze läuft über die Datenbank ! Tabelle Users, Spalte Adminlevel!


    Gespeichert wird das ganze wie folgt :


    stock SpielerSpeichern(playerid)
    {
    new query[256];
    if(!SpielerInfo[playerid][pEingeloggt])return 1;
    mysql_format(Handle, query, sizeof(query), "UPDATE `samp_database`.`users` SET `Geld`='%i',`Level`='%i', Adminlevel`='$i'` WHERE `username`='%e'", GetPlayerMoney(playerid), GetPlayerScore(playerid), Spielername(playerid)),
    mysql_pquery(Handle, query);
    return 1;
    }


    Aufgerufen wird es so :


    stock SpielerLaden(playerid)
    {
    SpielerInfo[playerid][pEingeloggt] = true;
    SpielerInfo[playerid][pGeld] = cache_get_field_content_int(0, "Geld", Handle), GivePlayerMoney(playerid, SpielerInfo[playerid][pGeld]);
    SpielerInfo[playerid][pLevel] = cache_get_field_content_int(0, "Level", Handle), SetPlayerScore(playerid, SpielerInfo[playerid][pLevel]);
    SpielerInfo[playerid][pAdminlevel] = cache_get_field_content_int(0, "Adminlevel", Handle);
    return 1;
    }


    Thanks :)

    Guten Morgen zusammen,


    für die Nachtaktiven, ich hab euin wenig Langeweile und versuche mich derzeitig an Pawno :)


    Wenn ihr wollt, dürft ihr mir gerne zuschauen !


    Link : http://www.hitbox.tv/LoomaR


    Online bin ich meist ab 12 Uhr bis Open end :)


    Kritik : Klar her damit, wenn ich nen Noob bin, dann ist es so :P

    Spoiler anzeigen

    /*Allgemeine Includes sind hier zu finden !*/

    Spoiler anzeigen
    #include <a_samp>
    #include <a_mysql>
    #include <MD5>
    #include <npcdll>
    #include <ocmd>
    #include <sscanf2>

    Spoiler anzeigen
    /*Allgemeine Farben sind hier zu finden !*/

    Spoiler anzeigen
    #define Weiss 0xFFFFFFFF
    #define Rot 0xFF0000FF
    #define Gelb 0xFFFC00FF
    #define grün 0x00FF3CFF
    #define blau 0x0096FFFF

    Spoiler anzeigen
    /*Allgemeine Handles sind hier zu finden !*/

    Spoiler anzeigen
    new Handle;

    Spoiler anzeigen
    new CarRadio[MAX_VEHICLES],
    CarRadioName[MAX_PLAYERS][32],
    CarRadioURL[MAX_PLAYERS][128];
    /*Hier finsdest du die MySQL Daten !*/

    Spoiler anzeigen
    /*Warum nutze ich diese Reihenfolge ? Weil man erst den Host, dann den User, dann dass password und dann die Datenbank abruft !*/

    Spoiler anzeigen
    #define MYSQL_HOST "localhost"
    #define MYSQL_USER "root"
    #define MYSQL_DATA "samp_database"
    #define MYSQL_PASS ""
    /*Hier kann man noch Dialoge finden !*/

    Spoiler anzeigen
    #define DIALOG_REGISTER 1
    #define DIALOG_LOGIN 2

    Spoiler anzeigen
    #define RADIO_STREAMS_DEBUG 3

    #define DIALOG_CARMENU_RADIO 300
    #define DIALOG_RADIO_ADD_NAME 301
    #define DIALOG_RADIO_ADD_URL 302
    #define DIALOG_RADIO_ADD_CHECK 303
    #define DIALOG_RADIO_MANAGE_LIST 304
    /*Hier kann man die forwards finden !*/

    Spoiler anzeigen
    forward OnPasswordResponse(playerid);
    forward UserCheck(playerid);

    Spoiler anzeigen
    /*Hier = ENUM !!!*/

    Spoiler anzeigen
    enum PD
    {
    pEingeloggt,
    pGeld,
    pLevel,
    pFraktion,
    pOnline
    };

    Spoiler anzeigen
    new SpielerInfo[MAX_PLAYERS][PD];

    Spoiler anzeigen
    /*Das Script beginnt hier !*/

    Spoiler anzeigen
    main()
    {
    print("\n----------------------------------");
    print(" That is a gamemode made by LoomaR");
    print("----------------------------------\n");
    }

    Spoiler anzeigen
    public OnGameModeInit()
    {
    Handle = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_DATA, MYSQL_PASS);
    if(mysql_errno() < 1) print ("MySqlServer: Die Verbindung zum Server wurde erfolgreich hergestellt."), mysql_log(LOG_ALL); else print ("MySqlServer: Es konnte keine Verbindung zum Server hergestellt werden"), SendRconCommand("exit");
    SetGameModeText("That is a script made by LoomaR");
    AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    return 1;
    }

    Spoiler anzeigen
    public OnGameModeExit()
    {
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerRequestClass(playerid, classid)
    {
    SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerConnect(playerid)
    {
    new query[256];
    mysql_escape_string(Spielername(playerid), Spielername(playerid));
    format(query, sizeof(query), "SELECT * FROM `samp_database`.`users` WHERE username='%s'", Spielername(playerid));
    mysql_tquery(Handle, query, "UserCheck", "i", playerid);
    format(query, sizeof(query), "UPDATE `samp_database`.`users` SET `Online`=1 WHERE `username`='%s'", Spielername(playerid));
    mysql_tquery(Handle, query);
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerDisconnect(playerid, reason)
    {
    new query[256];
    format(query, sizeof(query), "UPDATE `samp_database`.`users` SET `Online`=0 WHERE `username`='%s'", Spielername(playerid));
    SpielerSpeichern(playerid);
    mysql_tquery(Handle, query);
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerSpawn(playerid)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerDeath(playerid, killerid, reason)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnVehicleSpawn(vehicleid)
    {
    CarRadio[vehicleid] = 0;
    return 1;
    }

    Spoiler anzeigen
    public OnVehicleDeath(vehicleid, killerid)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerText(playerid, text[])
    {
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/mycommand", cmdtext, true, 10) == 0)
    {
    // Do something here
    return 1;
    }
    return 1;
    }

    Spoiler anzeigen
    ocmd:carradio(playerid, params[])
    {
    new query [512];
    if(GetPlayerVehicleSeat(playerid) != 1 && GetPlayerVehicleSeat(playerid) != 0)return SendClientMessage(playerid, 0xAFAFAFFF, "Du bist kein Fahrer oder Beifahrer eines Fahrzeuges!");
    format(query, sizeof(query), "SELECT * FROM radiostations WHERE radio_active='1'", Spielername(playerid));
    new rows, fields;
    cache_get_data(rows, fields);
    if(!rows)return SendClientMessage(playerid, 0xAFAFAFFF, "Es sind keine Radiosender vorhanden.");
    new radios, dstring[1028];
    while(radios < rows) {
    new temp[512];
    cache_get_field_content(radios, "radio_name", temp);
    format(dstring, sizeof dstring, "%s%s\n", dstring, temp);
    radios++;
    }
    ShowPlayerDialog(playerid, DIALOG_CARMENU_RADIO, DIALOG_STYLE_LIST, "Radiosender", dstring, "Einschalten", "Ausschalten");
    mysql_tquery(Handle, query);
    return 1;
    }

    ocmd:listradios(playerid, params[])
    {
    new query [512];
    if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, 0xAFAFAFFF, "Du bist kein Administrator.");
    format(query, sizeof(query), "SELECT * FROM radiostations WHERE radio_active='1'", Spielername(playerid));
    new rows, fields;
    cache_get_data(rows, fields);
    if(!rows)return ShowPlayerDialog(playerid, DIALOG_RADIO_MANAGE_LIST, DIALOG_STYLE_LIST, "Radiosender", "Es sind keine Radiosender vorhanden", "Hinzufügen", "");
    new radios, dstring[1028];
    while(radios < rows) {
    new temp[512];
    cache_get_field_content(radios, "radio_name", temp);
    format(dstring, sizeof dstring, "%s[%i] %s\n", cache_get_field_content_int(radios, "id"), dstring, temp);
    radios++;
    }
    ShowPlayerDialog(playerid, DIALOG_RADIO_MANAGE_LIST, DIALOG_STYLE_LIST, "Radiosender", dstring, "Hinzufügen", "Löschen");
    mysql_tquery(Handle, query);
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerExitVehicle(playerid, vehicleid)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    new vehicleid = GetPlayerVehicleID(playerid);
    if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER) {
    if(CarRadio[vehicleid] != 0) {
    new query[512];
    format(query, sizeof(query), "SELECT * FROM radiostations WHERE id='%i' LIMIT 1", CarRadio[vehicleid], Spielername(playerid));
    mysql_tquery(Handle, query);
    new temp[512];
    cache_get_field_content(0, "radio_url", temp);
    PlayAudioStreamForPlayer(playerid, temp);
    }
    }
    if(newstate == PLAYER_STATE_ONFOOT) {
    StopAudioStreamForPlayer(playerid);
    }
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerEnterCheckpoint(playerid)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerLeaveCheckpoint(playerid)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerEnterRaceCheckpoint(playerid)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerLeaveRaceCheckpoint(playerid)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnRconCommand(cmd[])
    {
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerRequestSpawn(playerid)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnObjectMoved(objectid)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerObjectMoved(playerid, objectid)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnVehicleMod(playerid, vehicleid, componentid)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnVehicleRespray(playerid, vehicleid, color1, color2)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerSelectedMenuRow(playerid, row)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerExitedMenu(playerid)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnRconLoginAttempt(ip[], password[], success)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerUpdate(playerid)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerStreamIn(playerid, forplayerid)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerStreamOut(playerid, forplayerid)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnVehicleStreamIn(vehicleid, forplayerid)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnVehicleStreamOut(vehicleid, forplayerid)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    new query[256], key[50];
    if(dialogid == DIALOG_REGISTER)
    {
    if(!response)
    {
    return Kick(playerid);
    }
    if(strlen(inputtext) < 7) return SendClientMessage(playerid, Rot, "Error: {FFFFFF}Dein Passwort ist kleiner als 7 Zeichen. Bitte verwende ein sicheres Passwort."),ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registration","It was no Account found under this name.\nPlease take a safe Password to register you.","Register","Cancel"); format(key, 50, "%s", inputtext);
    mysql_escape_string(Spielername(playerid), Spielername(playerid)), mysql_escape_string(key, key);
    format(query, sizeof(query), "INSERT INTO `samp_database`.`users` (`username`, `password`, `Geld`, `Level`) VALUES ('%s', MD5('%s'), 50000, 1)", Spielername(playerid), key);
    mysql_tquery(Handle, query);
    SendClientMessage(playerid, -1, "Dein Account wurde erstellt.");
    GivePlayerMoney(playerid, 50000), SetPlayerScore(playerid, 1);

    return 1;
    }

    if(dialogid == DIALOG_LOGIN)
    {
    if(!response)
    {
    return Kick(playerid);
    }
    format(key, 50, "%s", inputtext);
    mysql_escape_string(Spielername(playerid), Spielername(playerid)), mysql_escape_string(key, key);
    format(query, sizeof(query), "SELECT * FROM `samp_database`.`users` WHERE username='%s' AND password=MD5('%s')", Spielername(playerid), key);
    mysql_tquery(Handle, query, "OnPasswordResponse", "i", playerid);
    }

    new string[512];
    switch(dialogid) {
    case DIALOG_CARMENU_RADIO: {
    if(response) {
    format(query, sizeof(query), "SELECT * FROM radiostations WHERE radio_name='%s' LIMIT 1", inputtext, Spielername(playerid));
    mysql_tquery(Handle, query);
    new temp[512];
    cache_get_field_content(0, "radio_url", temp);
    PlayAudioStreamForPlayer(playerid, temp);
    cache_get_field_content(0, "radio_name", temp);
    format(query, sizeof(query), "Du hast den Radiosender auf %s gestellt.", temp);
    SendClientMessage(playerid, -1, string);
    CarRadio[GetPlayerVehicleID(playerid)] = cache_get_field_content_int(0, "id");
    } else StopAudioStreamForPlayer(playerid);
    }
    case DIALOG_RADIO_ADD_NAME: {
    if(response) {
    if(!strlen(inputtext) || strlen(inputtext) < 6)return SendClientMessage(playerid, 0xAFAFAFFF, "Der Name ist zu kurz."), ShowPlayerDialog(playerid, DIALOG_RADIO_ADD_NAME, DIALOG_STYLE_INPUT, "Radio hinzufügen", "Gebe den Namen des Radios ein.", "Weiter", "Abbruch");
    if(strlen(inputtext) > 32)return SendClientMessage(playerid, 0xAFAFAFFF, "Der Name ist zu lang."), ShowPlayerDialog(playerid, DIALOG_RADIO_ADD_NAME, DIALOG_STYLE_INPUT, "Radio hinzufügen", "Gebe den Namen des Radios ein.", "Weiter", "Abbruch");
    ShowPlayerDialog(playerid, DIALOG_RADIO_ADD_URL, DIALOG_STYLE_INPUT, "Radio hinzufügen", "Gebe die URL des Radios ein.", "Weiter", "Zurück");
    format(CarRadioName[playerid], 32, "%s", inputtext);
    mysql_tquery(Handle, query);
    }
    }
    case DIALOG_RADIO_ADD_URL: {
    if(response) {
    if(!strlen(inputtext) || strlen(inputtext) < 6)return SendClientMessage(playerid, 0xAFAFAFFF, "Die URL ist zu kurz."), ShowPlayerDialog(playerid, DIALOG_RADIO_ADD_URL, DIALOG_STYLE_INPUT, "Radio hinzufügen", "Gebe die URL des Radios ein.", "Weiter", "Zurück");
    if(strlen(inputtext) > 128)return SendClientMessage(playerid, 0xAFAFAFFF, "Die URL ist zu lang."), ShowPlayerDialog(playerid, DIALOG_RADIO_ADD_URL, DIALOG_STYLE_INPUT, "Radio hinzufügen", "Gebe die URL des Radios ein.", "Weiter", "Zurück");
    format(CarRadioURL[playerid], 128, "%s", inputtext);
    format(query, sizeof(query), "Radio Name: %s\nRadio URL: %s\n\nWollen sie die Radiostation hinzufügen?", CarRadioName[playerid], CarRadioURL[playerid]);
    ShowPlayerDialog(playerid, DIALOG_RADIO_ADD_CHECK, DIALOG_STYLE_INPUT, "Radio hinzufügen", string, "Ja", "Nein");
    mysql_tquery(Handle, query);
    }
    }
    case DIALOG_RADIO_ADD_CHECK: {
    if(response) {
    format(query, sizeof(query), "INSERT INTO radiostations (`radio_name`, `radio_url`) VALUES ('%s', '%s')", CarRadioName[playerid], CarRadioURL[playerid]);
    mysql_tquery(Handle, query);
    SendClientMessage(playerid, -1, "Du hast erfolgreich eine Radiostation hinzugefügt.");
    #if RADIO_STREAMS_DEBUG == 1
    printf("[Radio-System]: %s hat einen Radiosender hinzugefügt.", PlayerName(playerid));
    #endif
    }
    }
    case DIALOG_RADIO_MANAGE_LIST: {
    if(response) {
    ShowPlayerDialog(playerid, DIALOG_RADIO_ADD_NAME, DIALOG_STYLE_INPUT, "Radio hinzufügen", "Gebe den Namen des Radios ein.", "Weiter", "Abbruch");
    } else if(!response) {
    new start, end;
    start = strfind(inputtext, "[");
    end = strfind(inputtext, "]");
    strdel(inputtext, 0, start+1);
    strdel(inputtext, end, strlen(inputtext));
    new id = strval(inputtext);
    format(query, sizeof(query), "DELETE FROM radiostations WHERE id='%i'", id);
    mysql_tquery(Handle, query);
    SendClientMessage(playerid, -1, "Du hast erfolgreich einen Radiosender gelöscht.");
    #if RADIO_STREAMS_DEBUG == 1
    printf("[Radio-System]: %s hat einen Radiosender gelöscht.", PlayerName(playerid));
    #endif
    }
    }
    }
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerClickPlayer(playerid, clickedplayerid, source)
    {
    return 1;
    }

    Spoiler anzeigen
    public UserCheck(playerid)
    {
    new num_rows, num_fields;
    cache_get_data(num_rows, num_fields, Handle);
    if(num_rows == 0)
    {
    ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Anmeldung", "Es wurde kein Account unter diesem namen gefunden!", "Anmelden", "Abbrechen");
    }
    else
    {
    ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Anmeldung", "Es wurde ein Account unter diesem namen gefunden!", "Anmelden", "Abbrechen");
    }
    }
    public OnPasswordResponse(playerid)
    {
    new num_fields, num_rows;
    cache_get_data(num_rows, num_fields);
    if(num_rows == 0)
    {
    SendClientMessage(playerid, -1, "Das Passwort ist inkorrekt.");
    ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Anmeldung", "Es wurde ein Account unter diesem namen gefunden!", "Anmelden", "Abbrechen");
    }
    else
    {
    SendClientMessage(playerid, -1, "Erfolgreich eingeloggt.");
    SpielerInfo[playerid][pEingeloggt] = true;
    SpielerLaden(playerid);
    SpawnPlayer(playerid);
    }
    return 1;
    }

    Spoiler anzeigen
    stock Spielername(playerid)
    {
    new name[50];
    GetPlayerName(playerid, name, 50);
    return name;
    }

    Spoiler anzeigen
    stock PlayerName(playerid) {
    new Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
    return Name;
    }

    Spoiler anzeigen
    stock SpielerLaden(playerid)
    {
    SpielerInfo[playerid][pEingeloggt] = true;
    SpielerInfo[playerid][pGeld] = cache_get_field_content_int(0, "Geld", Handle), GivePlayerMoney(playerid, SpielerInfo[playerid][pGeld]);
    SpielerInfo[playerid][pLevel] = cache_get_field_content_int(0, "Level", Handle), SetPlayerScore(playerid, SpielerInfo[playerid][pLevel]);
    return 1;
    }

    Spoiler anzeigen
    stock SpielerSpeichern(playerid)
    {
    new query[256];
    if(!SpielerInfo[playerid][pEingeloggt])return 1;
    mysql_format(Handle, query, sizeof(query), "UPDATE `samp_database`.`users` SET `Geld`='%i',`Level`='%i' WHERE `username`='%e'", GetPlayerMoney(playerid), GetPlayerScore(playerid), Spielername(playerid)),
    mysql_pquery(Handle, query);
    return 1;
    }

    Spoiler anzeigen
    stock CheckTables()
    {
    new query[256];
    mysql_format(Handle, query, sizeof(query), "CREATE TABLE IF NOT EXISTS `radiostations` (`id` int(11) NOT NULL AUTO_INCREMENT,`radio_name` text NOT NULL,`radio_url` text NOT NULL,`radio_active` tinyint(1) NOT NULL DEFAULT '1',PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;", Spielername(playerid));
    mysql_pquery(Handle, query);
    return 1;
    }


    So, beim Compilen nun keine Fehler mehr ! Aber ich bin mir sicher, ohne es zu testen, es sind Fehler vorhanden !

    case DIALOG_RADIO_ADD_URL: {
    if(response) {
    if(!strlen(inputtext) || strlen(inputtext) < 6)return SendClientMessage(playerid, 0xAFAFAFFF, "Die URL ist zu kurz."), ShowPlayerDialog(playerid, DIALOG_RADIO_ADD_URL, DIALOG_STYLE_INPUT, "Radio hinzufügen", "Gebe die URL des Radios ein.", "Weiter", "Zurück");
    if(strlen(inputtext) > 128)return SendClientMessage(playerid, 0xAFAFAFFF, "Die URL ist zu lang."), ShowPlayerDialog(playerid, DIALOG_RADIO_ADD_URL, DIALOG_STYLE_INPUT, "Radio hinzufügen", "Gebe die URL des Radios ein.", "Weiter", "Zurück");
    format(CarRadioURL[playerid], 128, "%s", inputtext);
    format(query, sizeof(query), "Radio Name: %s\nRadio URL: %s\n\nWollen sie die Radiostation hinzufügen?", CarRadioName[playerid], CarRadioURL[playerid]);
    ShowPlayerDialog(playerid, DIALOG_RADIO_ADD_CHECK, DIALOG_STYLE_INPUT, "Radio hinzufügen", string, "Ja", "Nein");
    }
    }


    Sicher nicht ?

    ocmd:carradio(playerid, params[])
    {
    new query [512];
    if(GetPlayerVehicleSeat(playerid) != 1 && GetPlayerVehicleSeat(playerid) != 0)return SendClientMessage(playerid, 0xAFAFAFFF, "Du bist kein Fahrer oder Beifahrer eines Fahrzeuges!");
    format(query, sizeof(query), "SELECT * FROM radiostations WHERE radio_active='1'", Spielername(playerid));
    new rows, fields;
    cache_get_data(rows, fields);
    if(!rows)return SendClientMessage(playerid, 0xAFAFAFFF, "Es sind keine Radiosender vorhanden.");
    new radios, dstring[1028];
    while(radios < rows) {
    new temp[512];
    cache_get_field_content(radios, "radio_name", temp);
    format(dstring, sizeof dstring, "%s%s\n", dstring, temp);
    radios++;
    }
    ShowPlayerDialog(playerid, DIALOG_CARMENU_RADIO, DIALOG_STYLE_LIST, "Radiosender", dstring, "Einschalten", "Ausschalten");
    return 1;
    }

    ocmd:listradios(playerid, params[])
    {
    new query [512];
    if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, 0xAFAFAFFF, "Du bist kein Administrator.");
    format(query, sizeof(query), "SELECT * FROM radiostations WHERE radio_active='1'", Spielername(playerid));
    new rows, fields;
    cache_get_data(rows, fields);
    if(!rows)return ShowPlayerDialog(playerid, DIALOG_RADIO_MANAGE_LIST, DIALOG_STYLE_LIST, "Radiosender", "Es sind keine Radiosender vorhanden", "Hinzufügen", "");
    new radios, dstring[1028];
    while(radios < rows) {
    new temp[512];
    cache_get_field_content(radios, "radio_name", temp);
    format(dstring, sizeof dstring, "%s[%i] %s\n", cache_get_field_content_int(radios, "id"), dstring, temp);
    radios++;
    }
    ShowPlayerDialog(playerid, DIALOG_RADIO_MANAGE_LIST, DIALOG_STYLE_LIST, "Radiosender", dstring, "Hinzufügen", "Löschen");
    return 1;
    }


    Jemand eine Ahnung warum dies so ist ?