PDA

View Full Version : Player Spawn Bug


Uuri
08/12/2013, 08:57 PM
Hey. When I run my game mode the player is supposed to spawn at the coordinates given in OnPlayerSpawn. Its works perfectly but after I press the "Spawn" button the screen flashes showing my player at the default samp coordinates(the little place with the elevators) and then spawns to the correct position. How can I fix that flash?

public OnPlayerSpawn(playerid)
{
//Hide the textdraw when the player spawns
TextDrawHideForPlayer(playerid, gWelcome);

//Print a client message to all players when a player spawns
new name[MAX_PLAYER_NAME];
new string [128];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "%s has spawned!", name);
SendClientMessageToAll(LIGHT_GREEN, string);

//Set the players coordinates to spawn; put camera behind player
SetPlayerPos(playerid, 1280.5247,-813.6929,83.6532);
SetPlayerCameraPos(playerid, 1280.5247,-813.6929,83.6532);
SetPlayerFacingAngle(playerid, 180.0);
SetCameraBehindPlayer(playerid);
return 1;
}

public OnGameModeInit()
{
SetGameModeText("Closed Beta");
AddPlayerClass(210, 1958.3783, 1343.1572, 15.3746, 269.1425, 24, 123123, 25, 123123, 34, 123123);
AddPlayerClass(230, 1958.3783, 1343.1572, 15.3746, 269.1425, 24, 123123, 25, 123123, 34, 123123);
AddPlayerClass(38, 1958.3783, 1343.1572, 15.3746, 269.1425, 24, 123123, 25, 123123, 34, 123123);
AddPlayerClass(53, 1958.3783, 1343.1572, 15.3746, 269.1425, 24, 123123, 25, 123123, 34, 123123);
AddPlayerClass(134, 1958.3783, 1343.1572, 15.3746, 269.1425, 24, 123123, 25, 123123, 34, 123123);
AddPlayerClass(170, 1958.3783, 1343.1572, 15.3746, 269.1425, 24, 123123, 25, 123123, 34, 123123);
AddPlayerClass(177, 1958.3783, 1343.1572, 15.3746, 269.1425, 24, 123123, 25, 123123, 34, 123123);

//Create some nrg's
AddStaticVehicle(522,1293.4578,-831.7721,82.7060,2.2115,8,164);
AddStaticVehicle(522,1291.4998,-832.0693,82.7150,0.9063,1,89);
AddStaticVehicle(522,1289.1138,-832.2216,82.7144,1.8299,20,0);
AddStaticVehicle(522,1286.9045,-832.1899,82.7124,357.0424,150,49);
AddStaticVehicle(522,1283.9424,-832.0230,82.7132,1.8036,200,78);

AddStaticVehicle(411,1242.7148,-805.3672,83.8677,178.3237,1,0); // infernous
AddStaticVehicle(451,1248.9519,-805.4118,83.8476,178.6428,0,1); // turismo
AddStaticVehicle(541,1255.2100,-804.8454,83.7656,184.1492,1,0); // bullet

//Create the textdraw for welcoming the player
gWelcome = TextDrawCreate(320.0, 240.0, "Welcome to Uuri's Mapping Server!");
TextDrawSetShadow(gWelcome, 3);
TextDrawSetOutline(gWelcome, 2);
TextDrawFont(gWelcome, 3);
TextDrawBoxColor(gWelcome, 0x003333FF);
TextDrawAlignment(gWelcome, 2);

//Use the running animations I like
UsePlayerPedAnims();

return 1;
}

public OnPlayerConnect(playerid)
{
//Show the player the welcome textdraw
TextDrawShowForPlayer(playerid, gWelcome);

//Send a client message to all players on the current player connecting.
new name[MAX_PLAYER_NAME];
new string[128];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "%s has connected to the server!", name);
SendClientMessageToAll(LIGHT_GREEN, string);

return 1;

}

public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 2000.5919,1527.3319,14.6172);
SetPlayerCameraPos(playerid, 2000.6874,1528.9332,14.6223);
SetPlayerCameraLookAt(playerid, 2000.5919,1527.3319,14.6172);
SetPlayerFacingAngle(playerid, 358.2982);

return 1;
}

Chasm
08/12/2013, 09:09 PM
It could be because you have SetPlayerCameraPos under OnPlayerSpawn.
Remove that and try again.

Uuri
08/12/2013, 09:14 PM
It worked but now I can't see my skin on the skin selection screen.

Chasm
08/12/2013, 09:19 PM
Hmm, try to remove SetCameraBehindPlayer under OnPlayerSpawn as well. See if it works.
Also, maybe get new coordinates for OnPlayerRequestClass. This might fix it as well.

Uuri
08/12/2013, 09:22 PM
It didn't work...

Uuri
09/12/2013, 12:39 AM
Bump, please help me.

CrossOv3r
09/12/2013, 12:23 PM
Try using this callback:
wiki.sa-mp.com/wiki/OnPlayerRequestSpawn

And dont use cameras functions, just set the player position.

Uuri
09/12/2013, 09:13 PM
Okay I used it but now the Spawn dialog is still showing and I can't walk or do anything I copied and pasted this inside it.

SetPlayerPos(playerid, 1280.5247,-813.6929,83.6532);
SetCameraBehindPlayer(playerid);
SetPlayerFacingAngle(playerid, 180.0);

CrossOv3r
09/12/2013, 09:47 PM
Please, try to use this:


public OnPlayerSpawn(playerid)
{
//Hide the textdraw when the player spawns
TextDrawHideForPlayer(playerid, gWelcome);

//Print a client message to all players when a player spawns
new name[MAX_PLAYER_NAME];
new string [128];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "%s has spawned!", name);
SendClientMessageToAll(LIGHT_GREEN, string);

//Set the players coordinates to spawn; put camera behind player
SetPlayerPos(playerid, 1280.5247,-813.6929,83.6532);
SetPlayerFacingAngle(playerid, 180.0);
return 1;
}


Don't use ANY camera function. And I'm surprised about your comment #3.

P.S: Remove OnPlayerRequestSpawn then.

P.S2: Wut dialog? I don't see any dialog function in your code.

Uuri
09/12/2013, 10:02 PM
Please, try to use this:


public OnPlayerSpawn(playerid)
{
//Hide the textdraw when the player spawns
TextDrawHideForPlayer(playerid, gWelcome);

//Print a client message to all players when a player spawns
new name[MAX_PLAYER_NAME];
new string [128];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "%s has spawned!", name);
SendClientMessageToAll(LIGHT_GREEN, string);

//Set the players coordinates to spawn; put camera behind player
SetPlayerPos(playerid, 1280.5247,-813.6929,83.6532);
SetPlayerFacingAngle(playerid, 180.0);
return 1;
}


Don't use ANY camera function. And I'm surprised about your comment #3.

P.S: Remove OnPlayerRequestSpawn then.

P.S2: Wut dialog? I don't see any dialog function in your code.

If you use OnPlayerRequestSpawn then you'll have a dialog.

CrossOv3r
10/12/2013, 02:24 AM
If you use OnPlayerRequestSpawn then you'll have a dialog.

OnPlayerRequestSpawn doesnt handle any dialog by default, i cant get the point about what are you talking about.