[Ajuda] Sistema de /darvip
#1

Ola galera, seguinte, eu fiz um sistema de dar vip no meu server muito simples. /darvip [id] [level] onde do level 1 ao 3 й vip, do 4 ao 6 й socio, e tem um esqueminha de dar automatico donheiro e nivel pro beneficio.
Ok mais estou tentando mudar este comando para /darvip [id] [level] [dias] onde eu possa setar o numero de dias do beneficio, e quando acabar ele retirar automaticamente, mas ja tentei de tudo e nгo estou conseguindo.
Comando:
Код:
if(strcmp(cmd, "/darvip", true) == 0)
   {
       if(IsPlayerConnected(playerid))
       {
           if(PlayerInfo[playerid][pAdmin] < 1340)
          {
            SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo tem autorizaзгo para usar esse comando.");
            return 1;
          }
          VipVaga();
          if(VagaSobrando == 0)
          {
            SendClientMessage(playerid, COLOR_GRAD1, "Nгo hб mais vagas na lista use /limparvip primeiro.");
            return 1;
          }
         tmp = strtok(cmdtext, idx);
         if(!strlen(tmp))
         {
            SendClientMessage(playerid, COLOR_GRAD2, "USE: /darvip [id] [Nivel]");
            return 1;
         }
         new para1;
         new level;
         para1 = ReturnUser(tmp);
         tmp = strtok(cmdtext, idx);
         if(!strlen(tmp))
         {
            SendClientMessage(playerid, COLOR_GRAD2, "USE: /darvip [id] [Nivel]");
            return 1;
         }
         level = strval(tmp);
         GetPlayerName(para1, giveplayer, sizeof(giveplayer));
         GetPlayerName(playerid, sendername, sizeof(sendername));
            if(level < 1 || level > 6)
            {
            SendClientMessage(playerid, COLOR_GRAD2, "[Vip de 1 a 3 VIP'S] [VIP de 4 a 6 SOCIOS]");
            SendClientMessage(playerid, COLOR_GREY, "VIP minimo 1 || Vip Maximo 6");
            SendClientMessage(playerid, COLOR_GREY, "Para Retirar o VIP/SOCIO do jogador use: /limparvip mas primeiro veja a vaga dele em /infovip para evitar transtorno.");
            return 1;
            }
            if(IsPlayerConnected(para1))
          {
              if(para1 != INVALID_PLAYER_ID)
              {
               format(string, sizeof string, "Vocк deu VIP Nнvel %d para %s.", level, giveplayer);
               SendClientMessage(playerid, COLOR_LIGHTBLUE, string);

     format(string, sizeof string, "Vocк ganhou VIP Nнvel %d do admin %s", level, sendername);
               SendClientMessage(para1, COLOR_LIGHTBLUE, string);
     getdate(year, month, day);
               gettime(hour,minute,second);
               format(string, sizeof(string), "%s deu vip ao %s nнvel %d (%d/%d/%d - %d:%d)",sendername,giveplayer,level,day, month, year,hour, minute);
               VipsLog(string);
                    PlayerInfo[para1][pVIP] = level;
               new var03 = 0;
               for(new i = 0; i < sizeof(VipInfo); i++)
                {
                    if(strcmp(giveplayer,VipInfo[i][vNick],true)==0)
                    {
                        VipInfo[i][vTipo] = level;
                        SaveVip();
                        var03 = 1;
                        break;
                    }
               }
               if(var03 == 0)
               {
                   for(new i = 0; i < sizeof(VipInfo); i++)
                   {
                       if(strcmp("Ninguem",VipInfo[i][vNick],true)==0)
                       {
                           strmid(VipInfo[i][vNick], giveplayer, 0, strlen(giveplayer), 255);
                           VipInfo[i][vTipo] = level;
                           SaveVip();
                           break;
                            }
                        }
                    }
                      if(PlayerInfo[para1][pVIP] == 1)
        {
        PlayerInfo[para1][pLevel] += 1; // muda pra o level que quer setar ele
        GivePlayerMoneyEx(giveplayerid, 100000); // muda para a grana que quer setar a ele :}
        SendClientMessage(para1, COLOR_YELLOW, "{ff00ff}Info VIP: Vocк ganhou +1lvl + 100k de seu VIP Bronze");
return 1;
}
        else if(PlayerInfo[para1][pVIP] == 2)
        {
        PlayerInfo[para1][pLevel] += 2; // muda pra o level que quer setar ele
        GivePlayerMoneyEx(para1, 200000); // muda para a grana que quer setar a ele :}
        SendClientMessage(para1, COLOR_YELLOW, "{ff00ff}Info VIP: Vocк ganhou +2lvl + 200k de seu VIP Bronze.");
return 1;
        }
     else if(PlayerInfo[para1][pVIP] == 3)
        {
        PlayerInfo[para1][pLevel] += 3; // muda pra o level que quer setar ele
        GivePlayerMoneyEx(para1, 300000); // muda para a grana que quer setar a ele :}
        SendClientMessage(para1, COLOR_YELLOW, "{ff00ff}Info VIP: Vocк ganhou +3lvl + 300k de seu VIP Ouro.");
return 1;
        }
         else if(PlayerInfo[para1][pVIP] == 4)
        {
        PlayerInfo[para1][pLevel] += 4; // muda pra o level que quer setar ele
        GivePlayerMoneyEx(para1, 400000); // muda para a grana que quer setar a ele :}
        SendClientMessage(para1, COLOR_YELLOW, "{ff00ff}Info VIP: Vocк ganhou +4lvl + 400k de seu Socio Bronze.");
return 1;
        }
         else if(PlayerInfo[para1][pVIP] == 5)
        {
        PlayerInfo[para1][pLevel] += 5; // muda pra o level que quer setar ele
        GivePlayerMoneyEx(para1, 500000); // muda para a grana que quer setar a ele :}
        SendClientMessage(para1, COLOR_YELLOW, "{ff00ff}Info VIP: Vocк ganhou +5lvl + 500k de seu Socio Prata.");
return 1;
        }
         else if(PlayerInfo[para1][pVIP] == 6)
        {
        PlayerInfo[para1][pLevel] += 6; // muda pra o level que quer setar ele
        GivePlayerMoneyEx(para1, 1000000); // muda para a grana que quer setar a ele :}
        SendClientMessage(para1, COLOR_YELLOW, "{ff00ff}Info VIP: Vocк ganhou +6lvl + 1kk de seu Socio Ouro.");
return 1;
        }
            }
         }
      }
      return 1;
   }
Por favor, gostaria que me ajudassem a mexer nesse, e nгo um link de um comando jб pronto, pois quero aprender como se faz, obrigado.
Reply
#2

Se vocк usar o ******, pode usar alguns FS como base e fazer o seu prуprio.
Reply
#3

Й oque estou fazendo, mais nenhum da certo. Eu criei a variavel pra armazenar e coloquei nesse comando, mais ele nao bloqueia. Como eu bloqueio pra tipo ter que digita /darvip [id] [level] [dias]. Porque mesmo criando a variavel, ele continua funcionando em /darvip [id] [level] e ignora a variavel dias.
Reply
#4

Tente usar sscanf, й muito mais fбcil.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)