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.
Код:
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.
Se vocк usar o ******, pode usar alguns FS como base e fazer o seu prуprio.
Й 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.