[FilterScript] Sistema VIP

12 de jul. de 2013.
iVIP By mau.tito

Esses dias fiquei sem internet ai fiz um sistema vip aqui pra mim não perder o ritmo de programar, pois não mecho no computador, quando não tem net ai fiz o sistema vip. Ele e movido a cash, e por dias, ele possui alguns comandos.


Codigo:

pawn Código:
/*------------------------------------------------------------------------------                                * Sistema Vip                         By _ mau.tito ( Mauricio Moraes) --------------------------------------------------------------------------------*/ #include        a_samp #include        DOF2 #include        zcmd #include        sscanf2 // ----------------------------------------------------------------------------- #define         CallBack::%0(%1)                            forward %0(%1);\                                                                         public %0(%1) //------------------------------------------------------------------------------ #define         VIP'S        ( "/Vips/%s.ini" ) #define         MAX_VIPS     ( 100 ) enum pVipInfo {      iCash,      iVip,      iDias } new InfoVip [ MAX_VIPS ] [ pVipInfo ] ; new Nome [ MAX_PLAYER_NAME ] ; public OnFilterScriptInit(){return 1;} public OnFilterScriptExit() {     for ( new i=0; i<MAX_VIPS; i++)        if ( IsPlayerConnected ( i ) )           SaveVip ( i ) , DOF2::Exit ( ) ;     return 1; } public OnPlayerConnect(playerid) {     LoadVip ( playerid ) ;     if ( InfoVip [ playerid ] [ iVip ] > 0 )         SendClientMessage ( playerid , -1 , "°iVip° Você está logado numa conta VIP.") ;     if ( InfoVip [ playerid ] [ iDias ]  <= 0 )         InfoVip [ playerid ] [ iVip ] = 0 , InfoVip [ playerid ] [ iDias ] = 0 , SendClientMessage ( playerid , -1 , "°iVip° Seu VIP expirou" ) ;     return 1; } public OnPlayerDisconnect(playerid, reason) {     SaveVip ( playerid ) ;     return 1; } public OnPlayerSpawn(playerid) {      if ( InfoVip [ playerid ] [ iVip ] == 1 )          SetPlayerArmour ( playerid , 50 ) , SetPlayerHealth ( playerid , 100 );      else if ( InfoVip [ playerid ] [ iVip ] == 2 )          SetPlayerArmour ( playerid , 80 ) , SetPlayerHealth ( playerid , 100 );      else if ( InfoVip [ playerid ] [ iVip ] == 3 )          SetPlayerArmour ( playerid , 80 ) , SetPlayerHealth ( playerid , 100 ) , GivePlayerWeapon ( playerid , 24 , 500 ) ;      return 1; } public OnPlayerUpdate(playerid) {     if ( InfoVip [ playerid ] [ iVip ] == 0 )         RemoveVip ( playerid ) ;     return 1; } //------------------------------------------------------------------------------ command(darvip, playerid, params[]) {      new ID , Stats , Dias;      if ( IsPlayerAdmin ( playerid ) )      {         if ( sscanf ( params  , "uii" , ID , Stats , Dias ) )         {             SendClientMessage ( playerid , -1 , "°iCMD° /darvip [ Nome/ID ] [ Stats/Level ] [ Dias ] " ) ;             return 1;         }         SendClientMessage ( playerid , -1 , "°iSet° Você setou o player ! " ) ;         SendClientMessage ( ID , -1 , "°iSet° Você foi setado pelo administrado , agora você eé um VIP !! " ) ;         InfoVip [ ID ] [ iVip ] = Stats ;         InfoVip [ ID ] [ iDias ] = ( gettime ( ) + ( Dias * 24 * 60 * 60 ) ) ;         return 1;      }      else SendClientMessage ( playerid , -1 , "°iErro° Você não e administrador . " ) ;      return 1; } command(tirarvip, playerid, params[]) {      new ID ;      if ( IsPlayerAdmin ( playerid ) )      {         if ( sscanf ( params  , "u" , ID ) )         {             SendClientMessage ( playerid , -1 , "°iCMD° /darvip [ Nome/ID ] " ) ;             return 1;         }         if ( InfoVip [ ID ] [ iVip ] == 0 ) return SendClientMessage( playerid , -1 , "°iErro° Este player não e VIP ." ) ;         SendClientMessage ( playerid , -1 , "°iSet° Você setou o player ! " ) ;         SendClientMessage ( ID , -1 , "°iSet° Você foi setado pelo administrado , agora você não é mais VIP !! " ) ;         InfoVip [ ID ] [ iVip ] = 0 ;         InfoVip [ ID ] [ iDias ] = 0 ;         return 1;      }      else SendClientMessage ( playerid , -1 , "°iErro° Você não e administrador . " ) ;      return 1; } command(darcash, playerid , params [] ) {      new ID , Quant ;      if ( IsPlayerAdmin ( playerid ) )      {         if ( sscanf ( params  , "ui" , ID , Quant ) )         {             SendClientMessage ( playerid , -1 , "°iCMD° /darcash [ Nome/ID ] [ Quantidade ]  " ) ;             return 1;         }         SendClientMessage ( playerid , -1 , "°iSet° Você setou o player ! " ) ;         SendClientMessage ( ID , -1 , "°iSet° Você foi setado pelo administrado !! " ) ;         InfoVip [ ID ] [ iCash ] += Quant ;      }      else SendClientMessage ( playerid , -1 , "°iErro° Você não e administrador . " ) ;      return 1; } command(comprarvip, playerid, params[]) {      new Estilo ;      if ( sscanf ( params  , "i" , Estilo ) )      {             SendClientMessage ( playerid , -1 , "°iCMD° /comprarvip [ Estilo ]  " ) ;             SendClientMessage ( playerid , -1 , "°iStats° VIP Level 1 : 5000 Cash" ) ;             SendClientMessage ( playerid , -1 , "°iStats° VIP Level 2 : 10000 Cash" ) ;             SendClientMessage ( playerid , -1 , "°iStats° VIP Level 3 : 20000 Cash" ) ;             return 1;      }      if ( Estilo < 1 || Estilo > 3 ) return SendClientMessage ( playerid , -1 , "°iErro° So entre 1 a 3 " ) ;      if ( Estilo == 1 )      {          if ( InfoVip [ playerid ] [ iCash ] < 5000 ) return SendClientMessage ( playerid , -1 , "°iErro° Você não tem todo o cash para efetuar a compra !");          InfoVip [ playerid ] [ iVip ] = 1 ;          InfoVip [ playerid ] [ iCash ] -= 5000 ;          SendClientMessage ( playerid , -1 , "°iCompra° Compra efetuada com sucesso !" ) ;          InfoVip [ playerid ] [ iDias ] = ( gettime ( ) + ( 1 * 24 * 60 * 60 ) ) ;      }      if ( Estilo == 2 )      {          if ( InfoVip [ playerid ] [ iCash ] < 10000 ) return SendClientMessage ( playerid , -1 , "°iErro° Você não tem todo o cash para efetuar a compra !");          InfoVip [ playerid ] [ iVip ] = 2 ;          InfoVip [ playerid ] [ iCash ] -= 10000 ;          SendClientMessage ( playerid , -1 , "°iCompra° Compra efetuada com sucesso !" ) ;          InfoVip [ playerid ] [ iDias ] = ( gettime ( ) + ( 1 * 24 * 60 * 60 ) ) ;      }      if ( Estilo == 3 )      {          if ( InfoVip [ playerid ] [ iCash ] < 20000 ) return SendClientMessage ( playerid , -1 , "°iErro° Você não tem todo o cash para efetuar a compra !");          InfoVip [ playerid ] [ iVip ] = 3 ;          InfoVip [ playerid ] [ iCash ] -= 20000 ;          SendClientMessage ( playerid , -1 , "°iCompra° Compra efetuada com sucesso !" ) ;          InfoVip [ playerid ] [ iDias ] = ( gettime ( ) + ( 1 * 24 * 60 * 60 ) ) ;      }      return 1; } command(vips, playerid , params [] ) {      new Cont, str[ 150 ] , Mauricio  [ MAX_PLAYER_NAME ] ;      for ( new i=0; i<MAX_VIPS; i++)      {          Cont ++ ;          GetPlayerName ( playerid , Mauricio , sizeof ( Mauricio ) ) ;          if ( IsPlayerConnected ( i )   &&  InfoVip [ i ] [ iVip ] > 0 )          {              format ( str , sizeof ( str ) , "(%i°) %s : %s | Dias : %i " , Cont , Mauricio , VipName ( i ) , InfoVip [ i ] [ iDias ]);              SendClientMessage ( playerid , -1 , str  ) ;              return 1;          }      }      return 1; } //------------------------------------------------------------------------------ CallBack::SaveVip ( playerid ) {     new file [ 50 ] ;     GetPlayerName ( playerid , Nome , sizeof ( Nome ) ) ;     format ( file , sizeof ( file ),  VIP'S , Nome ) ;     if ( !DOF2::FileExists ( file ) ) DOF2::CreateFile ( file ) ;     DOF2::SetInt ( file , "Cash" , InfoVip [ playerid ] [ iCash ] ) ;     DOF2::SetInt ( file , "Vip" , InfoVip [ playerid ] [ iVip ] ) ;     DOF2::SetInt ( file , "Dias" , InfoVip [ playerid ] [ iDias ] ) ;     DOF2::SaveFile();     return 1; } CallBack::LoadVip ( playerid ) {     new file [ 50 ] ;     GetPlayerName ( playerid , Nome , sizeof ( Nome ) ) ;     format ( file , sizeof ( file ),  VIP'S , Nome ) ;     if ( !DOF2::FileExists ( file ) ) CreatVip ( playerid ) ;     InfoVip [ playerid ] [ iCash ] = DOF2::GetInt ( file , "Cash" ) ;     InfoVip [ playerid ] [ iVip ] = DOF2::GetInt ( file , "Vip" ) ;     InfoVip [ playerid ] [ iDias ] = DOF2::GetInt ( file , "Dias") ;     return 1; } CallBack::CreatVip ( playerid ) {     new file [ 50 ] ;     GetPlayerName ( playerid , Nome , sizeof ( Nome ) ) ;     format ( file , sizeof ( file ),  VIP'S , Nome ) ;     DOF2::CreateFile ( file ) ;     DOF2::SetInt ( file , "Cash" , InfoVip [ playerid ] [ iCash ] ) ;     DOF2::SetInt ( file , "Vip" , InfoVip [ playerid ] [ iVip ] ) ;     DOF2::SetInt ( file , "Dias" , InfoVip [ playerid ] [ iDias ] ) ;     DOF2::SaveFile();     return 1; } CallBack::RemoveVip ( playerid ) {     new file [ 50 ] ;     GetPlayerName ( playerid , Nome , sizeof ( Nome ) ) ;     format ( file , sizeof ( file ),  VIP'S , Nome ) ;     if ( !DOF2::FileExists ( file ) )         print(" Conta não existe !! ");     else         DOF2_RemoveFile ( file ), print(" Foi removido uma conta VIP !!");     return 1; } stock VipName ( playerid ) {     new text [ 15 ] ;     if ( InfoVip [ playerid ] [ iVip ] == 1 ) text = "VIP Bronze" ;     else if ( InfoVip [ playerid ] [ iVip ] == 2 ) text = "VIP Ouro" ;     else if ( InfoVip [ playerid ] [ iVip ] == 3 ) text = "Socio" ;     return text; }
Créditos:
mau.tito

0 comentários:

Postar um comentário