Guten Tag,
Was bedeutet
if (PlayerInfo[playerid][pAdmin] != 0||PlayerInfo[playerid][pSupporter] !=0 )
Entschuldigt für das große.
Danke für eure Hilfe.
P.S: Ich mein das große.
Lg Mr.X
Guten Tag,
Was bedeutet
if (PlayerInfo[playerid][pAdmin] != 0||PlayerInfo[playerid][pSupporter] !=0 )
Entschuldigt für das große.
Danke für eure Hilfe.
P.S: Ich mein das große.
Lg Mr.X
!= bedeutet ist NICHT GLEICH
== bedeutet IST GLEICH
>= bedeutet ist GRÖßER GLEICH
<= bedeutet ist KLEINER GLEICH
Wenn(PlayerInfo[playerid][pAdmin] nicht 0 ist ODER PlayerInfo[playerid][pSupporter] nicht 0 ist)
{
//gibts kekse
}
Vielen Dank für eure Hilfe.
Ich dachte ich habs gecheckt, aber anscheind doch nicht.
Habe nun z.B. dies hier:
if(PlayerInfo[playerid][pAdmin] >= 4)
Mein Adminlevel ist 10.
Aber >= bedeutet doch, das alle was zwischen Rang 4 - 10 ist, darf den Befehl benutzen.
Oder?
Wieso kann ich den Befehl nicht verwenden, mit AdminLevel 10`?
mehr infos....
if(PlayerInfo[playerid][pAdmin] >= 4)
Eigentlich hast du es korrekt. Alle die das Adminlevel 4 oder höher haben, können diesen Befehl nutzen.
Ist der Rang 10 im Script definiert ?
Wenn ja dann sollte das gehen.
xD Bin jetzt Fortgeschrittender.
Er muss nix definieren, ausser vielleicht das enum.
Bist du dir denn sicher das, dass Adminlevel auch richtig ausgelesen wird ?
Aber wenn ich
if(PlayerInfo[playerid][pAdmin] < 4
machen würde, dann würden doch auch alle Admins mit Rang 4 und höher den Befehl verwenden können.
Oder?
Nein. Nur die Admin die unter dem Level 4 sind, könnten es dann verwenden.
Aber nehmen wir mal das Beispiel hier:
//-------------------------------------------------------------------------------------
if(strcmp(cmd, "/kickres", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if (PlayerInfo[playerid][pAdmin] < 1)
{
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "FEHLER: /kickres [level] [betrag]");
return 1;
}
new level = strval(tmp);
if(level < 0 || level > 5) { SendClientMessage(playerid, COLOR_GREY, " Kannst nur Reservierte Slots Kicken :Level 0 bis 5 !"); return 1; }
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "FEHLER: /kickres [level] [betrag]");
return 1;
}
new ammount = strval(tmp);
if(ammount < 1 || ammount > 10) { SendClientMessage(playerid, COLOR_GREY, " Kannst nur Reservierte Slots Kicken Maximal 10 Spieler !"); return 1; }
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pLevel] == level && PlayerInfo[i][pAdmin] < 1 && PlayerInfo[i][pDonateRank] < 1 && ammount > 0)
{
ammount -= 1;
Kick(i);
}
}
}
}
return 1;
}
Aber wieso kann ich diesen Befehl ausführen, obwohl ich über Adminlevel 1 bin?
Du fragst ja ab < 1 und 1 ist nicht kleiner 1. Also musst du entweder < 2 schreiben oder =< 1
Okay Danke.
Aber dann müsste der Befehl:
//----------------------------------[Cars respawnen]-----------------------------------------------
if(strcmp(cmd, "/respawncars", true) == 0 || strcmp(cmd, "/rc", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pAdmin] >= 3)
{
SendClientMessage(playerid, COLOR_GRAD1, " Du darfst diesen Befehl nicht benutzen!");
return 1;
}
new bool:unwanted[CAR_AMOUNT];
for(new player=0; player<MAX_PLAYERS; player++)
{
if(IsPlayerInAnyVehicle(player)) { unwanted[GetPlayerVehicleID(player)]=true; }
}
for(new car = 1; car <= MAX_VEHICLES; car++)
{
if(!unwanted[car]) SetVehicleToRespawn(car);
}
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "Alle unbesetzten Autos wurden von %s respawnt.", sendername);
BroadCast(COLOR_WHITE,string);
}
return 1;
}
Ja eig. funktonieren. Ich bin Admin Level 10 aber ich bekomm immer die Fehlermeldung " Du darfst diesen Befehl nicht nutzen".
Kommt drauf an wie man "Ja eig. funktonieren" auslegt.
Wenn du unter Level 3 bist,dann dürftest du zumindest den ersten Check überstehen.
Wenn du aber über Level 3 oder Level 3 bist,dann scheitert der erste Check.
Denn:
if(PlayerInfo[playerid][pAdmin] >= 3) // <-- Wenn pAdmin >= 3 ist. Heißt also 3,4,5,6.... dann [...] ->
{
SendClientMessage(playerid, COLOR_GRAD1, " Du darfst diesen Befehl nicht benutzen!"); // dann darfst du den Befehl nicht nutzen
return 1;
}
Hey,
Vielen dank für eure ganze Hilfe.
Dank Goldkiller hab ich es nun entgültig gecheckt.
Werde mir den Beitrag auf jedenfall unter Favoriten speichern,
damit ich immer eine kleine Hilfe habe.
Vielen Dank!