Also ich will vor dem kick eine Nachricht ausgeben aber man wird gekickt und die Nachricht wird nicht gesendet obwohl ich im Script die Nachricht vor dem Kick absende.
Früher ging es aber seit 0.3x i.wie nicht mehr, könnt ihr mir helfen?!
Fail? xd
- pID
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Timer beim Kicken einbauen, da das bei 0.3x anders ist
-
Also ich will vor dem kick eine Nachricht ausgeben aber man wird gekickt und die Nachricht wird nicht gesendet obwohl ich im Script die Nachricht vor dem Kick absende.
Früher ging es aber seit 0.3x i.wie nicht mehr, könnt ihr mir helfen?!Ohne Code können wir dir nicht helfen, ist doch logisch, oder?
-
Ja das ist ein Bug der seit 0.3x existiert
Du musst den Spieler am besten per Timer kicken lassen der ca 200ms nach ausführen des CMDs ausgeführt wird
-
ocmd:ban(playerid,params[])
{
new pID,Grund[64],str[128];
if(GetPVarInt(playerid,"Adminlevel") == 2)
{
if(sscanf(params,"us",pID,Grund)) return SendClientMessage(playerid,GRAU,"Benutze: /ban [SpielerName/ID][Grund]");
if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,GRAU,"Spieler ist nicht online!");
format(str,sizeof(str),"Adcmd: %s wurde von %s gebannt, Grund: %s",SpielerName(pID),SpielerName(playerid),Grund);
SendClientMessageToAll(ROT,str);
Ban(pID);
SetPVarInt(pID,"Banned",1);
}
else
{
SendClientMessage(playerid,GRAU,"Dies ist ein Adminbefehl");
}
return 1;
}/e Wie bekomme ich das in ein Pawn Code? bei mir buggt des
Wie funktioniert das mit dem Timer? habe selten damit gearbeitet.
-
ocmd:ban(playerid,params[])
{
new pID,Grund[64],str[128];
if(GetPVarInt(playerid,"Adminlevel") == 2)
{
if(sscanf(params,"us",pID,Grund)) return SendClientMessage(playerid,GRAU,"Benutze: /ban [SpielerName/ID][Grund]");
if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,GRAU,"Spieler ist nicht online!");
format(str,sizeof(str),"Adcmd: %s wurde von %s gebannt, Grund: %s",SpielerName(pID),SpielerName(playerid),Grund);
SendClientMessageToAll(ROT,str);
SetTimerEx("BanTimer",200,false,"i",playerid)
SetPVarInt(pID,"Banned",1);
}
else
{
SendClientMessage(playerid,GRAU,"Dies ist ein Adminbefehl");
}
return 1;
}forward BanTimer(playerid);
public BanTimer(playerid)
{
Ban(pID);
} -
Zitat
forward BanTimer(playerid);
public BanTimer(playerid)
{
Ban(pID);
}
Wird so nicht klappenocmd:ban(playerid,params[])
{
new pID,Grund[64],str[128];
if(GetPVarInt(playerid,"Adminlevel") == 2)
{
if(sscanf(params,"us",pID,Grund)) return SendClientMessage(playerid,GRAU,"Benutze: /ban [SpielerName/ID][Grund]");
if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,GRAU,"Spieler ist nicht online!");
format(str,sizeof(str),"Adcmd: %s wurde von %s gebannt, Grund: %s",SpielerName(pID),SpielerName(playerid),Grund);
SendClientMessageToAll(ROT,str);
SetTimerEx("KickTimer",200,false,"i",pID);
}
else
{
SendClientMessage(playerid,GRAU,"Dies ist ein Adminbefehl");
}
return 1;
}dann oben bei den defines:
forward KickTimer(playerid);
dann irgendwo ins Script
public KickTimer(playerid)
{
Ban(playerid);
SetPVarInt(playerid,"Banned",1);
Kick(playerid);
return 1;
} -
breadfish.de
Hat das Thema geschlossen.