03.11.2011, 19:13
Bom estou com um problema ao salvar o dinheiro, pois sempre que logo volta para o valor inicial apуs registro e nгo estб fazendo modificaзхes na pasta estou usando dini.
DarSpawn
Apуs o registro
OnPlayerDisconnect
Obs nгo quero tudo facil sу me expliquem se possнvel a soluзгo, agradeзo.
DarSpawn
PHP код:
stock darSpawn(playerid)
{
new nome[MAX_PLAYER_NAME], arquivo[256];
GetPlayerName(playerid, nome, sizeof(nome));
format(arquivo, sizeof(arquivo), LOCAL_JOGADORES, nome);
SetSpawnInfo(playerid,0,1,738.9963, -1417.2211, 13.5234, 0, 0, 0, 0, 0, 0, 0);
Jogador[playerid][pDinheiro] = dini_Int(arquivo, "Dinheiro");
GivePlayerMoney(playerid, Jogador[playerid][pDinheiro]);
Jogador[playerid][pScore] = dini_Int(arquivo, "Score");
Jogador[playerid][pSkin] = dini_Int(arquivo, "Skin");
Jogador[playerid][pSenha] = dini_Int(arquivo, "Senha");
Lider[playerid] = dini_Int ( arquivo , "Lider" ) ;
Cargo[playerid] = dini_Int ( arquivo , "Cargo" ) ;
Admin[playerid] = dini_Int ( arquivo , "Admin" ) ;
Membro[playerid] = dini_Int ( arquivo , "Membro" ) ;
SendClientMessage(playerid, AVISO_COLOR, "[Aviso] Logado com sucesso!");
SpawnPlayer(playerid);
SetPlayerSkin(playerid, Jogador[playerid][pSkin]);
return 1;
}
PHP код:
new nome[MAX_PLAYER_NAME], arquivo[256], string[128];
GetPlayerName(playerid, nome, sizeof(nome));
format(arquivo, sizeof(arquivo), LOCAL_JOGADORES, nome);
if(!response) Kick(playerid);
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "{8B1A1A}Registre-se", "{FFFFFF}Seja bem-vindo(a) ao {EE7600}Thug {FFFFFF}Life {EE7621}City\n{FFFFFF} Para efetuar o {CD0000}Registro {FFFFFF}digite uma senha abaixo:", "Registrar", "Sair");
dini_Create(arquivo);
dini_IntSet(arquivo, "Senha", udb_hash(inputtext));
dini_IntSet(arquivo, "Dinheiro", Jogador[playerid][pDinheiro] = 1500);
dini_IntSet(arquivo, "Skin", Jogador[playerid][pSkin] = 0);
dini_IntSet(arquivo, "Score", Jogador[playerid][pScore] = 0);
dini_IntSet (arquivo, "Lider" , Lider[playerid] ) ;
dini_IntSet (arquivo, "Cargo" , Cargo[playerid] ) ;
dini_IntSet (arquivo, "Admin" , Admin[playerid] ) ;
dini_IntSet (arquivo, "Membro" , Membro[playerid] ) ;
format(string, sizeof(string), "Vocк foi logado automaticamente. Nick: %s. Senha: %s", nome, inputtext);
Jogador[playerid][pSenha] = dini_Int(arquivo, "Senha");
SendClientMessage(playerid, AVISO_COLOR, string);
logado[playerid] = 1;
darSpawn(playerid);
}
OnPlayerDisconnect
PHP код:
public OnPlayerDisconnect(playerid, reason)
{
new nome[MAX_PLAYER_NAME], arquivo[256], string[64];
players -= 1;
GetPlayerName(playerid, nome, sizeof(nome));
switch(reason)
{
case 0: format(string, sizeof(string), "%s saiu do servidor(Crash/Conexгo) [%d/50]", nome, players, MAX_PLAYERS);
case 1: format(string, sizeof(string), "%s saiu do servidor(/q) [%d/50]", nome, players, MAX_PLAYERS);
case 2: format(string, sizeof(string), "%s saiu do servidor(Kickado/Banido) [%d/50]", nome, players, MAX_PLAYERS);
}
SendClientMessageToAll(AVISO_COLOR, string);
format(arquivo, sizeof(arquivo), LOCAL_JOGADORES, nome);
dini_IntSet(arquivo, "Score", Jogador[playerid][pScore]);
dini_IntSet(arquivo, "Dinheiro", Jogador[playerid][pDinheiro]);
dini_IntSet(arquivo, "Skin", Jogador[playerid][pSkin]);
dini_IntSet(arquivo, "Senha", Jogador[playerid][pSenha]);
dini_IntSet ( arquivo , "Lider" , Lider[playerid] ) ;
dini_IntSet ( arquivo , "Cargo" , Cargo[playerid] ) ;
dini_IntSet ( arquivo , "Admin" , Admin[playerid] ) ;
dini_IntSet ( arquivo , "Membro" , Membro[playerid] ) ;
return 1;