SA-MP Forums Archive
[Ajuda] Day - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Day (/showthread.php?tid=339758)



[Ajuda] Day - Don_Speed - 04.05.2012

Bom Estou Montando um Sistema Vip Por Dias Porriso Venho Pedir Ajuda Em Duas Coisas.
1° Estou Tentando Usar Isso: http://forum.sa-mp.com/showthread.ph...ght=time+stamp
Mas Nao Intedi Nada pq meu igles e horrivel alguem poderia me explicar um pouco?

Tentei Criar um cmd deu Aviso
pawn Код:
COMMAND:darvip(playerid, params[])
{
    new GivePlayerid, don[145], day, timestamp;
    if (APlayerData[playerid][PlayerLevel] <= 4) return SendClientMessage(playerid, -1,"[ERRO] Voce Nao Tem Level de Admin Suficiente");
    static Level = 0;
    if(sscanf(params, "udd", GivePlayerid, Level, day)) return SendClientMessage(playerid, -1,"[ERRO]: Correto: /darvip [id] [lvl] [dias].");
    if(Level > 3 || Level < 0) return SendClientMessage(playerid, -1,"[ERRO]:Bote Nivel Maior que 1 e menor que 3!.");
    if(PlayerInfo[GivePlayerid][pVip] == Level) return SendClientMessage(playerid, -1,"[ERRO]: Este player jб tem este nнvel.");
    PlayerInfo[GivePlayerid][pVip] = Level;
    timestamp = gettime() + day;
    format(don,sizeof(don),"Voce Foi Setado a Vip Level %d Pelo Admin %s", Level, playerid);
    SendClientMessage(GivePlayerid, -1, don);
    return 1;
}


2°Eu Queria que supondo eo player digita-se /comprarvip e abrise um dialog perguntando quantos dias ele quer comprar.
se ele por exemplo bota-se 21 fizesse o calculo sozinho sendo 1 dia de Vip 1000 de Gold
PlayerInfo[playerid][pGold] -= Algo pra fazer o calculo;

Desdeja Agradeзo


Re: [Ajuda] Day - Mr.Hardy - 04.05.2012

Explica Melhor... D:


Re: [Ajuda] Day - Don_Speed - 04.05.2012

Quote:
Originally Posted by Mr.Hardy
Посмотреть сообщение
Explica Melhor... D:
Explicar melhor? LoL


Re: [Ajuda] Day - Mr.Hardy - 04.05.2012

Quote:
Originally Posted by Don_Speed
Посмотреть сообщение
Explicar melhor? LoL
Algum problema ?? ^^ nгo zuera cara de boa !

Para descobrir o valor total de gold й

(Level Vip Ex: 3) * (Valor de cada Level Ex: 1000)

* = Multiplicaзгo

Resultado = Level 3 igual б 3000 reais

Code: 3 * 1000

Pode implementar isto no dialog dps de o jogador escrever o level de vip !

Se VocК me explica melhor eu te ajudo !


Re: [Ajuda] Day - Don_Speed - 04.05.2012

Entao seia
PlayerInfo[playerid][pGold] -= Dias* 2592000;


Re: [Ajuda] Day - RebeloX - 04.05.2012

Quote:
Originally Posted by Mr.Hardy
Посмотреть сообщение
Algum problema ?? ^^ nгo zuera cara de boa !

Para descobrir o valor total de gold й

(Level Vip Ex: 3) * (Valor de cada Level Ex: 1000)

* = Multiplicaзгo

Resultado = Level 3 igual б 3000 reais

Code: 3 * 1000

Pode implementar isto no dialog dps de o jogador escrever o level de vip !

Se VocК me explica melhor eu te ajudo !
Ele nгo quer isso, ele quer que tipo quando for o dia X a hora X e ao minuto X ele retire o vip do player.

Eu nunca usei essa funзгo mas й simples, vocк tem varias formas de fazer, eu vou tentar explicar duas.

A primeira й vocк pode criar um Timer com o tempo, imaginamos 1h por exemplo e quando o jogador desconectar vocк pode pegar o tempo que foi usado, por exemplo.

pawn Код:
new Time[MAX_PLAYERS];
new Var[MAX_PLAYERS];

CMD:Give(playerid,params[]){
    if(isnull(params))
        SendClientMessage(playerid,-1,"USE: /give [id]");
    new id = strval(params);
    if(!IsPlayerConnected(id))
        SendClientMessage(playerid,-1,"Jogador nгo conectado.");
    Var[id] = 1;
    Teste(id,1000);
}

public Teste(id,time){
    Time[id] = GetTickCount();
    SetTimerEx("RetirarVip",time,0,"i",id);
    return 1;
}

public OnPlayerDisconnect(playerid,reason){
    GetTickCount() - Time[playerid];
    //salvar o tempo...
}

public OnPlayerConnect(playerid){
    //pega o tempo e seta o tempo
    SetTimerEx("RetirarVip",rtime,0,"i",playerid);
}

public RetirarVip(playerid)
    return Var[playerid] = 1;
Nгo tenho certezas se isso funciona bem, mas enfim a outra й vocк gravar a data e fazer comparaзхes, tipo.

pawn Код:
if(day == eday && month == emonth && year == && eyear) //codigo
Traduzindo: Se o dia for igual ao fim do dia e se o mкs for igual ao fim do mкs e se o ano for igual ao fim do ano.

Enfim, agora tente fazer testes e obter resultados (:



Re: [Ajuda] Day - Don_Speed - 04.05.2012

Quote:
Originally Posted by BlueX
Посмотреть сообщение



Ele nгo quer isso, ele quer que tipo quando for o dia X a hora X e ao minuto X ele retire o vip do player.

Eu nunca usei essa funзгo mas й simples, vocк tem varias formas de fazer, eu vou tentar explicar duas.

A primeira й vocк pode criar um Timer com o tempo, imaginamos 1h por exemplo e quando o jogador desconectar vocк pode pegar o tempo que foi usado, por exemplo.

pawn Код:
new Time[MAX_PLAYERS];
new Var[MAX_PLAYERS];

CMD:Give(playerid,params[]){
    if(isnull(params))
        SendClientMessage(playerid,-1,"USE: /give [id]");
    new id = strval(params);
    if(!IsPlayerConnected(id))
        SendClientMessage(playerid,-1,"Jogador nгo conectado.");
    Var[id] = 1;
    Teste(id,1000);
}

public Teste(id,time){
    Time[id] = GetTickCount();
    SetTimerEx("RetirarVip",time,0,"i",id);
    return 1;
}

public OnPlayerDisconnect(playerid,reason){
    GetTickCount() - Time[playerid];
    //salvar o tempo...
}

public OnPlayerConnect(playerid){
    //pega o tempo e seta o tempo
    SetTimerEx("RetirarVip",rtime,0,"i",playerid);
}

public RetirarVip(playerid)
    return Var[playerid] = 1;
Nгo tenho certezas se isso funciona bem, mas enfim a outra й vocк gravar a data e fazer comparaзхes, tipo.

pawn Код:
if(day == eday && month == emonth && year == && eyear) //codigo
Traduzindo: Se o dia for igual ao fim do dia e se o mкs for igual ao fim do mкs e se o ano for igual ao fim do ano.

Enfim, agora tente fazer testes e obter resultados (:
Desculpe Nao Intendi !
Poderia Fazer Uma FS Com o Cmd de Dar Vip e Que Retire o Dinheiro Pra Quem Voce Deu o vip Fazendo o Calculo?
PorFavor


Re: [Ajuda] Day - paulor - 05.05.2012

Quote:
Originally Posted by BlueX
Посмотреть сообщение



Ele nгo quer isso, ele quer que tipo quando for o dia X a hora X e ao minuto X ele retire o vip do player.

Eu nunca usei essa funзгo mas й simples, vocк tem varias formas de fazer, eu vou tentar explicar duas.

A primeira й vocк pode criar um Timer com o tempo, imaginamos 1h por exemplo e quando o jogador desconectar vocк pode pegar o tempo que foi usado, por exemplo.

pawn Код:
new Time[MAX_PLAYERS];
new Var[MAX_PLAYERS];

CMD:Give(playerid,params[]){
    if(isnull(params))
        SendClientMessage(playerid,-1,"USE: /give [id]");
    new id = strval(params);
    if(!IsPlayerConnected(id))
        SendClientMessage(playerid,-1,"Jogador nгo conectado.");
    Var[id] = 1;
    Teste(id,1000);
}

public Teste(id,time){
    Time[id] = GetTickCount();
    SetTimerEx("RetirarVip",time,0,"i",id);
    return 1;
}

public OnPlayerDisconnect(playerid,reason){
    GetTickCount() - Time[playerid];
    //salvar o tempo...
}

public OnPlayerConnect(playerid){
    //pega o tempo e seta o tempo
    SetTimerEx("RetirarVip",rtime,0,"i",playerid);
}

public RetirarVip(playerid)
    return Var[playerid] = 1;
Nгo tenho certezas se isso funciona bem, mas enfim a outra й vocк gravar a data e fazer comparaзхes, tipo.

pawn Код:
if(day == eday && month == emonth && year == && eyear) //codigo
Traduzindo: Se o dia for igual ao fim do dia e se o mкs for igual ao fim do mкs e se o ano for igual ao fim do ano.

Enfim, agora tente fazer testes e obter resultados (:
Ganзala nгo resisti! KkKkKkKkKkKkK.... oq q tu fez ai rapaz HeHe!!! Se atrapalhou sozinho.