Advertisement
garfield

[FS] Vip System Ver. BETA!

Aug 23rd, 2011
569
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 8.01 KB | None | 0 0
  1. // Sistema vip por: [iPs]SuYaNw
  2. // iPs  Team ~
  3. // Versão beta, então tire o olho!
  4.  
  5. #include <a_samp>
  6.  
  7. #define MAX_MONEY (10000)
  8.  
  9. new
  10.     Vip[MAX_PLAYERS],
  11.     string[128];
  12.  
  13. public OnPlayerConnect(playerid)
  14. {
  15.     Vip[playerid] = 0xFFFFFF;
  16.     return 1;
  17. }
  18. public OnPlayerCommandText(playerid, cmdtext[])
  19. {
  20.  
  21.     if(!strcmp(cmdtext,"/vcomandos", true))
  22.     {
  23.         if(IsPlayerAdmin(playerid))
  24.         {
  25.             SendClientMessage(playerid, 0xFF00FF,"[VIP]: Digite: /Darvip para dar vip para algum player");
  26.         }
  27.         SendClientMessage(playerid, -1,"[VIP]: /Vips, /Vidav, /Coletev, /Granav, /Invisivel, /Nickv, /Vnn");
  28.         SendClientMessage(playerid, -1,"[VIP]: /Irv.");
  29.         SendClientMessage(playerid, -1,"Atenção: Alguns comandos estão separados por quantidade,");
  30.         SendClientMessage(playerid, -1,"Dependendo do nivel vip você pode usálos por uma quantidade.");
  31.         return 1;
  32.     }
  33.     if(!strcmp(cmdtext,"/darvip",true,6))
  34.     {
  35.         if(!strlen(cmdtext[8]) || !strlen(cmdtext[10]))
  36.             return SendClientMessage(playerid, -1,"Correto: /Darvip [ID] [1-3]");
  37.            
  38.         if(!IsPlayerConnected(strval(cmdtext[8])))
  39.             return SendClientMessage(playerid, -1,"Player não conectado");
  40.            
  41.         if(0 < strval(cmdtext[10]) > 3)
  42.             return SendClientMessage(playerid, -1,"o Nível máximo é de 1 até 3");
  43.      
  44.         Vip[strval(cmdtext[8])] = strval(cmdtext[11]) ;
  45.  
  46.         format(string, 100,"[INFO]: o Administrador %s[ID:%i] deu a você membro vip %i (%s)",GetNick(strval(cmdtext[8])), playerid, strval(cmdtext[10]),Ranking(strval(cmdtext[8])));
  47.         SendClientMessage(strval(cmdtext[8]), -1, string);
  48.  
  49.         format(string, 100,"[INFO]: Você deu à %s[ID:%i]  membro vip %i (%s)",GetNick(strval(cmdtext[8])), strval(cmdtext[8]), strval(cmdtext[10]),Ranking(strval(cmdtext[8])));
  50.         SendClientMessage(playerid, -1, string);
  51.         return true;
  52.     }
  53.     if(!strcmp(cmdtext,"/Vips", true))
  54.     {
  55.         static bool: result;
  56.         for(new i; i < MAX_PLAYERS; ++i)
  57.         {
  58.             if(IsPlayerConnected(i) && Vip[i] > 0)
  59.             {
  60.                 format(string, sizeof(string),"[VIPS] Nome: %s[ID:%i] Nivel: %i",GetNick(i),i,Vip[i]);
  61.                 SendClientMessage(playerid, -1, string);
  62.                 result = true;
  63.             }
  64.         }
  65.         if(!result)
  66.             return SendClientMessage(playerid, -1,"No momento não se encontra nenhum membro vip.");
  67.         return true;
  68.     }
  69.     if(!strcmp(cmdtext,"/vidav", true))
  70.     {
  71.         if(Vip[playerid] < 0)
  72.             return SendClientMessage(playerid, -1,"[ERRO]: Você não tem nível suficiente para realizar este comando.");
  73.  
  74.         SetPlayerHealth(playerid, 100);
  75.        
  76.         format(string, sizeof(string),"[VIP]: %s[ID:%i] Acabou de comprar vida!", GetNick(playerid), playerid);
  77.         SendMessageForProx(playerid, 50.0, -1, string);
  78.         return true;
  79.     }
  80.     if(!strcmp(cmdtext,"/coletev", true))
  81.     {
  82.         if(Vip[playerid] < 0)
  83.             return SendClientMessage(playerid, -1,"[ERRO]: Você não tem nível suficiente para realizar este comando.");
  84.  
  85.         SetPlayerHealth(playerid, 100);
  86.  
  87.         format(string, sizeof(string),"[VIP]: %s[ID:%i] Acabou de comprar colete!", GetNick(playerid), playerid);
  88.         SendMessageForProx(playerid, 50.0, -1, string);
  89.         return true;
  90.     }
  91.     if(!strcmp(cmdtext,"/armav", true,5))
  92.     {
  93.         if(Vip[playerid] < 0)
  94.             return SendClientMessage(playerid, -1,"[ERRO]: Você não tem nível suficiente para realizar este comando.");
  95.            
  96.         if(!strlen(cmdtext[7]))
  97.             return SendClientMessage(playerid, -1,"[INFO]: Digite: /Armav [ID]");
  98.  
  99.         GivePlayerWeapon(playerid, strval(cmdtext[7]), 100);
  100.        
  101.         format(string, sizeof(string),"[VIP]: %s[ID:%i] Acabou de comprar a arma %i!", GetNick(playerid), playerid, strval(cmdtext[7]));
  102.         SendMessageForProx(playerid, 50.0, -1, string);
  103.         return true;
  104.     }
  105.     if(!strcmp(cmdtext,"/granav", true, 6))
  106.     {
  107.         if(Vip[playerid] < 0)
  108.             return SendClientMessage(playerid, -1,"[ERRO]: Você não tem nível suficiente para realizar este comando.");
  109.            
  110.         if(strval(cmdtext[8]) > MAX_MONEY)
  111.             return SendClientMessage(playerid, -1,"[ERRO]: o dinheiro pedido é maior que o limite!");
  112.  
  113.         GivePlayerMoney(playerid, strval(cmdtext[8]));
  114.        
  115.         format(string, sizeof(string),"[VIP]: %s[ID:%i] Acabou de receber grana!", GetNick(playerid), playerid);
  116.         SendMessageForProx(playerid, 50.0, -1, string);
  117.         return true;
  118.     }
  119.     if(!strcmp(cmdtext,"/invisivel", true))
  120.     {
  121.         if(Vip[playerid] < 0)
  122.             return SendClientMessage(playerid, -1,"[ERRO]: Você não tem nível suficiente para realizar este comando.");
  123.  
  124.         format(string, sizeof(string),"[VIP]: %s[ID:%i] Acabou de se esconder no mapa!", GetNick(playerid), playerid);
  125.         SendMessageForProx(playerid, 50.0, -1, string);
  126.        
  127.         for(new i; i < MAX_PLAYERS; ++i)
  128.         {
  129.             if(IsPlayerConnected(i) && Vip[i] < 2)
  130.             {
  131.                 SetPlayerMarkerForPlayer(playerid, i, GetPlayerColor(i));
  132.             }
  133.         }
  134.         return true;
  135.     }
  136.     if(!strcmp(cmdtext,"/nickv", true,4))
  137.     {
  138.         if(Vip[playerid] < 0)
  139.             return SendClientMessage(playerid, -1,"[ERRO]: Você não tem nível suficiente para realizar este comando.");
  140.            
  141.         if(!strlen(cmdtext[6]))
  142.             return SendClientMessage(playerid, -1,"[ERRO]: Correto: /Nome [Novo Nome]");
  143.            
  144.         if(3 < strlen(cmdtext[6]) > 24)
  145.             return SendClientMessage(playerid, -1,"[ERRO]: o Nome tem que ser maior que 3 e menor que 24 caracteres.");
  146.            
  147.         static
  148.             string2[24];
  149.            
  150.         GetPlayerName(playerid, string2, 24);
  151.         SetPlayerName(playerid, cmdtext[6]);
  152.        
  153.         format(string, sizeof(string),"[VIP]: %s[ID:%i] Acabou de mudar de nick. para %s!", string2, playerid, GetNick(playerid));
  154.         SendMessageForProx(playerid, 50.0, -1, string);
  155.         return true;
  156.     }
  157.     if(!strcmp(cmdtext,"/vnn", true,3))
  158.     {
  159.         if(Vip[playerid] < 2)
  160.             return SendClientMessage(playerid, -1,"[ERRO]: Você não tem nível suficiente para realizar este comando.");
  161.            
  162.         format(string, sizeof(string),"~r~[VIP]~b~%s~w~:%s",GetNick(playerid), cmdtext[7]);
  163.         GameTextForPlayer(strval(cmdtext[5]), string, 3000, 4);
  164.        
  165.         format(string, sizeof(string),"[VIP]: %s[ID:%i] Anunciou para o %s[ID:%i] Mensagem:%s", GetNick(playerid), playerid, GetNick(strval(cmdtext[5])), strval(cmdtext[5]), cmdtext[7]);
  166.         SendMessageToAdmins(-1, string);
  167.         return true;
  168.     }
  169.     if(!strcmp(cmdtext,"/irv", true, 3))
  170.     {
  171.         if(Vip[playerid] < 3)
  172.             return SendClientMessage(playerid, -1,"[ERRO]: Você não tem nível suficiente para realizar este comando.");
  173.  
  174.         if(!strval(cmdtext[5]))
  175.             return SendClientMessage(playerid, -1,"[ERRO]: Correto: /Irv [Id do player]");
  176.            
  177.         static
  178.             Float:x_,Float:Y_,Float:Z_, vw, inter;
  179.            
  180.         GetPlayerPos(strval(cmdtext[5]), x_, Y_, Z_);
  181.         inter = GetPlayerInterior(strval(cmdtext[5]));
  182.         vw = GetPlayerVirtualWorld(strval(cmdtext[5]));
  183.        
  184.         SetPlayerPos(playerid, x_, Y_, Z_);
  185.         SetPlayerInterior(playerid, inter);
  186.         SetPlayerVirtualWorld(playerid, vw);
  187.        
  188.         format(string, sizeof(string),"[VIP]: Você foi até %s[ID:%i]", GetNick(strval(cmdtext[5])), strval(cmdtext[5]));
  189.         SendClientMessage(playerid, -1, string);
  190.         format(string, sizeof(string),"[VIP]: %s[ID:%i] foi até %s[ID:%i]",GetNick(playerid), playerid, GetNick(strval(cmdtext[5])), strval(cmdtext[5]));
  191.         SendMessageToAdmins(-1, string);
  192.         SendMessageForProx(playerid, 50.0, -1, string);
  193.         return true;
  194.     }
  195.     return 0;
  196. }
  197. stock GetNick(p)
  198. {
  199.     static Name[24];
  200.     GetPlayerName(p, Name,24);
  201.     return Name;
  202. }
  203. stock SendMessageForProx(playerid, Float:range,color, messageid[])
  204. {
  205.     static
  206.         Float:_Y,
  207.         Float:_X,
  208.         Float:_Z;
  209.     GetPlayerPos(playerid, _X, _Y,_X);
  210.     for(new i; i < MAX_PLAYERS; ++i)
  211.     {
  212.         if(IsPlayerConnected(i))
  213.         {
  214.             if(IsPlayerInRangeOfPoint(i, range, _X,_Y,_Z))
  215.             {
  216.                 SendClientMessage(i, color, messageid);
  217.             }
  218.         }
  219.     }
  220. }
  221. stock SendMessageToAdmins(color, msg[])
  222. {
  223.     for(new i; i < MAX_PLAYERS; ++i)
  224.     {
  225.         if(IsPlayerConnected(i) && IsPlayerAdmin(i))
  226.         {
  227.             SendClientMessage(i, color, msg);
  228.         }
  229.     }
  230. }
  231. Ranking(pid)
  232. {
  233.     static a[50];
  234.     if(Vip[pid] == 0) a = "Player Regular";
  235.     if(Vip[pid] == 1) a = "Vip Ajudante";
  236.     if(Vip[pid] == 2) a = "Vip Colaborador";
  237.     if(Vip[pid] == 3) a = "Vip Master";
  238.     return a;
  239. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement