[Ajuda] Setar VIP por Dias
#1

Ola Pessoal, Meu nome й Marcio Estou com um pequeno problema, ja tenho um comando base de setar vip, porem queria adaptalo para setar o tempo do vip em Dias por exemplo /setvip 4 7 (setar ao ID 4 uma semana de Vip), desde ja agradeзo, e se poderem, gostaria de um comando do tipo /tempovip para que o VIP saiba o tempo que ainda lhe resta, Grato!

Код:
if(strcmp(cmd, "/setarvip", true) == 0) {
if(!IsPlayerAdmin(playerid)) return 0;
new tmp[256];
new plid;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, 0x008040AA, "(ERRO) Use: /setarvip [id]");
return 1;
}
if(IsPlayerConnected(plid)){
new pname[MAX_PLAYER_NAME];
GetPlayerName(plid, pname, MAX_PLAYER_NAME);
format(file2, sizeof(file2), PASTA_CONTAS, pname);
dini_IntSet(file2, "VIP",1);
SpawnPlayer(plid);
SendClientMessage(playerid, 0x00FF00AA, "(INFO) VIP Setado com sucesso");
SendClientMessage(plid, 0x00FF00AA, "(INFO) Um admin setou VIP por para vocк aproveite ;D");
return 1;
}else{
SendClientMessage(playerid, Vermelho, "(ERRO) ID invбlido");
return 1;
}
}
Como podem ver, o GM salva em DINI, e eu nгo sei mecher com o gettime, podem ajudar?
Reply
#2

https://sampforum.blast.hk/showthread.php?tid=254915. Leia atй entender.
Reply
#3

Vocк terб que criar seu proprio script para calcular o dia de vencimento do vip e checar se o vip ja venceu.

Vocк usarб a funзгo getdate para getar o dia, mes e ano. Isso darб um pouco de trabalho.

Quote:
Originally Posted by Abravanel
Посмотреть сообщение
Vocк nгo pensou em usar um timer de 1 mкs pra expirar o vip nй? Й claro que nгo...
Reply
#4

pawn Код:
if(strcmp(cmd, "/setarvip", true) == 0)
{
    if(!IsPlayerAdmin(playerid)) return 0;
    new tmp[256];
    new plid;
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
        SendClientMessage(playerid, 0x008040AA, "(ERRO) Use: /setarvip [id][dias]");
        return 1;
    }
    dd = strtok(cmdtext, idx);
    if(!strlen(dd))
    {
        SendClientMessage(playerid, 0x008040AA, "(ERRO) Use: /setarvip [id][dias]");
        return 1;
    }
    if(IsPlayerConnected(plid))
    {
        new pname[MAX_PLAYER_NAME];
        GetPlayerName(plid, pname, MAX_PLAYER_NAME);
        format(file2, sizeof(file2), PASTA_CONTAS, pname);
        dini_IntSet(file2, "VIP",1);
        dini_IntSet(file2, "DIAS",((gettime() + (dd * 24 * 60 * 60))));
        SpawnPlayer(plid);
        SendClientMessage(playerid, 0x00FF00AA, "(INFO) VIP Setado com sucesso");
        SendClientMessage(plid, 0x00FF00AA, "(INFO) Um admin setou VIP por para vocк aproveite ;D");
        return 1;
        }else{
        SendClientMessage(playerid, Vermelho, "(ERRO) ID invбlido");
        return 1;
    }
}
        format(file2, sizeof(file2), PASTA_CONTAS, pname);
        if(gettime() >= dini_Int(file2, "DIAS"))
        {
            // vip expirado
        }
https://sampforum.blast.hk/showthread.php?tid=444338
Reply
#5

Quote:
Originally Posted by Kuddy
Посмотреть сообщение
Vocк nгo pensou em usar um timer de 1 mкs pra expirar o vip nй? Й claro que nгo...
Й уbvio que nгo. Da onde vocк tirou isso?! Jб ouviu falar em timestamp?
Reply
#6

1 timer de 1 mкs ? Omg que tenso... atй porque nгo daria certo...
Reply
#7

pow viro atй chat ae... e outra, me passaram tutorial em ingles, puts..

Vlw Don mais olha oq deu:

(9871) : error 017: undefined symbol "dd"
(9872) : error 017: undefined symbol "dd"
(9883) : error 017: undefined symbol "dd"
(9893) : error 017: undefined symbol "pname"
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


4 Errors.
Reply
#8

Quote:
Originally Posted by Marcinho
Посмотреть сообщение
pow viro atй chat ae... e outra, me passaram tutorial em ingles, puts..

Vlw Don mais olha oq deu:

(9871) : error 017: undefined symbol "dd"
(9872) : error 017: undefined symbol "dd"
(9883) : error 017: undefined symbol "dd"
(9893) : error 017: undefined symbol "pname"
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


4 Errors.
pawn Код:
if(strcmp(cmd, "/setarvip", true) == 0)
{
    if(!IsPlayerAdmin(playerid)) return 0;
    new tmp[256];
    new plid;
    new dd;
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
        SendClientMessage(playerid, 0x008040AA, "(ERRO) Use: /setarvip [id][dias]");
        return 1;
    }
    dd = strtok(cmdtext, idx);
    if(!strlen(dd))
    {
        SendClientMessage(playerid, 0x008040AA, "(ERRO) Use: /setarvip [id][dias]");
        return 1;
    }
    if(IsPlayerConnected(plid))
    {
        new pname[MAX_PLAYER_NAME];
        GetPlayerName(plid, pname, MAX_PLAYER_NAME);
        format(file2, sizeof(file2), PASTA_CONTAS, pname);
        dini_IntSet(file2, "VIP",1);
        dini_IntSet(file2, "DIAS",((gettime() + (dd * 24 * 60 * 60))));
        SpawnPlayer(plid);
        SendClientMessage(playerid, 0x00FF00AA, "(INFO) VIP Setado com sucesso");
        SendClientMessage(plid, 0x00FF00AA, "(INFO) Um admin setou VIP por para vocк aproveite ;D");
        return 1;
        }else{
        SendClientMessage(playerid, Vermelho, "(ERRO) ID invбlido");
        return 1;
    }
}
        format(file2, sizeof(file2), PASTA_CONTAS, pname);
        if(gettime() >= dini_Int(file2, "DIAS"))
        {
            // vip expirado
        }
Tenta ai!

Creditos: Don Speed
Reply
#9

(9574) : error 006: must be assigned to an array
(9575) : error 035: argument type mismatch (argument 1)
(9596) : error 017: undefined symbol "pname"
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


3 Errors.
Reply
#10

nгo se usa assim, e sim

pawn Код:
if(strcmp(cmd, "/setarvip", true) == 0)
{
    if(!IsPlayerAdmin(playerid)) return 0;
    new tmp[256];
    new plid;
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
        SendClientMessage(playerid, 0x008040AA, "(ERRO) Use: /setarvip [id][dias]");
        return 1;
    }
    plid = strtok(cmdtext, idx);
    if(!strlen(dd))
    {
        SendClientMessage(playerid, 0x008040AA, "(ERRO) Use: /setarvip [id][dias]");
        return 1;
    }
    if(IsPlayerConnected(plid))
    {
        new pname[MAX_PLAYER_NAME];
        GetPlayerName(plid, pname, MAX_PLAYER_NAME);
        format(file2, sizeof(file2), PASTA_CONTAS, pname);
        dini_IntSet(file2, "VIP",1);
        dini_IntSet(file2, "DIAS",((gettime() + (plid * 24 * 60 * 60))));
        SpawnPlayer(plid);
        SendClientMessage(playerid, 0x00FF00AA, "(INFO) VIP Setado com sucesso");
        SendClientMessage(plid, 0x00FF00AA, "(INFO) Um admin setou VIP por para vocк aproveite ;D");
        return 1;
        }else{
        SendClientMessage(playerid, Vermelho, "(ERRO) ID invбlido");
        return 1;
    }
}
        format(file2, sizeof(file2), PASTA_CONTAS, pname);
        if(gettime() >= dini_Int(file2, "DIAS"))
        {
            // vip expirado
        }
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)