[Ajuda] Level
#1

Estou editando um game mod.
Pуrem o sistema de level dele й chato й por EXP.
e demora 50 min pra upar 1 level chato isso..
Alguйm podera o Alterar o cdigo para cada EXP Ser 5 minutos ex:5Minutos = 1exp. sendo assim qnd completar 5exp completa 1 level.

Codigo(TEMPO):
PHP код:
    SetTimer("GanharExp", 300000, true); 
Sistema de ganhar o EXP.
PHP код:
forward GanharExp(i);
public 
GanharExp(i)
{
       new 
string[128];
    
format(file, sizeof(file), PASTA_CONTAS, PlayerName(i));
    if(
IsPlayerConnected(i))
    {
      if(
AFK[i] == 0){
      {
    if(
PlayerInfo[i][pExpe] == 4)
    {
    
PlayerInfo[i][pLevel]++;
    
PlayerInfo[i][pExpe] = 0;
    
TempoLevelMinuto[i] = 10;
    
format(string, sizeof(string), "| UP | Vocк acaba de ganhar +1 level, somando um total de %d", PlayerInfo[i][pLevel]);
    
SendClientMessage(i, 0x00FF00AA, string);
    
PlayerPlaySound(i, 1057, 0.0, 0.0, 10.0);
    
dini_IntSet(file, "EXP", PlayerInfo[i][pExpe]);
    
dini_IntSet(file, "Level", PlayerInfo[i][pLevel]);
    if(
dini_Int(file, "Level") > dini_Int("RankL.ini", "LRank1")){
    if(
strcmp(dini_Get("RankL.ini", "Rank1"), PlayerName(i), true) == 0){
    
dini_IntSet("RankL.ini", "LRank1", dini_Int(file, "Level"));
    }else{
    
dini_Set("RankL.ini", "Rank2", dini_Get("RankL.ini", "Rank1"));
    
dini_IntSet("RankL.ini", "LRank2", dini_Int("RankL.ini", "LRank1"));
    
dini_Set("RankL.ini", "Rank1", PlayerName(i));
    
dini_IntSet("RankL.ini", "LRank1", dini_Int(file, "Level"));
    }
    }else{
    if(
dini_Int(file, "Level") > dini_Int("RankL.ini", "LRank2")){
    if(
strcmp(dini_Get("RankL.ini", "Rank2"), PlayerName(i), true) == 0){
    
dini_IntSet("RankL.ini", "LRank2", dini_Int(file, "Level"));
    }else{
    
dini_Set("RankL.ini", "Rank3", dini_Get("RankL.ini", "Rank2"));
    
dini_IntSet("RankL.ini", "LRank3", dini_Int("RankL.ini", "LRank2"));
    
dini_Set("RankL.ini", "Rank2", PlayerName(i));
    
dini_IntSet("RankL.ini", "LRank2", dini_Int(file, "Level"));
    }
    }else{
    if(
dini_Int(file, "Level") > dini_Int("RankL.ini", "LRank3")){
    
dini_Set("RankL.ini", "Rank3", PlayerName(i));
    
dini_IntSet("RankL.ini", "LRank3", dini_Int(file, "Level"));
    }
    }
    }
      
Salario(i);
    }
    else
    {
    
PlayerInfo[i][pExpe]++;
    
TempoLevelMinuto[i] = 10;
    
format(string, sizeof(string), "| EXP | Vocк acaba de ganhar +1 ponto de experiкncia (%d/5)", PlayerInfo[i][pExpe]);
    
SendClientMessage(i, 0x00FF00AA, string);
    
PlayerPlaySound(i, 1057, 0.0, 0.0, 10.0);
    
dini_IntSet(file, "EXP", PlayerInfo[i][pExpe]);
    }
     }
    }
    }
    return 
1;
} 
Reply
#2

Meio contraditуrio . "SetTimer" utilizando uma call back com o parвmetro.
https://sampwiki.blast.hk/wiki/SetTimer

@edit
PHP код:
enum players
{
    
experiencia,
    
level,
    
bool:AFK,
};
new 
PlayerInfo[MAX_PLAYERS][players];
new 
loopExperiencia;
public 
OnGameModeInit()
{
    
loopExperiencia = SetTimer("GanharExp", 300000, 1);
    return 
1;
}
forward GanharExp();
public 
GanharExp()
{
    for (new 
i; i < MAX_PLAYERS; ++i)
    {
        if ( !
IsPlayerConnected(i) || PlayerInfo[i][AFK])continue;
        ++
PlayerInfo[i][experiencia];
        if ( 
PlayerInfo[i][experiencia] > 4)
        {
            
PlayerInfo[i][experiencia] = 0;
            ++
PlayerInfo[i][level];
        }
    }
    return 
1;
}
OBS: 20 minutos +nivel 
Reply
#3

Quote:
Originally Posted by BykiLler
Посмотреть сообщение
Meio contraditуrio . "SetTimer" utilizando uma call back com o parвmetro.
https://sampwiki.blast.hk/wiki/SetTimer

@edit
PHP код:
enum players
{
    
experiencia,
    
level,
    
bool:AFK,
};
new 
PlayerInfo[MAX_PLAYERS][players];
new 
loopExperiencia;
public 
OnGameModeInit()
{
    
loopExperiencia = SetTimer("GanharExp", 300000, 1);
    return 
1;
}
forward GanharExp();
public 
GanharExp()
{
    for (new 
i; i < MAX_PLAYERS; ++i)
    {
        if ( !
IsPlayerConnected(i) || PlayerInfo[i][AFK])continue;
        ++
PlayerInfo[i][experiencia];
        if ( 
PlayerInfo[i][experiencia] > 4)
        {
            
PlayerInfo[i][experiencia] = 0;
            ++
PlayerInfo[i][level];
        }
    }
    return 
1;
}
OBS: 20 minutos +nivel 
Desculpe comentar o desnecessбrio, mas "contraditуrio" й vocк criar uma variбvel para receber o valor (ID) do SetTimer e nгo fazer nenhuma manipulaзгo da mesma.
Reply
#4

Vocкs podem alterar esse codigo que eu postei?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)