Hey ho
Was möchte ich machen:
Möchte per Dialoge einen Spieler den Leaderrang zuteilen und diesen auch in die Fraktion einladen.
Was ist der Fehler:
Wenn ich keine ID eingebe kann ich einfach auf Enter klicken und komme weiter.
Wenn ich aber eine ID eingebe und dann die FraktionsID (1-9) dann kriegt er immer die Fraktion Zivilist.
Ich kann auch bei der FraktionsID eingabe Enter drücken und er kriegt die Fraktion Zivilist.
Mein Pawn Code:
Code
if(listitem == 6){//Fraktionsleader
ShowPlayerDialog(playerid, DIALOG_FRAKTIONSLEADER, DIALOG_STYLE_INPUT, "Fraktionsleader ernennen","Gebe nun die SpielerID ein:","Ändern","Abbruch");
Code
case DIALOG_FRAKTIONSLEADER:
{
if(response)
{
new pID;
if(Spieler[playerid][pAdmin] < 5)return SendClientMessage(playerid, COLOR_GREY, ERROR_ADMIN);
if(IsPlayerNPC(pID))return 1;
if(pID < 0)return SendClientMessage(playerid, COLOR_GREY, "Ungültige ID");
if(!IsPlayerConnected(pID))return SendClientMessage(playerid, COLOR_GREY, ERROR_OFFLINE);
if(Spieler[pID][pTutorial] > 0)return SendClientMessage(playerid, COLOR_GREY, "Der Spieler ist noch im Tutorial.");
ShowPlayerDialog(playerid, DIALOG_FRAKTIONSLEADER1, DIALOG_STYLE_INPUT, "Fraktionsleader ernennen","{33AA33}Fraktionsliste\n"Frak1"\n"Frak2"\n"Frak3"\n"Frak4"\n"Frak5"\n"Frak6"\n"Frak7"\n"Frak8"\n"Frak9"\n{33AA33}Gebe nun die FraktionsID an:","Ändern","Abbruch");
}
}
case DIALOG_FRAKTIONSLEADER1:
{
if(response)
{
new pID, frakid, string[128];
if(frakid == 0)
{
format(string, sizeof(string), "Du hast die Leaderrechte von %s für die Fraktion %s entnommen.", GetName(pID), GetPlayerFraktionName(pID));
SendClientMessage(playerid, COLOR_GREY, string);
format(string, sizeof(string), "%s hat dir die Leadderechte für die Fraktion %s entnommen.", GetName(playerid), GetPlayerFraktionName(pID));
SendClientMessage(pID, COLOR_GREY, string);
Spieler[pID][pFraktion] = 0;
Spieler[pID][pRank] = 0;
SpawnPlayerEx(pID);
SavePlayer(pID);
Spieler[pID][pSkin] = 0;
return 1;
}
if(frakid < 1 || frakid > MAX_FRACS-1)return SendClientMessage(playerid, COLOR_GREY, "Diese Fraktions-ID ist nicht verfügbar.");
Spieler[pID][pFraktion] = frakid;
Spieler[pID][pRank] = RANG_LEADER;
if(Spieler[pID][pGeschlecht] == 1)
{
switch(frakid)
{
case 1: Spieler[pID][pFrakSkin] = 163;
case 2: Spieler[pID][pFrakSkin] = 46;
case 3: Spieler[pID][pFrakSkin] = 70;
case 4: Spieler[pID][pFrakSkin] = 270;
case 5: Spieler[pID][pFrakSkin] = 294;
case 6: Spieler[pID][pFrakSkin] = 8;
case 7: Spieler[pID][pFrakSkin] = 60;
case 8: Spieler[pID][pFrakSkin] = 104;
case 9: Spieler[pID][pFrakSkin] = 186;
}
}
else if(Spieler[pID][pGeschlecht] == 2)
{
switch(frakid)
{
case 1: Spieler[pID][pFrakSkin] = 163;
case 2: Spieler[pID][pFrakSkin] = 12;
case 3: Spieler[pID][pFrakSkin] = 211;
case 4: Spieler[pID][pFrakSkin] = 65;
case 5: Spieler[pID][pFrakSkin] = 191;
case 6: Spieler[pID][pFrakSkin] = 233;
case 7: Spieler[pID][pFrakSkin] = 56;
case 8: Spieler[pID][pFrakSkin] = 13;
case 9: Spieler[pID][pFrakSkin] = 224;
}
}
format(string, sizeof(string), "Du hast %s Leaderrechte für die Fraktion %s gegeben.", GetName(pID), GetPlayerFraktionName(pID));
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "%s hat dich zum Leader der Fraktion %s ernannt.", GetName(playerid), GetPlayerFraktionName(pID));
SendClientMessage(pID, COLOR_LIGHTBLUE, string);
SpawnPlayerEx(pID);
SavePlayer(pID);
return 1;
}
}
Alles anzeigen
Habe bereits mit SetPVarInt gearbeitet leider kein Erfolg weiß aber nicht ob ich das nicht falsch angewendet habe.
Vielleicht weiß hier ja jemand weiter.
Ich bedanke mich im voraus.