Hallo zusammen. Ich habe einen /kick Befehl gescriptet:
ocmd:kick(playerid,params[])
{
new pID;
new reason[128];
new string[128];
format(string,sizeof string,"/Accounts/%s.ini",getname(playerid));
if(dini_Int(string,"Admin") <= 1)
{
SendClientMessage(playerid,ROT,"Du bist kein Supporter !");
}
if(sscanf(params,"is",pID,reason)) return SendClientMessage(playerid,ROT,"[INFO] /kick [ID] [Grund]");
if(IsPlayerConnected(pID) && !IsPlayerNPC(pID))
{
new player[MAX_PLAYER_NAME];
new text[128];
new text2[128];
GetPlayerName(pID,player,sizeof(player));
format(text,sizeof text,"Du wurdest von %s gekickt ! Grund: %s",getname(playerid),reason);
format(text2,sizeof text2,"[ADMIN]%s wurde von %s gekickt. Grund: %s",player,getname(playerid),reason);
SendClientMessage(pID,ROT,text);
SendClientMessageToAll(ROT,text2);
Kick(pID);
}
return 1;
}
Ich habe es ausgetestet und habe mich selber gekickt. Jedoch wurde der Text mir nicht angezeigt. Weder text noch text2
obwohl das vor Kick(pID); geschieht. Wieso ?
/kick Befehl
- -audi-
- Geschlossen
- Erledigt
-
-
Seit irgendeiner SA:MP Version kann man kicken und die Nachricht senden nicht mehr gleichzeitig, so dass man beides merkt. Irgendwie ist es mit der Priorität, oder so. Du musst erst den Spieler die Nachricht senden, dann einen Timer setzen, und den dann kicken.
-
Du musst das Kick(pID) in einen Timer machen der es in 250 ms ausführt.
Muss man seit 0.3x machen oder du hollst dir das Kick/Ban fix include. -
Grund dafür ist die Neue SAMP Version mach ab besten einen Timer (250ms sollte locker reichen) und kicke dann erst den Spieler so wird dann auch die Nachricht angezeigt.
Im Kick befehl rein
SetTimerEx("KickPlayer",250,0,"i",pID);I-wo im GM^^
Function KickPlayer(playerid) return Kick(playerid);
-
-
Vielen Dank ! Hab mir das banfix Include heruntergeladen. Danke für die Hilfe
-
breadfish.de
Hat das Thema geschlossen.