// no onplayerdisconect public OnPlayerDisconnect(playerid, reason) { switch(reason) { case 0, 1, 2: SalvarPlayer(playerid); } return true; }
public SalvarPlayer(playerid) { if(IsPlayerConnected(playerid) && playerlogado[playerid] == 1) { new arquivo[50],nome[50],msg[100]; GetPlayerName(playerid, nome, sizeof(nome)); format(arquivo, sizeof(arquivo),"Usuarios/%s.ini",nome); GetPlayerPos(playerid,PlayerInfo[playerid][x],PlayerInfo[playerid][y],PlayerInfo[playerid][z]); GetPlayerFacingAngle(playerid, PlayerInfo[playerid][Angle]); PlayerInfo[playerid][pInterior] = GetPlayerInterior(playerid); if(!fexist(arquivo)) return print("arquivo nгo existe"); INI_Open(arquivo); INI_WriteFloat("CorX",PlayerInfo[playerid][x]); INI_WriteFloat("CorY",PlayerInfo[playerid][y]); INI_WriteFloat("CorZ",PlayerInfo[playerid][z]); INI_WriteFloat("Anglo",PlayerInfo[playerid][Angle]); INI_WriteInt("pCash",GetPlayerMoney(playerid)); INI_WriteInt("Admin",PlayerInfo[playerid][pAdmin]); INI_WriteInt("VIP",PlayerInfo[playerid][pVIP]); INI_WriteInt("Sex",PlayerInfo[playerid][pSex]); INI_WriteInt("Level",PlayerInfo[playerid][pLevel]); INI_WriteInt("Skin",PlayerInfo[playerid][pSkin]); INI_WriteInt("Leader",PlayerInfo[playerid][pLeader]); INI_WriteInt("Team",PlayerInfo[playerid][pTeam]); INI_WriteInt("Cargo",PlayerInfo[playerid][pCargo]); INI_WriteInt("Job",PlayerInfo[playerid][pJob]); INI_WriteInt("Score",GetPlayerScore(playerid)); INI_WriteInt("Interior", PlayerInfo[playerid][pInterior]); INI_WriteInt("Tutorial", tutorial[playerid]); INI_WriteInt("pPreso",PlayerInfo[playerid][pPreso]); INI_Save(); INI_Close(); } return 1; }
if(!strcmp(cmdtext, "/gmx", true)) { GameModeExitEx(); }
forward GameModeExitEx(); public GameModeExitEx() { for(new i = 0; i < MAX_PLAYERS; ++i) { SalvarPlayer(i); } GameModeExit(); }
switch(reason) { case 0:format(msg, sizeof(msg), "%s Saiu Do Servidor. (Poblema na Conexгo)", nome); case 1:format(msg, sizeof(msg), "%s Saiu Do Servidor. (Saiu por conta prуpria)", nome); case 2:SalvarPlayer(playerid); }
public OnPlayerDisconnect(playerid, reason)
{
SalvarPlayer(playerid);
return true;
}
na public OnGameModeExit vc ta pondo um loop pra salvar todos os jogadores?
|
pawn Код:
|
dados: 200,0.000000,0.000000,0.000000,0.000000,reg:1
dados: 200,173.418136,-67.863677,1.426282,280.600677,reg:1
nгo.. sу chamo a public salvarplayer no OnPlayerDisconnect, e no /gmx. |
public OnGameModeExit()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
SalvarPlayer(i);
}
return 1;
}
entгo faзa assim:
pawn Код:
|
Ban na certa... O cara nгo consegue e ta pedindo ajuda! agora vc alem de se axar o maiorzao nгo sabe fazer um simples funзгo de cadastro e registro, Nbzao...
@Topic Hum.. Nunca usei Y_ini mas por ser feito pelo ******, й certeza o problema nгo seja no sistema de salvamento.. Dini nem pensar muito lenta, Fini Bugadona, Bini ouзo falarem muito bem dela eu uso DOF2 e nгo aprensou problemas para mim. O problema seu й somente com esses floats ai ou com todos os floats do GM ? |
Ele ta pedindo ajuda porque os dados nao estao sendo salvos quando й dado o Gamemode Exit(GMX), o unico inutil aqui й tu mesmo que vive criando topicos de ajuda e se acha foda.
Ah, e pra terminar, ao menos ele sabe usar INI, enquanto tu cria um tutorial inutil que mal й um codigo util cheio de coisas desnecessarias, com um codigo feio e desajeitado. sem mais TOPICO: Cria uma funзгo nova, exemplo: pawn Код:
Este seria correto: pawn Код:
|
http://www.mediafire.com/?haiobhxab6ix2x1 Segue ae...
|