Guest User

Untitled

a guest
Feb 27th, 2018
453
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