[FilterScript] Sistema Vip "*~~VipInfo~~*"

12 de jul. de 2013.
*~~VipInfo~~*
By Dan

Imagens:



Codigo:

PHP Code:
/*
    Creditos:
                Dan - FilterScript
                                    Topico: http://forum.sa-mp.com/showthread.php?p=2418643
    Projeto Iniciado: 08/03/2013 ás 19:38
    Projeto Terminado: 08/03/2013 ás 21:01
*/

// *~~ Includes ~~* //
#include <a_samp>
#include <DOF2>
#include <dutils>
#include <ZCMD>
#include <sscanf>
// *~~ pragma ~~* //
#pragma unused ret_memcpy
// *~~ New's ~~* // 
new TempoVip[MAX_PLAYERS];
new 
bool:PlayerVip[MAX_PLAYERS];

public 
OnFilterScriptInit()    return 1;
public 
OnFilterScriptExit()
{
    for(new 
0GetMaxPlayers(); i++)
     {
        
SalvandoVip(i);
     }
    return 
1;
}

public 
OnPlayerDisconnect(playerid) { SalvandoVip(playerid); SetandoVip(playerid); return 1; }
public 
OnPlayerConnect(playerid) { SetandoVip(playerid); return 1; }SalvandoVip(playerid)
{
    new 
Nick[24], String[50];
    
GetPlayerName(playeridNicksizeof(Nick));
    
format(Stringsizeof(String), "/Vips/%s.ini"Nick);
    if(
fexist(String))
    
DOF2::SetInt(String,"TempoVip"TempoVip[playerid]);
    
DOF2::SaveFile();
    return 
1;
}
SetandoVip(playerid)
{
    new 
Nick[24], String[50];
    
GetPlayerName(playeridNicksizeof(Nick));
    
format(Stringsizeof(String), "/Vips/%s.ini"Nick);
    if(
fexist(String))
    {
        
TempoVip[playerid] = DOF2::GetInt(String"TempoVip");
        if(
TempoVip[playerid] < Now())
        {
               
PlayerVip[playerid] = false;
            
SendClientMessage(playerid0xFFC458AA"*~~.VipInfo.~~* Seu Vip Expirou!");
            
DOF2::RemoveFile(String);
        }
        else
        {
            new 
StrVd[70];
            
PlayerVip[playerid] = true;
            
format(StrVdsizeof(StrVd), "*~~.VipInfo.~~* Seu VIP ira expirar em %s."Convert(TempoVip[playerid]-Now()));
            
SendClientMessage(playerid0xFFC458AAStrVd);
        }
    }
    return 
1;
}
Convert(number)
{
    new 
hours 0mins 0secs 0string[128];
    
hours floatround(number 3600);
    
mins floatround((number 60) - (hours 60));
    
secs floatround(number - ((hours 3600) + (mins 60)));
    new 
days 0;
    if(
hours >= 24)
    {
        
days floatround((hours/24), floatround_floor);
        
hours hours 24;
    }
    if(
days 0)
    {
        
format(string100"%ddias, %dh %dm e %ds"dayshoursminssecs);
    }
    else if(
hours 0)
    {
        
format(string100"%dh %dm e %ds"hoursminssecs);
    }
    else
    {
        
format(string100"%dm e %ds"minssecs);
    }
    return 
string;
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Comandos: /setvip e /vips  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ CMD:setvip(playeridparams[])
{
    new 
iddiasDVString[115];
    if(!
IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1"ERRO: Você precisa estar na RCON para usar este Comando!");
    if(
sscanf(params"ud"iddias)) return SendClientMessage(playerid, -1"Uso Correto: /setvip [id] [dias]");
    if(!
IsPlayerConnected(id))
    {
        new 
string[30];
         
format(stringsizeof(string), "%d não é um player ativo!"id);
        
SendClientMessage(playerid0xFF0000AAstring);
        return 
1;
    }
    else
    {
          new 
Nick1[24], Nick2[24];
        
GetPlayerName(playeridNick1sizeof(Nick1));
        
GetPlayerName(idNick2sizeof(Nick2));
         
PlayerVip[playerid] = true;
          
format(DVString,sizeof(DVString), "*~~.VipInfo.~~* Você Acaba de Receber %d dias de Vip de %s"diasNick1);
           
SendClientMessage(playerid0xFFC458AADVString);
           
TempoVip[playerid] = Now()+24*60*60*dias;
           new 
StringSV[100];
           
format(StringSVsizeof(StringSV), "/Vips/%s.ini"Nick2);
           
DOF2::CreateFile(StringSV);
           
DOF2::SetInt(StringSV,"TempoVip",TempoVip[playerid]);
           
DOF2::SaveFile();
        for(new 
0GetMaxPlayers(); i++)
        {
           if(
PlayerVip[playerid] == true)
           {
                   
format(DVString,sizeof(DVString), "*~~.VipInfo.~~* O Player %s Acaba de Receber %d dias de Vip de %s"Nick2diasNick1);
                   
SendClientMessage(i0xFFC458AADVString);
           }
           }
      }
      return 
true;
}
CMD:vips(playerid)
{
    new 
vipon;
    
SendClientMessage(playerid0xFFC458AA"*~~.VipInfo.~~* Todos Os Vip's Online:");
    for(new 
0GetMaxPlayers(); i++)
    {
        if(
IsPlayerConnected(i))
        {
            if(
PlayerVip[i] == true)
            {
                new 
str[128], Nick[24];
                
GetPlayerName(iNicksizeof(Nick));
                
format(strsizeof(str), "*~~.Vip %s [Tempo restante %s].~~*"NickConvert(TempoVip[i]-Now()));
                
SendClientMessage(playerid, -1str);
                
vipon++;
               }
        }
    }
    if(
vipon == 0)
    {
        
SendClientMessage(playerid, -1"Não têm nenhum VIP Online no momento...");
    }
    return 
true;
}
CMD:jetpack(playerid)
{
    if(
PlayerVip[playerid] == true)
    {
        
SetPlayerSpecialAction(playerid2);
        
SendClientMessage(playerid, -1"*~~.VipInfo.~~* Você criou um JetPack!");
    }
    return 
true;
}
CMD:vc(playeridparams[])
{
    new 
mensagem[120];
    if(
PlayerVip[playerid] == false) return SendClientMessage(playerid, -1"ERRO: Você não pode utilizar este Comando!");
    if(
sscanf(params"s"mensagem)) return SendClientMessage(playerid, -1"Uso Correto: /v [mensagem]");
    {
        new 
StrMSG[165], Nick[24];
        
GetPlayerName(playeridNicksizeof(Nick));
        
format(StrMSGsizeof(StrMSG), "*~~Vip_Chat~~* %s (%d): %s"Nickplayeridmensagem);
        for(new 
0GetMaxPlayers(); i++)
        {
            if(
PlayerVip[i] == true)
            {
                
SendClientMessage(i0xFFC458AAStrMSG);
            }
        }
    }
    return 
true;
}
CMD:cc(playeridparams[])
{
    new 
idcarro;
    if(
PlayerVip[playerid] == false) return SendClientMessage(playerid, -1"ERRO: Você não pode utilizar este Comando!");
    if(
sscanf(params"d"idcarro)) return SendClientMessage(playerid, -1"Uso Correto: /v [mensagem]");
    {
        new 
Float:pXFloat:pYFloat:pZFloat:pA;
        
GetPlayerPos(playeridpXpYpZ);
        
GetPlayerFacingAngle(playeridpA);
        
CreateVehicle(idcarropX+5pYpZ+1pArandom(100), random(100), -1);
        
SendClientMessage(playerid, -1"Veiculo Criado!");
    }
    return 
true;
}  
Não Removam Os Creditos, Obrigado.

Download:
Pastebin

Creditos: DanDRT

0 comentários:

Postar um comentário