10.12.2015, 15:45
Por que el SpawnPlayer(playerid) me envнa a esta posiciуn, si la posiciуn al terminar el registro esta bien
їAlguien sabe que motivo puede ser?
їAlguien sabe que motivo puede ser?
new Float:WelcomeSpawn[FOUR_POSITIONS] = { 1154.0959, -1771.2671, 16.5992, 0.0 };
SetSpawnInfo(playerid, NO_TEAM, NEWBIE_SKIN, WelcomeSpawn[0], WelcomeSpawn[1], WelcomeSpawn[2], WelcomeSpawn[3], -1, -1, -1, -1, -1, -1); SetPlayerPosEx(playerid, WelcomeSpawn[0], WelcomeSpawn[1], WelcomeSpawn[2]); SetPlayerFacingAngle(playerid, WelcomeSpawn[3]);
new bool:Tutorial[MAX_PLAYERS];
Tutorial[playerid] = false;
Tutorial[playerid] = true;
if(Tutorial[playerid] == true) { SetPlayerPosEx(playerid, WelcomeSpawn[0], WelcomeSpawn[1], WelcomeSpawn[2]); Tutorial[playerid] = false; // Acб seteamos de nuevo a false, ya que se le tpeу a la posiciуn de arriba. En dado caso que si no se setear y se usa SpawnPlayer volverб a aparecer en la pos de inicio. return 1; }
// ** INCLUDES
#include <a_samp>
// ** ARRAYS AND ENUMERATORS
enum eRandomSpawns
{
Float:random_spawn_x,
Float:random_spawn_y,
Float:random_spawn_z,
Float:random_spawn_angle
};
static const aRandomSpawns[][eRandomSpawns] =
{
{1154.0961, -1767.9318, 16.5938, 358.1200},
{1346.0240, -1751.6771, 13.3624, 0.9422},
{1586.1368, -1721.4606, 13.5469, 179.7958}
};
// ** MAIN
main()
{
print("Loaded \"random_spawns.amx\".");
}
// ** CALLBACKS
public OnGameModeInit()
{
return 1;
}
public OnGameModeExit()
{
return 1;
}
public OnPlayerSpawn(playerid)
{
new selected = random(sizeof(aRandomSpawns));
SetPlayerPos(playerid, aRandomSpawns[selected][random_spawn_x], aRandomSpawns[selected][random_spawn_y], aRandomSpawns[selected][random_spawn_z]);
SetPlayerFacingAngle(playerid, aRandomSpawns[selected][random_spawn_angle]);
SetCameraBehindPlayer(playerid);
return 1;
}
El orden de los factores no altera el producto. Ya sea el fin del registro y/o tutorial...
Toma el cуdigo de Sick y fusionalo con lo que te pasй, para evitar que cuando mueras o uses SpawnPlayer aparezca en esa posiciуn, saludos. |
if(boolean)
if(!boolean)
public OnPlayerConnect(playerid) { Logueado[playerid] = false; |
public SetPlayerPosAfterRegister(playerid) { Logueado[playerid] = true; |