public salvartudo() {
new query[128], nome[MAX_PLAYER_NAME];
for(new i=0; i<MAX_PLAYERS; i++) { // Seleciona todos os players
if(player[i][Logado] == 1) { // Verifica se os players seleionados estгo online
GetPlayerName(i, nome, MAX_PLAYER_NAME); // Isso todos sabem, pega o nome
format(query, sizeof(query), "UPDATE `contas` SET dinheiro = '%d' WHERE `nome` = '%s'", GetPlayerMoney(i), nome); // Atualiza o dinheiro
format(query, sizeof(query), "UPDATE `contas` SET score = '%d' WHERE `nome` = '%s'", GetPlayerScore(i), nome); // Atualiza o score
mysql_function_query(mysql, query, false, "", ""); // executa a funзгo
} // fecha verifiaзгo de online
} // fecha loopin de todos os users
}
SetTimer("salvartudo", 60000, 1);
salvartudo();
public OnPlayerDisconnect(playerid, reason)
{
SalvarContas(playerid);
return 1;
}
stock SalvarContas(playerid)
{
new String[128];
format(String, sizeof(String), "Contas/%s.ini", Name(playerid));
{
// Dados das contas aqui para salvar
}
return 1;
}
stock Name(playerid)
{
new Nome[MAX_PLAYER_NAME+1];
GetPlayerName(playerid, Nome, MAX_PLAYER_NAME+1);
return Nome;
}
stock salvartudo(playerid)
{
new query[128];
format(query, sizeof(query), "UPDATE `contas` SET dinheiro = '%d' WHERE `nome` = '%s'", GetPlayerMoney(playerid), player[playerid][Nome]); // Atualiza o dinheiro
format(query, sizeof(query), "UPDATE `contas` SET score = '%d' WHERE `nome` = '%s'", GetPlayerScore(playerid), player[playerid][Nome]); // Atualiza o score
mysql_function_query(mysql, query, false, "", ""); // executa a funзгo
return 1;
}
GetPlayerName(playerid, player[playerid][Nome], 24); // Pegar nome do player
salvartudo(playerid);
enum Dados {
Nome[MAX_PLAYER_NAME],
Ip[24],
Logado,
Score,
Level,
Dinheiro
}
new player[MAX_PLAYERS][Dados];
public OnGameModeExit()
{
for(new i = 0; i < MAX_PLAYERS; i ++)
if(!IsPlayerConnected(i))
{
SalvarContas(i);
}
DOF2::Exit();
return 1;
}
format(query, sizeof(query), "UPDATE `contas` SET dinheiro = '%d' WHERE `nome` = '%s'", GetPlayerMoney(i), nome); // Atualiza o dinheiro
format(query, sizeof(query), "UPDATE `contas` SET score = '%d' WHERE `nome` = '%s'", GetPlayerScore(i), nome); // Atualiza o score
mysql_function_query(mysql, query, false, "", ""); // executa a funзгo
format(query, sizeof(query), "UPDATE `contas` SET score = '%d' WHERE `nome` = '%s'", GetPlayerScore(i), nome); // Atualiza o score
mysql_function_query(mysql, query, false, "", ""); // executa a funзгo
format(query, sizeof(query), "UPDATE `contas` SET dinheiro = '%d' WHERE `nome` = '%s'", GetPlayerMoney(i), nome); // Atualiza o dinheiro
mysql_function_query(mysql, query, false, "", ""); // executa a funзгo
format(query, sizeof(query), "UPDATE `contas` SET `dinheiro` = %d, `score`= %d WHERE `nome` = '%s'", GetPlayerMoney(i), GetPlayerScore(i), nome);
mysql_function_query(mysql, query, false, "", "");
Nгo uso mysql, Uso mais DOF2 mesmo
Vai na callback public OnGameModeExit(), Й coloque assim pawn Код:
|
Desse jeito nunca salvaria as contas dos players Online.
Bem nгo precisa de 2 query's para isso. |
Amigo nгo precisa disso
Olhe bem: PHP код:
|