Portal SAMP
[Pedido] FS ou Codigo para continuar posição ao logar - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Pedido] FS ou Codigo para continuar posição ao logar (/showthread.php?tid=3037)



FS ou Codigo para continuar posição ao logar - MisteriumBr - 01/12/2022

Beleza pessoal?

Então, estou procurando um FS ou código que salve as informações de posição do player ao deslogar do servidor, e quando ele logar novamente, poder voltar para a posição salva com um comando do tipo /continuar, alguém teria pra me ajudar? Estou querendo em comando pois fica por livre e espontanea vontade do player voltar ou não para a posição.


RE: FS ou Codigo para continuar posição ao logar - Dr Editor - 01/12/2022

Código:
stock SalvarPos(playerid)
{
    static pNome[MAX_PLAYER_NAME + 5], pPos[40], Float:px, Float:py, Float:pz;
    GetPlayerName(playerid, pNome, sizeof pNome);
    strcat(pNome, ".pos");
    
    GetPlayerPos(playerid, px, py, pz);
    format(pPos, sizeof pPos, "%f\r\n%f\r\n%f", px, py, pz);
    new File:handle = fopen(pNome, io_write);
    fwrite(handle, pPos);
    fclose(handle);
}

stock CarregarPos(playerid)
{
    static pNome[MAX_PLAYER_NAME + 5], pPos[40], Float:px, Float:py, Float:pz;
    GetPlayerName(playerid, pNome, sizeof pNome);
    strcat(pNome, ".pos");
    
    if(fexist(pNome))
    {
        new File:handle = fopen(pNome, io_read);
        for(new i = 0; i < fread(handle, pPos); i ++)
        {
            switch(i)
            {
                case 0: px = floatstr(pPos);
                case 1: py = floatstr(pPos);
                case 2: pz = floatstr(pPos);
            }
        }
        fclose(handle);
        SetPlayerPos(playerid, px, py, pz);
    }
}