Ich habe hier mein einen kleinen Command für Admins. Damit kann man einen anderen Spieler zu sich herholen. Gemacht hab ich den, da manche Spieler einfach "verschwunden" sind, also nicht auf der Karte zu sehen waren, aber trotzdem online.
Zuerst die COLOR-Define:
#define COLOR_ORANGE 0xFF7D00FF
Jetzt der Code selbst (bei public OnPlayerCommandText(playerid,cmdtext[]))
}
new cmd[30];
new idx;
cmd = strtok(cmdtext, idx);
if(strcmp(cmd, "/bring", true) == 0)
{
new tmp[30];
new Float:X, Float:Y, Float:Z;
new Float:x, Float:y, Float:z;
// assign the id (written by the user) to tmp
tmp = strtok(cmdtext, idx);
// convert the id to an integer using strval (this is essential)
// and assign to otherplayer
new otherplayer = strval(tmp);
if(IsPlayerAdmin(playerid))
{
if(IsPlayerConnected(otherplayer))
{
GetPlayerPos(otherplayer, X, Y, Z);
GetPlayerPos(playerid, x, y, z);
SetPlayerPos(otherplayer, x+2, y+2, z+2);
SetPlayerVirtualWorld(otherplayer,GetPlayerVirtualWorld(playerid));
SendClientMessage(otherplayer, COLOR_ORANGE, "You have been warped!");
}
}
return 1;
}
Der Command ist mit strtok geschrieben also braucht ihr die definition: (UNTER DEM SCRIPT EINFÜGEN)
strtok( const string[], &index, const seperator[] = " " )
{
new
index2,
result[ 30 ];
index2 = strfind(string, seperator, false, index);
if(index2 == -1)
{
if(strlen(string) > index)
{
strmid(result, string, index, strlen(string), 30);
index = strlen(string);
}
return result; // This string is empty, probably, if index came to an end
}
if(index2 > (index + 29))
{
index2 = index + 29;
strmid(result, string, index, index2, 30);
index = index2;
return result;
}
strmid(result, string, index, index2, 30);
index = index2 + 1;
return result;
}