[Ajuda] Como salvar Saldo usando SII
#1

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;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)