[Pedido] /RetirarVIP eu ja tenho o /setvip
#1

Gostaria de um comando que retirasse o VIP da pessoa, e eu sу tenho o comando que seta o vip criado por DanDRT:

pawn Код:
CMD:setvip(playerid, params[])
{
    new id, days, string[70];

    if(!IsPlayerAdmin(playerid))
        return SendClientMessage(playerid, 0xFF0000AA, "[x] Vocк precisa estar logado na RCON para usar este comando!");

    if(sscanf(params, "ud", id, days))
        return SendClientMessage(playerid, YELLOW, "[ > ] Uso correto: /setvip [id] [dias]");

    if(days < 0)
    {
        return SendClientMessage(playerid, 0xFF0000AA, "[x] Este jogador nгo estб online!");
    }
    else
    {
        if(!IsPlayerConnected(id))
            return SendClientMessage(playerid, 0xFF0000AA, "[x] Este jogador nгo estб online!");
        else
        {
            PlayerVip[id] = ConvertDays(days);
            format(string, sizeof(string), "[ > ] Vocк setou %d dias de VIP para %s.", days, GetName(id));
            SendClientMessage(playerid, 0x33AAFFFF, string);
            format(string, sizeof(string), "[ > ] Vocк recebeu %d dias de VIP, aproveite bem suas vantagens!", days);
            SendClientMessage(playerid, 0x33AAFFFF, string);

            format(string, sizeof(string), "/vips/%s.ini", GetName(id));
            DOF2_CreateFile(string);
            DOF2_SetInt(string,"VipExpira", PlayerVip[id]);
            DOF2_SaveFile();
        }
    }
    return true;
}
Reply
#2

usa:

/setvip [id] 0 - vai setar 0 dias '-', retirando.
Reply
#3

Fica com -1 dia de vip, e continua funfando o.o
Nгo tem alguma forma de retirar completamente o vip da pessoa?
Reply
#4

Quote:
Originally Posted by viniciussvl
Посмотреть сообщение
Fica com -1 dia de vip, e continua funfando o.o
Nгo tem alguma forma de retirar completamente o vip da pessoa?
Nos comandos onde a variбvel do vip й verificada, verifique se o vip for > 0, se for maior que 'Zero' irб retornar verdadeiro, caso contrбrio ele nгo tem vip..

Para retirar o vip й sу setar o vip do jogador a 'Zero' como jб dito acima.

Outra opзгo й criar uma Variбvel Booleana, exemplo:

PHP код:
new boolPossuiVip[MAX_PLAYERS];
if(
PossuiVip[playerid]) SendClientMessage(playerid, -1"Vocк possui vip");
else 
SendClientMessage(playerid, -1"Vocк nгo possui vip");
//Para setar
PossuiVip[playerid] = true//Seta vip
PossuiVip[playerid] = false//Tira o vip 
Reply
#5

Mesmo setando a 'Zero' no /setvip ID 0 nгo funciona, fica com os dias negativo cara...
Reply
#6

pawn Код:
if(days < 0)
    {
        return SendClientMessage(playerid, 0xFF0000AA, "[x] Este jogador nгo estб online!");
    }
wtf?
quando for -1 dia setado o player nao estб on? entendi.

pawn Код:
if(PlayerVip[playerid] >= 1)
    {
        // mochila vip
pawn Код:
PlayerVip[playerid] <= 0;
tenta agora
Reply
#7

entгo ficaria assim?

pawn Код:
hook OnPlayerConnect(playerid)
{
    acc_LoginAttempts[playerid] = 0;
    acc_IsNewPlayer[playerid] = false;
    acc_HasAccount[playerid] = false;
    acc_LoggedIn[playerid] = false;

    // ------------ SISTEMA DE VIP ---------------
    new string[80];
    format(string, sizeof(string), "/vips/%s.ini", GetName(playerid));
    if(DOF2_FileExists(string))
    {
        PlayerVip[playerid] = DOF2_GetInt(string,"VipExpira");
        if(gettime() > PlayerVip[playerid])
        {
            DOF2_RemoveFile(string);
            PlayerVip[playerid] <= 0;
            SendClientMessage(playerid, 0xF6FF00AA, "[ > ] Seus VIP expirou!");
        }
        else
        {
            format(string, sizeof(string), "[ > ] Seu vip expira em %s.", convertNumber(PlayerVip[playerid]-gettime()));
            SetPlayerSkin(playerid, 286);
            SendClientMessage(playerid, 0xF6FF00AA, string);
        }
    }
    return 1;
}
pawn Код:
if(IsValidItemType(spawn_BagType))
{

    backpackitem = CreateItem(spawn_BagType);
    containerid = GetItemArrayDataAtCell(backpackitem, 1);
    GivePlayerBag(playerid, backpackitem);

    if(PlayerVip[playerid] >= 1)
    {
        // mochila vip
        backpackitem = CreateItem(spawn_BagVip);
        containerid = GetItemArrayDataAtCell(backpackitem, 1);
        GivePlayerBag(playerid, backpackitem);
       
        if(gettime() < PlayerVip[playerid])
        {
            SetPlayerSkin(playerid, 286);
            SendClientMessage(playerid, 0xF6FF00AA, "[ > ] Vocк й um jogador VIP, aproveite suas vantagens!");
            for(new i; i < 7; i++)
            {
                vipitem = CreateItem(spawn_NewSpawnItems[i][e_itmobj_type]);
                AddItemToContainer(containerid, vipitem);
            }
        }

    }
pawn Код:
CMD:vips(playerid)
{
    new string[85];
    new count;
       SendClientMessage(playerid, 0x33AAFFFF, "•~~~~~~~~~~ Jogadores VIPs online ~~~~~~~~~~•");
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(PlayerVip[i] >= 1)
        {
            if(IsPlayerConnected(i))
               {
                format(string, sizeof(string), "> %s (%d) [%s]", GetName(i), i, convertNumber(PlayerVip[i]-gettime()));
                SendClientMessage(playerid, 0xE3E3E3FF, string);
                count++;
               }
        }
    }
    if(count == 0)
        return SendClientMessage(playerid, 0xD8D8D8FF, "[x] Nгo tem nenhum jogador vip online!");

    return true;
}

CMD:setvip(playerid, params[])
{
    new id, days, string[70];

    if(!IsPlayerAdmin(playerid))
        return SendClientMessage(playerid, 0xFF0000AA, "[x] Vocк precisa estar logado na RCON para usar este comando!");

    if(sscanf(params, "ud", id, days))
        return SendClientMessage(playerid, YELLOW, "[ > ] Uso correto: /setvip [id] [dias]");

    if(days < 0)
    {
        return SendClientMessage(playerid, 0xFF0000AA, "[x] Este jogador nгo estб online!");
    }
    else
    {
        if(!IsPlayerConnected(id))
            return SendClientMessage(playerid, 0xFF0000AA, "[x] Este jogador nгo estб online!");
        else
        {
            PlayerVip[id] = ConvertDays(days);
            format(string, sizeof(string), "[ > ] Vocк setou %d dias de VIP para %s.", days, GetName(id));
            SendClientMessage(playerid, 0x33AAFFFF, string);
            format(string, sizeof(string), "[ > ] Vocк recebeu %d dias de VIP, aproveite bem suas vantagens!", days);
            SendClientMessage(playerid, 0x33AAFFFF, string);

            format(string, sizeof(string), "/vips/%s.ini", GetName(id));
            DOF2_CreateFile(string);
            DOF2_SetInt(string,"VipExpira", PlayerVip[id]);
            DOF2_SaveFile();
        }
    }
    return true;
}

??
Reply
#8

isso ai, teste la e ve se ta correto, se ficar bom avisa aqui..
Reply
#9

Nгo funcionou, eu dei vip pra mim e dps de um tempo apareceu q eu e mais outro cara era vip sendo que na pasta vips da scripftiles sу tб meu arquivo de VIP...
Reply
#10

Quote:
Originally Posted by viniciussvl
Посмотреть сообщение
Nгo funcionou, eu dei vip pra mim e dps de um tempo apareceu q eu e mais outro cara era vip sendo que na pasta vips da scripftiles sу tб meu arquivo de VIP...
ele consegue usar coisas vips ou so aparece no /vips? testa isso e me fala..
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)