[Ajuda] SetVIP bugado
#1

PHP код:
    if(!strcmp(cmd"/setvip"true))
    {
        if(
CallRemoteFunction("GetPlayerAdminLevel""i"playerid) < 7) return SendClientMessage(playeridRed"[ERRO]: Vocк nгo tem permissгo para isso!");
        new 
tmp[256], tmp2[256], tmp3[256];    tmp strtok(cmdtextidx); tmp2 strtok(cmdtextidx); tmp3 strtok(cmdtextidx);
        if(!
strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp) || !IsNumeric(tmp2)) return SendClientMessage(playeridRed"Uso: /setvip [playerid] [level] [dias]");
        if(!
strlen(tmp3) && strval(tmp2) != 0|| !IsNumeric(tmp3) && strval(tmp2) != 0) return SendClientMessage(playeridRed"Uso: /setvip [playerid] [level] [dias]");
        new 
player1leveldias;    player1 strval(tmp);  level strval(tmp2); dias strval(tmp3);
        if(
dias 360) return SendClientMessage(playeridRed"[ERRO]: Tempo mбximo: 360 dias");
        if(!
IsPlayerConnected(player1)) return SendClientMessage(playeridRed"[ERRO]: O jogador nгo estб conectado!");
        if(
level == VipLevel[player1]) return SendClientMessage(playeridRed"[ERRO]: O jogador jб estб neste nivel de VIP!");
        if(
level 3) return SendClientMessage(playeridRed"[ERRO]: Nivel mбximo: 3");
        new 
year,month,day;    getdate(yearmonthday);
        
day day dias;
        while(
day 28)
        {
            switch(
month)
            {
                case 
1,3,5,7,8,10,12:
                {
                    if(
day 31)
                    {
                        
day day-31;
                        
month++;
                        continue;
                    }
                    else break;
                }
                case 
2:
                {
                    
day day-28;
                    
month++;
                    continue;
                }
                case 
4,6,9,11:
                {
                    if(
day 30)
                    {
                        
day day-30;
                        
month++;
                    }
                    else break;
                }
            }
        }
        while(
month 12)
        {
            
month month-12;
            
year++;
        }
        
dUserSetINT(PlayerName(player1)).("VIP"level);
        
dUserSetINT(PlayerName(player1)).("VIPY"year);
        
dUserSetINT(PlayerName(player1)).("VIPM"month);
        
dUserSetINT(PlayerName(player1)).("VIPD"day);
        
VipLevel[player1] = level;
        if(
VipLevel[player1] > && level 1)
        {
            
format(stringsizeof(string), "Administrador (a) %s removeu seu VIP!"PlayerName(playerid));
            
SendClientMessage(player1Red_MrJstring);
            
PlayerPlaySound(player1,1057,0.0,0.0,0.0);
            
format(stringsizeof(string), "Vocк removeu o VIP de %s"PlayerName(player1));
            
SendClientMessage(playeridGreen_MrJstring);
        }
        else
        {
            
format(stringsizeof(string), "Administrador (a) %s definiu seu nivel de VIP para '%d'!"PlayerName(playerid), level);
            if(
player1 != playerid){SendClientMessage(player1Red_MrJstring);}
            
PlayerPlaySound(player1,1057,0.0,0.0,0.0);
            
format(stringsizeof(string), "Vocк definiu o nivel de VIP de %s para '%d'"PlayerName(player1), level);
            
SendClientMessage(playeridGreen_MrJstring);
        }
        return 
1;
    } 
Entгo galera esse meu CMD estava funcionando corretamente agora nгo sei porque ele sу funciona no ID 0 e de vez enquanto ele trava o servidor '-' eu nгo entendo o porque, eu criei novos CMD's para ele mas nem ia ser isso porque o bug й o seguinte se vocк usa /setvip 0 3 30 ele seta o usuбrio corretamente agora se vocк seta outro ID envez do 0 ele retorna a mensagem "Uso: /setvip [playerid] [level] [dias]"
Reply
#2

tenta esse

PHP код:
CMD:setvip(playeridparams[])
{
    if ( !
IsPlayerAdmin(playerid)) return SendClientMessage(playerid, Default, "{FF0000}| ERRO | Vocк nгo tem permissгo!.");
    new 
NomeDias;
    if ( 
sscanf params"id"NomeDias)) return SendClientMessage(playerid, Default, "{EFFF00}| INFO | Uso Correto: /setvip [ID] [DIAS].");
    
SetVipForPlayer(NomeDias);
    return 
1;

Troque a minha variavel admin if ( ! IsPlayerAdmin(playerid)) pela a sua da sua GM
Resultado na minha GM

PHP код:
Pawn compiler 3.2.3664 Copyright (c1997-2006ITB CompuPhase 
Pega esse comando e adapite para o seu GM
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)