[FilterScript] VIP SYSTEM - [DOF2/ZCMD/SSCANF]
#1

VIP SYSTEM Up.1.3


Introduзгo:

Vocк jб pensou em um sistema totalmente diferente onde vocк gera os prуprios cуdigos e os players simplesmente usam para ativar o VIP com um determinado tempo de expiraзгo ? Um bom design, fбcil implementaзгo em gamemodes e totalmente editбvel.

Neste sistema vocк gera seus prуprios cуdigos, e jogadores ativam o VIP por ele. Vocк pode vender VIP's em seu servidor sem ter que ficar entrando no jogo para seta-lo ao jogador.

Instalaзгo:

Este sistema usa o famoso DOF2, criando arquivos de salvamento em .ini, mas para isso acontecer vocк deve criar 3 pastas:

Localizada em ScriptFiles crie uma pasta chamada "Vips".
Dentro da mesma crie mais 2 pastas:

PHP код:
Users                     esta pasta armazena-rб nomes de todos os jogadores que possuem o beneficio);
Keys                     Aqui irб ficar as KEYS que vocк crioucontendo como titulo e dentro dela o tempo de VIP em dias). 
Preview:
PHP код:
.../scriptfiles/Vips/
.../
scriptfiles/Vips/Users/
.../
scriptfiles/Vips/Keys
Apуs ter feito isso, passe para a prуxima etapa do tutorial.

Funзхes & Comandos:

Dentro do script vocк encontra-rб diversas funзхes:

PHP код:
IsPlayerVIP(playerid)                 - Chechar se um jogador й VIP.
LoadPlayerVIP(playerid)                 - Carregar dados de VIP de um jogador a partir do arquivo.
SavePlayerVIP(playerid)               - Salvar dados de VIP dentro do arquivo.
CreateVipKey(playeridKey[], Days)   - Criar uma nova Key.
UseVipKey(playeridKey[])            - Usar determinada key.
RemoveKey(playeridKey[])            - Deletar uma key existente e nгo usada.
GetExpirationDays(playerid)           - Getar quantos dias faltam para expirar o VIP.
SetVipForPlayer(playeridDays)       - Setar ou renovar o VIP de algum jogador.
ShowWelcomeMessage(playerid)          - Abre uma mensagem de boas vindascontendo algumas info
Alguns comandos tambйm vem junto com o script para facilitar a sua interaзгo com o mesmo:

PHP код:
        CMD:setvip [ID] [DIAS]        ( Admin )  // Setamos um jogador como VIP
        
CMD:viphelp                    VIP )     // Algumas informaзхes sobre o seu VIP.
        
CMD:ativarvip                    ( Default )// Um dialog serб aberto solicitando o cуdigo.
        
CMD:novakey                     Admin // Uma nova key serб criada na pasta "Keys" para livre uso.
        
CMD:delkey [KEY]                ( Admin // Deletar uma key existente
        
CMD:vips                      ( Default ) // Checar jogadores VIP online. 
Conf. Vantagens:

Dentro do script vocк encontra 3 configuraзхes para manusear chat, vida e respawn:

PHP код:
#define CHAT_MODEL 3                    - Modelo ao falar no chat. Preview In-Forъm ( 1 a 3 )
#define FULL_LIFE 1                     - Spawnar com COLETE E VIDA FULL ( 0 desligado, 1 ativado )
#define DEATH_RESPAWN_LOCAL 1           - Spawnar no local onde morreu ( 0 desligado, 1 ativado ) 
Explicaзхes:

Modelo ao falar no chat:

PHP код:
#define CHAT_MODEL 3 
Existem 3 estilos diferentes de design ao jogador VIP falar no chat:

PHP код:
1.Style:  [ID]NOME[V.I.P]: TEXTO; ( Recomendado para Servidores DeathMatch )
2.Style:  NOME[ID][V.I.P]: TEXTO; ( Recomendado para Servidores DeathMatch )
3.Style:   VIP NOME dizTEXTO;     ( Recomendado para servidores RP/
Life e Colete:

PHP код:
#define FULL_LIFE 1 
Ao definir 1 vocк irб definir que ao jogador VIP respawnar, vida e colete do mesmo estarгo FULL.
Ao definir 0 vocк irб definir o padrгo de seu gamemode.

Respawnar onde morreu:

PHP код:
#define DEATH_RESPAWN_LOCAL 1 
Ao definir 1 vocк irб definir que ao jogador VIP morrer, ele irб respawnar onde morreu.
Ao Definir 0 vocк irб definir o padrгo de seu gamemode.

Perguntas:

1. Posso colocar este sistema em meu gamemode ?
R: Sim, mantenha os creditos dentro do script.

2. Este sistema tem tempo pra expirar o VIP ?
R: Sim, ao criar uma KEY vocк define a quantidade de dias que irб durar o beneficio.

3. Por que nгo colocou mais vantagens ?
R: Existem 3, o resto vocк mesmo pode criar, checando se ele й vip ou nгo " IsPlayerVIP ".

4. Por que nгo fez em uma include ao invйs de fazer em um filter script ?
R: Prefiro um script deste pois jб coloco todos os comandos e vantagens dentro dele, ainda estou com dificuldades em criar includes.

5. Ao digitar algum comando, meu server desliga sozinho, como resolver ?
R: cheque se criou corretamente as pastas que й pedido no comeзo do tуpico

6. Como ativo ou crio uma key ?
R: use os seguintes comandos: /novakey para criar e /ativarvip para usar a key.

Change Log:

- Update 1.1: Correзгo de Bugs.
- Update 1.2: Criaзгo de Keys via Dialog, comando /vips adicionado.
- Update 1.3: Correзгo de Bugs.

Downloads:

SSCANF: https://sampforum.blast.hk/showthread.php?tid=120356 - ******
DOF2: http://pastebin.com/TQJGwYyZ - Double-O-Seven
ZCMD: https://sampforum.blast.hk/showthread.php?tid=91354 - Zeex

Creditos do Script: Dry.

Latest Version 1.3 ( Pastebin ): http://pastebin.com/27NphYq4
Latest Version 1.3 ( English Version ):http://pastebin.com/6xDreUZj
Reply
#2

#first

muito bom poderia ter feito pra salvar em mysql ^^
Reply
#3

estes 2 comandos

pawn Код:
CMD:novakey(playerid, params[])
{
    if ( !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, Default, "Vocк nгo tem perissгo para isso.");
    new Key[128], Days;
    if ( sscanf ( params, "sd", Key, Days)) return SendClientMessage(playerid, Default, "Use: /novakey [KEY] [DIAS]");
    CreateVipKey(playerid, Key, Days);
    return 1;
}

CMD:delkey(playerid, params[])
{
    if ( !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, Default, "Vocк nгo tem perissгo para isso.");
    new Key[128];
    if ( sscanf ( params, "s", Key)) return SendClientMessage(playerid, Default, "[Erro]{FFFFFF} Nos informe o nome da key.");
    RemoveKey(playerid, Key);
    return 1;
irao dar 1 warning no console..

para nao dar so alterar para

pawn Код:
CMD:novakey(playerid, params[])
{
    if ( !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, Default, "Vocк nгo tem perissгo para isso.");
    if ( sscanf ( params, "s[128]d", params[0], params[1])) return SendClientMessage(playerid, Default, "Use: /novakey [KEY] [DIAS]");
    CreateVipKey(playerid, params[0], params[1]);
    return 1;
}

CMD:delkey(playerid, params[])
{
    if ( !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, Default, "Vocк nгo tem perissгo para isso.");
    if ( sscanf ( params, "s[128]", params[0])) return SendClientMessage(playerid, Default, "[Erro]{FFFFFF} Nos informe o nome da key.");
    RemoveKey(playerid, params[0]);
    return 1;
sim por vezes nao precisa criar variaveis nos comandos.

quanto ao resto acho que este sistema em MySQL era melhor.

porem esta top e inovador.

Parabens +rep.
Reply
#4

Quote:
Originally Posted by PT
Посмотреть сообщение
estes 2 comandos

pawn Код:
CMD:novakey(playerid, params[])
{
    if ( !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, Default, "Vocк nгo tem perissгo para isso.");
    new Key[128], Days;
    if ( sscanf ( params, "sd", Key, Days)) return SendClientMessage(playerid, Default, "Use: /novakey [KEY] [DIAS]");
    CreateVipKey(playerid, Key, Days);
    return 1;
}

CMD:delkey(playerid, params[])
{
    if ( !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, Default, "Vocк nгo tem perissгo para isso.");
    new Key[128];
    if ( sscanf ( params, "s", Key)) return SendClientMessage(playerid, Default, "[Erro]{FFFFFF} Nos informe o nome da key.");
    RemoveKey(playerid, Key);
    return 1;
irao dar 1 warning no console..

para nao dar so alterar para

pawn Код:
CMD:novakey(playerid, params[])
{
    if ( !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, Default, "Vocк nгo tem perissгo para isso.");
    if ( sscanf ( params, "s[128]d", params[0], params[1])) return SendClientMessage(playerid, Default, "Use: /novakey [KEY] [DIAS]");
    CreateVipKey(playerid, params[0], params[1]);
    return 1;
}

CMD:delkey(playerid, params[])
{
    if ( !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, Default, "Vocк nгo tem perissгo para isso.");
    if ( sscanf ( params, "s[128]", params[0])) return SendClientMessage(playerid, Default, "[Erro]{FFFFFF} Nos informe o nome da key.");
    RemoveKey(playerid, params[0]);
    return 1;
sim por vezes nao precisa criar variaveis nos comandos.

quanto ao resto acho que este sistema em MySQL era melhor.

porem esta top e inovador.

Parabens +rep.
Modifiquei seu cуdigo como vc disse porйm eu digito /novakey 888482 5
e ele nгo passa disso, porque? E com o codigo q ta no tуpico original, ele cria, mas quando da /ativarvip coloca la certinho ele fecha o dialog mas n mostra nada?ajuda?
Reply
#5

Obrigado a todos.

Quote:
Originally Posted by DevilAgain
Посмотреть сообщение
Modifiquei seu cуdigo como vc disse porйm eu digito /novakey 888482 5
e ele nгo passa disso, porque? E com o codigo q ta no tуpico original, ele cria, mas quando da /ativarvip coloca la certinho ele fecha o dialog mas n mostra nada?ajuda?
Verifique se a pasta Users esta criada corretamente dentro da pasta Vips.
Reply
#6

Quote:
Originally Posted by Dry
Посмотреть сообщение
Obrigado a todos.



Verifique se a pasta Users esta criada corretamente dentro da pasta Vips.
Sim cara, estou me referindo a parte do /ativarvip. Eu crio a key, ela cria la na pasta sertinho. Porйm quando eu boto a key no dialog e do enter ele fecha e nгo aparece nada.
Reply
#7

Quote:
Originally Posted by DevilAgain
Посмотреть сообщение
Sim cara, estou me referindo a parte do /ativarvip. Eu crio a key, ela cria la na pasta sertinho. Porйm quando eu boto a key no dialog e do enter ele fecha e nгo aparece nada.
Fiz aqui um code simples, e funcionou. Manda o code que vocк fez pra avaliarmos.
Reply
#8

Quote:
Originally Posted by DevilAgain
Посмотреть сообщение
Sim cara, estou me referindo a parte do /ativarvip. Eu crio a key, ela cria la na pasta sertinho. Porйm quando eu boto a key no dialog e do enter ele fecha e nгo aparece nada.
Posta o server_log
Reply
#9

Verifique
Reply
#10

Quote:
Originally Posted by Roquee
Посмотреть сообщение
a minha /novakey esta assim ShowPlayerDialog(playerid, DIALOG_MAKE_KEY, DIALOG_STYLE_INPUT, "{FFFFFF}Criaзгo de Nova Key", "{FFFFFF}Nos informe um novo cуdigo VIP:", "Criar", "Cancelar"); Isso ta certo cara?, ai sу tem a dialoog style mais nada.
Sim isto estб correto. A funзгo para criar keys estб dentro do dialogo, nгo no comando.

Quote:
Originally Posted by Roquee
Посмотреть сообщение
Verifique se a pasta Users esta criada corretamente dentro da pasta Vips.

Cara sim eu criei todas pasta certinha dentro da Vips, mais surgiu 2 erros, 1. quando escrevo /novakey ai coloco a key no dialog Nгo fala nada apenas fecha й nem tem como eu /ativarvip faz mesma coisa 2.erro: quando eu testei esse FS no meu server aberto pelo pc os comandos /setlevel funfo, mais quando Faзo isso na host o server reinicia..
Repito de novo... Vocк precisa criar 3 pastas para o script funcionar corretamente. Este erro ocorre pela inexistкncia do diretуrio... Se criar as pastas nгo funcionou, tente atualizar sua .inc. Porйm tenho 99% de certeza que isso nгo irб servir para nada.

Att. Lucas.
Reply
#11

@Edit ...

Alguйm para me ajudar eu digito /novakey CQ7T85-55AS8C-AS5VD , e nгo cria a Key nгo vai pra pasta ... , quando eu digito /novakey abre uma janelinha ai eu coloco " CQ7T85-55AS8C-AS5VD " , ai fecha e nгo fala nada nem aparece nada e nгo vai pra pasta , tambйm eu digito /ativarvip coloco " CQ7T85-55AS8C-AS5VD "
e nгo acontece nada ...

AGUARDANDO SOLUЗХES !!!!!!!!!!!!!!!!!!!!!
Reply
#12

Quote:

3. Por que nгo colocou mais vantagens ?
R: Existem 3, o resto vocк mesmo pode criar, checando se ele й vip ou nгo " IsPlayerVIP ".

Isso Sim, Mas Bem Que Poderia Ter Mais Vantagens E Comandos Para Chamar Mais Atenзгo Do FS.

Mas Ficou DaHora. !
Reply
#13

Nossa man, tomei uma raiva de vc caraw, sу pelo que posta. Sai dessa vida!
Reply
#14

Quote:
Originally Posted by Coringa253
Посмотреть сообщение
Isso Sim, Mas Bem Que Poderia Ter Mais Vantagens E Comandos Para Chamar Mais Atenзгo Do FS.
Sinceramente, ele jб desenvolveu um excelente sistema e disponibilizou a comunidade. Nгo existe dificuldade grandiosa em criar vantagens e comandos, me desculpe, mas vejo que isto jб й preguiзa demasiada da pessoa que pretende isto.

Parabйns aos Dry, fez um belнssimo trabalho meu caro!
Reply
#15

Ninguйm sabe como solucionar meu problema

Quote:

Alguйm para me ajudar eu digito /novakey CQ7T85-55AS8C-AS5VD , e nгo cria a Key nгo vai pra pasta ... , quando eu digito /novakey abre uma janelinha ai eu coloco " CQ7T85-55AS8C-AS5VD " , ai fecha e nгo fala nada nem aparece nada e nгo vai pra pasta , tambйm eu digito /ativarvip coloco " CQ7T85-55AS8C-AS5VD "
e nгo acontece nada ...

AGUARDANDO SOLUЗХES !!!!!!!!!!!!!!!!!!!!!

Reply
#16

Quote:
Originally Posted by ScripterInicianteBR
Посмотреть сообщение
Ninguйm sabe como solucionar meu problema
Cade o codigo caramba?
Reply
#17

Quote:
Originally Posted by xCR7
Посмотреть сообщение
Cade o codigo caramba?
Veja aqui o tуpico pedindo ajuda ~~ > http://forum.sa-mp.com/showthread.ph...40#post3307540

Obrigado

Soluзгo
Reply
#18

Como usar comandos em CMD: ?
Reply
#19

Quote:
Originally Posted by BrasilOnlinePlay
Посмотреть сообщение
Como usar comandos em CMD: ?
Й Uma plugin adicional, chaamda de Zeex Commands.
Uma das primeiras no quesito cache commands.
Reply
#20

Quote:
Originally Posted by zSuYaNw
Посмотреть сообщение
Й Uma plugin adicional, chaamda de Zeex Commands.
Uma das primeiras no quesito cache commands.
Uma include nao um plugin xD
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)