SA-MP Forums Archive
Problema SpawnPlayer(playerid) - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: Problema SpawnPlayer(playerid) (/showthread.php?tid=595973)



Problema SpawnPlayer(playerid) - wharlos - 10.12.2015

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?


Respuesta: Problema SpawnPlayer(playerid) - xGenius - 10.12.2015

Tienes solo una posiciуn?


Respuesta: Problema SpawnPlayer(playerid) - wharlos - 10.12.2015

Код:
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]);
Todo esta bien, pero debe haber un motivo por el cual me envнa a esa posiciуn, como si no existiera pero si existe .-.


Respuesta: Problema SpawnPlayer(playerid) - Unrea1 - 10.12.2015

En las variables globales:

Код:
new bool:Tutorial[MAX_PLAYERS];
Cuando conecta (OnPlayerConnect), la seteas a false (0).

Код:
Tutorial[playerid] = false;
En donde finaliza el tutorial, (Antes de SpawnPlayer) la seteas a true.

Код:
Tutorial[playerid] = true;
Y en OnPlayerSpawn (funciуn llamada al usar SpawnPlayer) se comprueba si terminу el tutorial, por tanto mandбndolo a la posiciуn del SetPlayerPos, osea:
Код:
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;
}



Respuesta: Problema SpawnPlayer(playerid) - wharlos - 10.12.2015

Pero si no hay tutorial, Solo es un registro


Re: Problema SpawnPlayer(playerid) - SickAttack - 10.12.2015

Esta mal tu array.

pawn Код:
// ** 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;
}



Respuesta: Problema SpawnPlayer(playerid) - Unrea1 - 10.12.2015

Quote:
Originally Posted by wharlos
Посмотреть сообщение
Pero si no hay tutorial, Solo es un registro
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.


Re: Respuesta: Problema SpawnPlayer(playerid) - SickAttack - 10.12.2015

Quote:
Originally Posted by LatinZ
Посмотреть сообщение
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.
Es preferible verificar booleans como:

pawn Код:
if(boolean)
= true

pawn Код:
if(!boolean)
= false


Respuesta: Problema SpawnPlayer(playerid) - wharlos - 11.12.2015

Ya entendi todo. pero lo tengo como dicen uso.

Quote:

public OnPlayerConnect(playerid)
{
Logueado[playerid] = false;

Quote:

public SetPlayerPosAfterRegister(playerid)
{
Logueado[playerid] = true;

Parece que esta bien como ustedes dicen, o me equivoco?


Re: Respuesta: Problema SpawnPlayer(playerid) - SickAttack - 11.12.2015

Quote:
Originally Posted by wharlos
Посмотреть сообщение
Ya entendi todo. pero lo tengo como dicen uso.





Parece que esta bien como ustedes dicen, o me equivoco?
Utiliza el ejemplo que publique y ignora lo demas.