Beiträge von LoomaR

    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 ?