Beiträge von Red_Romeo

    Schreibe alles genau so wie Jeffry es zuletzt gepostet hat und änder folgendes um:


    mysql_format(Handle, Query, sizeof(Query), "UPDATE `spieler` SET `IP`='%s', `Admin`='%d', `VIP`='%d', `Kills`='%d', `Deaths`='%d', `Level`='%d', `Money`='%d', `Tutorial`='%d', `Skin`='%i' WHERE `ID`=%d",\
    IP[playerid], SpielerInfo[playerid][pAdmin], SpielerInfo[playerid][pVIP], SpielerInfo[playerid][pKills], SpielerInfo[playerid][pDeaths], GetPlayerScore(playerid), SpielerInfo[playerid][pMoney],
    SpielerInfo[playerid][pTutorialFinished], SpielerInfo[playerid][pSkin], SpielerInfo[playerid][pID]);zumysql_format(Handle, Query, sizeof(Query), "UPDATE `spieler` SET `IP`='%s', `Admin`='%d', `VIP`='%d', `Kills`='%d', `Deaths`='%d', `Level`='%d', `Money`='%d', `Tutorial`='%d', `Skin`='%i' WHERE `ID`='%d'",\
    IP[playerid], SpielerInfo[playerid][pAdmin], SpielerInfo[playerid][pVIP], SpielerInfo[playerid][pKills], SpielerInfo[playerid][pDeaths], GetPlayerScore(playerid), SpielerInfo[playerid][pMoney],
    SpielerInfo[playerid][pTutorialFinished], SpielerInfo[playerid][pSkin], SpielerInfo[playerid][pID]);
    Bei Where ID = %d haben die Apostrophe gefehlt.
    Schau dir doch gegeben falls mal die mysql log wenn es immer noch nicht geht oder poste diese hier.

    1.) Startest du überhaupt den Timer ? Ich glaube nicht, sonst würdest du nämlich mit der ersten Nachricht zugespammt werden.
    Lösung: Timer bei OnGameModeInit starten.
    2.) Du startest im Timer den Timer erneut und hast repeating immer auf true. Das heißt, du startest den Server der Timer läuft einmal, nach 5 Stunden stoppst du den Server und zu dem Zeitpunkt lief der Timer 200x.
    Lösung: Timer nur einmal starten (bei OnGameModeInit mit repeating true) und dann niergendswo mehr starten.
    3.) Nun zu deinem Problem, wenn der Timer läuft u.ä solltest du mit der ersten Tutorialnachricht alle x Sekunden zugespammt werden. Wieso ? Ganz einfach, du setzt in den einzelnen erstellten publics den Tutorialwert auf die gleiche Zahl anstatt ihn ein höhr zu setzen.
    Lösung: Bei Tutorial tut[playerid] nicht auf 1 sondern auf 2 setzten und bei Tutorial2 nicht auf 2 sondern auf 3 und so weiter.


    Wenn du die oberen Schritte befolgst sollte dein Code anschließend klappen, ansonsten hätte ich auch noch eine andere Lösung, da ich dein Weg mit einem Globalen Timer ziemlich 'scheiße' finde.

    Spoiler anzeigen
    forward Tutorial(playerid, index);
    public Tutorial(playerid, index){
    if(index == 1){
    TogglePlayerControllable(playerid,0);
    SetPlayerFacingAngle(playerid, 187.9970);
    SetPlayerVirtualWorld(playerid,2);
    SetPlayerInterior(playerid,0);
    SetPlayerCameraPos(playerid,1534.1870,-705.0476,116.7355);
    SetPlayerCameraLookAt(playerid, 1534.1870,-705.0476,116.7355);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"|______Tutorial_____|");
    SendClientMessage(playerid,COLOR_GREEN,"Herzlich Wilkommen auf dem Royal Streets Reallife Server !");
    SendClientMessage(playerid,COLOR_GREEN,"In dem Folgenden Tutorial wird dir der Server erklärt,");
    SendClientMessage(playerid,COLOR_GREEN,"lehn dich zurück und guck aufmerksam zu.");
    SetTimerEx("Tutorial", zeit, false, "ii", playerid, 2);
    }
    else if(index == 2){
    SetPlayerFacingAngle(playerid,139.8221);
    SetPlayerVirtualWorld(playerid,2);
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid,1506.5172,-1721.1539,23.2764);
    SetPlayerCameraPos(playerid,1506.5172,-1723.1539,30.2764);
    SetPlayerCameraLookAt(playerid,1486.3931,-1743.4344,13.5469);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"|______Stadthalle_____|");
    SendClientMessage(playerid,COLOR_GREEN,"Hier, in der Stadthalle, kannst du dir einen Job suchen,");
    SendClientMessage(playerid,COLOR_GREEN,"oder Arbeitslosengeld beantragen. Du wirst hier viele Leute treffen.");
    SetTimerEx("Tutorial", zeit, false, "ii", playerid, 3);
    }
    else if(index == 3){
    SetPlayerFacingAngle(playerid,265.5638);
    SetPlayerPos(playerid,1526.6272,-1673.3956,13.3828);
    SetPlayerVirtualWorld(playerid,2);
    SetPlayerInterior(playerid,0);
    SetPlayerCameraPos(playerid,1526.6272,-1673.3956,13.3828);
    SetPlayerCameraLookAt(playerid,1542.2948,-1675.2501,13.5542);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"|______SAPD_____|");
    SendClientMessage(playerid,COLOR_GREEN,"Hier wirst du einen Beamten des SAPD antreffen. Er wird dir helfen");
    SendClientMessage(playerid,COLOR_GREEN,"und dich beschützen. Du kannst im Department deinen Führerschein ");
    SendClientMessage(playerid,COLOR_GREEN,"erwerben. Er kostet dich lediglich 1400$.");
    SetTimerEx("Tutorial", zeit, false, "ii", playerid, 4);
    }
    else if(index == 4){
    //...
    }
    return 1;
    }

    Achtung! Dies ist ein FS kein GM!


    Negative, das ist ein Gamemode.
    Wenn du willst dass es ein Filterscript sein soll musst du folgendes ändern (die Fehler sind dann auch weg):
    //#define FILTERSCRIPT
    zu
    #define FILTERSCRIPT


    Desweiterem erstellt man Pickups beim Laden des Gamemodes/Filterscripts und nicht bei OnPlayerConnect.
    Heißt für dich lade es bei OnFilerscriptInit.

    außerdem wenn man nicht Scripten kann sollte man es auch Lassen!

    Das ist schon das 2-3 mal das ich soetwas von dir lese, dies ist eine absolut schwachsinnige Antwort! Man Scriptet immer hin weil es einem Spaß macht und man es lernen will.. Andere Personen konnten auch nicht Scripten haben die es gelassen ? Nein und Sie können es heute sehr gut!




    [NRR]CyberFish: Besteht den eine Verbindung zu deinem MySQL Server ?
    Wenn du folgendes im Code hast (welches auch oben im Tutorial erwähnt wird) dürftest du eine Antwort haben.
    public OnGameModeInit()
    {
    //===[ M_Connection ]===//
    mysql_log(LOG_ERROR | LOG_WARNING | LOG_DEBUG);
    Handle = mysql_connect(M_HOST, M_USER, M_DATA, M_PASS);
    if(mysql_errno(Handle) != 0)
    {
    print("[M_CONNECTION] >> Die Verbindung zur Datenbank ist Fehlgeschlagen! << [M_CONNECTION]");
    }
    else
    {
    printf("[M_CONNECTION] >> Die Verbindung zur Datenbank %s wurde Erfolgreich Hergestellt! << [M_CONNECTION]",M_DATA);
    }
    return 1;
    }
    Ich habe nämlich den Verdacht das bei dir keine MySQL Verbindung besteht, sei das Passwort falsch oder sonstwas.

    Deine Funktion (Text) ist zu lang, probiers mal so:
    if(dialogid==DIALOG_CMDS)
    {
    if(response)
    {
    if(listitem==1)
    {
    new str[1024];
    format(str, sizeof(str),"{FF0000}Allgemeine Befehle\n\n{00AFFF}/stats - {FFFFFF}Zeigt deine Statistiken\n{00AFFF}/zeigeperso [ID] - {FFFFFF}Zeigt Spieler X deinen Personalausweis\n{00AFFF}/scheine - {FFFFFF}Zeigt deine Lizenzen\n{00AFFF}/zeigescheine [ID] - {FFFFFF}Zeigt Spieler X deine Lizenzen");
    format(str, sizeof(str), "%s\n{00AFFF}/ammu - {FFFFFF}Zeigt Dir Optionen zum Waffenkauf\n{00AFFF}/dfarm - {FFFFFF}Zeigt Dir Optionen zum Drogenkauf\n{00AFFF}/afk - {FFFFFF}Du aktivierst/deaktivierst den AFK-Modus\n\n\n\n{FF0000}Hinweis\n{FFFFFF}In Bearbeitung", str);
    ShowPlayerDialog(playerid,DIALOG_Cmds0,DIALOG_STYLE_MSGBOX,"Befehle - Allgemein",str,"Schließen","");
    }
    }
    return 1;
    }


    Und wenn du eine Liste haben willst, so wie dus im ersten Post erwähnt hast musst du DIALOG_STYLE_LIST nutzen und nicht DIALOG_STYLE_MSGBOX
    Und listitem fängt bei 0 an und nicht bei 1, d.h. du musst noch listitem == 1 zu listitem == 0 ändern.
    //edit Fehler behoben + listitem Erklärung hinzugefügt

    Nicht ganz richtig, ich liste dir mal ein paar Funktionen auf, welche wofür sind.


    Textdraw für alle (gleicher Text für jeden Spieler):
    https://wiki.sa-mp.com/wiki/TextDrawCreate - Textdraw erstellen
    https://wiki.sa-mp.com/wiki/TextDrawDestroy - Textdraw löschen
    https://wiki.sa-mp.com/wiki/TextDrawShowForPlayer - Textdraw für einen Spieler anzeigen
    https://wiki.sa-mp.com/wiki/TextDrawShowForAll - Textdraw für alle Spieler anzeigen



    Textdraw für einen Spieler (invidiueller Text):
    https://wiki.sa-mp.com/wiki/CreatePlayerTextDraw - Textdraw erstellen
    https://wiki.sa-mp.com/wiki/PlayerTextDrawDestroy - Tetdraw löschen
    https://wiki.sa-mp.com/wiki/PlayerTextDrawShow - Textdraw für den Spieler anzeigen


    Weitere Funktionen siehst du jeweils auf den Seiten.


    //edit Ich gehe nochmal näher auf deine Fragen ein.

    Antworten auf deine Fragen

    Also, nehmen wir an, ich erstelle einen Textdraw der jeden Spieler angezeigt wird, z.B eine Box.
    Dort verwende ich dann einfach TextDrawShowForAll oder?

    Antworten auf deine Fragen

    Nur, wenn es zu dem Zeitpunkt alle Spieler sehen sollen ansonsten nutzt du TextDrawShowForPlayer.

    Antworten auf deine Fragen

    Dann als nächstes z.B eine Anzeige, die individuell ist. (Eine Geldanzeige zum Beispiel, die für jeden Spieler unterschiedlich ist)
    Dort verwende ich dann z.B TextDrawShowForPlayer oder?

    Antworten auf deine Fragen

    Nein, da nutzt du CreatePlayerTextDraw und PlayerTextDrawShow.

    Antworten auf deine Fragen

    Als letztes z.B einen Textdraw, wo der Name steht, aber wo der Textdraw immer an der selben Stelle ist und der immer an dieser Position angezeigt wird.
    Dort wird doch z.B auch TextDrawShowForPlayer verwendet, oder?

    Antworten auf deine Fragen

    Nein, da nutzt du emfalls CreatePlayerTextDraw und PlayerTextDrawShow.

    Du hast vergessen den Text zu formatieren.
    ocmd:gibgeld(playerid,params[])
    {
    if(!isAdmin(playerid,3))return SendClientMessage(playerid,Rot,"Dein Adminlevel ist nicht Ausreichend");
    new pID,a_money;
    if(sscanf(params,"ui",pID,a_money))return SendClientMessage(playerid,Grau,"INFO: /gibgeld [playerid] [Betrag]");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid, -1, "INFO: Spieler ist nicht Online.");//Abfrage hinzugefügt
    GivePlayerMoney(pID, a_money);
    savePlayer(pID);
    new str[128];
    format(str, sizeof(str), "Info: Du hast %i Doller erhalten von %s erhalten", a_money, SpielerName(playerid));//Text formatieren
    SendClientMessage(pID,Gelb,str);
    format(str, sizeof(str), "Info: Du hast %s %i Doller gegeben", SpielerName(pID), a_money);//Text formatieren
    SendClientMessage(playerid,Gelb,str);
    return 1;
    }
    [expander=stock SpielerName]stock SpielerName(playerid){
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    return name;
    }[/expender]

    Hey, ich habe es grade mal selber ausprobiert..
    Ging nicht.. ein wenig gegoogelt und fehler gefunen.

    Zitat

    The print statements will not show up in sa-mp server and server log because they are run in a separate program, you can use DebugView to see those print statements: http://technet.microsoft.com/pl-pl/sysinternals/bb896647


    The callbacks are being called in the NPC modes, if they wouldn't, the NPCs included with the server package wouldn't work.

    Quelle: http://forum.sa-mp.com/archive/index.php/t-269982.html


    Fazit: OnCientMessage funktioniert einwandfrei allerdings kann man nichts print'n (Für Personen die evtl. mal den selben Fehler haben)

    Das beantwortet diese Frage immer noch nicht.

    Hast du mal ausprobiert ob der stock überhaupt aufgerufen wird ?


    Dies wäre eine Prima Methode zu überprüfen ob der stock aufgerufen wird:
    printf("LoadStatistik(%d) wurde aufgerufen!", playerid);


    Und jetzt könnte ich emfalls fragen: Wird das Public überhaupt aufgerufen, da man nicht sieht wo du dies aufrufst.

    new FraktionInfo[19][7][24] = {
    {"Zivilist", "rang1", "rang2", "rang3", "rang4", "rang5", "rang6"},//0. Zivilist (einfach ignorieren)
    {"Polizei", "rang1", "rang2", "rang3", "rang4", "rang5", "rang6"},//1. Polizei
    {"FBI", "rang1", "rang2", "rang3", "rang4", "rang5", "rang6"},//2. FBI
    {"Army", "rang1", "rang2", "rang3", "rang4", "rang5", "rang6"},//3. Army
    {"SWAT", "rang1", "rang2", "rang3", "rang4", "rang5", "rang6"},//4. SWAT
    {"Medic", "rang1", "rang2", "rang3", "rang4", "rang5", "rang6"},//5. Medic
    {"Feuerwehr", "rang1", "rang2", "rang3", "rang4", "rang5", "rang6"},//6. Feuerwehr
    {"Praesi", "rang1", "rang2", "rang3", "rang4", "rang5", "rang6"},//7. Praesi
    {"OAmt", "rang1", "rang2", "rang3", "rang4", "rang5", "rang6"},//8. OAmt
    {"CNN", "rang1", "rang2", "rang3", "rang4", "rang5", "rang6"},//9. CNN
    {"LCN", "rang1", "rang2", "rang3", "rang4", "rang5", "rang6"},//10. LCN
    {"Grove", "rang1", "rang2", "rang3", "rang4", "rang5", "rang6"},//11. Grove
    {"Aztecas", "rang1", "rang2", "rang3", "rang4", "rang5", "rang6"},//12. Aztecas
    {"RS", "rang1", "rang2", "rang3", "rang4", "rang5", "rang6"},//13. RS
    {"Fahrschule", "rang1", "rang2", "rang3", "rang4", "rang5", "rang6"},//14. Fahrschule
    {"Wheelman", "rang1", "rang2", "rang3", "rang4", "rang5", "rang6"},//15. Wheelman
    {"Hitman", "rang1", "rang2", "rang3", "rang4", "rang5", "rang6"},//16. Hitman
    {"RMafia", "rang1", "rang2", "rang3", "rang4", "rang5", "rang6"},//18. RMafia
    };


    dcmd_giverang(playerid, params[])
    {
    new pID, NeuerRang;
    if(!isPlayerAdmin(playerid, 5))return SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin!");
    if(sscanf(params,"ud",pID,NeuerRang))return SendClientMessage(playerid,COLOR_GREY,"Benutze: /giverang [pID] [neuerrang]");
    if(NeuerRang > 6 || NeuerRang < 1)return SendClientMessage(playerid,COLOR_RED,"Nicht kleiner als 1 und nicht höher als 6!");
    if(pID == INVALID_PLAYER_ID) return SendClientMessage(playerid,COLOR_RED,"Ungültiger Spieler!");
    if(pPlayer[pID][pFraktion] == 0) return SendClientMessage(playerid,COLOR_RED,"Der angegebene Spieler ist in keiner Fraktion!");


    pPlayer[pID][pRang] = NeuerRang;

    new str[128], name[MAX_PLAYER_NAME];
    format(str, sizeof(str), "Du bist nun %s(%d) in der Fraktion %s.", FraktionInfo[pPlayer[pID][pFraktion]][NeuerRang], NeuerRang, FraktionInfo[pPlayer[pID][pFraktion]][0]);
    SendClientMessage(pID,COLOR_LIGHTBLUE,str);
    GetPlayerName(pID, name, sizeof(name));
    format(str, sizeof(str), "Du hast %s den Rang %s(%d) in der Fraktion %s gegeben.", name, FraktionInfo[pPlayer[pID][pFraktion]][NeuerRang], NeuerRang, FraktionInfo[pPlayer[pID][pFraktion]][0]);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,str);
    return 1;
    }

    Wenn rang 6 gleich der Leader ist kannst du pLeader ruhig löschen und es so machen:


    Spoiler anzeigen
    dcmd_makeleader(playerid, params[])
    {
    new pID, pFrak;
    if(!isPlayerAdmin(playerid, 5))return SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin!");
    if(sscanf(params,"ud",pID,pFrak))return SendClientMessage(playerid,COLOR_GREY,"Benutze: /makeleader [pID] [frakID]");
    if(pFrak > 25 || pFrak < 0)return SendClientMessage(playerid,COLOR_RED,"Nicht kleiner als 0 und nicht höher als 25!");
    if(pID == INVALID_PLAYER_ID) return SendClientMessage(playerid,COLOR_RED,"Ungültiger Spieler!");
    if(isPlayerInFrac(pID,pFrak) == pFrak) return SendClientMessage(playerid,COLOR_RED,"Der angegebene Spieler ist schon in einer Fraktion!");

    Spoiler anzeigen
    pPlayer[pID][pFraktion] = pFrak;
    pPlayer[pID][pRang] = 6;
    SendClientMessage(pID,COLOR_LIGHTBLUE,"Du bist nun in einer Fraktion!");
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du hast den angegebenen Spieler in die Fraktion gesteckt!");//playerid nicht pID | abgeändert
    return 1;
    }

    if (strcmp("/frakrc", cmdtext, true, 10) == 0 || strcmp("/frc", cmdtext, true, 10) == 0)
    {
    if(pPlayer[playerid][pRang] < 6)return SendClientMessage(playerid, COLOR_RED, " Du bist kein Leader einer Fraktion!");
    switch(pPlayer[playerid][pFraktion]){
    case 1: for(new pv = 0; pv < sizeof(PolizeiVehs); pv++)SetVehicleToRespawn(PolizeiVehs[pv]);
    case 2: for(new pv = 0; pv < sizeof(FBIVehs); pv++)SetVehicleToRespawn(FBIVehs[pv]);
    case 3: for(new pv = 0; pv < sizeof(ArmyVehs); pv++)SetVehicleToRespawn(ArmyVehs[pv]);
    case 4: for(new pv = 0; pv < sizeof(SWATVehs); pv++)SetVehicleToRespawn(SWATVehs[pv]);
    case 5: for(new pv = 0; pv < sizeof(MedicVehs); pv++)SetVehicleToRespawn(MedicVehs[pv]);
    case 6: for(new pv = 0; pv < sizeof(FeuerVehs); pv++)SetVehicleToRespawn(FeuerVehs[pv]);
    case 7: for(new pv = 0; pv < sizeof(PraesiVehs); pv++)SetVehicleToRespawn(PraesiVehs[pv]);
    case 8: for(new pv = 0; pv < sizeof(OAmtVehs); pv++)SetVehicleToRespawn(OAmtVehs[pv]);
    case 9: for(new pv = 0; pv < sizeof(CNNVehs); pv++)SetVehicleToRespawn(CNNVehs[pv]);
    case 10: for(new pv = 0; pv < sizeof(LCNVehs); pv++)SetVehicleToRespawn(LCNVehs[pv]);
    case 11: for(new pv = 0; pv < sizeof(GroveVehs); pv++)SetVehicleToRespawn(GroveVehs[pv]);
    case 12: for(new pv = 0; pv < sizeof(BallasVehs); pv++)SetVehicleToRespawn(GroveVehs[pv]);
    case 13: for(new pv = 0; pv < sizeof(AztecasVehs); pv++)SetVehicleToRespawn(BallasVehs[pv]);
    case 14: for(new pv = 0; pv < sizeof(RSVehs); pv++)SetVehicleToRespawn(AztecasVehs[pv]);
    case 15: for(new pv = 0; pv < sizeof(FahrschulVehs); pv++)SetVehicleToRespawn(FahrschulVehs[pv]);
    case 16: for(new pv = 0; pv < sizeof(WheelmanVehs); pv++)SetVehicleToRespawn(WheelmanVehs[pv]);
    case 17: for(new pv = 0; pv < sizeof(HitmanVehs); pv++)SetVehicleToRespawn(HitmanVehs[pv]);
    case 18: for(new pv = 0; pv < sizeof(RMafiaVehs); pv++)SetVehicleToRespawn(RMafiaVehs[pv]);
    default: {SendClientMessage(playerid, COLOR_RED, " Ungültige Fraktion!");return 1;}
    }
    SendClientMessage(playerid, COLOR_GREY, "Du hast deine Fraktionsautos erfolgreich zurückgespawnt!");
    return 1;
    }


    //edit Wenn die Autos immer noch nicht respawnen könnte es vielleicht daran liegen, das du den wert nicht abspeicherst ?
    Zeige ggf. mal wie die die Fahrzeuge erstellst.

    Wie willst du es den haben ? Soll in der Variable pLeader die Fraktionsid abgespeichert werden ? So entnehme ich es nämlich aus deinem Code.


    Probier das mal aus und Poste mal die print's hier.
    dcmd_makeleader(playerid, params[])
    {
    new pID, pFrak;
    if(!isPlayerAdmin(playerid, 5))return SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin!");
    if(sscanf(params,"ud",pID,pFrak))return SendClientMessage(playerid,COLOR_GREY,"Benutze: /makeleader [pID] [frakID]");
    if(pFrak > 25 || pFrak < 0)return SendClientMessage(playerid,COLOR_RED,"Nicht kleiner als 0 und nicht höher als 25!");
    if(pID == INVALID_PLAYER_ID) return SendClientMessage(playerid,COLOR_RED,"Ungültiger Spieler!");
    if(isPlayerInFrac(pID,pFrak) == pFrak) return SendClientMessage(playerid,COLOR_RED,"Der angegebene Spieler ist schon in einer Fraktion!");

    Probier das mal aus und Poste mal die print's hier.
    print("makeleader | spieler: %d | fraktion: %d", pID, pFrak);
    pPlayer[pID][pLeader] = pFrak;//Leaderrang setzen | hinzugefügt
    pPlayer[pID][pFraktion] = pFrak;
    pPlayer[pID][pRang] = 6;
    SendClientMessage(pID,COLOR_LIGHTBLUE,"Du bist nun in einer Fraktion!");
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du hast den angegebenen Spieler in die Fraktion gesteckt!");//playerid nicht pID | abgeändert
    return 1;
    }if (strcmp("/frakrc", cmdtext, true, 10) == 0 || strcmp("/frc", cmdtext, true, 10) == 0)
    {
    print("frakrc | spieler: %d | fraktion: %d", playerid, pPlayer[playerid][pLeader]);
    if(pPlayer[playerid][pLeader] < 1 || pPlayer[playerid][pLeader] > 18)return SendClientMessage(playerid, COLOR_RED, " Du bist kein Leader einer Fraktion!");
    switch(pPlayer[playerid][pLeader]){
    case 1: for(new pv = 0; pv < sizeof(PolizeiVehs); pv++)SetVehicleToRespawn(PolizeiVehs[pv]);
    case 2: for(new pv = 0; pv < sizeof(FBIVehs); pv++)SetVehicleToRespawn(FBIVehs[pv]);
    case 3: for(new pv = 0; pv < sizeof(ArmyVehs); pv++)SetVehicleToRespawn(ArmyVehs[pv]);
    case 4: for(new pv = 0; pv < sizeof(SWATVehs); pv++)SetVehicleToRespawn(SWATVehs[pv]);
    case 5: for(new pv = 0; pv < sizeof(MedicVehs); pv++)SetVehicleToRespawn(MedicVehs[pv]);
    case 6: for(new pv = 0; pv < sizeof(FeuerVehs); pv++)SetVehicleToRespawn(FeuerVehs[pv]);
    case 7: for(new pv = 0; pv < sizeof(PraesiVehs); pv++)SetVehicleToRespawn(PraesiVehs[pv]);
    case 8: for(new pv = 0; pv < sizeof(OAmtVehs); pv++)SetVehicleToRespawn(OAmtVehs[pv]);
    case 9: for(new pv = 0; pv < sizeof(CNNVehs); pv++)SetVehicleToRespawn(CNNVehs[pv]);
    case 10: for(new pv = 0; pv < sizeof(LCNVehs); pv++)SetVehicleToRespawn(LCNVehs[pv]);
    case 11: for(new pv = 0; pv < sizeof(GroveVehs); pv++)SetVehicleToRespawn(GroveVehs[pv]);
    case 12: for(new pv = 0; pv < sizeof(BallasVehs); pv++)SetVehicleToRespawn(GroveVehs[pv]);
    case 13: for(new pv = 0; pv < sizeof(AztecasVehs); pv++)SetVehicleToRespawn(BallasVehs[pv]);
    case 14: for(new pv = 0; pv < sizeof(RSVehs); pv++)SetVehicleToRespawn(AztecasVehs[pv]);
    case 15: for(new pv = 0; pv < sizeof(FahrschulVehs); pv++)SetVehicleToRespawn(FahrschulVehs[pv]);
    case 16: for(new pv = 0; pv < sizeof(WheelmanVehs); pv++)SetVehicleToRespawn(WheelmanVehs[pv]);
    case 17: for(new pv = 0; pv < sizeof(HitmanVehs); pv++)SetVehicleToRespawn(HitmanVehs[pv]);
    case 18: for(new pv = 0; pv < sizeof(RMafiaVehs); pv++)SetVehicleToRespawn(RMafiaVehs[pv]);
    }
    SendClientMessage(playerid, COLOR_GREY, "Du hast deine Fraktionsautos erfolgreich zurückgespawnt!");
    return 1;
    }

    switch(pPlayer[playerid][pLeader])
    Dort geht er die abfragen durch (genau so wie du es oben auch hast nur halb um einiges kürzer).
    Wenn deine Abfragen im ersten Post nicht gehen werden diese auch nicht funktionieren.


    Und wie ich es aus deinen Abfragen entnommen habe speicherst du in der variable pLeader die fraktionsid ab.

    Wenn ich dein System verstanden habe sollte es so funktionieren:
    dcmd_makeleader(playerid, params[])
    {
    new pID, pFrak;
    if(!isPlayerAdmin(playerid, 5))return SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin!");
    if(sscanf(params,"ud",pID,pFrak))return SendClientMessage(playerid,COLOR_GREY,"Benutze: /makeleader [pID] [frakID]");
    if(pFrak > 25 || pFrak < 0)return SendClientMessage(playerid,COLOR_RED,"Nicht kleiner als 0 und nicht höher als 25!");
    if(pID == INVALID_PLAYER_ID) return SendClientMessage(playerid,COLOR_RED,"Ungültiger Spieler!");
    if(isPlayerInFrac(pID,pFrak) == pFrak) return SendClientMessage(playerid,COLOR_RED,"Der angegebene Spieler ist schon in einer Fraktion!");


    pPlayer[pID][pLeader] = pFrak;//Leaderrang setzen | hinzugefügt
    pPlayer[pID][pFraktion] = pFrak;
    pPlayer[pID][pRang] = 6;
    SendClientMessage(pID,COLOR_LIGHTBLUE,"Du bist nun in einer Fraktion!");
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du hast den angegebenen Spieler in die Fraktion gesteckt!");//playerid nicht pID | abgeändert
    return 1;
    }


    Desweiteren werde ich diesen Beitrag nacher editieren und den anderen Code verbessern. (Übrigens wirst du derzeit mit der Nachricht "Du hast deine Fraktionsautos erfolgreich zurückgespawnt!" zugespammt wenn du deine Fahrzeuge respawnst.


    //edit
    if (strcmp("/frakrc", cmdtext, true, 10) == 0 || strcmp("/frc", cmdtext, true, 10) == 0)
    {
    if(pPlayer[playerid][pLeader] < 1 || pPlayer[playerid][pLeader] > 18)return SendClientMessage(playerid, COLOR_RED, " Du bist kein Leader einer Fraktion!");
    switch(pPlayer[playerid][pLeader]){
    case 1: for(new pv = 0; pv < sizeof(PolizeiVehs); pv++)SetVehicleToRespawn(PolizeiVehs[pv]);
    case 2: for(new pv = 0; pv < sizeof(FBIVehs); pv++)SetVehicleToRespawn(FBIVehs[pv]);
    case 3: for(new pv = 0; pv < sizeof(ArmyVehs); pv++)SetVehicleToRespawn(ArmyVehs[pv]);
    case 4: for(new pv = 0; pv < sizeof(SWATVehs); pv++)SetVehicleToRespawn(SWATVehs[pv]);
    case 5: for(new pv = 0; pv < sizeof(MedicVehs); pv++)SetVehicleToRespawn(MedicVehs[pv]);
    case 6: for(new pv = 0; pv < sizeof(FeuerVehs); pv++)SetVehicleToRespawn(FeuerVehs[pv]);
    case 7: for(new pv = 0; pv < sizeof(PraesiVehs); pv++)SetVehicleToRespawn(PraesiVehs[pv]);
    case 8: for(new pv = 0; pv < sizeof(OAmtVehs); pv++)SetVehicleToRespawn(OAmtVehs[pv]);
    case 9: for(new pv = 0; pv < sizeof(CNNVehs); pv++)SetVehicleToRespawn(CNNVehs[pv]);
    case 10: for(new pv = 0; pv < sizeof(LCNVehs); pv++)SetVehicleToRespawn(LCNVehs[pv]);
    case 11: for(new pv = 0; pv < sizeof(GroveVehs); pv++)SetVehicleToRespawn(GroveVehs[pv]);
    case 12: for(new pv = 0; pv < sizeof(BallasVehs); pv++)SetVehicleToRespawn(GroveVehs[pv]);
    case 13: for(new pv = 0; pv < sizeof(AztecasVehs); pv++)SetVehicleToRespawn(BallasVehs[pv]);
    case 14: for(new pv = 0; pv < sizeof(RSVehs); pv++)SetVehicleToRespawn(AztecasVehs[pv]);
    case 15: for(new pv = 0; pv < sizeof(FahrschulVehs); pv++)SetVehicleToRespawn(FahrschulVehs[pv]);
    case 16: for(new pv = 0; pv < sizeof(WheelmanVehs); pv++)SetVehicleToRespawn(WheelmanVehs[pv]);
    case 17: for(new pv = 0; pv < sizeof(HitmanVehs); pv++)SetVehicleToRespawn(HitmanVehs[pv]);
    case 18: for(new pv = 0; pv < sizeof(RMafiaVehs); pv++)SetVehicleToRespawn(RMafiaVehs[pv]);
    }
    SendClientMessage(playerid, COLOR_GREY, "Du hast deine Fraktionsautos erfolgreich zurückgespawnt!");
    return 1;
    }