[Dъvida] Melhor mйtodo para salvar posiзхes e outros.
#1

Se eu quero salvar por exemplo a posiзгo de um jogador no jogo, eu faзo isso

Veja abaixo

Код:
public OnPlayerDisconnect(playerid, reason) {
        GetPlayerHealth(playerid, playerInfo[playerid][pVida]); //  Me retorna 0.000 porque o jogador jб desconectou
	playerInfo[playerid][pDinheiro] = GetPlayerMoney(playerid); // Aqui me retorna certinho
	GetPlayerPos(playerid, playerInfo[playerid][pPosX], playerInfo[playerid][pPosY], playerInfo[playerid][pPosZ]); // Retorna tudo 0.000
	playerInfo[playerid][pSkin] = GetPlayerSkin(playerid); // Retorna 0
	playerInfo[playerid][pInterior] = GetPlayerInterior(playerid); // Retorna tambйm 0
	
	SaveData(playerid);
	
	return 1;
}
Entгo tive outra idйia

Rodar um timer a cada 1 segundo, ele procura os players online e salva os dados deles.

Код:
setTimer("SaveData".... 1000

public SaveData() {
        for(new i = 0; i < MAX_PLAYERS; i++) {
                if(IsPlayerConnected(i)) {
                        GetPlayerHealth(i, playerInfo[i][pVida]);
	                playerInfo[i][pDinheiro] = GetPlayerMoney(i);
                	GetPlayerPos(i, playerInfo[i][pPosX], playerInfo[i][pPosY], playerInfo[i][pPosZ]);
        	        playerInfo[i][pSkin] = GetPlayerSkin(i);
                	playerInfo[i][pInterior] = GetPlayerInterior(i);
	
                	SaveData(playerid);
                }
        }
	
	return 1;
}
Agora imagine isso rodando a cada 1 segundo!? Aff, jб era meu servidor.

Alguem me oferece uma soluзгo melhor?


------------------------------------- EDITADO

Bem, eu resolvi deixar assim e rodar um anti cheat junto, dai eu aproveito e verifico de 1 em 1 seg se o player ganhou dinheiro de uma forma inapropiada. Bem, no fim atй que й isso msm
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 1 Guest(s)