Oh man, da hätte ich selber drauf kommen können -.-' danke
Beiträge von Ryan_Crawley
-
-
Nabend Com,
Ich suche für meinen /tie befehl eine abfrage, ob man im selben Auto ist um zu /tie(en).
Hier der /tie befehl.
dcmd_tie(playerid,params[])
{
if(PlayerInfo[playerid][Leader] == 8 || PlayerInfo[playerid][Leader] == 9 || PlayerInfo[playerid][Leader] == 10)
{
if(GetPlayerState(playerid) == 2)
{
if(sscanf(params, "u", pID)) SendClientMessage(playerid, COLOR_GREY, "Info: /tie ID");
{
SendClientMessage(pID,COLOR_LIGHTBLUE,"* Du wurdest vom Fahrer gefesselt gefesselt.");
SendClientMessage(playerid,COLOR_LIGHTBLUE,"* Du hast den Spieler erfolgreich gefesselt.");
GameTextForPlayer(pID,"~r~Gefesselt",2500,3);
TogglePlayerControllable(pID, 0);
PlayerInfo[pID][Tie] = 1;
return 1;
}
}
}
return 1;
} -
Ich habe in i-einem Thread gelesen, das die jetztige Weitergabe des Scriptes zu einer Anzeige führt. Bin mir da aber nicht sicher. Sie haben es Releest und dann wieder raus genommen.
-
Okay, danke trotzdem Jetzt klappt es ja
-
Habe es nun so und keine Ahnung warum aber es klappt.
dcmd_duty(playerid,params[])
{
#pragma unused params
if(PlayerInfo[playerid][Leader] == 0 || PlayerInfo[playerid][Leader] > 1)
{
return SendClientMessage(playerid,COLOR_GRAD2,"Du bist kein Polizist");
}
if(!IsPlayerInRangeOfPoint(playerid,8.0,327.2312,307.6949,999.1484))
{
return SendClientMessage(playerid,COLOR_GRAD2,"Du bist nicht am Spinnt");
}
if(PlayerInfo[playerid][Duty] == 0)
{
if(PlayerInfo[playerid][Rank] == 1)
{
SetPlayerSkin(playerid,170);
SetPlayerHealth(playerid,100);
SetPlayerArmour(playerid,100);
GivePlayerWeapon(playerid,24,500);
GivePlayerWeapon(playerid,25,200);
GivePlayerWeapon(playerid,29,600);
GivePlayerWeapon(playerid,33,150);
GivePlayerWeapon(playerid,41,500);
PlayerInfo[playerid][Duty] = 1;
SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du bist nun im Dienst.");
return 1;
}
else if(PlayerInfo[playerid][Rank] == 2)
{
SetPlayerSkin(playerid,282);
SetPlayerHealth(playerid,100);
SetPlayerArmour(playerid,100);
GivePlayerWeapon(playerid,24,500);
GivePlayerWeapon(playerid,25,200);
GivePlayerWeapon(playerid,29,600);
GivePlayerWeapon(playerid,33,150);
GivePlayerWeapon(playerid,41,500);
PlayerInfo[playerid][Duty] = 1;
SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du bist nun im Dienst.");
return 1;
}
else if(PlayerInfo[playerid][Rank] == 3)
{
SetPlayerSkin(playerid,282);
SetPlayerHealth(playerid,100);
SetPlayerArmour(playerid,100);
GivePlayerWeapon(playerid,24,500);
GivePlayerWeapon(playerid,25,200);
GivePlayerWeapon(playerid,29,600);
GivePlayerWeapon(playerid,33,150);
GivePlayerWeapon(playerid,41,500);
PlayerInfo[playerid][Duty] = 1;
SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du bist nun im Dienst.");
return 1;
}
else if(PlayerInfo[playerid][Rank] == 4)
{
SetPlayerSkin(playerid,282);
SetPlayerHealth(playerid,100);
SetPlayerArmour(playerid,100);
GivePlayerWeapon(playerid,24,500);
GivePlayerWeapon(playerid,25,200);
GivePlayerWeapon(playerid,29,600);
GivePlayerWeapon(playerid,33,150);
GivePlayerWeapon(playerid,41,500);
PlayerInfo[playerid][Duty] = 1;
SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du bist nun im Dienst.");
return 1;
}
else if(PlayerInfo[playerid][Rank] == 5)
{
SetPlayerSkin(playerid,282);
SetPlayerHealth(playerid,100);
SetPlayerArmour(playerid,100);
GivePlayerWeapon(playerid,24,500);
GivePlayerWeapon(playerid,25,200);
GivePlayerWeapon(playerid,29,600);
GivePlayerWeapon(playerid,33,150);
GivePlayerWeapon(playerid,41,500);
PlayerInfo[playerid][Duty] = 1;
SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du bist nun im Dienst.");
return 1;
}
else if(PlayerInfo[playerid][Rank] == 6)
{
SetPlayerSkin(playerid,283);
SetPlayerHealth(playerid,100);
SetPlayerArmour(playerid,100);
GivePlayerWeapon(playerid,24,500);
GivePlayerWeapon(playerid,25,200);
GivePlayerWeapon(playerid,29,600);
GivePlayerWeapon(playerid,33,150);
GivePlayerWeapon(playerid,41,500);
PlayerInfo[playerid][Duty] = 1;
SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du bist nun im Dienst.");
return 1;
}
else if(PlayerInfo[playerid][Rank] == 7)
{
SetPlayerSkin(playerid,288);
SetPlayerHealth(playerid,100);
SetPlayerArmour(playerid,100);
GivePlayerWeapon(playerid,24,500);
GivePlayerWeapon(playerid,25,200);
GivePlayerWeapon(playerid,29,600);
GivePlayerWeapon(playerid,33,150);
GivePlayerWeapon(playerid,41,500);
PlayerInfo[playerid][Duty] = 1;
SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du bist nun im Dienst.");
return 1;
}
}
else if(PlayerInfo[playerid][Duty] == 1)
{
SetPlayerHealth(playerid,100);
SetPlayerArmour(playerid,0);
ResetPlayerWeapons(playerid);
PlayerInfo[playerid][Duty] = 0;
SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du bist nun nichtmehr im Dients.");
return 1;
}
return 1;
} -
Moin,
Habe ein Problem bei meinem /duty cmd. Die Positionsabfrage geht und die Fraktionsabfrage klappt ebenfalls. Wenn ich aber beides einhalte gehts nicht weiter.
dcmd_duty(playerid,params[])
{
#pragma unused params
if(PlayerInfo[playerid][Duty] == 0)
{
if(PlayerInfo[playerid][Leader] == 1)
{
if(IsPlayerInRangeOfPoint(playerid,8.0,327.2312,307.6949,999.1484))
{
if(PlayerInfo[playerid][Rank] == 1)
{
SetPlayerSkin(playerid,170);
SetPlayerHealth(playerid,100);
SetPlayerArmour(playerid,100);
GivePlayerWeapon(playerid,24,500);
GivePlayerWeapon(playerid,25,200);
GivePlayerWeapon(playerid,29,600);
GivePlayerWeapon(playerid,33,150);
GivePlayerWeapon(playerid,41,500);
PlayerInfo[playerid][Duty] = 1;
SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du bist nun im Dienst.");
return 1;
}
else if(PlayerInfo[playerid][Rank] == 2)
{
SetPlayerSkin(playerid,282);
SetPlayerHealth(playerid,100);
SetPlayerArmour(playerid,100);
GivePlayerWeapon(playerid,24,500);
GivePlayerWeapon(playerid,25,200);
GivePlayerWeapon(playerid,29,600);
GivePlayerWeapon(playerid,33,150);
GivePlayerWeapon(playerid,41,500);
PlayerInfo[playerid][Duty] = 1;
SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du bist nun im Dienst.");
return 1;
}
else if(PlayerInfo[playerid][Rank] == 3)
{
SetPlayerSkin(playerid,282);
SetPlayerHealth(playerid,100);
SetPlayerArmour(playerid,100);
GivePlayerWeapon(playerid,24,500);
GivePlayerWeapon(playerid,25,200);
GivePlayerWeapon(playerid,29,600);
GivePlayerWeapon(playerid,33,150);
GivePlayerWeapon(playerid,41,500);
PlayerInfo[playerid][Duty] = 1;
SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du bist nun im Dienst.");
return 1;
}
else if(PlayerInfo[playerid][Rank] == 4)
{
SetPlayerSkin(playerid,282);
SetPlayerHealth(playerid,100);
SetPlayerArmour(playerid,100);
GivePlayerWeapon(playerid,24,500);
GivePlayerWeapon(playerid,25,200);
GivePlayerWeapon(playerid,29,600);
GivePlayerWeapon(playerid,33,150);
GivePlayerWeapon(playerid,41,500);
PlayerInfo[playerid][Duty] = 1;
SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du bist nun im Dienst.");
return 1;
}
else if(PlayerInfo[playerid][Rank] == 5)
{
SetPlayerSkin(playerid,282);
SetPlayerHealth(playerid,100);
SetPlayerArmour(playerid,100);
GivePlayerWeapon(playerid,24,500);
GivePlayerWeapon(playerid,25,200);
GivePlayerWeapon(playerid,29,600);
GivePlayerWeapon(playerid,33,150);
GivePlayerWeapon(playerid,41,500);
PlayerInfo[playerid][Duty] = 1;
SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du bist nun im Dienst.");
return 1;
}
else if(PlayerInfo[playerid][Rank] == 6)
{
SetPlayerSkin(playerid,283);
SetPlayerHealth(playerid,100);
SetPlayerArmour(playerid,100);
GivePlayerWeapon(playerid,24,500);
GivePlayerWeapon(playerid,25,200);
GivePlayerWeapon(playerid,29,600);
GivePlayerWeapon(playerid,33,150);
GivePlayerWeapon(playerid,41,500);
PlayerInfo[playerid][Duty] = 1;
SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du bist nun im Dienst.");
return 1;
}
else if(PlayerInfo[playerid][Rank] == 7)
{
SetPlayerSkin(playerid,288);
SetPlayerHealth(playerid,100);
SetPlayerArmour(playerid,100);
GivePlayerWeapon(playerid,24,500);
GivePlayerWeapon(playerid,25,200);
GivePlayerWeapon(playerid,29,600);
GivePlayerWeapon(playerid,33,150);
GivePlayerWeapon(playerid,41,500);
PlayerInfo[playerid][Duty] = 1;
SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du bist nun im Dienst.");
return 1;
}
}
else
{
SendClientMessage(playerid,COLOR_GRAD2,"Du bist nicht am Spinnt.");
return 1;
}
}
else
{
SendClientMessage(playerid,COLOR_GRAD2,"Du bist kein Polizist.");
return 1;
}
}
else if(PlayerInfo[playerid][Duty] == 1)
{
SetPlayerHealth(playerid,100);
SetPlayerArmour(playerid,0);
ResetPlayerWeapons(playerid);
PlayerInfo[playerid][Duty] = 0;
SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du bist nun nichtmehr im Dients.");
return 1;
}
return 1;
} -
Edit: Mein Aktueller /d cmd sieht so aus.
dcmd_d(playerid,params[])
{
if(PlayerInfo[playerid][Leader] == 1 || PlayerInfo[playerid][Leader] == 4 || PlayerInfo[playerid][Leader] == 5)
{
new message[128];
if(sscanf(params, "s", message))
{
return SendClientMessage(playerid,COLOR_LIGHTRED, "/d(epartment) [Text]");
}
new text[128];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
format(text, sizeof(text), "**((%s: %s ))**", name, message);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(PlayerInfo[i][Leader] == 1 || PlayerInfo[i][Leader] == 4 || PlayerInfo[i][Leader] == 5)
{
if(PlayerInfo[playerid][Rank] > 0)
{
SendClientMessage(i,COLOR_LIGHTRED,text);
}
}
}
}
else
{
SendClientMessage(playerid,COLOR_GRAD2,"Du bist in keinem Unternehmen.");
return 1;
}
return 1;
}Wenn ich mich mit /makeleader zum Leader mache und alleine bin gehts. Wenn ich einen mit /invite invite und mich als Leader wegmache, sieht er nicht das was er geschrieben hat.
Leader ist die Variable für eine Fraktion.
Rank 7 bezeichnet jmd als Leader und Rank 1-6 sind die normalen Ränge. Nicht wundern das die Member fehlen -
Diese Variante habe ich auch versucht. Folgende entwickelung. /d chat konnte nun nicht mehr jeder lesen. Wenn ich was im /d chat schreibe und ein andere aus meiner Fraktion ist online, kann ich lesen was ich schreibe. Sollte er off gehen oder die Fraktion wechseln, kann ich nichts mehr lesen.
-
Nabend,
Habe ein Problem in meinem /d chat. Jeder kann diesen Lesen. Vllt nur ein kleiner Dummer Fehler aber ich finde ihn nicht :o
dcmd_d(playerid,params[])
{
if(PlayerInfo[playerid][Leader] == 1 || PlayerInfo[playerid][Leader] == 4 || PlayerInfo[playerid][Leader] == 5)
{
new message[128];
if(sscanf(params, "s", message))
{
return SendClientMessage(playerid,COLOR_LIGHTRED, "/d(epartment) [Text]");
}
new text[128];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
format(text, sizeof(text), "**((%s: %s ))**", name, message);
for(new i = 0; i <= MAX_PLAYERS; i++)
{
if(PlayerInfo[playerid][Leader] == 1 || PlayerInfo[playerid][Leader] == 4 || PlayerInfo[playerid][Leader] == 5)
{
SendClientMessage(i,COLOR_LIGHTRED,text);
}
}
}
else
{
SendClientMessage(playerid,COLOR_GRAD2,"Du bist in keinem Unternehmen.");
return 1;
}
return 1;
} -
Fehler gefunden. Rank war schon definiert und konnte scheinbar nicht für die 2te Zahl im CMD verwendet werden. Habe es so gemacht und es klappt:
dcmd_giverank(playerid,params[])
{
if(PlayerInfo[playerid][Rank] < 7)
{
return SendClientMessage(playerid,COLOR_GRAD2,"Du bist kein Leader!");
}
new pID, mop;
if(sscanf(params,"ui",pID, mop))
{
return SendClientMessage(playerid,COLOR_GRAD2,"Benutze: /giverank [ID] [Rank]");
}
if(mop<0||mop>7)
{
return SendClientMessage(playerid,COLOR_GRAD2,"Bitte gültigen Rank angeben.");
}
if(PlayerInfo[playerid][Leader] == PlayerInfo[pID][Leader])
{
PlayerInfo[pID][Rank] = mop;
new name[MAX_PLAYER_NAME], string[256];
GetPlayerName(pID, name, sizeof(name));
format(string,sizeof string,"Du hast %s den Rank %d gegeben",name,mop);
SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
format(string,sizeof string,"Du hast den Rank %d von deinem Leader bekommen",mop);
return 1;
}
else
{
SendClientMessage(playerid,COLOR_GRAD2,"Dieser Spieler ist nicht in deiner Fraktion.");
return 1;
}
}danke trotzdem
-
Habe es nun so:
dcmd_giverank(playerid,params[])
{
if(PlayerInfo[playerid][Rank] < 7)
{
return SendClientMessage(playerid,COLOR_GRAD2,"Du bist kein Leader!");
}
new pID;
if(sscanf(params,"ui",pID, Rank))
{
return SendClientMessage(playerid,COLOR_GRAD2,"Benutze: /giverank [ID] [Rank]");
}
if(PlayerInfo[playerid][Leader] == PlayerInfo[pID][Leader])
{
PlayerInfo[pID][Rank] = Rank;
new name[MAX_PLAYER_NAME], string[256];
GetPlayerName(pID, name, sizeof(name));
format(string,sizeof string,"Du hast %s den Rank %d gegeben",name,Rank);
SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
format(string,sizeof string,"Du hast den Rank %d von deinem Leader bekommen",Rank);
return 1;
}
else
{
SendClientMessage(playerid,COLOR_GRAD2,"Dieser Spieler ist nicht in deiner Fraktion.");
return 1;
}
}Dazu gibts keine Errors oder Warnings. Das Problem ist man bekommen egal was ich eintippe rank 9 o.O. Zudem würde ich es gerne so machen das man keinem Spieler in der Fraktion der den Rank 7 hat einen Rank geben kann. Und das es nur Ränge zwischen 1-6 zu vergeben gibt.
-
dcmd_giverank(playerid,params[])
{
if(PlayerInfo[playerid][Rank] < 7)
{
return SendClientMessage(playerid,COLOR_GRAD2,"Du bist kein Leader!");
}
new pID;
if(sscanf(params,"ui",pID, Rank))
{
return SendClientMessage(playerid,COLOR_GRAD2,"Benutze: /giverank [ID] [Rank]");
}
if(!PlayerInfo[playerid][Leader] == !PlayerInfo[pID][Leader])
{
return SendClientMessage(playerid,COLOR_GRAD2,"Dieser Spieler ist nicht in deiner Fraktion.");
}
PlayerInfo[pID][Rank] = Rank;
new name[MAX_PLAYER_NAME], string[256];
GetPlayerName(pID, name, sizeof(name));
format(string,sizeof string,"Du hast %s den Rank %d gegeben",name,Rank);
SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
format(string,sizeof string,"Du hast den Rank %d von deinem Leader bekommen",Rank);
return 1;
}Habe es nun Error/Warnings los. Kann mir einer sagen wie die Abfrage lauten muss, damit man keinen Rank an Rank 7er User gibt und das der zu gebende Rank nichts anders ist als 1 ,2, 3, 4, 5 und 6
-
Dank [E]xtreme[F]ighter habe ich es nun so
dcmd_makeleader(playerid,params[])
{
if(PlayerInfo[playerid][pAdmin]<1337)
{
return SendClientMessage(playerid,COLOR_GRAD2,"Du bist kein Admin!");
}
new pID, Fraktion;
if(sscanf(params,"ui",pID, Fraktion))
{
return SendClientMessage(playerid,COLOR_GRAD2,"Benutze: /makeleader [ID] [Fraktion]");
}
if(Fraktion<0||Fraktion>10)
{
return SendClientMessage(playerid,COLOR_GRAD2,"Bitte gültige Fraktion angeben.");
}
PlayerInfo[pID][Leader] == Fraktion; //Warning, hat kein Effekt
PlayerInfo[pID][Rank] == 7; //Warning hat kein Effekt
new name[MAX_PLAYER_NAME], string[256];
GetPlayerName(pID, name, sizeof(name));
format(string,sizeof string,"Du hast %s zum Leader der Fraktion %d gemacht",name,Fraktion);
SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
format(string,sizeof string,"Du wurdest zum Leader der Fraktion %d gemacht",Fraktion);
return 1;
}Klappt alles recht gut nur das ich nicht in die Fraktion gesetzet werde und auch der rank wird nicht geändert.
Edit: Denke ich habs -.-
Edit: Klappt alles sehr ngut, vielen dank -
dcmd_makeleader(playerid,params[])
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pAdmin] >= 1337)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid,COLOR_GRAD2,"Hier stene die Fraktionen + id");
return 1;
}
new para1;
new level;
para1 = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid,COLOR_GRAD2,"Hier stene die Fraktionen + id");
return 1;
}
level = strval(tmp);
if(level > 10 || level < 0) { SendClientMessage(playerid, COLOR_GREY, "Fraktion zwischen 1 und 10 wählen!"); return 1; }
if (PlayerInfo[playerid][pAdmin] >= 1337)
{
if(IsPlayerConnected(para1))
{
if(para1 != INVALID_PLAYER_ID)
{
if(PlayerInfo[para1][Leader] > 0 || PlayerInfo[para1][Leader] < 10)
{
SendClientMessage(playerid, COLOR_GREY, "Der Spieler ist in einer Gang/Mafia/Fraktion");
return 1;
}
if(PlayerInfo[para1][Leader] >= 1)
{
SendClientMessage(playerid, COLOR_GREY, " Dieser Spieler ist schon ein Leader, Bitte benutze erst /unmakeleader !");
return 1;
}
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[para1][Leader] = level;
format(string, sizeof(string), "* Du wurdest von Admin %s zum Leader einer Fraktion gemacht.", sendername);
SendClientMessage(para1, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* Du hast %s die Kontrolle über die Fraktion Nr. %d gegeben.", giveplayer,level);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
PlayerInfo[para1][pTeam] = 11;
PlayerInfo[para1][pRank] = 6;
SetPlayerSkin(para1, PlayerInfo[para1][pModel]);
if(PlayerInfo[para1][pLeader] == 8)
{
PlayerInfo[para1][Leader] = 0;
PlayerInfo[para1][Rank] = 0;
}
}
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "Du bist nicht berechtigt, diesen Befehl zu benutzen !");
}
}
}
return 1;
}folgende Errors
C:\Users\Freggel\Desktop\Neuer Ordner\gamemodes\Neue.pwn(1973) : error 017: undefined symbol "tmp"
C:\Users\Freggel\Desktop\Neuer Ordner\gamemodes\Neue.pwn(1973) : error 017: undefined symbol "cmdtext"
C:\Users\Freggel\Desktop\Neuer Ordner\gamemodes\Neue.pwn(1974) : error 017: undefined symbol "tmp"
C:\Users\Freggel\Desktop\Neuer Ordner\gamemodes\Neue.pwn(1983) : error 017: undefined symbol "tmp"
C:\Users\Freggel\Desktop\Neuer Ordner\gamemodes\Neue.pwn(1984) : error 017: undefined symbol "tmp"
C:\Users\Freggel\Desktop\Neuer Ordner\gamemodes\Neue.pwn(1984) : error 017: undefined symbol "cmdtext"
C:\Users\Freggel\Desktop\Neuer Ordner\gamemodes\Neue.pwn(1985) : error 017: undefined symbol "tmp"
C:\Users\Freggel\Desktop\Neuer Ordner\gamemodes\Neue.pwn(1991) : error 017: undefined symbol "tmp"
C:\Users\Freggel\Desktop\Neuer Ordner\gamemodes\Neue.pwn(2009) : error 017: undefined symbol "giveplayer"
C:\Users\Freggel\Desktop\Neuer Ordner\gamemodes\Neue.pwn(2009) : error 017: undefined symbol "giveplayer"
C:\Users\Freggel\Desktop\Neuer Ordner\gamemodes\Neue.pwn(2009) : error 029: invalid expression, assumed zero
C:\Users\Freggel\Desktop\Neuer Ordner\gamemodes\Neue.pwn(2009) : fatal error 107: too many error messages on one lineHabe des schon mal gesehen aber leider keine Ahnung wie ich es befehbe, wie gesagt bin neu im Scripten
Kann man mir noch helfen?
-
Nabend
Klein Freggel steht wieder aufm schlauch. Ich habe Fraktionen erstellt. Nicht normal mit gTeams sondern mit einer Variable. Sollte die Variable auf 1 sein ist man im LSPD, ist sie auf 2 ist man bei den Hitmans etc. Beim Leader habe ich es mir so vorgestellt, das man mit Rank 7 Leader ist und dann normal die 6 Ränge in der Fraktion. Alles ist in einem enum gespeichert.
1. Frage: Ist das eine gute Variante oder kann mir einer eine Bessere nennen?
2. Frage sollte diese Möglichkeit gut sein kann mit jmd beim Makeleader befehl helfen? Habe es bereits versucht und bin kläglich gescheitert.
Beim Makeleader befehl sollte dann die [leader] Variable auf die gewünsche Fraktionsid gesetzt werden und der Rank auf 7.Hier noch mein enum
enum spieler_daten
{
Geld,
Score,
Wanted,
Skin,
Eingeloggt,
pAdmin,
Kills,
Tode,
Leader, //wird im moment bei allen CMDs etc verwendet
Member, //wird nicht verwendet.
Rank,
Job
}
new PlayerInfo[MAX_PLAYERS][spieler_daten];Edit: Kann keiner helfen?
-
Vielen dank, das klappt alles wunderbar
-
Nabend,
Ich versuche gerade für mein /stats befehl eien Rankanzeige für die jeweilige Fraktion zu machen.
Habe es so versucht.new rankname[128];
switch(PlayerInfo[playerid][Rank])
{
if(PlayerInfo[playerid][Leader] == 0) // Zeile 1828
{
case 0:{rankname="Keiner";} //Zeile 1830
}
else if(PlayerInfo[playerid][Leader] == 1)
{
case 0:{rankname=rankname10;}
case 1:{rankname=rankname11;}
case 2:{rankname=rankname12;}
case 3:{rankname=rankname13;}
case 4:{rankname=rankname14;}
case 5:{rankname=rankname15;}
case 6:{rankname=rankname16;}
case 7:{rankname=rankname17;}
}
else if(PlayerInfo[playerid][Leader] == 2)
{
case 0:{rankname=rankname20;}
case 1:{rankname=rankname21;}
case 2:{rankname=rankname22;}
case 3:{rankname=rankname23;}
case 4:{rankname=rankname24;}
case 5:{rankname=rankname25;}
case 6:{rankname=rankname26;}
case 7:{rankname=rankname27;}
}
}Errors
C:\Users\Freggel\Desktop\Neuer Ordner\gamemodes\Neue.pwn(1828) : error 002: only a single statement (or expression) can follow each "case"
C:\Users\Freggel\Desktop\Neuer Ordner\gamemodes\Neue.pwn(1828 -- 1829) : error 029: invalid expression, assumed zero
C:\Users\Freggel\Desktop\Neuer Ordner\gamemodes\Neue.pwn(1830) : error 014: invalid statement; not in switch
C:\Users\Freggel\Desktop\Neuer Ordner\gamemodes\Neue.pwn(1830) : warning 215: expression has no effect
C:\Users\Freggel\Desktop\Neuer Ordner\gamemodes\Neue.pwn(1830) : error 001: expected token: ";", but found ":"
C:\Users\Freggel\Desktop\Neuer Ordner\gamemodes\Neue.pwn(1830) : error 029: invalid expression, assumed zero
C:\Users\Freggel\Desktop\Neuer Ordner\gamemodes\Neue.pwn(1830) : fatal error 107: too many error messages on one line -
Hallo Breadfish,
Ich habe mich nun dazu entschlossen, ein Selfmade zu scripten. Ich bin noch am lernen und stehe nun vor dem Problem, das die Fraktion in der man ist nicht geladen wird.
#define fraktname1 "LSPD"
#define fraktname2 "FBI"
#define fraktname3 "Medics"
#define fraktname4 "Oamt"
#define fraktname5 "Staat"
#define fraktname6 "News"
#define fraktname7 "Fahrschule"
#define fraktname8 "Gang1"
#define fraktname9 "Gang2"
#define fraktname10 "Gang3"
enum spieler_daten
{
Deld,
Wanted,
Skin,
Eingeloggt,
pAdmin,
Kills,
Tode,
Fraktion
}
new PlayerInfo[MAX_PLAYERS][spieler_daten];
public OnPlayerDisconnect(playerid, reason)
{
new pName[MAX_PLAYER_NAME], string[56] ;
GetPlayerName(playerid, pName, sizeof(pName));
switch (reason)
{
case 0: format(string, sizeof(string), "%s hat den Server verlassen. (Verbindung verloren)", pName);
case 1: format(string, sizeof(string), "%s hat den Server verlassen. (Verlassen)", pName);
case 2: format(string, sizeof(string), "%s hat den Server verlassen. (Kick/Ban)", pName);
}
SendClientMessageToAll (COLOR_GRAD2, string);new pname[MAX_PLAYERS],accFormat[128];
GetPlayerName(playerid,pname,sizeof pname);
format(accFormat,sizeof accFormat,"/Accounts/%s.txt",pname);
if(fexist(accFormat) && PlayerInfo[playerid][Eingeloggt])
{
dini_IntSet(accFormat,"Deld",GetPlayerMoney(playerid));
dini_IntSet(accFormat,"Wanted",PlayerInfo[playerid][Wanted]);
dini_IntSet(accFormat,"Skin",PlayerInfo[playerid][Skin]);
dini_IntSet(accFormat,"Kills",PlayerInfo[playerid][Kills]);
dini_IntSet(accFormat,"Tode",PlayerInfo[playerid][Tode]);
dini_IntSet(accFormat,"Fraktion",PlayerInfo[playerid][Fraktion]);
}
PlayerInfo[playerid][Eingeloggt] = 0;
PlayerInfo[playerid][Skin] = 0;
return 1;
}
dcmd_stats(playerid,params[])
{
if(InFrakt(playerid,1))
{
#pragma unused params
new name[MAX_PLAYER_NAME], string[256];
GetPlayerName(playerid, name, sizeof(name));
new fraktname[64];
switch(GetPVarInt(playerid,"Fraktion"))
{
case 0:{fraktname="Keine";}
case 1:{fraktname=fraktname1;}
case 2:{fraktname=fraktname2;}
case 3:{fraktname=fraktname3;}
case 4:{fraktname=fraktname4;}
case 5:{fraktname=fraktname5;}
case 6:{fraktname=fraktname6;}
case 7:{fraktname=fraktname7;}
case 8:{fraktname=fraktname8;}
case 9:{fraktname=fraktname9;}
case 10:{fraktname=fraktname10;}
}
format(string,sizeof(string),"Name: %s\nLevel: %d\nGeld: %d\nAdminlevel: %d\nKills: %d\nTode: %d\nFraktion: %s",name,GetPlayerScore(playerid),GetPlayerMoney(playerid),PlayerInfo[playerid][pAdmin],PlayerInfo[playerid][Kills],PlayerInfo[playerid][Tode],fraktname);
ShowPlayerDialog(playerid,DIALOG_STATS,DIALOG_STYLE_MSGBOX,"Deine Stats",string,"Ok","Abbrechen");
return 1;
}
else
{
SendClientMessage(playerid,COLOR_GRAD2,"geht nich");
return 1;
}
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new pname[MAX_PLAYERS],accFormat[128];
GetPlayerName(playerid,pname,sizeof pname);
format(accFormat,sizeof accFormat,"/Accounts/%s.txt",pname);
if(response)
{
switch(dialogid)
{
case DIALOG_LOGIN:
{
if(!strlen(inputtext))
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Abbrechen","Weiter");
return SendClientMessage(playerid,0xFFFFFFFF,"Kein Passwort angegeben!");
}
if(strcmp(inputtext,dini_Get(accFormat,"Passwort")) == 0)
{
SetPlayerMoney(playerid,dini_Int(accFormat,"Geld"));
PlayerInfo[playerid][Wanted] = dini_Int(accFormat,"Wanted");
PlayerInfo[playerid][Skin] = dini_Int(accFormat,"Skin");
SetPlayerScore(playerid,dini_Int(accFormat,"Score"));
PlayerInfo[playerid][pAdmin] = dini_Int(accFormat, "AdminLevel");
PlayerInfo[playerid][Kills] = dini_Int(accFormat, "Kills");
PlayerInfo[playerid][Tode] = dini_Int(accFormat, "Tode");
PlayerInfo[playerid][Fraktion] = dini_Int(accFormat, "Fraktion");
PlayerInfo[playerid][Eingeloggt] = 1;
SendClientMessage(playerid,0xFFFFFFFF,"Du wurdest erfolgreich eingeloggt.");
}
else
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Abbrechen","Weiter");
SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort war Falsch!");
}
}
case DIALOG_REG:
{
if(!strlen(inputtext))
{
ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich","Abbrechen","Weiter");
return SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort ist zu kurz!");
}
dini_Create(accFormat);
dini_Set(accFormat,"Passwort",inputtext);
dini_IntSet(accFormat, "AdminLevel" , 0);
PlayerInfo[playerid][pAdmin] = 0;
PlayerInfo[playerid][Eingeloggt] = 1;
PlayerInfo[playerid][Fraktion] = 0;
PlayerInfo[playerid][Skin] = 167;
SetPlayerMoney(playerid,10000);
SendClientMessage(playerid,0xFFFFFFFF,"Account wurde angelegt und du wurdest eingeloggt.");
}
}
}
else
{
switch(dialogid)
{
case DIALOG_LOGIN:ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Abbrechen","Weiter");
case DIALOG_REG:ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich","Abbrechen","Weiter");
}
}
return 1;
}Also bekomme keine Errors/Warnings. In den Scriptfiles steht Fraktion 1, bei /stats steht keine Fraktion und ein Befehl der nur die Fraktion 1 machen kann kann ich mit der Fraktion 1 nicht machen. Hoffe ihr könnt mir helfen.Nehme an da ist ein Fehler beim Login, finde ihn aber nicht
Mfg
Edit: Wird nun in den /stats angezeogt
Edit: Problem gelöst 8-) -
Zu ende Aserbadjan hat gewonnen dacht ich eig echt garnicht das die gewinnen
Die gehen PleiteFande die Irländer auch sehr gut und bei Lena kein Wunder. Das Lied war nicht so der renner. Push Forward fand ich da viel besser
-
dcmd_do(playerid,params[])
{
new oID,str[128];
if(sscanf(params, "d", oID))return SendClientMessage(playerid,COLOR_GRAD2,"Benutzung: /do [Objekt-ID]");
if(PlayerInfo[playerid][pAdmin]< 1337)return SendClientMessage(playerid,COLOR_GRAD2,"Du bist kein Admin Level 1337!");
DestroyObject(oID);
return 1;
}
Geths so?Bei dir ist alles okay, das ist hier bei dem Code. Zudem wird das Object mit einer ID erstellt, denoch nicht zerstört
Kann niemand helfen?