Ich habe mir einen Befehl erstellt, mit dem Ich Spieler kicken kann.
Jedoch wird mir zwar die Nachricht angezeigt, dass der Spieler gekickt wurde, jedoch wird der Spieler nicht gekickt.
Ich habe es auch in einem Timer versucht, jedoch klappt dies auch nicht.
Hier habt ihr meine beiden Versuche:
ocmd:kick(playerid, params[])
{
new pID, reason[64], string[164], kickName[MAX_PLAYER_NAME], name[MAX_PLAYER_NAME];
if(!IsPlayerAnAdmin(playerid, 1))return 0;
if(sscanf(params, "us", pID, reason))return SendClientMessage(playerid, COLOR_GRAY, "Tippe: /kick [ID] [Grund]");
if(!IsPlayerConnected(pID))return SendClientMessage(playerid, COLOR_RED, "Der Spieler ist nicht Online.");
GetPlayerName(pID, kickName, sizeof(kickName));
format(string, sizeof(string), "%s wurde vom Server gekickt. Grund: %s", kickName, reason);
for(new i=0; i<MAX_PLAYERS; i++)
{
if(pInfo[i][pLogin] != 1)return 0;
SendClientMessage(i, COLOR_RED, string);
}
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "** %s %s hat %s aus dem Server gekickt. Grund: %s", GetAdminRang(playerid), name, kickName, reason);
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerAnAdmin(playerid,1))continue;
SendClientMessage(i, COLOR_ORANGE, string);
}
SetTimerEx("KickPlayer", 500, false, "u", pID);
return 1;
}
public KickPlayer(playerid)
{
Kick(playerid);
return 1;
}
ocmd:kick(playerid, params[])
{
new pID, reason[64], string[164], kickName[MAX_PLAYER_NAME], name[MAX_PLAYER_NAME];
if(!IsPlayerAnAdmin(playerid, 1))return 0;
if(sscanf(params, "us", pID, reason))return SendClientMessage(playerid, COLOR_GRAY, "Tippe: /kick [ID] [Grund]");
if(!IsPlayerConnected(pID))return SendClientMessage(playerid, COLOR_RED, "Der Spieler ist nicht Online.");
GetPlayerName(pID, kickName, sizeof(kickName));
format(string, sizeof(string), "%s wurde vom Server gekickt. Grund: %s", kickName, reason);
for(new i=0; i<MAX_PLAYERS; i++)
{
if(pInfo[i][pLogin] != 1)return 0;
SendClientMessage(i, COLOR_RED, string);
}
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "** %s %s hat %s aus dem Server gekickt. Grund: %s", GetAdminRang(playerid), name, kickName, reason);
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerAnAdmin(playerid,1))continue;
SendClientMessage(i, COLOR_ORANGE, string);
}
Kick(pID);
return 1;
}