SA-MP Forums Archive
[Ajuda] /gmx buga a posiзгo - 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: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] /gmx buga a posiзгo (/showthread.php?tid=491935)



/gmx buga a posiзгo - Input - 01.02.2014

Bom, eu criei um sistema para salvar a ultima posiзгo do jogador..
Mas quando da GMX ela buga e fica 0.0

Ela sу estб salvando quando o jogador desloga, entгo coloquei assim no comando de gmx:
pawn Код:
forward GMX_();
public GMX_()
    return SendRconCommand("gmx");
    CMD:gmx(playerid) {
        if(pDados[playerid][Admin] < 2)
            return SendClientMessage(playerid, Cinza, "ERRO: Vocк nгo й um administrador.");
        if(!Trabalhando[playerid])
            return SendClientMessage(playerid, Cinza, "ERRO: Vocк nгo pode usar este comando em modo jogador.");
        for(new i = 0; i < MAX_PLAYERS; i++) {
            Banco_De_Dados(i, "Salvar", #);
        }
        SetTimer("GMX_", 1000, false);
        SendClientMessageToAllFormat(Cor_Aviso_Punicao, "O Administrador %s acionou o comando /gmx.. Voltaremos em instantes!", Nome(playerid));
        return true;
    }
Na STOCK Banco_De_Dados a opзгo salvar ta assim:
pawn Код:
else if(!strcmp(funcao,"Salvar",true)) {
        DOF2_SetInt(file, "Admin", pDados[playerid][Admin]);
        DOF2_SetInt(file, "Skin", pDados[playerid][Skin]);
        DOF2_SetInt(file, "Grana", pDados[playerid][Grana]);
        DOF2_SetInt(file, "Preso", pDados[playerid][Preso]);
        DOF2_SetInt(file, "Tempo", pDados[playerid][Tempo]);
       
        new Float:p[4];
        GetPlayerPosEx(playerid, p[0], p[1], p[2], p[3]);
        DOF2_SetFloat(file, "PosX", p[0]);
        DOF2_SetFloat(file, "PosY", p[1]);
        DOF2_SetFloat(file, "PosZ", p[2]);
        DOF2_SetFloat(file, "PosA", p[3]);

        DOF2_SetInt(file, "Arma1", pDados[playerid][Arma1]);
        DOF2_SetInt(file, "Arma2", pDados[playerid][Arma2]);
        DOF2_SetInt(file, "Arma3", pDados[playerid][Arma3]);
        DOF2_SetInt(file, "Arma4", pDados[playerid][Arma4]);
        DOF2_SetInt(file, "Arma5", pDados[playerid][Arma5]);
        DOF2_SetInt(file, "Arma6", pDados[playerid][Arma6]);

        DOF2_SetInt(file, "Municao Arma1", pDados[playerid][MunicaoArma1]);
        DOF2_SetInt(file, "Municao Arma2", pDados[playerid][MunicaoArma2]);
        DOF2_SetInt(file, "Municao Arma3", pDados[playerid][MunicaoArma3]);
        DOF2_SetInt(file, "Municao Arma4", pDados[playerid][MunicaoArma4]);
        DOF2_SetInt(file, "Municao Arma5", pDados[playerid][MunicaoArma5]);
        DOF2_SetInt(file, "Municao Arma6", pDados[playerid][MunicaoArma6]);
        DOF2_SaveFile();
    }
Help-me Plz


Re: /gmx buga a posiзгo - DannielCooper - 01.02.2014

Tб salvando em OnPlayerDisconnect?

Caso sim, vocк pode criar um timer para executar o GMX, e antes que execute, salve as posiзхes do player.


Re: /gmx buga a posiзгo - Input - 01.02.2014

Daniel, olha o CMD GMX .. Tem um timer la


Re: /gmx buga a posiзгo - DannielCooper - 01.02.2014

sorry... nem tinha olhado. jб dou edit aqui com a soluзгo.

#edit

pawn Код:
for(new i; i>MAX_PLAYERS; i++){
      SetTimerEx("SalvarFloat", 5000, false, "f", i);
}
forward SaveFloat(Float: sla);
public SaveFloat(Float: sla){

// Funзхes.. :P
return 1;
}
sу pensei nisso atй agora, que pode resolver, k.