16.09.2010, 02:26
(
Последний раз редактировалось xyu3xx; 16.09.2010 в 02:50.
Причина: Possнvel Soluзгo 1
)
Se eu quero salvar por exemplo a posiзгo de um jogador no jogo, eu faзo isso
Veja abaixo
Entгo tive outra idйia
Rodar um timer a cada 1 segundo, ele procura os players online e salva os dados deles.
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
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;
}
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;
}
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


