Como salvar Saldo usando SII -
gcgacha - 13.06.2014
Galera estou fazendo um sistema de banco para meu server sу e queria saber como salvar o saldo do player porque dando desligo o server e ligo de volta o saldo volta como 0 vou postar como estou fazendo para poderem ver....
News
Код:
new Saldo[MAX_PLAYERS];
Comandos
Код:
if(strcmp(cmd, "/Sacar", true) == 0)
{
new
tmp[256], dinheiro, String[200];
tmp = strtok(cmdtext, idx);
dinheiro = strval(tmp);
if(strlen(tmp) == 0) {
SendClientMessage(playerid, -1, "{FF0000}Vocк deve digitar /Sacar [Quantia]");
return 1;
}
if(dinheiro > Saldo[playerid]) {
SendClientMessage(playerid, -1, "{FF0000}Quantia invбlida!{FFFFFF} (Vocк pediu mais do que tem)");
return 1;
}
if(dinheiro < 0) {
SendClientMessage(playerid, -1, "{FF0000}Quantia invбlida!{FFFFFF} (Vocк pediu um nъmero negativo)");
return 1;
}
GivePlayerMoney(playerid, dinheiro);
Saldo[playerid] -= dinheiro;
format(String, sizeof(String), "Vocк sacou $%d", dinheiro);
SendClientMessage(playerid, -1, String);
return 1;
}
if(strcmp(cmd, "/Depositar", true) == 0)
{
new
tmp[256], dinheiro, String[200];
tmp = strtok(cmdtext, idx);
dinheiro = strval(tmp);
if(strlen(tmp) == 0) {
SendClientMessage(playerid, -1, "{FF0000}Vocк deve digitar /Depositar [Quantia]");
return 1;
}
if(dinheiro > GetPlayerMoney(playerid)) {
SendClientMessage(playerid, -1, "{FF0000}Quantia invбlida!{FFFFFF} (Vocк quer depositar mais do que tem)");
return 1;
}
if(dinheiro < 0) {
SendClientMessage(playerid, -1, "{FF0000}Quantia invбlida!{FFFFFF} (Vocк digitou um nomero negativo)");
return 1;
}
GivePlayerMoney(playerid, -dinheiro);
Saldo[playerid] += dinheiro;
format(String, sizeof(String), "Vocк depositou $%d", dinheiro);
SendClientMessage(playerid, -1, String);
return 1;
}
if(strcmp(cmd, "/Saldo", true) == 0)
{
new
String[200];
format(String, sizeof(String), "Seu saldo й de $%d", Saldo);
SendClientMessage(playerid, -1, String);
return 1;
}
Como estou colocando no sistema de login
Код:
enum pInfo
{
pSenha,
pScore,
pDinheiro,
pSaldo,
pAdmin
}
new PlayerInfo[MAX_PLAYERS][pInfo];
public OnPlayerDisconnect(playerid, reason)
{
if(INI_Open(ObterINI(playerid))) {
INI_WriteInt("Score",PlayerInfo[playerid][pScore]);
INI_WriteInt("Dinheiro",GetPlayerMoney(playerid));
INI_WriteInt("Admin",PlayerInfo[playerid][pAdmin]);
INI_WriteInt("Saldo",PlayerInfo[playerid][pSaldo]);
INI_Save();
INI_Close();
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch( dialogid )
{
case DIALOG_REGISTRO:
{
if (!response) return Kick(playerid);
if (response)
{
if(!strlen(inputtext)) {
ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, ""BRANCO"Registrando...",""VERMELHO"Vocк digitou uma senha invбlida.\n"BRANCO"Digite sua senha abaixo para registrar uma nova conta.","Registro","Quit");
}
if(INI_Open(ObterINI(playerid))) {
INI_WriteString("Senha",inputtext);
INI_WriteInt("Score",1);
INI_WriteInt("Dinheiro",5000);
INI_WriteInt("Admin",0);
INI_WriteInt("Saldo",0);
INI_Save();
INI_Close();
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_INPUT,""BRANCO"Logar",""BRANCO"Digite sua senha abaixo para efetuar login.","Logar","Quit");
}
}
}
case DIALOG_LOGAR:
{
if ( !response ) return Kick ( playerid );
if( response )
{
if(!strlen(inputtext)) {
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_INPUT, ""BRANCO"Logar",""VERMELHO"Vocк digitou uma senha invбlida.\n"BRANCO"Digite sua senha abaixo para efetuar login.","Logar","Quit");
}
if(INI_Open(ObterINI(playerid))) {
INI_ReadString(PlayerInfo[playerid][pSenha],"Senha",20);
if(strcmp(inputtext,PlayerInfo[playerid][pSenha],false)) {
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_INPUT, ""BRANCO"Logar",""VERMELHO"Vocк digitou uma senha incorreta.\n"BRANCO"Digite sua senha abaixo para acessar.","Logar","Quit");
}
SetPlayerScore( playerid, INI_ReadInt("Score" ) );
ResetPlayerMoney( playerid );
GivePlayerMoney( playerid, INI_ReadInt( "Dinheiro" ) );
PlayerInfo[playerid][pAdmin] = INI_ReadInt("Admin");
PlayerInfo[playerid][pSaldo] = INI_ReadInt("Saldo");
INI_Close();
}
}
}
}
return 1;
}
stock ObterINI(playerid)
{
new conta[64];
format(conta,30,"Contas/%s.ini",gPlayerName[playerid]);
return conta;
}