Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Sistema de VIP feito por Bruno Pereira, favor não retire os créditos, isso é crime!
- Pode modificalo de qualquer maneira, mas deixe pelo menos os créditos :)!
- Contato: [email]brunopereiraa-@hotmail.com[/email]
- Skype: grt.figa
- É nois !!! */
- // ====== INCLUDES =======//
- #include <a_samp>
- #include <foreach>
- #include <SII>
- #include <zcmd>
- #include <sscanf2>
- // ===== OTIMIZAÇÃOZINHA kk ====== //
- #if defined MAX_PLAYERS
- #undef MAX_PLAYERS
- #endif
- #define SLOTS 20
- // ===== CORES ===== //
- #define COR_VIP 0xFFBEFFE2
- #define COR_AZULZINHO 0x00A5FFFF
- #define COR_AMARELO2 0xFFFF00AA
- #define COR_VERDE 0x00FF00FF
- #define COR_AZULZAO 0x005FFFFF
- // ======= NEWS ========= //
- new
- PlayerVip[SLOTS],// Variavel pra ver se o player é vip e o nivel vip dele
- _sStr[128],// Uma string global!
- iddele,// Variavel que vamos usar em comandos tipo: /ban [id]! o ID é a variavel iddele :)
- meses// Variavel dos meses que serão dado aos players vips!
- ;
- //======= PUBLICS ======= //
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------------------");
- print(" Carregando Sistema de Vip...");
- print(" Sistema de Vip carregado com sucesso!");
- print(" Sistema de Vip criado por Bruno Pereira ••");
- print("--------------------------------------------------\n");
- return 1;
- }
- public OnFilterScriptExit()
- {
- foreach(Player, i)// Loop em foreach!
- {
- SalvarVip(i);// Salva as contas!
- }
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- CarregarVip(playerid);// Carrega a conta vip do player!
- if(PlayerVip[playerid] == 1)// Se ele for VIP 1 manda essa mensagem pra todos online \/!
- {
- format(_sStr, 40, "O VIP %s está OnLine", pNome(playerid));
- SendClientMessageToAll(COR_VIP, _sStr);
- }
- else if(PlayerVip[playerid] == 2)
- {
- format(_sStr, 50, "O SUPER-VIP %s está OnLine", pNome(playerid));
- SendClientMessageToAll(COR_AZULZINHO, _sStr);
- }
- else if(PlayerVip[playerid] == 3)
- {
- format(_sStr, 50, "O SOCIO %s está OnLine", pNome(playerid));
- SendClientMessageToAll(COR_VERDE, _sStr);
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- SalvarVip(playerid);// Salva a conta do player!
- return 1;
- }
- // ======== COMANDOS ========== //
- CMD:ajudavip(playerid, params[])
- {
- if(PlayerVip[playerid] >= 1)// Se ele for VIP maior ou igual a um manda essa mensagem abaixo \/
- {
- SendClientMessage(playerid, -1, "/vips /socios /equiparvip");
- }
- if(IsPlayerAdmin(playerid))// Se ele for admin, manda essa tambem \/
- {
- SendClientMessage(playerid, -1, "/darvip /darsvip /darsocio /tirarvip");
- }
- return 1;
- }
- CMD:vips(playerid, params[])
- {
- SendClientMessage(playerid, -1 , "VIPs e Super-Vips onlines:");// Mensagem
- foreach(Player, i)// Loop
- {
- if(IsPlayerConnected(i))// Verifica os players vips conectados!
- {
- if(PlayerVip[playerid] == 1)// Se os players vips forem igual a 1 (vip normal) manda isso abaixo \/!
- {
- format(_sStr, 40, "VIP: %s", pNome(i));// formata a mensagem
- SendClientMessage(playerid, COR_VIP, _sStr);// envia a mensagem
- }
- else if(PlayerVip[playerid] == 2)
- {
- format(_sStr, 40, "SUPER-VIP: %s", pNome(i));
- SendClientMessage(playerid, COR_AZULZINHO, _sStr);
- }
- }
- }
- return 1;
- }
- CMD:socios(playerid, params[])
- {
- SendClientMessage(playerid, -1 , "Socios Onlines:");
- foreach(Player, i)
- {
- if(IsPlayerConnected(i))
- {
- if(PlayerVip[playerid] == 3)
- {
- format(_sStr, 40, "SOCIO: %s", pNome(i));
- SendClientMessage(playerid, COR_VERDE, _sStr);
- }
- }
- }
- return 1;
- }
- CMD:darvip(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid))// Se o cara NAO for admin (!) manda a mensagem!
- return SendClientMessage(playerid, -1, "Você não está autorizado a usar esse comando !");
- if(sscanf(params, "ud", iddele, meses))// Sscanf! * Se ele não preencher todos os campos manda a mensagem \/! *
- return SendClientMessage(playerid, -1, "Correto: /darvip [id] [meses]");// manda mensagem
- if(!IsPlayerConnected(iddele))// Se o "iddele" nao estiver conectado manda a mensagem!
- return SendClientMessage(playerid, -1, "Esse jogador não está online");// mensagem
- PlayerVip[iddele] = 1;// Seta o vip do cara pra 1
- SetPlayerScore(iddele, GetPlayerScore(iddele) + meses*2);// Verifica o level do player e seta o numero que o admin digitou no "meses" veses 2!
- GivePlayerMoney(iddele, meses*10000);// Da a quantidade grana pro player. A quantidade é o numero que o admin digitou no meses VESES 10 Mil!
- format(_sStr, 100, "Atenção o admin %s te deu %d meses VIP com %d Níveis e R$ %d.", pNome(playerid), meses, meses*2, meses*10000);// Formata a mensagem!
- SendClientMessage(iddele, COR_AZULZAO, _sStr);// Manda a mensagem!
- format(_sStr, 100, "Você deu %d meses de VIP para o %s", meses, pNome(iddele));
- SendClientMessage(playerid, COR_AZULZAO, _sStr);
- return 1;
- }
- CMD:darsvip(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid))
- return SendClientMessage(playerid, -1, "Você não está autorizado a usar esse comando !");
- if(sscanf(params, "ud", iddele, meses))
- return SendClientMessage(playerid, -1, "Correto: /darsvip [id] [meses]");
- if(!IsPlayerConnected(iddele))
- return SendClientMessage(playerid, -1, "Esse jogador não está online");
- PlayerVip[iddele] = 2;
- SetPlayerScore(iddele, GetPlayerScore(iddele) + meses*3);
- GivePlayerMoney(iddele, meses*20000);
- format(_sStr, 100, "Atenção o admin %s te deu %d meses SUPER-VIP com %d Níveis e R$ %d.", pNome(playerid), meses, meses*3, meses*20000);
- SendClientMessage(iddele, COR_AZULZAO, _sStr);
- format(_sStr, 100, "Você deu %d meses de SUPER-VIP para o %s", meses, pNome(iddele));
- SendClientMessage(playerid, COR_AZULZAO, _sStr);
- return 1;
- }
- CMD:darsocio(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid))
- return SendClientMessage(playerid, -1, "Você não está autorizado a usar esse comando !");
- if(sscanf(params, "ud", iddele, meses))
- return SendClientMessage(playerid, -1, "Correto: /darsocio [id] [meses]");
- if(!IsPlayerConnected(iddele))
- return SendClientMessage(playerid, -1, "Esse jogador não está online");
- PlayerVip[iddele] = 3;
- SetPlayerScore(iddele, GetPlayerScore(iddele) + meses*4);
- GivePlayerMoney(iddele, meses*30000);
- format(_sStr, 100, "Atenção o admin %s te deu %d meses de Sócio com %d Níveis e R$ %d.", pNome(playerid), meses, meses*4, meses*30000);
- SendClientMessage(iddele, COR_AZULZAO, _sStr);
- format(_sStr, 100, "Você deu %d meses de Sócio para o %s", meses, pNome(iddele));
- SendClientMessage(playerid, COR_AZULZAO, _sStr);
- return 1;
- }
- CMD:tirarvip(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid))
- return SendClientMessage(playerid, -1, "Você não está autorizado a usar esse comando !");
- if(sscanf(params, "u", iddele))
- return SendClientMessage(playerid, -1, "Correto: /tirarvip [id]");
- if(!IsPlayerConnected(iddele))
- return SendClientMessage(playerid, -1, "Esse jogador não está online");
- if(PlayerVip[iddele] == 0)
- return SendClientMessage(playerid, -1, "Esse jogador não é VIP/S-VIP/SOCIO");
- PlayerVip[iddele] = 0;// Seta o nivel vip do cara pra 0!
- format(_sStr, 80, "O administrador %s tirou seu VIP/S-VIP/SOCIO!", pNome(playerid));
- SendClientMessage(iddele, COR_AZULZAO, _sStr);
- format(_sStr, 80, "Você tirou o VIP/S-VIP/SOCIO do %s", pNome(iddele));
- SendClientMessage(playerid, COR_AZULZAO, _sStr);
- format(_sStr, 35, "Vips/%s.ini", pNome(playerid));// Formata o local da Pasta!
- if(fexist(_sStr))// Se a o arquivo existir, remove ele \/
- {
- INI_Remove(_sStr);// Remove o arquivo!
- }
- return 1;
- }
- CMD:equiparvip(playerid, params[])
- {
- if(PlayerVip[playerid] == 1)// Se ele for VIP vai dar essas armas:
- {
- GivePlayerWeapon(playerid, 24, 999);
- GivePlayerWeapon(playerid, 31, 999);// Da a armas 31 com 999 balas ao player!
- SendClientMessage(playerid, COR_AZULZINHO, "Você pegou seus equipamentos VIP!");
- }
- else if(PlayerVip[playerid] == 2)// Se ele for SuperVip vai dar essas armas:
- {
- SetPlayerHealth(playerid, 100);
- GivePlayerWeapon(playerid, 24, 999);
- GivePlayerWeapon(playerid, 31, 999);
- GivePlayerWeapon(playerid, 4, 999);
- GivePlayerWeapon(playerid, 29, 999);
- SendClientMessage(playerid, COR_AZULZINHO, "Você pegou seus equipamentos SUPER VIP!");
- }
- else if(PlayerVip[playerid] == 3)// Se ele for Sócio vai dar essas armas:
- {
- SetPlayerHealth(playerid, 100);
- SetPlayerArmour(playerid, 100);
- GivePlayerWeapon(playerid, 24, 999);
- GivePlayerWeapon(playerid, 31, 999);
- GivePlayerWeapon(playerid, 4, 999);
- GivePlayerWeapon(playerid, 29, 999);
- GivePlayerWeapon(playerid, 38, 999);
- GivePlayerWeapon(playerid, 46, 999);
- SendClientMessage(playerid, COR_AZULZINHO, "Você pegou seus equipamentos de SÓCIO!");
- }
- else if(PlayerVip[playerid] == 0)// Se ele nao for VIP, vai mandar essa mensagem :)
- return SendClientMessage(playerid, -1, "Você não é vip!");
- return 1;
- }
- CMD:salvarvips(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid))
- return SendClientMessage(playerid, -1, "Você não está autorizado a usar esse comando !");
- foreach(Player, i)// Loop
- {
- SalvarVip(i); // Salva as contas!
- }
- SendClientMessage(playerid, -1, "Todos os Vips/Super-Vips/Socios onlines foram salvos com sucesso!");
- return 1;
- }
- CMD:chatvip(playerid, params[])
- {
- new String[128];// String!
- if(PlayerVip[playerid] == 0)// Se o player não for VIP manda amensagem abaixo!
- return SendClientMessage(playerid, -1, "Você não é Vip/Super-Vip/Sócio");
- if(sscanf(params, "s[100]", _sStr))//Sscanf!
- return SendClientMessage(playerid, -1, "Correto: /chatvip [chat]");
- if(PlayerVip[playerid] == 1)// Se o cara for VIP nivel 1...
- {
- format(String, 128, "VIP %s: %s", pNome(playerid), _sStr);
- MensagemVips(COR_AMARELO2, String);
- }
- else if(PlayerVip[playerid] == 2)// Se for vip nivel 2
- {
- format(String, 128, "SUPER-VIP %s: %s", pNome(playerid), _sStr);
- MensagemVips(COR_AMARELO2, String);
- }
- else if(PlayerVip[playerid] == 3)// se for vip nivel 3
- {
- format(String, 128, "* SOCIO %s: %s", pNome(playerid), _sStr);
- MensagemVips(COR_AMARELO2, String);
- }
- return 1;
- }
- forward MensagemVips(cor, string[]);
- public MensagemVips(cor, string[])// Função que envia mensagem pros VIPS!!
- {
- foreach(Player, i)// Loop!
- {
- if(IsPlayerConnected(i))// Players vips conectados!
- {
- if(PlayerVip[i] >= 1)// Se o vip for maior que 1
- {
- SendClientMessage(i, cor, string);// manda a mensagem!
- }
- }
- }
- }
- // ========= STOCKS ========= //
- stock pNome(playerid)// Stock de getar o nome :)
- {
- new nome[MAX_PLAYER_NAME];
- GetPlayerName(playerid, nome, sizeof(nome));
- return nome;
- }
- stock SalvarVip(playerid)// Stock de salvar VIP!
- {
- if(PlayerVip[playerid] >= 1)// Se o cara for maior ou igual a 1
- {
- format(_sStr, 35, "Vips/%s.ini", pNome(playerid));// Formata o local do arquivo!
- if(INI_Open(_sStr))// Abre o arquivo!
- {
- INI_WriteInt("NivelVip", PlayerVip[playerid]);// Seta o NivelVip = NIVEL DO VIP DO PLAYER!
- INI_Save();// Salva
- INI_Close();// Fecha o arquivo!
- }
- }
- return 1;
- }
- stock CarregarVip(playerid)
- {
- format(_sStr, 35, "Vips/%s.ini", pNome(playerid));// Formata...
- if(INI_Open(_sStr))// Abre o arquivo!
- {
- PlayerVip[playerid] = INI_ReadInt("NivelVip");// Seta o PlayerVip[playerid] para o numero que estiver no NivelVip...
- INI_Close();// Fecha o arquivo!
- }
- return 1;
- }
- /* Sistema de VIP feito por Bruno Pereira, favor não retire os créditos, isso é crime!
- Pode modificalo de qualquer maneira, mas deixe pelo menos os créditos :)!
- Contato: [email]brunopereiraa-@hotmail.com[/email]
- Skype: grt.figa
- É nois !!! */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement