Tutorial Vip Por Dias
Lembrando,eu aprendi e apenas quero encinar para quem vive tentando e nunca consegue
Bom é uma coisa fácil de se criar,vamos começar,cada linha do Tutorial vou explicar
Comeзando
No topo de seu Gamemode/FS
peão Код:
peão Код:
Comando você usará assim
peão Код:
Mais se você quer mandar uma mensagem para o jogador falando quantos dias de vip ele tem
por exemplo
peão Код:
irá dar um valor muito grande
faзa assim
peão Код:
Verificação para ver se o vip venceu
peão Код:
Vamos como salvar o Vip
Mexo com SII
então vamos LA
Na sua callback/dialog de registro adicionada
peão Код:
Agora no final do seu gamemode coloque uma stock para salvar as contas
peão Код:
Retorno de chamada OnGameModeExit
peão Код:
peão Код:
Vip Por Dias Salvando DOF2
Topo do GM/FS
peão Код:
salvando
peão Код:
Carregando os Arquivos
peão Код:
peão Код:
peão Код:
peão Код:
assim ele dará o verdadeiro valor por exemplo 40 Dias,Bom é isso é simples, mais pra quem não tinha idéia ta ai
Bom é uma coisa fácil de se criar,vamos começar,cada linha do Tutorial vou explicar
Comeзando
No topo de seu Gamemode/FS
peão Код:
- Código:
#include SII
peão Код:
- Código:
enum pInfo
{
pVip, //Armazenará o Vip
pDias, //Armazenará os dias do Vip
}
new WInfo [ MAX_PLAYERS ] [ pInfo ] ;
Comando você usará assim
peão Код:
- Código:
COMANDO : darvip ( playerid, params [ ] )
{
new Dias,level,iddele;
if ( ! IsPlayerAdmin ) return SendClientMessage ( playerid, COR_CINZA1, "Você não tem permissão para usar esse comando!" ) ;
if ( sscanf ( params, "ddd" , iddele, level,Dias ) ) return SendClientMessage ( playerid, COR_CINZA1, "Use: /darvip [id] [level] [dias]" ) ;
se ( !IsPlayerConnected ( iddele ) ) return SendClientMessage ( playerid, COR_CINZA2, "Jogador não conectado." ) ;
WInfo [ iddele ] [ pDias ] = ( gettime ( ) + ( Dias * 24 * 60 * 60 ) ) ; //Dias Multipiclando O Tempo * 24 * 60 * 60
WInfo [ iddele ] [ pVip ] = level; //Nível Vip
retornar 1 ;
}
Mais se você quer mandar uma mensagem para o jogador falando quantos dias de vip ele tem
por exemplo
peão Код:
- Código:
nova String [ 128 ] ;
format ( String, sizeof ( String ) , "{DCDCDC}| Forum SA:MP INFORMA | {FFFF00}Você ainda tem %d dias De vip" , WInfo [ playerid ] [ pDias ] ) ; //Chama a variável que guarda o vip
SendClientMessage ( playerid, GetPlayerColor ( playerid ) , String ) ;
irá dar um valor muito grande
faзa assim
peão Код:
- Código:
nova String [ 128 ] ;
format ( String, sizeof ( String ) , "{DCDCDC}| Fórum SA:MP INFORMA | {FFFF00}Você ainda tem %d dias De vip" , ( WInfo [ playerid ] [ pDias ] - gettime ( ) ) / ( 60 * 60 * 24 ) //Da um número mais preciso);
SendClientMessage ( playerid, GetPlayerColor ( playerid ) , String );
Verificação para ver se o vip venceu
peão Код:
- Código:
[left]if ( WInfo [ playerid ] [ pVip ] >= 1 )
{
VIPVencido [ playerid ] = 0 ;
if ( gettime ( ) >= WInfo [ playerid ] [ pDias ] )
{
WInfo [ playerid ] [ pVip ] = 0 ;
WInfo [ playerid ] [ pDias] = 0 ;
SendClientMessage ( playerid, COR_VIP, "|BPS INFORMA| Seu VIP venceu. Renove seu VIP para ter seus benefícios novamente!" ) ;
}
}[/left]
Vamos como salvar o Vip
Mexo com SII
então vamos LA
Na sua callback/dialog de registro adicionada
peão Код:
- Código:
INI_WriteInt ( "Dias" , 0 ) ;
INI_WriteInt ( "Vip" , 0 ) ;
Ja na callback de Login coloque
WInfo [ playerid ] [ pDias ] = INI_ReadInt ( "Dias" ) ;
WInfo [ playerid ] [ pVip ] = INI_ReadInt ( "Vip" ) ;
Agora no final do seu gamemode coloque uma stock para salvar as contas
peão Код:
- Código:
SalvarContas ( playerid )
{
format ( formata [ playerid ] , 69 , "Contas/%s.ini" , pNome ( playerid ) ) ; //Formata e Use de seu acordo como Players/%s.ini
if ( INI_Open ( formata [ playerid ] ) ) //Abre a conta
{
INI_WriteInt ( "Dias" , WInfo [ playerid ] [ pDias ] ) ;// Salva os Dias do Player
INI_WriteInt ( "Vip" , WInfo [ playerid ] [ pVip ] ) ; // Salva os Dias do Player
INI_Save ( ) ; //Salva
INI_Close ( ) ; //Fecha
}
return 1 ;
}
Retorno de chamada OnGameModeExit
peão Код:
- Código:
for ( new i = 0 ; i < MAX_PLAYERS; i ++ ) //LOop pra salvar a conta de geral
{
SalvarContas ( x ) ;
}
peão Код:
- Código:
Callback OnPlayerDisconnect
SalvarContas ( playerid ) ;
Vip Por Dias Salvando DOF2
Topo do GM/FS
peão Код:
- Código:
#include <DOF2>
salvando
peão Код:
- Código:
stock SalvarPlayer ( playerid )
{
if ( DOF2_FileExists ( ReturnFileUser ( playerid ) ) )
{
DOF2_SetInt ( ReturnFileUser ( playerid ) , "Vip" , WInfo [ playerid ] [ pVip ] ) ; //Salva o VIP, tinha esquecido de colocar pra salvar
DOF2_SetInt ( ReturnFileUser ( playerid ) , "Dias" , WInfo[ playerid ] [ pDias ] ) ; //Salva os dias
DOF2_SaveFile ( ) ; //salva os arquivos
}
}
Carregando os Arquivos
peão Код:
- Código:
[left]stock CarregarPlayer ( playerid )
{
if ( DOF2_FileExists ( ReturnFileUser ( playerid ) ) )
{
WInfo [ playerid ] [ pVip ] = DOF2_GetInt ( ReturnFileUser ( playerid ) , "Vip" ) ;
WInfo [ playerid ] [ pDias ] = DOF2_GetInt ( ReturnFileUser ( playerid) , "Dias" ) ;
}
}[/left]
peão Код:
- Código:
public OnPlayerConnect ( playerid )
{
CarregarPlayer ( playerid ) ;
retornar 1 ;
}
peão Код:
- Código:
Função de Login
CarregarPlayer ( playerid ) ;
peão Код:
- Código:
public OnGameModeExit
SalvarPlayer ( playerid ) ;
Creditos: Wellington1999
assim ele dará o verdadeiro valor por exemplo 40 Dias,Bom é isso é simples, mais pra quem não tinha idéia ta ai