20.11.2010, 18:02
I tryed to convert it 5 times each time when i use cmd i just crash....
Here is original working code with STRTOK
Here is original working code with STRTOK
pawn Код:
CMD:goto(playerid, params[])
{
new idx, iString[256];
iString = strtok(params, idx);
if (!strlen(iString))
{
SendClientMessage(playerid, red, "[USAGE]: /goto PLAYERID (X_OFFSET Y_OFFSET Z_OFFSET)");
return true;
}
new ID = strval(iString);
if (!IsPlayerConnected(ID)) return SendClientMessage(playerid, red, "[ERROR]:That player is not connected.");
new Float:X, Float:Y, Float:Z;
new Interior = GetPlayerInterior(ID);
GetPlayerPos(ID, X, Y, Z);
iString = strtok(params, idx);
if (!strlen(iString))
{
GetXYInFrontOfPlayer(ID, X, Y, 1.5);
SetPlayerInterior(playerid, Interior);
SetPlayerPos(playerid, X, Y, Z);
GetPlayerName(ID, iString, 128);
format(iString, 128, "[SUCCESS]: You have warped to %s (ID: %d).", iString, ID);
SendClientMessage(playerid, green, iString);
return true;
}
X += floatstr(iString);
iString = strtok(params, idx);
if (!strlen(iString))
{
goto fwarpto;
}
Y += floatstr(iString);
iString = strtok(params, idx);
if (!strlen(iString)) {
goto fwarpto;
}
Z += floatstr(iString);
fwarpto:
new pVID = GetPlayerVehicleID( playerid );
if ( pVID )
{
SetVehiclePos( pVID, X, Y, Z );
LinkVehicleToInterior( pVID, Interior );
}
else
{
SetPlayerPos( playerid, X, Y, Z);
}
SetPlayerInterior( playerid, Interior);
GetPlayerName(ID, iString, 128);
format(iString, 128, "[SUCCESS]: You have warped to %s (ID: %d).", iString, ID);
SendClientMessage(playerid, green, iString);
return true;
}