Guten Morgen,
Wie in der Überschrift schon geschrieben steht habe ich probleme mit diesen befehlen:
wenn ich /kick eingebe:
if(strcmp(cmd, "/kick", true) == 0)
{
new giveplayerid,string[256], length = strlen(cmdtext),offset = idx, result[64],year, month,day;
result[idx - offset] = EOS;
if(PlayerLogged[playerid] == 1) {
if(IsPlayerAnAdmin(playerid, 2)) {
tmp = strtok(cmdtext, idx);
if(!strlen(tmp) || !strlen(result)) { SendClientMessage(playerid, COLOR_GRAD2, "Verwendung: /kick [playerid] [Grund]"); return 1; }
giveplayerid = ReturnUser(tmp);
while ((idx < length) && (cmdtext[idx] <= ' ')) { idx++; }
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) { result[idx - offset] = cmdtext[idx]; idx++; }
if(PlayerLogged[giveplayerid] == 1) {
if(PlayerInfo[giveplayerid][AdminLevel] > PlayerInfo[playerid][AdminLevel]) { SendClientMessage(playerid, COLOR_GRAD2, "Du kannst diesen Spieler nicht kicken, da er ein höheres Adminlevel hat als du!"); return 1; }
getdate(year, month, day);
format(string, sizeof(string), "AdmCmd: %s wurde von %s gekickt, Grund: %s (%d-%d-%d)", UserName(giveplayerid), UserName(playerid), (result),month,day,year);
KickLog(string);
format(string, sizeof(string), "AdmCmd: %s wurde von %s gekickt, Grund: %s", UserName(giveplayerid), UserName(playerid), (result));
SCMTA(COLOR_LIGHTRED, string);
Kick(giveplayerid);
TogglePlayerControllable(giveplayerid,0);
return 1;
}
}
}
return 1;
}
{
new giveplayerid,string[256], length = strlen(cmdtext),offset = idx, result[64],year, month,day;
result[idx - offset] = EOS;
if(PlayerLogged[playerid] == 1) {
if(IsPlayerAnAdmin(playerid, 2)) {
tmp = strtok(cmdtext, idx);
if(!strlen(tmp) || !strlen(result)) { SendClientMessage(playerid, COLOR_GRAD2, "Verwendung: /kick [playerid] [Grund]"); return 1; }
giveplayerid = ReturnUser(tmp);
while ((idx < length) && (cmdtext[idx] <= ' ')) { idx++; }
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) { result[idx - offset] = cmdtext[idx]; idx++; }
if(PlayerLogged[giveplayerid] == 1) {
if(PlayerInfo[giveplayerid][AdminLevel] > PlayerInfo[playerid][AdminLevel]) { SendClientMessage(playerid, COLOR_GRAD2, "Du kannst diesen Spieler nicht kicken, da er ein höheres Adminlevel hat als du!"); return 1; }
getdate(year, month, day);
format(string, sizeof(string), "AdmCmd: %s wurde von %s gekickt, Grund: %s (%d-%d-%d)", UserName(giveplayerid), UserName(playerid), (result),month,day,year);
KickLog(string);
format(string, sizeof(string), "AdmCmd: %s wurde von %s gekickt, Grund: %s", UserName(giveplayerid), UserName(playerid), (result));
SCMTA(COLOR_LIGHTRED, string);
Kick(giveplayerid);
TogglePlayerControllable(giveplayerid,0);
return 1;
}
}
}
return 1;
}
mit nur:
und wenn ich /ban eingeben:
if (strcmp("/ban", cmdtext, true, 10) == 0) {
if(PlayerLogged[playerid] == 1) {
if(IsPlayerAnAdmin(playerid, 1337)) {
new mitteilung[256], length = strlen(cmdtext), para1;
tmp = strtok(cmdtext, idx);
while ((idx < length) && (cmdtext[idx] <= ' ')) { idx++; }
new offset = idx, x_nr[64];
while ((idx < length) && ((idx - offset) < (sizeof(x_nr) - 1))) {
x_nr[idx - offset] = cmdtext[idx];
idx++;
}
x_nr[idx - offset] = EOS;
if(!strlen(tmp) && !strlen(x_nr)) {
SCM(playerid, COLOR_GRAD2, "Verwendung: /ban [playerid/Playername] [Grund]");
return true;
}
para1 = ReturnUser(tmp);
if(PlayerLogged[para1] == 1) {
if(para1 != INVALID_PLAYER_ID) {
format(mitteilung,sizeof mitteilung,"[AdmCmd]: %s wurde dem Admin/Supporter %s gebannt.[Grund: %s]",UserName(para1),UserName(playerid),(x_nr));
SCMTA(COLOR_LIGHTRED,mitteilung);
PlayerInfo[playerid][Banned] = 1;
Kick(para1);
TogglePlayerControllable(para1,0);
return 1;
}return SCM(playerid,COLOR_YELLOW," Du kannst dich nicht selber bannen!.");
}return SCM(playerid,COLOR_YELLOW," Dieser Spieler ist nicht Online.");
}else SCM(playerid,COLOR_GRAD2," ** INFO: Das ist ein Adminbefehl, du bist kein Admin!");
}
return 1;
}
if(PlayerLogged[playerid] == 1) {
if(IsPlayerAnAdmin(playerid, 1337)) {
new mitteilung[256], length = strlen(cmdtext), para1;
tmp = strtok(cmdtext, idx);
while ((idx < length) && (cmdtext[idx] <= ' ')) { idx++; }
new offset = idx, x_nr[64];
while ((idx < length) && ((idx - offset) < (sizeof(x_nr) - 1))) {
x_nr[idx - offset] = cmdtext[idx];
idx++;
}
x_nr[idx - offset] = EOS;
if(!strlen(tmp) && !strlen(x_nr)) {
SCM(playerid, COLOR_GRAD2, "Verwendung: /ban [playerid/Playername] [Grund]");
return true;
}
para1 = ReturnUser(tmp);
if(PlayerLogged[para1] == 1) {
if(para1 != INVALID_PLAYER_ID) {
format(mitteilung,sizeof mitteilung,"[AdmCmd]: %s wurde dem Admin/Supporter %s gebannt.[Grund: %s]",UserName(para1),UserName(playerid),(x_nr));
SCMTA(COLOR_LIGHTRED,mitteilung);
PlayerInfo[playerid][Banned] = 1;
Kick(para1);
TogglePlayerControllable(para1,0);
return 1;
}return SCM(playerid,COLOR_YELLOW," Du kannst dich nicht selber bannen!.");
}return SCM(playerid,COLOR_YELLOW," Dieser Spieler ist nicht Online.");
}else SCM(playerid,COLOR_GRAD2," ** INFO: Das ist ein Adminbefehl, du bist kein Admin!");
}
return 1;
}
kommt:
und bei /admin :
if (strcmp("/makeadmin", cmdtext, true, 10) == 0) {
if(PlayerLogged[playerid] == 1) {
if(IsPlayerAnAdmin(playerid, 2001) || IsPlayerAdmin(playerid)) {
if(!strlen(tmp)) {
SCM(playerid, COLOR_GRAD2, " /makeadmin [playerid/Name] [Nummer(0-2003)]");
return true;
}
new para1, level,s[256],string[256];
tmp = strtok(cmdtext, idx);
para1 = ReturnUser(tmp);
level = strval(tmp);
if(level > 2003 || level < 0) return SCM(playerid, COLOR_GREY, " Geh nicht tiefer als Nummer 0, oder höher als Nummer 2003!");
switch(level) {
case 0:{s ="Kein Admin";}
case 1:{s ="Probe Supporter";}
case 2:{s ="Supporter";}
case 3:{s ="Probe Admin";}
case 1337:{s ="Admin";}
case 1338:{s ="High Admin";}
case 2001:{s ="stelv. Projectleitung";}
case 2003:{s ="Projectleitung";}
}
if(PlayerLogged[para1] == 1) {
if(para1 != INVALID_PLAYER_ID) {
PlayerInfo[playerid][AdminLevel] = level;
format(string,sizeof(string),"Du hast %s auf den Admin rank %s gesetzt.",UserName(para1),s);
SCM(playerid, COLOR_LIGHTRED, string);
format(string, sizeof(string), "[AdmCmd]: Admin/Supporter %s hat dich auf den Admin Rank %s gesetzt.", UserName(playerid),s);
SCM(para1, COLOR_LIGHTRED, string);
return true;
}return SCM(playerid,COLOR_YELLOW," Du kannst dir nicht selber Admin rechte geben!.");
}return SCM(playerid,COLOR_YELLOW," Dieser Spieler ist nicht Online.");
}else SCM(playerid,COLOR_GRAD2," ** INFO: Das ist ein Adminbefehl, du bist kein Admin!");
} return 1;
}
if(PlayerLogged[playerid] == 1) {
if(IsPlayerAnAdmin(playerid, 2001) || IsPlayerAdmin(playerid)) {
if(!strlen(tmp)) {
SCM(playerid, COLOR_GRAD2, " /makeadmin [playerid/Name] [Nummer(0-2003)]");
return true;
}
new para1, level,s[256],string[256];
tmp = strtok(cmdtext, idx);
para1 = ReturnUser(tmp);
level = strval(tmp);
if(level > 2003 || level < 0) return SCM(playerid, COLOR_GREY, " Geh nicht tiefer als Nummer 0, oder höher als Nummer 2003!");
switch(level) {
case 0:{s ="Kein Admin";}
case 1:{s ="Probe Supporter";}
case 2:{s ="Supporter";}
case 3:{s ="Probe Admin";}
case 1337:{s ="Admin";}
case 1338:{s ="High Admin";}
case 2001:{s ="stelv. Projectleitung";}
case 2003:{s ="Projectleitung";}
}
if(PlayerLogged[para1] == 1) {
if(para1 != INVALID_PLAYER_ID) {
PlayerInfo[playerid][AdminLevel] = level;
format(string,sizeof(string),"Du hast %s auf den Admin rank %s gesetzt.",UserName(para1),s);
SCM(playerid, COLOR_LIGHTRED, string);
format(string, sizeof(string), "[AdmCmd]: Admin/Supporter %s hat dich auf den Admin Rank %s gesetzt.", UserName(playerid),s);
SCM(para1, COLOR_LIGHTRED, string);
return true;
}return SCM(playerid,COLOR_YELLOW," Du kannst dir nicht selber Admin rechte geben!.");
}return SCM(playerid,COLOR_YELLOW," Dieser Spieler ist nicht Online.");
}else SCM(playerid,COLOR_GRAD2," ** INFO: Das ist ein Adminbefehl, du bist kein Admin!");
} return 1;
}
kommt nur:
ich hoffe mir kann jemand helfen
danke im vorraus
Gruß Fabi.StaR