[AJUDA] Carregar dinheiro quando loga D:
#1

Galera, to com um probleminha, nгo sei oque й, muito lol .
Tipo, eu to usando o AntiMoneyHack do poderoso chefгo.

Bom, vamos desde o comeзo:

Eu entro no server, me registro, ai eu digito /dardinheiro 0 15799 por exemplo, ai funciona normal, ai se eu do /q e depois volto, meu dinheiro carrega normal, mas se eu do /gmx ele zera D:.

Code do GMX:
PHP код:
CMD:gmx(playeridparams[])
{
    new 
DiaMesAno;
    if(
pInfo[playerid][pAdmin] < 1)
        return 
SendClientMessage(playeridCOR_CINZA1"Vocк nгo tem permissгo para usar esse comando!");
    if(
AdminModo[playerid] == 0)
        return 
SendClientMessage(playeridCOR_CINZA1"Vocк nгo pode usar esse comando enquanto estб jogando!");
    if(
sscanf(params"s[100]"corda[playerid]))
          return 
SendClientMessage(playeridCOR_CINZA1"Use: /gmx [motivo]");
    foreach(
Player,i)// Foreach em vez de Loop normal (for...)
    
{
        
SalvarContas(i);//Salva conta de todos antes do GMX
    
}
    
getdate(DiaMesAno);
    
format(String110""AMARELO"Admin: "BRANCO2"%s\n"VERDE"Data: "BRANCO2"%d/%d/%d\n"VERMELHO"Motivo: "BRANCO2"%s"gNome(playerid), AnoMesDiacorda[playerid]);
    
ShowPlayerDialog(playeridDGMXDIALOG_STYLE_MSGBOX,"GMX",String,"Fechar","");
    
SendRconCommand("GMX");
    return 
1;

Carregar dados:
PHP код:
case DLogin:
        {
            if(!
response)
                return 
Kick(playerid);
            if(
response)
            {
                if(!
strlen(inputtext))
                    return 
ShowPlayerDialog(playeridDLoginDIALOG_STYLE_INPUT""BRANCO2"Login"""BRANCO2"Digite sua senha abaixo para logar.""Logar""");
                if(
INI_Open(Arquivo(playerid)))
                {
                    
INI_ReadString(corda[playerid], "Senha"20);
                    if(
strcmp(inputtextcorda[playerid], false))//Caso o jogador entre com a senha errada
                        
return ShowPlayerDialog(playeridDLoginDIALOG_STYLE_INPUT""VERMELHO"Senha errada :("""BRANCO2"Digite sua senha abaixo para logar.""Logar""");
                    
SetPlayerScore(playeridINI_ReadInt("Nivel"));//Irб setar o Nivel do player.
                    
ResetarGrana(playerid);//Ira resetar a grana do player, mas nгo afeta no dinheiro.
                    
DarGrana(playeridINI_ReadInt("Dinheiro"));//Irб dar o dinheiro do jogador
                    
pInfo[playerid][pAdmin] = INI_ReadInt("Admin");//Irб dar o nнvel do admin
                    
pInfo[playerid][pSkin] = INI_ReadInt("SkinAtual");
                    
pInfo[playerid][pTutorial] = INI_ReadInt("Tutorial");
                    
pInfo[playerid][pSexo] = INI_ReadInt("Sexo");
                    
pInfo[playerid][pPais] = INI_ReadInt("Pais");
                    
pInfo[playerid][pLCarro] = INI_ReadInt("LCarro");
                    
pInfo[playerid][pLMoto] = INI_ReadInt("LMoto");
                    
pInfo[playerid][pLAviao] = INI_ReadInt("LAviao");
                    
pInfo[playerid][pLArma] = INI_ReadInt("LArma");
                    
INI_Close();
                    
SetPVarInt(playerid"Logado"1);
                    
SendClientMessage(playeridCOR_VERMELHO" Logado com sucesso ");
                    if(
pInfo[playerid][pTutorial] == 0)
                    {
                        
SetPlayerPos(playerid2173.4932,-1108.9648,25.3100);//Seta a visao da camera!
                        
SetPlayerCameraPos(playerid2171.3335,-1107.0033,25.4181);// Seta a posiзгo!
                           
SetPlayerCameraLookAt(playerid2146.9326,-1077.8234,41.0193);// Seta o Angulo!
                        
format(Stringsizeof(String), "Olб "VERDE"%s.\n{FFFFFF} Precisamos saber se vocк й {005FFF}Homem "BRANCO2"ou {FFBEFF}Mulher\n{FFFFFF}Informe seu sexo abaixo!"gNome(playerid));
                         
ShowPlayerDialog(playeridEscolhendoSexoDIALOG_STYLE_MSGBOX"{FFCC00}Escolha seu Sexo!"String"Masculino""Feminino");
                    }
                     
SetSpawnInfo(playerid1SetPlayerSkin(playeridpInfo[playerid][pSkin]), 1716.5039, -1692.512813.5177183.2262, -1, -1, -1, -1, -1, -1), SpawnPlayer(playerid), OnPlayerSpawn(playerid);
                }
            }
        } 
Salvar Dados:
PHP код:
SalvarContas(playerid)
{
    
format(formata[playerid], 69"Contas/%s.ini"pNome(playerid));//formata
    
if(INI_Open(formata[playerid]))//Abre a conta
    
{
        
INI_WriteInt("Admin"pInfo[playerid][pAdmin]);// Salva admin
        
INI_WriteInt("Nivel"GetPlayerScore(playerid));// Salva nivel
        
INI_WriteInt("Dinheiro"GetarGrana(playerid));// Salva dinheiro
        
INI_WriteInt("SkinAtual"pInfo[playerid][pSkin]);
        
INI_WriteInt("Org"pInfo[playerid][pOrg]);
        
INI_WriteInt("Tutorial"pInfo[playerid][pTutorial]);// Salva se ele ver o tutorial ou nao!
        
INI_WriteInt("Sexo"pInfo[playerid][pSexo]);// Salva o Sexo
        
INI_WriteInt("Pais"pInfo[playerid][pPais]);// Salva o Pais
        
INI_WriteInt("LCarro"pInfo[playerid][pLCarro]);// 
        
INI_WriteInt("LMoto"pInfo[playerid][pLMoto]);// 
        
INI_WriteInt("LAviao"pInfo[playerid][pLAviao]);// 
        
INI_WriteInt("LArma"pInfo[playerid][pLArma]);//
        
INI_Save();//Salva
        
INI_Close();//Fecha
    
}
    return 
1;

Reply
#2

Coloca pra salvar as contas dos jogadores que estiverem online antes do GMX.
Reply
#3

PHP код:
CMD:gmx(playeridparams[]) 

    new 
DiaMesAno
    if(
pInfo[playerid][pAdmin] < 1
        return 
SendClientMessage(playeridCOR_CINZA1"Vocк nгo tem permissгo para usar esse comando!"); 
    if(
AdminModo[playerid] == 0
        return 
SendClientMessage(playeridCOR_CINZA1"Vocк nгo pode usar esse comando enquanto estб jogando!"); 
    if(
sscanf(params"s[100]"corda[playerid])) 
          return 
SendClientMessage(playeridCOR_CINZA1"Use: /gmx [motivo]"); 
    foreach(
Player,i)// Foreach em vez de Loop normal (for...) 
    

        
SalvarContas(i);//Salva conta de todos antes do GMX 
    

    
getdate(DiaMesAno); 
    
format(String110""AMARELO"Admin: "BRANCO2"%s\n"VERDE"Data: "BRANCO2"%d/%d/%d\n"VERMELHO"Motivo: "BRANCO2"%s"gNome(playerid), AnoMesDiacorda[playerid]); 
    
ShowPlayerDialog(playeridDGMXDIALOG_STYLE_MSGBOX,"GMX",String,"Fechar",""); 
    
SendRconCommand("GMX"); 
    return 
1

Ja ta vini, e o problema й que ta salvando tudo, menos o dinheiro quando da gMX
Reply
#4

Coloca pra salvar no OnGameModeExit
Reply
#5

Ja ta:
PHP код:
public OnGameModeExit()
{
    foreach(
Player,i)// Foreach em vez de Loop normal (for...)
    
{
        
SalvarContas(i);//Salva conta de todos se o GM for fechado!
        
FazendoTeste[i] = 0;
    }
return 
1
Ele ta salvando tudo menos a grana D:
Reply
#6

Posta aqui

SalvarContas(i)


Se salva tudo, menos o dinheiro, й problema relacionado ao sistema de arquivo.
Reply
#7

Ja tem la em cima o SalvarContas.
Mas vou postar aqui denovo:

PHP код:
SalvarContas(playerid

    
format(formata[playerid], 69"Contas/%s.ini"pNome(playerid));//formata 
    
if(INI_Open(formata[playerid]))//Abre a conta 
    

        
INI_WriteInt("Admin"pInfo[playerid][pAdmin]);// Salva admin 
        
INI_WriteInt("Nivel"GetPlayerScore(playerid));// Salva nivel 
        
INI_WriteInt("Dinheiro"GetarGrana(playerid));// Salva dinheiro 
        
INI_WriteInt("SkinAtual"pInfo[playerid][pSkin]); 
        
INI_WriteInt("Org"pInfo[playerid][pOrg]); 
        
INI_WriteInt("Tutorial"pInfo[playerid][pTutorial]);// Salva se ele ver o tutorial ou nao! 
        
INI_WriteInt("Sexo"pInfo[playerid][pSexo]);// Salva o Sexo 
        
INI_WriteInt("Pais"pInfo[playerid][pPais]);// Salva o Pais 
        
INI_WriteInt("LCarro"pInfo[playerid][pLCarro]);//  
        
INI_WriteInt("LMoto"pInfo[playerid][pLMoto]);//  
        
INI_WriteInt("LAviao"pInfo[playerid][pLAviao]);//  
        
INI_WriteInt("LArma"pInfo[playerid][pLArma]);// 
        
INI_Save();//Salva 
        
INI_Close();//Fecha 
    

    return 
1

Reply
#8

Qual й essa include que vocк usa?
Eu achei um aqui, mas as funзхes sгo diferentes.

Quote:

PC_DarDinheiro(playerid,Dinheiro);
PC_SetarDinheiro(playerid,Dinheiro);
PC_GetarDinheiro(playerid);
PC_ResetarDinheiro(playerid);
PC_AtualizarDinheiro(playerid);

Reply
#9

Uso a do PC mas eu mudei as funзхes porque as dele era muito grande para digitar
Eu to usando:

DarGrana
SetarGrana
GetarGrana
AtualizarGrana

Pra polpar o Lag no GM, em vez de colocar o "AtualizarGrana" no OnPlayerUpdate eu coloquei um Timer pra atualizar a cada 1,5 segundo. E agora eu tentei voltar pro OnPlayerUpdate e da a mesma coisa
Reply
#10

bruno usa a dini ela carrega normal.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)