public OnGameModeExit()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
PlayerInfo[i][pSkin] = GetPlayerSkin(i);
PlayerInfo[i][pInt] = GetPlayerInterior(i);
GetPlayerPos(i, Pos[0], Pos[1], Pos[2]);
PlayerInfo[i][PosX] = Pos[0];
PlayerInfo[i][PosY] = Pos[1];
PlayerInfo[i][PosZ] = Pos[2];
format(arquivo, sizeof arquivo, FILE, Nome(i));
DOF2_SetInt(arquivo, "Grana", PlayerInfo[i][pGrana]);
DOF2_SetInt(arquivo, "Administrador", PlayerInfo[i][pAdmin]);
DOF2_SetInt(arquivo, "Reputacao", PlayerInfo[i][pRep]);
DOF2_SetInt(arquivo, "Skin", PlayerInfo[i][pSkin]);
DOF2_SetFloat(arquivo,"PosicaoX", PlayerInfo[i][PosX]);
DOF2_SetFloat(arquivo,"PosicaoY", PlayerInfo[i][PosY]);
DOF2_SetFloat(arquivo,"PosicaoZ", PlayerInfo[i][PosZ]);
DOF2_SetFloat(arquivo,"Interior", PlayerInfo[i][pInt]);
DOF2_SetInt(arquivo, "Emprego", PlayerInfo[i][pEmp]);
DOF2_SaveFile();
}
DOF2_Exit();
return 1;
}
public OnGameModeExit()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(!IsPlayerConnected(i)) continue;
PlayerInfo[i][pSkin] = GetPlayerSkin(i);
PlayerInfo[i][pInt] = GetPlayerInterior(i);
GetPlayerPos(i, Pos[0], Pos[1], Pos[2]);
PlayerInfo[i][PosX] = Pos[0];
PlayerInfo[i][PosY] = Pos[1];
PlayerInfo[i][PosZ] = Pos[2];
format(arquivo, sizeof arquivo, FILE, Nome(i));
DOF2_SetInt(arquivo, "Grana", PlayerInfo[i][pGrana]);
DOF2_SetInt(arquivo, "Administrador", PlayerInfo[i][pAdmin]);
DOF2_SetInt(arquivo, "Reputacao", PlayerInfo[i][pRep]);
DOF2_SetInt(arquivo, "Skin", PlayerInfo[i][pSkin]);
DOF2_SetFloat(arquivo,"PosicaoX", PlayerInfo[i][PosX]);
DOF2_SetFloat(arquivo,"PosicaoY", PlayerInfo[i][PosY]);
DOF2_SetFloat(arquivo,"PosicaoZ", PlayerInfo[i][PosZ]);
DOF2_SetFloat(arquivo,"Interior", PlayerInfo[i][pInt]);
DOF2_SetInt(arquivo, "Emprego", PlayerInfo[i][pEmp]);
DOF2_SaveFile();
}
DOF2_Exit();
return 1;
}
public OnGameModeExit()
{
foreach(Player, i)
{
PlayerInfo[i][pSkin] = GetPlayerSkin(i);
PlayerInfo[i][pInt] = GetPlayerInterior(i);
GetPlayerPos(i, Pos[0], Pos[1], Pos[2]);
PlayerInfo[i][PosX] = Pos[0];
PlayerInfo[i][PosY] = Pos[1];
PlayerInfo[i][PosZ] = Pos[2];
format(arquivo, sizeof arquivo, FILE, Nome(i));
DOF2_SetInt(arquivo, "Grana", PlayerInfo[i][pGrana]);
DOF2_SetInt(arquivo, "Administrador", PlayerInfo[i][pAdmin]);
DOF2_SetInt(arquivo, "Reputacao", PlayerInfo[i][pRep]);
DOF2_SetInt(arquivo, "Skin", PlayerInfo[i][pSkin]);
DOF2_SetFloat(arquivo,"PosicaoX", PlayerInfo[i][PosX]);
DOF2_SetFloat(arquivo,"PosicaoY", PlayerInfo[i][PosY]);
DOF2_SetFloat(arquivo,"PosicaoZ", PlayerInfo[i][PosZ]);
DOF2_SetFloat(arquivo,"Interior", PlayerInfo[i][pInt]);
DOF2_SetInt(arquivo, "Emprego", PlayerInfo[i][pEmp]);
DOF2_SaveFile();
}
DOF2_Exit();
return 1;
}
Opзгo 1:
pawn Код:
pawn Код:
|
public OnGameModeExit() { foreach(Player, i) { PlayerInfo[i][pSkin] = GetPlayerSkin(i); PlayerInfo[i][pInt] = GetPlayerInterior(i); GetPlayerPos(i, Pos[0], Pos[1], Pos[2]); PlayerInfo[i][PosX] = Pos[0]; PlayerInfo[i][PosY] = Pos[1]; PlayerInfo[i][PosZ] = Pos[2]; format(arquivo, sizeof arquivo, FILE, Nome(i)); DOF2_SetInt(arquivo, "Grana", PlayerInfo[i][pGrana]); DOF2_SetInt(arquivo, "Administrador", PlayerInfo[i][pAdmin]); DOF2_SetInt(arquivo, "Reputacao", PlayerInfo[i][pRep]); DOF2_SetInt(arquivo, "Skin", PlayerInfo[i][pSkin]); DOF2_SetFloat(arquivo,"PosicaoX", PlayerInfo[i][PosX]); DOF2_SetFloat(arquivo,"PosicaoY", PlayerInfo[i][PosY]); DOF2_SetFloat(arquivo,"PosicaoZ", PlayerInfo[i][PosZ]); DOF2_SetFloat(arquivo,"Interior", PlayerInfo[i][pInt]); DOF2_SetInt(arquivo, "Emprego", PlayerInfo[i][pEmp]); DOF2_SaveFile(); } DOF2_Exit(); return 1; } |
Cara quando eu usava foreach e tinha uns 50 players online o loop nгo passava por todos, sempre falhava, fiquei tгo puto que passei a usar o modo simples.
|
format(arquivo, sizeof arquivo, FILE, Nome(i));
if(fexist(arquivo)) {
Tambйm poderia ser usado uma verificaзгo se o arquivo jб exista
![]() pawn Код:
|
Usando a bela logica, o jogador pode estar apenas conectado, mas nгo registrado logo a segunda verificaзгo й mais eficaz
![]() |