[Ajuda] /gmx buga a posiзгo
#1

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
Reply
#2

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.
Reply
#3

Daniel, olha o CMD GMX .. Tem um timer la
Reply
#4

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.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)