Erneute Frage zu "/makeleader"

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Guten Abend Comunity,
    Ich hatte den Thread eben wohl ein wenig voreilig als Erledigt makiert.


    ocmd:makeleader(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,6))return SendClientMessage(playerid,ROT,"Tja Plankton.");
    new pID,fID,string[128],string2[128];
    new fraktname[64];
    switch(GetPVarInt(playerid,"Fraktion"))
    {
    case 0:{fraktname=frakname0;}
    case 1:{fraktname=frakname1;}
    case 2:{fraktname=frakname2;}
    case 3:{fraktname=frakname3;}
    case 4:{fraktname=frakname4;}
    case 5:{fraktname=frakname5;}
    case 6:{fraktname=frakname6;}
    case 7:{fraktname=frakname7;}
    case 8:{fraktname=frakname8;}
    case 9:{fraktname=frakname9;}
    case 10:{fraktname=frakname10;}
    case 11:{fraktname=frakname11;}
    case 12:{fraktname=frakname12;}
    case 13:{fraktname=frakname13;}
    case 14:{fraktname=frakname14;}
    case 15:{fraktname=frakname15;}
    }
    if(sscanf(params,"ui",pID,fID))return SendClientMessage(playerid,GELB,"Benutze: /makeleader [PlayerID] [FraktionsID] (zu sehen unter /fraktionen)");
    SetPVarInt(pID,"Fraktion",fID);
    SetPVarInt(playerid,"FRank",6);
    format(string,sizeof(string),"Du wurdest von %s zu dem Leader der Fraktion %s ernannt.",Spielername(playerid),fraktname);
    format(string2,sizeof(string2),"Du hast %s zum Leader der Fraktion %s ernannt!",Spielername(pID),fraktname);
    SendClientMessage(pID,TÜRKIS,string);
    SendClientMessage(playerid,TÜRKIS,string2);
    SpawnPlayer(pID);
    return 1;
    }


    So sieht mein /makeleader nun aus.
    Es klappt alles soweit, bis auf die Tatsache das man 2mal /makeleader machen muss um den neuen Fraknamen zu erhalten (bsp. /makeleader 1 1: Beim erstenmal wird nachwievor angezeigt, das der Spieler zum leader der Zivilisten gemacht wurde, beim 2ten mal zum PD)


    Weiß jemand Abhilfe?

  • :D Lass mich


    @Topic


    Ich weiß nicht ob das das ist was du willst aber das steht da ja drinn :D:
    #define frakname0 "Zivilisten"
    #define frakname1 "Polizei"
    #define frakname2 "Bundeswehr"
    #define frakname3 "Las Venturas Medical Center"
    #define frakname4 "S.E.K"
    #define frakname5 "Fahrschule"
    #define frakname6 "Las Venuras Ballas"
    #define frakname7 "Russische Mafia"
    #define frakname8 "Triaden"
    #define frakname9 "Las Venturas Grove"
    #define frakname10 "Las Venturas Vagos"
    #define frakname11 "Varrio Los Atztecas"
    #define frakname12 "San Fierro Rifa"
    #define frakname13 "DaNangBoys"
    #define frakname14 "Hitmen Agency"
    #define frakname15 "Streetracer"

  • Mach's mal so:

    case 0:{fraktion="Bürger";}
    case 1:{fraktion=fraktion1;}
    case 2:{fraktion=fraktion2;}
    case 3:{fraktion=fraktion3;}
    case 4:{fraktion=fraktion4;}
    case 5:{fraktion=fraktion5;}
    case 6:{fraktion=fraktion6;}
    case 7:{fraktion=fraktion7;}
    case 8:{fraktion=fraktion8;}
    case 9:{fraktion=fraktion9;}
    case 10:{fraktion=fraktion10;}
    case 11:{fraktion=fraktion11;}
    case 12:{fraktion=fraktion12;}
    case 13:{fraktion=fraktion13;}
    case 14:{fraktion=fraktion14;}
    case 15:{fraktion=fraktion15;}
    case 16:{fraktion=fraktion16;}
    case 17:{fraktion=fraktion17;}
    case 18:{fraktion=fraktion18;}
    case 19:{fraktion=fraktion19;}
    case 20:{fraktion=fraktion20;}


    Habs so bei mir stehen und es funktioniert alles.

    Mit unfreundlichen Grüßen
    Buschmensch

  • Also probiers mal so, funktionen auf dein Script umbenennen.




    new TargetID, LeaderMSG[150], fraktion, frak_string[128], string[128];
    if(!isPlayerAdmin(playerid,1337))return SendClientMessage(playerid, FARBE_ROT, "Tja, Plankton!");
    if(sscanf(params,"ui",TargetID,fraktion))return SendClientMessage(playerid,FARBE_GRAU,"Fehler: /makeleader [Username/ID] [Fraktions ID]");
    switch(fraktion)
    {
    case 1:
    {
    frak_string="Frak 1";
    }
    case 2:
    {
    frak_string="Frak 2";
    }
    case 3:
    {
    frak_string="Frak3";
    }
    }
    sSpieler[TargetID][Leader] = 1;
    sSpieler[TargetID][Fraktion] = fraktion;
    sSpieler[TargetID][Leader] = fraktion;
    SpawnPlayer(TargetID);
    SpielerSpeichern(TargetID);
    format(string,sizeof(string),"Du wurdest von Administrator %s zum Leader befördert. Fraktion: %s",SpielerName(playerid),frak_string);
    SendClientMessage(TargetID,FARBE_HELLBLAU,string);
    format(LeaderMSG,sizeof(LeaderMSG), "Du hast %s zum Leader der Fraktion: %s befördert.", SpielerName(TargetID),frak_string);
    SendClientMessage(playerid, FARBE_GELB, LeaderMSG);
    return 1;



    Müsste so klappen.


    Mit freundlichem Gur0

    Ihr habt das normale Pawno satt? Notepad ++ mit allen Pawnofunktionen, hier zum Downloaden, Klick

  • Dann mach einfach eine Abfrage rein.



    if(fraktion < 1 || fraktion > 3) return SendClientMessage(playerid,FARBE_ROT, "Die Fraktionsnummer kann nur zwischen 1 und 3 liegen!");



    Jedoch klappt es bei mir ohne Probleme.


    /makeleader ID 0 ist dann halt entleadern.


    MIt freundlichem Gruß

    Ihr habt das normale Pawno satt? Notepad ++ mit allen Pawnofunktionen, hier zum Downloaden, Klick

  • Ich weiß was du oben falsch gemacht hast. Du musst die Switch-Case Abfrage erst nach deinem sscanf-Befehl machen. Weil du ja jetzt abfragst welche Fraktion der Spieler hat dann wird die Fraktion überschrieben. Also das switch weiter nach unten also unter deine SetPVarInt(playerid, "Fraktion") dann funktionierts ;)


    Mfg

    Die Macht etwas zu bewirken, ist in Dir. Du musst sie nur rauslassen


    cristiano-ronaldo-525-portugal-euro-2012-banner-wallpaper.jpg