Makeleader problem

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
  • //_________Makeleader__________
    ocmd:makeleader(playerid,params[])
    {
    if(isPAdmin(playerid,1338))
    {
    new string[64],string2[64];
    new pID,fID;
    new fraktname[86];
    switch(GetPVarInt(playerid,"Fraktion"))
    {
    case 0:{fraktname="Keine";}
    case 1:{fraktname=frak1;}
    case 2:{fraktname=frak2;}
    case 3:{fraktname=frak3;}
    }
    if(sscanf(params,"ui",pID,fID)) return SendClientMessage(playerid,ROT,"Fehler! Benutze: /makeleader [playerid][frakid]");
    SetPVarInt(pID,"Fraktion",fID);
    format(string,sizeof(string),"%s hat dich zum Leader der Fraktion %s gesetzt",SpielerName(playerid),fraktname);
    SendClientMessage(pID,HELLBLAU,string);
    format(string2,sizeof(string2),"Du hast %s Leaderrechte der Fraktion %s gegeben",SpielerName(pID),fraktname);
    SendClientMessage(playerid,HELLBLAU,string2);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist kein Admin");
    }
    return 1;
    }


    So es Funktioniert alles ,abber falsch /makeleader 1 [(1 LSPD)(2 Russian Brothers)(3 Medic)]
    abber es wird so angezeigt Du hast %s die Leaderrechte der Fraktion %s gegeben [Bei Fraktion %s da steht immer der falsche name ] wenn ich jetzt /makeleader 1 1 mache steht da 1ma Russan Brothers 2tes ma LSPD 3ttes ma Medic obwohl es immer nur die fraktion 1 ist

  • Versuch es Mal So



    if(command("/makeleader"))
    {
    //if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,0xFF1E00FF,"Rang zu Niedrig.");
    if(!strlen(strget(cmdtext,2)))
    {
    SendClientMessage(playerid,0x009BFFFF,"/makeleader [playerid] [fraktionsid]");
    for(new ii=0; ii<sizeof(FrakName); ii++)
    {
    new string[256];
    format(string,sizeof(string),"%s %d",FrakName[ii],ii);
    SendClientMessage(playerid, 0x009BFFFF,string);
    }
    return 1;
    }
    if(!IsPlayerConnected(strval(strget(cmdtext,1)))) return SendClientMessage(playerid,0xFF1E00FF,"* Der Spieler ist offline!");
    if(strval(strget(cmdtext,2)) > sizeof(FrakName) || strval(strget(cmdtext,2)) < 0) return SendClientMessage(playerid, 0xFF1E00FF, "Ungültige Frakid");
    //if(pInfo[strval(strget(cmdtext,1))][Fraktion] != 0)return SendClientMessage(playerid, 0xD2D2D2FF, " Dieser Player ist bereits/noch in einer Fraktion!");
    new string[32];
    format(string, sizeof(string), "Du hast %s die Leaderrechte der Fraktion %s gegeben.",SpielerName(strval(strget(cmdtext,1))),FrakName[strval(strget(cmdtext,2))]);
    SendClientMessage(playerid,0x00AFFFFF, string);
    format(string, sizeof(string), "Admin %s hat dich zum Leader von der Fraktion %s ernannt.",SpielerName(playerid),FrakName[strval(strget(cmdtext,2))]);
    SendClientMessage(strval(strget(cmdtext,1)), 0x0091FFFF, string);
    SendClientMessage(strval(strget(cmdtext,1)), 0x5FFF00FF, " Du kannst mit /help deine neuen Fraktionsbefehle betrachten");
    SendClientMessage(strval(strget(cmdtext,1)), 0x5FFF00FF, " Vergiss nicht: Du hast nun 4 Wochen Pflicht Leader in dieser Fraktion zu bleiben!");
    SendClientMessage(strval(strget(cmdtext,1)), 0x5FFF00FF, " Wenn du vor Ablauf der Frist rausgeworfen wirst, musst du die Rest der Zeit Zivilist bleiben.");
    pInfo[strval(strget(cmdtext,1))][Fraktion] = strval(strget(cmdtext,2));
    SpawnPlayer(strval(strget(cmdtext,1)));
    return 1;
    }

  • das liegt daran das du es so rein geschrieben hast


    switch(GetPVarInt(playerid,"Fraktion"))
    {
    case 0:{fraktname="Keine";}
    case 1:{fraktname=frak1;}
    case 2:{fraktname=frak2;}
    case 3:{fraktname=frak3;}
    }


    das bedeutet wenn du einmal /makeleader machst kommt beispiel: LSPD
    dann gibst du nochmal /makeleader ein dann wirde case genommen ( Wahl zweil) durch switch in deinem Fall nun : Russan Brothers
    also liegt es an switch

  • wie soll ich das denn anders machen


    oben is das doch so defined
    frak1 LSPD
    frak2 Russian Brothers
    frak3 Medic

  • ich Kopiere nochma Alles genau so raus wie ich es habe xD


    //fraktionen
    new FrakName[][] = {
    "Zivi",
    "Red-Solidiers",
    "Polizei [LSPD]"
    };




    //Fraktion makeleader
    if(command("/makeleader"))
    {
    //if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,0xFF1E00FF,"Rang zu Niedrig.");
    if(!strlen(strget(cmdtext,2)))
    {
    SendClientMessage(playerid,0x009BFFFF,"/makeleader [playerid] [fraktionsid]");
    for(new ii=0; ii<sizeof(FrakName); ii++)
    {
    new string[256];
    format(string,sizeof(string),"%s %d",FrakName[ii],ii);
    SendClientMessage(playerid, 0x009BFFFF,string);
    }
    return 1;
    }
    if(!IsPlayerConnected(strval(strget(cmdtext,1)))) return SendClientMessage(playerid,0xFF1E00FF,"* Der Spieler ist offline!");
    if(strval(strget(cmdtext,2)) > sizeof(FrakName) || strval(strget(cmdtext,2)) < 0) return SendClientMessage(playerid, 0xFF1E00FF, "Ungültige Frakid");
    //if(pInfo[strval(strget(cmdtext,1))][Fraktion] != 0)return SendClientMessage(playerid, 0xD2D2D2FF, " Dieser Player ist bereits/noch in einer Fraktion!");
    new string[32];
    format(string, sizeof(string), "Du hast %s die Leaderrechte der Fraktion %s gegeben.",SpielerName(strval(strget(cmdtext,1))),FrakName[strval(strget(cmdtext,2))]);
    SendClientMessage(playerid,0x00AFFFFF, string);
    format(string, sizeof(string), "Admin %s hat dich zum Leader von der Fraktion %s ernannt.",SpielerName(playerid),FrakName[strval(strget(cmdtext,2))]);
    SendClientMessage(strval(strget(cmdtext,1)), 0x0091FFFF, string);
    SendClientMessage(strval(strget(cmdtext,1)), 0x5FFF00FF, " Du kannst mit /help deine neuen Fraktionsbefehle betrachten");
    SendClientMessage(strval(strget(cmdtext,1)), 0x5FFF00FF, " Vergiss nicht: Du hast nun 4 Wochen Pflicht Leader in dieser Fraktion zu bleiben!");
    SendClientMessage(strval(strget(cmdtext,1)), 0x5FFF00FF, " Wenn du vor Ablauf der Frist rausgeworfen wirst, musst du die Rest der Zeit Zivilist bleiben.");
    pInfo[strval(strget(cmdtext,1))][Fraktion] = strval(strget(cmdtext,2));
    SpawnPlayer(strval(strget(cmdtext,1)));
    return 1;
    }




    public OnPlayerSpawn(playerid)
    {
    switch(pInfo[playerid][Fraktion])
    {
    case 0:{SetPlayerPos(playerid,Noobspawnpawn);}
    case 1:{SetPlayerPos(playerid,RSpawn);SetPlayerColor(playerid,0xFAFAFAFF);SetPlayerSkin(playerid,19);GivePlayerWeapon(playerid,24,50); SetPlayerInterior(playerid,0);}
    case 2:{SetPlayerPos(playerid,Lspdspawn);SetPlayerColor(playerid,0x00A5FFFF);SetPlayerSkin(playerid,267);GivePlayerWeapon(playerid,24,50); GivePlayerWeapon(playerid,3,1);GivePlayerWeapon(playerid,41,500);SetPlayerInterior(playerid,6);}
    //case 3:{SetPlayerPos(playerid,Taxipawn);SetPlayerColor(playerid,0xF0F0F0FF);SetPlayerSkin(playerid,255);GivePlayerWeapon(playerid,41,500); SetPlayerInterior(playerid,0);}
    }
    return 1;
    }




    wenn du mehr Hilfe brauchst sag mir bescheit :)

  • ehm ja du koppiert alles einfach aus deinem script und glaubst das hilft einem, ich raff immernoch net wo der Fehler is
    kann mir jemand helfen?

    Einmal editiert, zuletzt von Danili ()

  • Brauchst nicht auf ihn zu hören.. >.>


    Probier mal:


    case 0:{fraktname="Keine";}
    case 1:{fraktname="Name1";}
    case 2:{fraktname="Name2";}
    case 3:{fraktname="Name3";}

  • ocmd:makeleader(playerid,params[])
    {
    if(isPAdmin(playerid,1338))
    {
    new string[64],string2[64];
    new pID,fID;
    new fraktname[86];
    if(sscanf(params,"ui",pID,fID)) return SendClientMessage(playerid,ROT,"Fehler! Benutze: /makeleader [playerid][frakid]");
    switch(fID)
    {
    case 0:{fraktname="Keine";}
    case 1:{fraktname=frak1;}
    case 2:{fraktname=frak2;}
    case 3:{fraktname=frak3;}
    }
    SetPVarInt(pID,"Fraktion",fID);
    format(string,sizeof(string),"%s hat dich zum Leader der Fraktion %s gesetzt",SpielerName(playerid),fraktname);
    SendClientMessage(pID,HELLBLAU,string);
    format(string2,sizeof(string2),"Du hast %s Leaderrechte der Fraktion %s gegeben",SpielerName(pID),fraktname);
    SendClientMessage(playerid,HELLBLAU,string2);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist kein Admin");
    }
    return 1;
    }



    Maddin is my Lord and Master :D
    Musel my one and only b0wm
    Bisafloah is the pokemon that pwns a lot of goddamn ponys.