Ich habe in meinem Selfmade Script ein Admin sys und habe den DCMD Befehl mit /tv zu machen, wodurch der Admin hinter dem Spieler sieht, welchen er angegeben hat, und kann z. B. wenn er sich dann portet bannen. Einfach der /tv Befehl soll den Admins helfen, die Cheater zu finden. So habe ich es mal probiert:
public OnPlayerCommandText(playerid, cmdtext[])
{
dcmd(tv,2,cmdtext);
if(strcmp("/tvaus",cmdtext,true) == 0)
{
if(SpielerInfo[playerid][alvl]<1)
{
return SendClientMessage(playerid,GREY,"Du bist kein Admin!");
}
else
{
TogglePlayerControllable(playerid, 1);
SetCameraBehindPlayer(playerid);
}
}
}
dcmd_tv(playerid,params[])
{
new pID;
if(sscanf(params,"u",pID))
{
return SendClientMessage(playerid,GREY,"Benutzung: /tv [ID]");
}
if(SpielerInfo[playerid][alvl]<1) //alvl = Admin Level
{
return SendClientMessage(playerid,GREY,"Du bist nicht Admin!");
}
else
{
if(SpielerInfo[playerid][alvl]<SpielerInfo[pID][alvl])
{
return SendClientMessage(playerid,GREY,"Du kannst diesen Befehl, nicht an einem höherrangiertem Admin ausführen!");
}
else
{
//----------Admin Nachricht----------//
new name[MAX_PLAYER_NAME], string[256];
GetPlayerName(pID, name, sizeof(name));
format(string, sizeof(string), "Du beobachtest gerade %s", name );
SendClientMessage(playerid, Orange, string);
//das soll passieren
SetCameraBehindPlayer(pID);
TogglePlayerControllable(playerid, 0);
}
}
return 1;
}
Das Problem nur, wenn ich diesen Befehl mache funz nur SendClientMessage und das freezen. Der Rest funzt i-wie nicht