Hi
ich habe mir eben einen Slap Befehl erstellt
Zitat
nur wenn ich den Befehl jetzt ausführe kommt immer "Du bist kein Admin!" obwohl ich 100%tig AdminLevel 1 bin und das auch geladen habe
Hi
ich habe mir eben einen Slap Befehl erstellt
Zitat
nur wenn ich den Befehl jetzt ausführe kommt immer "Du bist kein Admin!" obwohl ich 100%tig AdminLevel 1 bin und das auch geladen habe
Statt if(pInfo[playerid][Adminlevel]>=0) return SendClientMessage(playerid, COLOR_RED, "Du bist kein Admin!");
if(pInfo[playerid][Adminlevel]<1) return SendClientMessage(playerid, COLOR_RED, "Du bist kein Admin!");
Damit sagst du doch das wenn Adminlevel kleiner als 0 ist
Ps: Guck dir das Prinzip von einer for new schleife an " for(new i = 0; i<MAX_PLAYERS; i++) "
das kann helfen und is am einfachsten
if(pInfo[playerid][Adminlevel]==0) return SendClientMessage(playerid, COLOR_RED, "Du bist kein Admin!");
wenn er 0 ist dann kommt der Fehler wenn nicht führt er den cmd aus
Ich bin ja auch nen denker anstatt das so zu machen
Zitatif(pInfo[playerid][Adminlevel]!=0)
wenn du es so machst dann gibt er die message wieder aus nimm das von mir
if(pInfo[playerid][Adminlevel]>=0) return SendClientMessage(playerid, COLOR_RED, "Du bist kein Admin!");
die 0 drcuh die zahl ersetzen die bei dir owne rist und alles was darunter ist geht dan net oder == die id
Beavis Ich will das aber nicht so machen weil das dann nur für einen Admin Rang geht
Darf ich dich auslachen?
Wenn er auf NULL ist darf er es NICHT
Ist er auf 1,2,3,4,5,6,7,8,9,10...... dann geht der Command
so soll es doch auch sein -.-
Und so ist es auch so wie ich es gemacht habe geht es man hätte es auch so machen können wie du und dann eben noch nen else hinten drann
Du willst also, dass jeder der kein Admin ist slappen kann und jeder der Admin ist nicht?
so soll es doch auch sein -.-
Ich komm mir verarscht vor
if(pInfo[playerid][Adminlevel]==0) return SendClientMessage(playerid, COLOR_RED, "Du bist kein Admin!");
Der Code geht wenn er 0 ist kommt das return
return = abbruch
Also wenn er 0 ist, sendet er die Message
Ist er nicht 0 kommt der Befehl
Alles anzeigen
Ich komm mir verarscht vor
if(pInfo[playerid][Adminlevel]==0) return SendClientMessage(playerid, COLOR_RED, "Du bist kein Admin!");
Der Code geht wenn er 0 ist kommt das return
return = abbruch
Also wenn er 0 ist, sendet er die Message
Ist er nicht 0 kommt der Befehl
Ok habe es jetzt verrstanden
Admin Abfrage
stock IstSpielerAdmin(playerid,rang)
{
if(GetPVarInt(playerid,"Adminlevel")>=rang)return 1;
return 0;
}
/slap
ocmd:slap(playerid,params[])
{
IsPlayerAdmin(playerid);
{
new pID,string[128],string2[128];
if(!IsPlayerConnected(pID))return SendClientMessage(playerid,rot,"Der angegebene Spieler ist nicht connected!");
if(sscanf(params,"u",pID))return SendClientMessage(playerid,rot,"Benutzung: /slap [ID]");
SetPlayerHealth(playerid,0.0);
format(string,sizeof(string),"Du hast %s Geslapt !",SpielerName(pID));
format(string2,sizeof(string2),"%s was slaped by %s",SpielerName(playerid));
SendClientMessage(playerid,rot,string);
SendClientMessage(pID,rot,string2);
}
return 1;
}
Keine Große sache
Alles anzeigenAdmin Abfrage
stock IstSpielerAdmin(playerid,rang)
{
if(GetPVarInt(playerid,"Adminlevel")>=rang)return 1;
return 0;
}
/slap
ocmd:slap(playerid,params[])
{
IsPlayerAdmin(playerid);
{
new pID,string[128],string2[128];
if(!IsPlayerConnected(pID))return SendClientMessage(playerid,rot,"Der angegebene Spieler ist nicht connected!");
if(sscanf(params,"u",pID))return SendClientMessage(playerid,rot,"Benutzung: /slap [ID]");
SetPlayerHealth(playerid,0.0);
format(string,sizeof(string),"Du hast %s Geslapt !",SpielerName(pID));
format(string2,sizeof(string2),"%s was slaped by %s",SpielerName(playerid));
SendClientMessage(playerid,rot,string);
SendClientMessage(pID,rot,string2);
}
return 1;
}
Keine Große sache
Was zum geier schreibst du da?
Nutzt er PVars?
nein er nutzt enums
daher bringt es ihn nicht viel
und wiso nutzt man für eine Adminabfrage ein stock?
das ist doch sinnlos, da es schlimmer ist als den adminrank direkt abzufragen
Du hast in deinem Code:
if(pInfo[playerid][Adminlevel]>=0) return SendClientMessage(playerid, COLOR_RED, "Du bist kein Admin!");
//Du hast >= 0 gemacht da wird abgefragt ob das Adminlevel höher oder gleich 0 also wird das mit egal welchem rang nicht klappen so kann es aussehen:
ocmd:slap(playerid,params[])
{
new id,name[24],name2[24],string[64];
if(pInfo[playerid][Adminlevel] == 0){
return SendClientMessage(playerid,COLOR_ROT,"Du bist kein Admin"); //Kein Admin nachricht!
}
else //Falls sein Adminrang höher als 0 ist
{
if(sscanf(params,"u",id))return SendClientMessage(playerid, COLOR_RED,"/slap [ID]");//Sscanf abfrage
GetPlayerName(playerid, name, 24);//Name auslesen von dem Admin
GetPlayerName(id, name2, 24);//Name auslesen von dem Geslapten
format(string,64,"Du wurdest von %s Geslapt",name);//Geslapten nachricht formatieren
SendClientMessage(id, COLOR_RED, string);//Geslapten die nachricht senden
format(string,64,"Du hast %s Geslapt",name2);//Admin nachricht formatieren
SendClientMessage(playerid, COLOR_RED, string);//Dem Admin die nachricht senden
new Float:s[3];//Neuen Float
GetPlayerPos(id, s[0], s[1], s[2]);//Pos abfragen
SetPlayerPos(id, s[0], s[1], s[2]+5);//+5 meter also die höhe
}
return 1;
}