SHARE
TWEET

Untitled

a guest Feb 27th, 2018 382 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*-----------------------------------------------------------------*\
  2. |             ______ ____ _____ ___   __                            |
  3. |            / ____ / _  / ____/  /  /  /                           |
  4. |            \___  /  __/ __/ /  /__/  /___                         |
  5. |           /_____/_ / /____//_____/______/                         |
  6. |                /\  /|   __    __________ _________                |
  7. |               /  \/ |  /  |  /  ___  __/ ___/ _  /                |
  8. |              /      | / ' | _\  \ / / / __//  __/                 |
  9. |             /  /\/| |/_/|_|/____//_/ /____/_/\ \                  |
  10. |            /__/   |_|      npc Script         \/                  |
  11. |                                                                   |
  12. +-------------------------------------------------------------------+
  13. |                     Projeto Ragnarok Online                       |
  14. +-------------------------------------------------------------------+
  15. | - Criação: Spell Master 16/07/2011                                |
  16. +-------------------------------------------------------------------+
  17. | - 17/05/2013:                                                     |
  18.                 Atualizado para novo source cord rAthena.           |
  19. | - 22/09/2014:                                                     |
  20. |               Atualizado conforme a nova estrutura do banco de    |
  21. |                dados do rAthena.                                  |
  22. | - 04/12/2014:                                                     |
  23. |               Adicionado função de checagem se é verdadeira a     |
  24. |                doação na conta do banco.                          |
  25. | - 13/07/2015:                                                     |
  26. |               Adicionado função para manipulação de GM.           |
  27. | - 15/11/2015:                                                     |
  28. |               Atualizado para compatibilidade com Hercules.       |
  29. | - 08/12/2016:                                                     |
  30. |               Removida funções de manipulação de cash.            |
  31. |               Removida referências ao Ticket de Vip.              |
  32. |               Removido desão de GM pois requer manipulação da     |
  33. |                da source, inviável para uso geral.                |
  34. |               Removido consulta para o ADM de verificar se o      |
  35. |                foi feita doação na conta do tesoureiro no banco,  |
  36. |                pois requer função php e manipulação de source se  |
  37. |                tornando iniável para o uso geral.                 |
  38. | - 09/12/2016:                                                     |
  39. |               Adicionado variáveis globais para definir atributos.|
  40. |               Atualizado para compatibilidade com Cronus.         |
  41. \*-----------------------------------------------------------------*/
  42.  
  43. -   script  #vip_manager    -1,{
  44.  
  45.  
  46.     // Configuração para noobs poderem usar o npc ^.^
  47.     .@Vip_Room$ = "quiz_00"; // Nome do mapa da sala vip
  48.     .@Vip_X = 67;            // Coordenadas
  49.     .@Vip_Y = 30;            // Coordenadas
  50.  
  51.     if(getgroupid() > 0 && getgroupid() < 10) {
  52.         mes "[VIP]";
  53.         mes "Olá ^FF0000"+strcharinfo(0)+"^000000";
  54.         while(1) {
  55.             next;
  56.             mes "[VIP]";
  57.             mes "O que posso fazer por você hoje?";
  58.             next;
  59.             switch(select("Ir para sala vip.:Consultar dias Vip restantes:Nada Obrigado")) {
  60.                 case 1:
  61.                 mes "[VIP]";
  62.                 mes "Volte sempre que precisar de meus serviços.";
  63.                 close2;
  64.                 warp .@Vip_Room$,.@Vip_X,.@Vip_Y;
  65.                 end;
  66.                 case 2:
  67.                 query_sql "SELECT DATE_FORMAT(`vip_days`, '%d/%m/%Y') FROM `login` WHERE `account_id`="+getcharid(3),.@VipDays$;
  68.                 mes "[VIP]";
  69.                 mes "Sua conta Vip é válida até o dia" +.@VipDays$;
  70.                 break;
  71.                 //case 3: Removida funções de consulta de cash
  72.                 //case 4: Removida funções de compra do ticket de vip
  73.                 //case 5: Trasformada em valor 3 para novo menu
  74.                 case 3:
  75.                 mes "[VIP]";
  76.                 mes "Volte sempre que precisar de meus serviços.";
  77.                 close;
  78.             }
  79.         }
  80.     }
  81.     else if(getgroupid() > 9 && getgroupid() < 99) {
  82.         mes "[VIP]";
  83.         mes "Olá membro da Staff ^FF0000"+strcharinfo(0)+"^000000";
  84.         mes "O que posso fazer por você hoje?";
  85.         next;
  86.         switch(select("Ir para sala vip.:Nada Obrigado")) {
  87.             case 1:
  88.             mes "[VIP]";
  89.             mes "Volte sempre que precisar de meus serviços.";
  90.             close2;
  91.             warp .@Vip_Room$,.@Vip_X,.@Vip_Y;
  92.             end;
  93.             case 2:
  94.             mes "[VIP]";
  95.             mes "Volte sempre que precisar de meus serviços.";
  96.             close;
  97.         }
  98.     }
  99.     else if(getgroupid() == 99) {
  100.         mes "[VIP]";
  101.         mes "Olá Administrador ^FF0000"+strcharinfo(0)+"^000000";
  102.         while(1) {
  103.             next;
  104.             mes "[VIP]";
  105.             mes "O que posso fazer por você hoje?";
  106.             next;
  107.             switch(select("Verificar Todas Vips:Verificar Conta vip:Adicionar Vip:Remover Vip:Nada Obrigado")) {
  108.                 //case 1: Removida checagem da doação
  109.                 //case 2: Removida manipulação de gm
  110.                 //case 3: Removida manipulação de cash point
  111.                 case 1:
  112.                 query_sql "SELECT `account_id`,`userid`,`group_id` FROM `login` WHERE `group_id` = 1",.@AccountId$,.@Userid$,.@GroupId;
  113.                 if(!.@GroupId) {
  114.                     mes "[VIP]";
  115.                     mes "Não foi encontrada nenhuma conta Vip apartir do ^BB0000group_id 1^000000";
  116.                     break;
  117.                 }
  118.                 mes "======================";
  119.                 for (.@i = 0; .@i < getarraysize(.@GroupId); ++.@i) {
  120.                     mes "^777777ID:^000000 "+.@AccountId$[.@i];
  121.                     mes "^777777Login:^000000 "+.@Userid$[.@i];
  122.                     mes "======================";
  123.                 }
  124.                 break;
  125.                 case 2:
  126.                 mes "[VIP]";
  127.                 mes "Por favor digite o ID ou login para verificar os dias vip na conta";
  128.                 next;
  129.                 input .@Account$;
  130.                 query_sql "SELECT `account_id` FROM `login` WHERE `userid`='"+.@Account$+"' OR `account_id`='"+.@Account$+"'",.@AccountCheck;
  131.                 if (!.@AccountCheck) {
  132.                     mes "[VIP]";
  133.                     mes "Conta inexistente.";
  134.                     break;
  135.                 }
  136.                 else {
  137.                     query_sql "SELECT DATE_FORMAT(`vip_days`, '%d/%m/%Y') FROM `login` WHERE `account_id`='"+.@Account$+"' OR `userid`='"+.@Account$+"'",.@VipDays$;
  138.                     if (.@VipDays$ == "") {
  139.                         mes "[VIP]";
  140.                         mes "A conta '^0000FF"+.@Account$+"^000000' não possui status Vip.";
  141.                         break;
  142.                     }
  143.                     else {
  144.                         mes "[VIP]";
  145.                         mes "A conta Vip de '^0000FF"+.@Account$+"^000000' é válida até o dia ^BB0000"+.@VipDays$+"^000000.";
  146.                         break;
  147.                     }
  148.                 }
  149.             case 3:
  150.             mes "[VIP]";
  151.             mes "Por favor digite o ID ou login para adicionar os dias vip na conta";
  152.             next;
  153.             input .@GetAccount$;
  154.             query_sql "SELECT `account_id`,`group_id` FROM `login` WHERE `userid`='"+.@GetAccount$+"' OR `account_id`='"+.@GetAccount$+"'",.@AccountCheck,.@GroupCheck;
  155.             if (!.@AccountCheck) {
  156.                 mes "[VIP]";
  157.                 mes "Conta inexistente.";
  158.                 break;
  159.             }
  160.             mes "[VIP]";
  161.             mes "Quantos dias vip?";
  162.             next;
  163.             input .@GetVipTime;
  164.             if (.@GroupCheck > 9) {
  165.                 mes "[VIP]";
  166.                 mes "^FF0000Não é possível adicionar Vip a conta^000000 "+.@GetAccount$+".";
  167.                 mes "^FF0000Porque ela é uma conta Administrativa^000000!";
  168.                 break;
  169.             }
  170.             else if (.@GroupCheck == 1) {
  171.                 mes "[VIP]";
  172.                 mes "Esta conta já possui status Vip.";
  173.                 mes "Deseja almentar mais "+.@GetVipTime+" dias vip a conta?";
  174.                 next;
  175.                 switch(select("Adicionar VIP:Cancelar")) {
  176.                     case 1:
  177.                     query_sql "UPDATE `login` SET `group_id` = '1', `vip_days` = DATE_ADD(`vip_days`,INTERVAL "+.@GetVipTime+" DAY) WHERE `group_id` = '1' AND `account_id`='"+.@GetAccount$+"' OR `userid`='"+.@GetAccount$+"'";
  178.                     mes "[VIP]";
  179.                     mes "Foi adicionado ^FF0000"+.@GetVipTime+"^000000 dias vip na conta ^0000FF"+.@GetAccount$+"^000000.";
  180.                     break;
  181.                     case 2:
  182.                     break;
  183.                 }
  184.                 break;
  185.             }
  186.             else {
  187.                 query_sql "UPDATE `login` SET `group_id` = '1', `vip_days` = DATE_ADD(CURDATE(),INTERVAL "+.@GetVipTime+" DAY) WHERE `group_id` = '0' AND `account_id`='"+.@GetAccount$+"' OR `userid`='"+.@GetAccount$+"'";
  188.                 mes "[VIP]";
  189.                 mes "Foi adicionado ^FF0000"+.@GetVipTime+"^000000 dias vip na conta ^0000FF"+.@GetAccount$+"^000000.";
  190.                 break;
  191.             }
  192.             case 4:
  193.                 mes "[VIP]";
  194.                 mes "Por favor digite o ID ou login para Remover os dias vip na conta";
  195.                 next;
  196.                 input .@VipRemove$;
  197.                 query_sql "SELECT `account_id`,`group_id` FROM `login` WHERE `userid`='"+.@VipRemove$+"' OR `account_id`='"+.@VipRemove$+"'",.@RemoveCheck,.@VipCheck;
  198.                 if (!.@RemoveCheck) {
  199.                     mes "[VIP]";
  200.                     mes "Conta inexistente.";
  201.                     break;
  202.                 }
  203.                 if (.@VipCheck > 9) {
  204.                     mes "[VIP]";
  205.                     mes "^FF0000Não é possível remover Vip da conta^000000 "+.@VipRemove$+".";
  206.                     mes "^FF0000Porque ela é uma conta Administrativa^000000!";
  207.                     break;
  208.                 }
  209.                 else if (.@VipCheck == 1) {
  210.                     mes "[VIP]";
  211.                     mes "Tem certesa que deseja remover os dias vips da conta "+.@VipRemove$+"?";
  212.                     next;
  213.                     switch(select("Tenho Sim:Cancelar")) {
  214.                         case 1:
  215.                         query_sql "UPDATE `login` SET `group_id` = 0, `vip_days` = NULL WHERE `group_id` = '1' AND `account_id`='"+.@VipRemove$+"' OR `userid`='"+.@VipRemove$+"'";
  216.                         mes "[VIP]";
  217.                         mes "Status Vip removido da conta ^0000FF"+.@VipRemove$+"^000000.";
  218.                         mes "Porém só será válido após o jogador deslogar.";
  219.                         break;
  220.                         case 2:
  221.                         break;
  222.                     }
  223.                     break;
  224.                 }
  225.                 else {
  226.                     mes "[VIP]";
  227.                     mes "^FF0000Não é possível remover Vip da conta^000000 "+.@VipRemove$+".";
  228.                     mes "^FF0000Porque ela não contém status de Vip^000000!";
  229.                     break;
  230.                 }
  231.             case 5:
  232.             mes "[VIP]";
  233.             mes "Volte sempre que precisar de meus serviços.";
  234.             close;
  235.             }
  236.         }
  237.     }
  238.     else {
  239.         mes "[VIP]";
  240.         mes "Olá ^FF0000"+strcharinfo(0)+"^000000";
  241.         mes "Está perdio?";
  242.         close;
  243.         // Remoção dos artigos referentes aos dados removidos
  244.     }
  245.  
  246. }
  247.  
  248. prontera,160,186,4  duplicate(#vip_manager) Emisária Vip#Evip1 4_F_AGENTKAFRA
  249. morocc,153,81,4 duplicate(#vip_manager) Emisária Vip#Evip2 4_F_AGENTKAFRA
  250. geffen,133,64,4 duplicate(#vip_manager) Emisária Vip#Evip3 4_F_AGENTKAFRA
  251. payon,163,124,4 duplicate(#vip_manager) Emisária Vip#Evip4 4_F_AGENTKAFRA
  252. alberta,104,76,4    duplicate(#vip_manager) Emisária Vip#Evip5 4_F_AGENTKAFRA
  253. izlude,120,96,4 duplicate(#vip_manager) Emisária Vip#Evip6 4_F_AGENTKAFRA
  254. aldebaran,154,111,4 duplicate(#vip_manager) Emisária Vip#Evip7 4_F_AGENTKAFRA
  255. xmas,162,114,4  duplicate(#vip_manager) Emisária Vip#Evip8 4_F_AGENTKAFRA
  256. comodo,226,157,4    duplicate(#vip_manager) Emisária Vip#Evip9 4_F_AGENTKAFRA
  257. yuno,177,189,4  duplicate(#vip_manager) Emisária Vip#Evip10    4_F_AGENTKAFRA
  258. amatsu,190,140,4    duplicate(#vip_manager) Emisária Vip#Evip11    4_F_AGENTKAFRA
  259. gonryun,171,142,4   duplicate(#vip_manager) Emisária Vip#Evip12    4_F_AGENTKAFRA
  260. umbala,101,169,4    duplicate(#vip_manager) Emisária Vip#Evip13    4_F_AGENTKAFRA
  261. louyang,223,120,4   duplicate(#vip_manager) Emisária Vip#Evip14    4_F_AGENTKAFRA
  262. ayothaya,142,103,4  duplicate(#vip_manager) Emisária Vip#Evip15    4_F_AGENTKAFRA
  263. einbroch,84,201,4   duplicate(#vip_manager) Emisária Vip#Evip16    4_F_AGENTKAFRA
  264. lighthalzen,152,110,4   duplicate(#vip_manager) Emisária Vip#Evip17    4_F_AGENTKAFRA
  265. hugel,105,152,4 duplicate(#vip_manager) Emisária Vip#Evip18    4_F_AGENTKAFRA
  266. rachel,165,135,4    duplicate(#vip_manager) Emisária Vip#Evip19    4_F_AGENTKAFRA
  267. veins,221,141,4 duplicate(#vip_manager) Emisária Vip#Evip20    4_F_AGENTKAFRA
  268. moscovia,215,218,4  duplicate(#vip_manager) Emisária Vip#Evip21    4_F_AGENTKAFRA
  269. brasilis,211,162,4  duplicate(#vip_manager) Emisária Vip#Evip22    4_F_AGENTKAFRA
  270.  
  271. // --------------------------------------------------------------------------------
  272. -   script  GerenciadorVip  -1,{
  273. OnPCLoginEvent:
  274.     if (getgroupid() == 0) {
  275.         query_sql "SELECT (`vip_days` IS NULL OR `vip_days` < CURDATE()) FROM `login` WHERE `account_id` = "+getcharid(3);
  276.         dispbottom "Torne-se um(a) jogador(a) hoje mesmo!";
  277.         end;
  278.     }
  279.     if (getgroupid() == 1) {
  280.         query_sql "UPDATE `login` SET `group_id`= 0 WHERE `group_id` = 1 AND (`vip_days` IS NULL OR `vip_days` < CURDATE())";
  281.         query_sql "SELECT DATE_FORMAT(`vip_days`, '%d/%m/%Y') FROM `login` WHERE `account_id` = "+getcharid(3), @OffVip$;
  282.         dispbottom "Sua conta Vip é válida até o dia "+@OffVip$+"";
  283.         end;
  284.     }
  285.     if (getgroupid() > 9) {
  286.         end;
  287.     }
  288. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top