[ajuda] Hora + Vip
#1

Olбaaaaaa! ;]

Entгo, como й que faz pra por exemplo :
a cada 10 horas online ganha vip (pVip й meu pInfo), e como faz pra salvar essas horas?

obrigado
Reply
#2

Manda seu sistema de salvar contas registradas.

PS:
Vocк usa o GM do Thug Life? GF ou BMG?
Reply
#3

pawn Код:
public OnGameModeInit()
{
    SetTimer("Time",1000,true);
    return true;
}
pawn Код:
new PlayerTime[MAX_PLAYERS];
forward Time();
public Time()
{
    for(new x = 0; x != MAX_PLAYERS; x ++)
    {
        if(IsPlayerConnected(x))
            PlayerTime[x]++;
           
        if(PlayerTime[x] == 36000)
            PlayerTime[x] = 0, PlayerInfo[x][pVip] = 1;
    }
    return true;
}
Para salvar use algum sistema de salvamento, como Dini ou Y_Ini.
Reply
#4

@Strong

Uma dъvida, desse jeito que vocк colocou, o player sу ganharб VIP caso esteje as 10 Horas Online consecutivamente certo?
Se ele ficar 1 Hora, sair e depois voltar, 'reseta' a hora do 0 nй?
Reply
#5

Й, vai resetar mas como ele falou: como faz pra salvar essas horas?
entгo ai no caso ele teria de salvar as horas para continuar...
Reply
#6

Hmm, tendi.

@Topic
mengueh, agora sу pegar esse CODE e salvar em Dini, Fini, Y_ini, ou qualquer um que salve arquivos.

Caso vocк use jб um sistema de salvar contas registradas, й sу pegar a funзгo usava para 'Horas Jogadas' e checar de hora em hora(aconselho colocar no payday) se completou as 10 Horas e aн setar o VIP.
Reply
#7

Adapte para o que o strong fez.

pawn Код:
new nome[MAX_PLAYER_NAME]; GetPlayerName(playerid, nome, sizeof(nome)), string[0x3C*3];
        format(string, sizeof(string), "ricop522_%s.ini", nome);
        if(!dini_Exists(string)) {
            dini_Create(string);
            dini_IntSet(string, "Horas", PlayerTime[playerid]);
        }
        else {
            dini_IntSet(string, "Horas", PlayerTime[playerid]);
        }
        //Setando a horas do jogador
        PlayerTime[playerid] = dini_Int(string, "Horas");
        //Checando
        if(PlayerTime[playerid] == 10) PlayerVip[playerid] = 1; PlayerTime[playerid] = 0;

Teste para ver se funciona.
Grato.
Reply
#8

Cara, eu to criando GM do .new

vou mandar meu sistema de armazenamento.
pawn Код:
SalvarPlayer(playerid)
{
    new Float:Vida;
    new Float:Colete;
    GetPlayerHealth(playerid, Vida);
    GetPlayerArmour(playerid, Colete);
    new Nome[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Nome, sizeof(Nome));
    new String[50];
    format(String, sizeof(String), CONTAS, Nome);
    dini_IntSet(String,"Dinheiro", GetPlayerMoney(playerid));
    dini_IntSet(String,"Matou", Matou[playerid]);
    dini_IntSet(String,"Morreu", Morreu[playerid]);
    dini_IntSet(String,"Logou", Logou[playerid]);
    return 1;
}
To sem GTA nesse pc aqui, sу com meu gm mesmo.. Dai fica tenso porque nгo dб para testar! Obrigado pela intenзгo de todos.
Reply
#9

Veja se funciona.

PHP код:

//Topo
new VIP[MAX_PLAYERS], Horas[MAX_PLAYERS];
//GAMEMODE INIT
public OnGameModeInit()
{
    
SetTimer("Time",1000,true);
    return 
true;
}
//FIM DO GM
forward Time();
public 
Time() {
    for(new 
0!= MAX_PLAYERS; ++x) {
        if(
IsPlayerConnected(x) && VIP[x] == 0//Aqui ele vai checar se o jogador nгo й VIP
            
++Horas[x];
        if(
Horas[x] == 36000)
            
Horas[x] = 0VIP[x] = 1//Coloca o VIP
    
}
    return 
true;
}
// O SEU SIST. DE SALVAMENTO \/
stock SalvarPlayer(playerid)
{
    new 
Float:VidaFloat:ColeteNome[MAX_PLAYER_NAME], String[50]
    
GetPlayerHealth(playeridVida); GetPlayerArmour(playeridColete);
    
GetPlayerName(playeridNomesizeof(Nome));
    
format(Stringsizeof(String), CONTASNome);
    
dini_IntSet(String,"Dinheiro"GetPlayerMoney(playerid));
    
dini_IntSet(String,"Matou"Matou[playerid]);
    
dini_IntSet(String,"Morreu"Morreu[playerid]);
    
dini_IntSet(String,"Logou"Logou[playerid]);
    
dini_IntSet(String,"Horas"Horas[playerid]);//SALVAR O HORAS
    
dini_IntSet(String,"Vip"VIP[playerid]);//SALVAR O VIP
    
return 0x01;

Reply
#10

Em vez de esta sempre salvando coisas de um em um segundo, poderia tambйm simplesmente guardar este valor em um variavel e utiliza-la quando fosse carregar o valor na hora de conectar e salvar ao desconectar.
e claro para verificar se o valor contido nela corresponde as 10 horas.

Atenciosamente,
[Y]Falcon.
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)