Ha egy játékost teleportálni akarsz:
SetPlayerPos(playerid, X koordináta, Y koordináta, Z koordináta);
Ha játékost a jármuvével együtt (ne tunjön el alóla a jármu teleportnál):
Ezt másold be a mód legaljára (globális névtérbe), csak egyszer kell:
stock SetPlayerVehiclePos(playerid, Float:X, Float:Y, Float:Z)
{
if (IsPlayerInAnyVehicle(playerid) == 0 || IsPlayerConnected(playerid) == 0) return 0;
return SetVehiclePos(GetPlayerVehicleID(playerid), X, Y, Z);
}
Utána ha jármuvel akarsz teleportálni, használd ezt:
SetPlayerVehiclePos(playerid, Float:X, Float:Y, Float:Z);
Példa:
Ha csak az embert akarod teleportálni:
if (strcmp(\"/EngemTeleportaljEl\", cmdtext, true) == 0)
{
SetPlayerPos(playerid, 0.0, 0.0, 0.0);
return 1;
}
Ha a jármuvét is:
if (strcmp(\"/AKocsimIsTeleportald\", cmdtext, true) == 0)
{
SetPlayerVehiclePos(playerid, 0.0, 0.0, 0.0);
return 1;
}
Ha ezt a hibát kapod:
error 017: undefined symbol \"SetPlayerVehiclePos\"
Akkor elfelejtetted bemásolni a script legaljára ezt:
stock SetPlayerVehiclePos(playerid, Float:X, Float:Y, Float:Z)
{
if (IsPlayerInAnyVehicle(playerid) == 0 || IsPlayerConnected(playerid) == 0) return 0;
return SetVehiclePos(GetPlayerVehicleID(playerid), X, Y, Z);
}
Remélem erre gondoltál, ha nem, szólj.. ;D
Én így oldottam meg:
if (strcmp(cmdtext, \"/tele1\",true)==0)
{ //az utolsó 0 az interior
NormalTele(playerid, 1,1,1 ,0); // kocsit és játékos teleport
return 1;
}
if (strcmp(cmdtext, \"/tele2\",true)==0)
{ //az utolsó 0 az interior
PlayerTele(playerid, 1294.9669,-711.6583,93.0370 ,0); // csak játékos teleport
return 1;
}
a mód végére
stock NormalTele(playerid, Float:x, Float:y, Float:z, interior) // ez a játékost és a kocsit is teleportálja
{
if( IsPlayerInAnyVehicle(playerid))
{
new vehid = GetPlayerVehicleID(playerid);
SetVehiclePos(vehid, Float:x, Float:y, Float:z);
LinkVehicleToInterior(vehid, interior);
SetPlayerInterior(playerid, interior);
SetVehicleZAngle(vehid,0.0);
SetCameraBehindPlayer(playerid);
} else {
SetPlayerPos(playerid, Float:x, Float:y, Float:z);
SetPlayerInterior(playerid, interior);
SetCameraBehindPlayer(playerid);
}
return PlayerPlaySound(playerid, 1085, x, y, z);
}
stock PlayerTele(playerid, Float:x, Float:y, Float:z, interior) // ez csak a játékost
{
SetPlayerPos(playerid, Float:x, Float:y, Float:z);
SetPlayerInterior(playerid, interior);
SetCameraBehindPlayer(playerid);
return PlayerPlaySound(playerid, 1085, x, y, z);
}
Ez jó kocsis teleportnak:
if(strcmp(cmdtext,\"/teleport\",true) == 0)
{
if(IsPlayerInAnyVehicle(playerid)) return SetVehiclePos(GetPlayerVehicleID(playerid), X,Y,Z);
else
SetPlayerPos(playerid,X,Y,Z);
return 1;
}