Hallo leute und zwar bin ich nicht an 0.3x scripten so genau gewöhnt kann jemand mir hier einen /kickt befehl auf ocmd machen glaube wegen 0.3x braucht man einen timer ich kapier das net,
Danke im voraus
/kick befehl
- BlackHuhn
- 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
-
-
ocmd:kick(playerid,params[])
{
new plid;
new grund[64];
new string[128];
if(IsPlayerConnected(plid))
{
if(!istPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,HELLROT,"**Du bist kein Administrator.");//Anpassen
if(sscanf(params,"us",plid,grund))return SendClientMessage(playerid,BLAU,"Tippe: /kick [Id/Name][Grund]");
if(GetPVarInt(plid,"Adminlevel") > GetPVarInt(playerid,"Adminlevel")) return SendClientMessage(playerid,ROT,"Das darfst du nicht tuen");
format(string,sizeof(string),"[AdmCmd]: %s wurde von %s gekickt Grund: %s",SpielerName(plid),SpielerName(playerid),grund);
SendClientMessageToAll(HELLROT,string);
Kick(plid);
}
return 1;
} -
Oke danke schonmal nur ein prob: wenn ich meine id eingebe werd ich nur gekickt aber es kommt keine kicknachricht
-
Kommt irgendwas anderes wie das darfst du nicht
Oder sowas oder einfach nichts -
Also ich habe den command auf mein sys umgescriptet wenn ich eine falsche id eingebe kommt ein text aber halt kein richtigwee name weil die id nicht on ist und wenn ich mich selber kicke das geht aber es kommt das im format nicht ....
hier der command:
ocmd:kick(playerid,params[])
{
new plid;
new grund[64];
new string[128];
if(IsPlayerConnected(plid))
{
if(SpielerInfo[playerid][pAdminlevel] >= 2)
{
if(sscanf(params,"us",plid,grund))return SendClientMessage(playerid,ROT,"Tippe: /kick [Id/Name][Grund]");
if(GetPVarInt(plid,"Adminlevel") > GetPVarInt(playerid,"Adminlevel")) return SendClientMessage(playerid,ROT,"Das darfst du nicht tuen");
format(string,sizeof(string),"[AdmCmd]: %s wurde von %s gekickt Grund: %s",Spielername(plid),Spielername(playerid),grund);
SendClientMessageToAll(ROT,string);
Kick(plid);
}
}
return 1;
} -
Erneut, der gekickte bekommt seit 0.3x KEINE Nachricht mehr zugeschickt, sollte die Funktion Kick und SendClientMessage zusammen ausgeführt werden! Kick wird IMMER zuerst ausgeführt, wenn du möchtest dass er die Nachricht sieht, MUSST du anstatt der Kick Funktion einen Timer nutzen.
Es würde wie folgt aussehen:
ocmd:kick(playerid,params[])
{
new plid;
new grund[64];
new string[128];
if(IsPlayerConnected(plid))
{
if(SpielerInfo[playerid][pAdminlevel] >= 2)
{
if(sscanf(params,"us",plid,grund))return SendClientMessage(playerid,ROT,"Tippe: /kick [Id/Name][Grund]");
if(GetPVarInt(plid,"Adminlevel") > GetPVarInt(playerid,"Adminlevel")) return SendClientMessage(playerid,ROT,"Das darfst du nicht tuen");
format(string,sizeof(string),"[AdmCmd]: %s wurde von %s gekickt Grund: %s",Spielername(plid),Spielername(playerid),grund);
SendClientMessageToAll(ROT,string);
SetTimerEx("KickTimer",500,0,"i",plid);
}
}
return 1;
}forward KickTimer(playerid);
public KickTimer(playerid)
{
Kick(playerid);
return 1;
} -
ocmd:kick(playerid,params[])
{
new plid;
new grund[64];
new string[128];
if(IsPlayerConnected(plid))
{
if(SpielerInfo[playerid][pAdminlevel] >= 2)
{
if(sscanf(params,"us",plid,grund))return SendClientMessage(playerid,ROT,"Tippe: /kick [Id/Name][Grund]");
if(GetPVarInt(plid,"Adminlevel") > GetPVarInt(playerid,"Adminlevel")) return SendClientMessage(playerid,ROT,"Das darfst du nicht tuen");
format(string,sizeof(string),"[AdmCmd]: %s wurde von %s gekickt Grund: %s",Spielername(plid),Spielername(playerid),grund);
SendClientMessageToAll(ROT,string);
SetTimerEx("KickTimer",500,0,"i",plid);
}
}
return 1;
}forward KickTimer(playerid);
public KickTimer(playerid)
{
Kick(playerid);
return 1;
}ES danke ich voll man es klappt alles
-
breadfish.de
Hat das Thema geschlossen.