Moin,
Kann mir mal grade jemand einen /kick Befehl machen?
Ich bin zu dumm
Moin,
Kann mir mal grade jemand einen /kick Befehl machen?
Ich bin zu dumm
Welche Includes Verwendest du?
#include <a_samp>
#include <core>
#include <float>
#include <a_mysql>
#include <ocmd>
Ist nen Selfmade
ocmd:kick(playerid,params[])
{
new pID, grund[128], string[128];
if(sscanf(params,"us",pID,grund))return SendClientMessage(playerid,FARBE_ROT,"Tippe: /kick [playerid] [grund]");
if(!IsPlayerAnAdmin(playerid,2))return SCM(playerid,FARBE_WARNING,"Für diesen Befehl hast du keine Rechte!");
if(!IsPlayerConnected(pID))return SendClientMessage(playerid,FARBE_ROT,"Der Spieler ist nicht Online!");
format(string,sizeof(string),"AdmCmd: %s wurde vom %s %s vom Server gekickt. Grund: %s",Spielername(pID),Adminname(playerid),Spielername(playerid),grund);
SendClientMessageToAll(FARBE_ROT,string);
Kick(pID);
return 1;
}
*ein Selfmade
if(strcmp(cmdtext,"/kick",true,5)==0)
[
new string[5];
strmid(string,cmdtext,6,strlen(cmdtext));
new id=strval(string);
Kick(id);
}
Ein ganz einfacher /kick-Befehl, bitteschön
C:\Users\Maik\Desktop\Creative RealLife\gamemodes\bare.pwn(278) : error 017: undefined symbol "Spielername"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
1 Error.
Shit xD und nu?
new Spielername[MAX_PLAYER_NAME]; GetPlayerName(playerid,Spielername,sizeof(Spielername));
LoL.
if(strcmp(cmdtext, "/gstart"))
{
if(SpielerInfo[playerid][pTeammitglied] == 3)
{
SendClientMessageToAll(ROT,"Der Server wird von der Head-Administration heruntergefahren.");
SendClientMessageToAll(ROT,"Bitte gedulden sie sich einige Sekunden,bis der Server wieder erreichbar ist");
SavePlayer(playerid);
SendRconCommand("gmx");
return 1;
}
}
if(strcmp(cmdtext,"/tkick",true,5)==0)
{
new string[5];
strmid(string,cmdtext,6,strlen(cmdtext));
new id=strval(string);
Kick(id);
}
Wenn ich /tkick oder sonst irgendeinen Befehl eingebe der zB, nicht exestiert.
Bsp. /affe
Restartet der server ???
ocmd Befehle kommen unter KEIN public die strcmp-Befehle kommen unter OnPlayerCommandText
ocmd Befehle kommen unter KEIN public die strcmp-Befehle kommen unter OnPlayerCommandText
Der Compiler meldet sich dann schon, wenn man es unter OnPlayerCommandText oder in nem anderen Public macht .
Außerdem hat er garkeine ocmd Befehle da drin nach dem Scriptausschnitt.
Sinnloser Quatsch
B2T@ Komme immernoch nicht weiter
Denk bitte dran. Das Samp Wiki sagt, dass seit 0.3x SendClientMessage's VOR einem Kick nicht mehr ausgegeben werden. Man muss hier also mit einem Delay arbeiten mittels Timer.
Genau
forward TimerName(playerid);
public TimerName(playerid)
{
Kick(playerid);
return 1;
}
Dann mit SetTimerEx einfach den Timer starten lassen antstatt kick(pID)
// 2 Sekunden reichen völlig aus
Kann mir vllt. einer jetzt mal eben einen kompletten /kick befehl zusammen basteln
ocmd:kick(playerid,params[])
{
new pID;
new Grund[128];
new aname[MAX_PLAYER_NAME];
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
GetPlayerName(pID, aname, sizeof(aname));
if(sscanf(params,"us",pID,Grund))return SendClientMessage(playerid,COLOR_WHITE,"Benutzung: /kick [playerid][Grund]");
if(SInfo[playerid][pAdmin] >= 1)
{
new string[128];
GetPlayerName(pID, pname, sizeof(pname));
SendClientMessage(playerid,COLOR_RED,"Du hast den Spieler gekickt!");
format(string,sizeof(string),"[JunkBuster] Admin %s hat Spieler %s gekickt! Grund: %s",pname,aname,Grund);
SendClientMessageToAll(COLOR_RED,string);
Kick(pID);
}
return 1;
}