SA-MP Forums Archive
Player freezes upon spawning - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Player freezes upon spawning (/showthread.php?tid=515049)



Player freezes upon spawning - Tagathron - 24.05.2014

I just created a new script, with player coordinate saving system (for spawning to proper place when relogging).
But when the player connects, he is spawned - but he is frozen, can't move or control the camera. (I've tried using 'TogglePlayerControllable(playerid, 1) - but it won't help)

Here are the only callbacks I have edited:

pawn Код:
public OnGameModeInit()
{
    SetGameModeText("Blank Script");
    //AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    return 1;
}

/...

public OnPlayerRequestClass(playerid, classid)
{
    /*
    SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);*/

    return 1;
}

/...

public OnPlayerConnect(playerid)
{

    if(fexist(GetUserPath(playerid)))
    {
        INI_ParseFile(GetUserPath(playerid), "LoadPlayer_%s", .bExtra = true, .extra = playerid);
        SetSpawnInfo(playerid, 0, 0, PlayerData[playerid][posX], PlayerData[playerid][posY], PlayerData[playerid][posZ], 0, 0, 0, 0, 0, 0, 0);
        SpawnPlayer(playerid);
    }

    if(!fexist(GetUserPath(playerid)))
    {
        new INI:File = INI_Open(GetUserPath(playerid));
        INI_SetTag(File, "Player data");
        INI_WriteFloat(File, "PlayerPosX", 0.0);
        INI_WriteFloat(File, "PlayerPosY", 0.0);
        INI_WriteFloat(File, "PlayerPosZ", 0.0);
        INI_Close(File);
        SetSpawnInfo(playerid, 0, 0, 1958.342773, 1337.705932 ,16.008468, 0, 0, 0, 0, 0, 0, 0);
        SpawnPlayer(playerid);
    }
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    SavePlayerData(playerid);
    return 1;
}
The saving system DOES work, the coordinates are properly saved into the file, the only problem is that the player is frozen upon spawning.

(here are the saving system related lines though, if it helps)


pawn Код:
#define USERS_PATH "/Users/%s.ini"

/...

enum pDataEnum
{
    Float:posX,
    Float:posY,
    Float:posZ
}
new PlayerData[MAX_PLAYERS][pDataEnum];

stock GetUserPath(playerid)
{
    new contentString[126], pName[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pName, sizeof(pName));
    format(contentString, sizeof(contentString), USERS_PATH, pName);
    return contentString;
}

forward LoadPlayer_data(playerid, name[], value[]);
public LoadPlayer_data(playerid, name[], value[])
{
    INI_Float("PlayerPosX", PlayerData[playerid][posX]);
    INI_Float("PlayerPosY", PlayerData[playerid][posY]);
    INI_Float("PlayerPosZ", PlayerData[playerid][posZ]);
    return 1;
}

forward SavePlayerData(playerid);
public SavePlayerData(playerid)
{
    GetPlayerPos(playerid, PlayerData[playerid][posX], PlayerData[playerid][posY], PlayerData[playerid][posZ]);
    new INI:File = INI_Open(GetUserPath(playerid));
    INI_SetTag(File, "Player data");
    INI_WriteFloat(File, "PlayerPosX", PlayerData[playerid][posX]);
    INI_WriteFloat(File, "PlayerPosY", PlayerData[playerid][posY]);
    INI_WriteFloat(File, "PlayerPosZ", PlayerData[playerid][posZ]);
    INI_Close(File);
    return 1;
}



Re: Player freezes upon spawning - BroZeus - 24.05.2014

add this
pawn Код:
public OnPlayerSpawn(playerid)
{
return 1;
}



Re: Player freezes upon spawning - Tagathron - 24.05.2014

Quote:
Originally Posted by BroZeus
Посмотреть сообщение
add this
pawn Код:
public OnPlayerSpawn(playerid)
{
return 1;
}
I already have that.


Re: Player freezes upon spawning - Tagathron - 26.05.2014

BUMP


Re: Player freezes upon spawning - BroZeus - 26.05.2014

show OnPlayerSpawn


Re: Player freezes upon spawning - Tagathron - 26.05.2014

Quote:
Originally Posted by BroZeus
Посмотреть сообщение
show OnPlayerSpawn
pawn Код:
public OnPlayerSpawn(playerid)
{
    return 1;
}



Re: Player freezes upon spawning - Sojo12 - 26.05.2014

Delete


Re: Player freezes upon spawning - Jack_Leslie - 26.05.2014

Try adding TogglePlayerControllable(playerid,1); under OnPlayerSpawn to see what it does.


Re: Player freezes upon spawning - NaClchemistryK - 26.05.2014

try this...
add this under onplayerspawn
TogglePlayerControllable(playerid,0);
TogglePlayerControllable(playerid,1);

might work.