Advertisement
Guest User

Red vs Blue

a guest
Jan 9th, 2012
784
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 55.97 KB | None | 0 0
  1. /*
  2.  
  3. Este código é licenciado a você por Vinicius Silva de Matos, sob a Licença Creative Commons Atribuição-Uso Não-Comercial-Vedada a Criação de Obras Derivadas 2.5 Brasil.
  4. Para utilização fora dos padrões desta licença, você deve contatá-lo pelo e-mail “timexy [at] gmail [dot] com” para receber uma autorização.
  5.  
  6. Este trabalho está licenciado sob uma Licença Creative Commons Atribuição-Uso Não-Comercial-Vedada a Criação de Obras Derivadas 2.5 Brasil.
  7. Para ver uma cópia desta licença, visite http://creativecommons.org/licenses/by-nc-nd/2.5/br/ ou envie uma carta para Creative Commons,
  8. 171 Second Street, Suite 300, San Francisco, California 94105, USA.
  9.  
  10. */
  11.  
  12. //===== eAthena Script =======================================
  13. //= Red x Blue
  14. //===== By: ==================================================
  15. //= Timexy
  16. //===== Current Version: =====================================
  17. //= 1.2
  18. //===== Compatible With: =====================================
  19. //= eAthena SVN
  20. //===== Description: =========================================
  21. //= Um Script PVP baseado no Red x Blue manual do DevilishRO
  22. //=  - Os times são escolhidos aleatóriamente.
  23. //=  - Todos Buffs antes do inicio são retirados.
  24. //=  - Nenhum Item de Cura permitido.
  25. //=  - Algumas restrições de Classe.
  26. //= Aparições:
  27. //=  - 2005: DreamsRO
  28. //=  - 2007: RagnaPROJECT
  29. //=  - 2008: RagnaPROJECT
  30. //===== Additional Comments: =================================
  31. //= 0.0a - 27 de Abril de 2008
  32. //=      - Retomado o Desenvolvimento do Script [Timexy]
  33. //= 0.0b
  34. //=      - Iniciado implementação do FAQ          [Timexy]
  35. //=       - Corrigido alguns typos                  [Timexy]
  36. //= 0.1a
  37. //=       - Menu de GMs:
  38. //=         * Criado script de inicialização e cancelamento do Evento     [Timexy]
  39. //=         * Criado menu de Debug                                              [Timexy]
  40. //= 0.2
  41. //=       - Implementado Script de escolha dos times (Mapas Pendentes)      [Timexy]
  42. //=       - Implementado OnInit para resetar as variaveis globais           [Timexy]
  43. //= 0.3
  44. //=       - Implementado Script para retirar todos os Buffs                 [Timexy]
  45. //=       - Implementado NPCs Ajudantes
  46. //=         * Teletransporta os times automaticamente quando prontos            [Timexy]
  47. //=         * Somente o Líder consegue comandá-lo.                                [Timexy]
  48. //=       - Menu de GMs:
  49. //=         * Adicionado a Opção de cancelar todas Variaveis do Script        [Timexy]
  50. //=           afim de reseta-las.
  51. //=       - Adicionado comentários ao Script.                                  [Timexy]
  52. //= 0.4
  53. //=       - Implementado Sistema da Arena:
  54. //=         * Sistema automático de verificação de mortes                        [Timexy]
  55. //=       - Iniciado sistema de pontos                                          [Timexy]
  56. //= 0.5 - 10 de Maio de 2008
  57. //=       - Sistema de pontos   :                                      
  58. //=         * Criada Estatística Global                                            [Timexy]
  59. //=         * Habilitado menu para verificação de Aproveitamento              [Timexy]
  60. //=         * Pontos adicionados na conta automaticamente                       [Timexy]
  61. //=       - Corrigido sistema automático de Kills. Estava invertido            [Timexy]
  62. //=       - Corrigido alguns typos                                              [Timexy]
  63. //=       - Criado menu para Resetar Variáveis                                 [Timexy]
  64. //= 0.6 - 11 de Maio de 2008
  65. //=       - Corrigido bug onde players no PVP sem grupos afetariam
  66. //=         as Variaveis do Script.                                             [Timexy]
  67. //=       - Pontuação adicionada. Ainda sem premiações                      [Timexy]
  68. //=         * 1 Ponto por partida ganha.
  69. //=         * 1 Ponto por cada integrante que terminou vivo
  70. //=         * 10 Pontos se nenhum integrante morrer
  71. //=       - Restrições de Nível e Classe adicionadas                         [Timexy]
  72. //= 0.7 - 12 de Maio de 2008
  73. //=       - Adicionado menu para os jogadores verem seus Pontos             [Timexy]
  74. //=       - Adicionado Menu de GMs aos Ajudantes na Sala de Espera
  75. //=         * Opção para Teletransportar entre as Salas e Arena               [Timexy]
  76. //=         * Opção para abrir mais vagas no Evento para no caso de           [Timexy]
  77. //=           algum jogador sair da Sala de Espera
  78. //=         * Opção para trocar o Líder dos Grupos                               [Timexy]
  79. //=       - Adicionado no Broadcast do Time Vencedor um check para dife-    [Timexy]
  80. //=         renciar Flawless Victory de Vitórias comuns.
  81. //= 0.8 - 14 de Maio de 2008
  82. //=       - Corrigido alguns Typos                                              [Timexy]
  83. //=       - Trocada variável de rxb_pontos para rxb_pontos, pois a         [Timexy]
  84. //=         o eAthena se RECUSA a trabalhar com a variável rxb_pontos sem
  85. //=         nenhum motivo aparente.
  86. //=
  87. //=       - Revertido para rxb_pontos e trocado a LABEL da seção.         [Timexy]
  88. //=         Não pode existir uma variável com nome igual ao de uma Label.
  89. //=       - Feitas mudanças estéticas no Menu de GM dos Ajudantes         [Timexy]
  90. //=       - Adicionado aos Braodcasts que informam alterações no evento       [Timexy]
  91. //=         por um GM o nome de quem fez a alteração.
  92. //= 0.9 - 15 de Maio de 2008
  93. //=       - Adicionado Debug aos Ajudantes                                      [Timexy]
  94. //=       - Adicionado check para desaprontar o time onde forem abertas     [Timexy]
  95. //=         vagas.
  96. //=       - Adicionado ao NPC da Arena uma opção para definir manualmente [Timexy]
  97. //=         o Grupo vencedor caso alguém saia da Arena antes de morrer.
  98. //= 1.0 - 16 de Maio de 2008
  99. //=       - Corrigida variaveis de Estatísticas e Pontuação. Estavam sendo   [Timexy]
  100. //=         marcadas por personagem e não por conta.
  101. //=       - Adicionado Ticket para verificar se o Personagem participou     [Timexy]
  102. //=         da ultima partida do Red vs Blue, e barra caso retorne True.
  103. //=       - Adicionada checagem nos Ajudantes para que os Líderes não pos-    [Timexy]
  104. //=         sam aprontar seus times antes dos 24 participantes adentrarem
  105. //=         ao evento.
  106. //=       - Adicionada Premiação                                                  [Timexy]
  107. //=       - Atualizada Pontuação:                                             [Timexy]
  108. //=         * 01 Ponto por integrante do outro time morto para ambos times
  109. //=         * 10 Pontos por Vitória
  110. //=         * 50 Pontos por Flawless Victory
  111. //= 1.0a - 18 de Maio de 2008
  112. //=       - Trocado Sprite dos NPCs                                             [Darius]
  113. //=       - Adiciondo checks no sistema de Premiação para que os players  [Timexy]
  114. //=         não consigam receber premios acima do peso máximo que possam
  115. //=         carregar.
  116. //= 1.1 - 21 de Maio de 2008
  117. //=       - Adicionada Restrições de Classe e Nível do Aesir                 [Timexy]
  118. //=       - Trocada restrição de "ultima partida" de Personagem para Conta    [Timexy]
  119. //===== To Do List: ==========================================
  120. //=
  121. //===== Map Flags:  ==========================================
  122. //= rwc03   mapflag nobranch
  123. //= rwc03   mapflag nomemo
  124. //= rwc03   mapflag nopenalty
  125. //= rwc03   mapflag noreturn
  126. //= rwc03   mapflag nosave  SavePoint
  127. //= rwc03   mapflag noteleport
  128. //= rwc03   mapflag nowarp
  129. //= rwc03   mapflag nowarpto
  130. //= rwc03   mapflag pvp
  131. //= rwc03   mapflag pvp_noguild
  132. //= ADICIONAR RESTRICTED:
  133. //= rwc03   mapflag restricted  7 //Usar para Bloquear Skills e Itens
  134. //=
  135. //= 2007rwc_r   mapflag indoors
  136. //= 2007rwc_r   mapflag nobranch
  137. //= 2007rwc_r   mapflag nomemo
  138. //= 2007rwc_r   mapflag nopenalty
  139. //= 2007rwc_r   mapflag noreturn
  140. //= 2007rwc_r   mapflag nosave  SavePoint
  141. //= 2007rwc_r   mapflag noteleport
  142. //= 2007rwc_r   mapflag nowarp
  143. //= 2007rwc_r   mapflag nowarpto
  144. //= 2007rwc_r   mapflag nopvp
  145. //= ADICIONAR RESTRICTED:
  146. //= 2007rwc_r   mapflag restricted  7 //Usar para Bloquear Skills e Itens
  147. //============================================================
  148.  
  149. prontera.gat,156,161,4  script  Red vs Blue 856,{
  150.  
  151.     //Inicio do NPC
  152. RXB_INICIO:
  153.     mes "["+.npc_name$+"]";
  154.     mes "Olá "+strcharinfo(0)+".";
  155.     if(getgmlevel() >= 40) goto RXB_GM;
  156.     mes "Bem vindo ao Red vs Blue.";
  157.     mes "O que gostaria de fazer?";
  158.     mes "^FF0000By ^0000FFTimexy"; //Favor não retirar
  159.     menu "Dúvidas",FAQ_00,"Minhas Estatísticas",RXB_ESTATISTICAS,"Meus Pontos e Prêmios",RXB_POINTS,"Participar",RXB_ENTRY,"Sair",-;
  160.     close;
  161.  
  162.     //Menu de GMs - Somente acima do Nível 40.
  163. RXB_GM:
  164.     next;
  165.     mes "["+.npc_name$+"]";
  166.     mes "Bem vindo ao sistema dos GMs";
  167.     mes "O que deseja fazer?";
  168.     mes "^FF0000By ^0000FFTimexy"; //Favor não retirar
  169.     next;
  170.     menu "Debug",RXB_DEBUG,"Iniciar",RXB_INIT,"Cancelar",RXB_CANCEL,"Estatísticas Gerais",RXB_ESTATISTICAS_GERAIS,"Resetar Variaveis",RXB_RESET,"Salas",RXB_GM_ROOMS,"Sair",-;
  171.     close;
  172.  
  173.     //Menu de Debug - Mostra a situação de todas variaveis do Script.
  174. RXB_DEBUG:
  175.     mes "["+.npc_name$+"]";
  176.     mes "Nome do NPC: "+.npc_name$+".";
  177.     mes "Status do Evento: "+$rxb_event;
  178.     mes "ID Ultima Partida: "+$rxb_ticket;
  179.     mes "Jogadores no Evento: "+$rxb_event_players;
  180.     mes " ";
  181.     mes "Red Players: "+$rxb_red;
  182.     mes "Red Leader: "+$rxb_red_leader$;
  183.     mes "Red Talked: "+$rxb_red_ready_temp;
  184.     mes "Red Ready: "+$rxb_red_ready;
  185.     mes "Red Group ID: "+$rxb_red_ready_team;
  186.     mes "Red Alive :"+$rxb_red_alive;
  187.     mes " ";
  188.     mes "Blue Players: "+$rxb_blue;
  189.     mes "Blue Leader: "+$rxb_blue_leader$;
  190.     mes "Blue Talked: "+$rxb_blue_ready_temp;
  191.     mes "Blue Ready: "+$rxb_blue_ready;
  192.     mes "Blue Group ID: "+$rxb_blue_ready_team;
  193.     mes "Blue Alive :"+$rxb_blue_alive;
  194.     mes " ";
  195.     mes "Status da Partida: "+$rxb_running;
  196.     mes "Party ID Last Killed: "+$rxb_arena_killed;
  197.     goto RXB_GM;
  198.    
  199.     //Menu de Salas - Opção para os GMs se Teletransportar para as Salas
  200.     //                sem necessidade de saber as Coordenadas.
  201. RXB_GM_ROOMS:
  202.     mes "["+.npc_name$+"]";
  203.     mes "Qual sala gostaria de ir?";
  204.     menu "Blue",RXB_GM_ROOMS_BLUE,"Red",RXB_GM_ROOMS_RED,"Arena",-;
  205.     warp "rwc03.gat",50,49;
  206.     close;
  207.  
  208. RXB_GM_ROOMS_BLUE:
  209.     warp "2007rwc_r.gat",90,163;
  210.     close; 
  211.  
  212. RXB_GM_ROOMS_RED:
  213.     warp "2007rwc_r.gat",126,23;
  214.     close;
  215.  
  216.     //Menu de Inicialicação - Inicia o Evento
  217. RXB_INIT:
  218.     if(getgmlevel() <= 40) {
  219.         mes "["+.npc_name$+"]";
  220.         mes "somente GM-E pra cima pode utilizar esta opção.";
  221.         close;
  222.     }
  223.     if($rxb_event == 1) goto RXB_INIT_ALREADY;
  224.     mes "Tem certeza?";
  225.     menu "Sim",-,"Não",RXB_GM;
  226.     announce "O Evento Red vs Blue foi iniciado. Para participar, dirija-se ao NPC em Prontera.",bc_all;
  227.     set $rxb_event,1;
  228.     set $rxb_event_players,0;
  229.     set $rxb_running,0;
  230.     set $rxb_arena_killed,0;
  231.     set $rxb_red,0;
  232.     set $rxb_red_leader$,"";
  233.     set $rxb_red_ready_temp,0;
  234.     set $rxb_red_ready,0;
  235.     set $rxb_red_ready_team,0;
  236.     set $rxb_red_alive,0;
  237.     set $rxb_red_killed,0;
  238.     set $rxb_blue,0;
  239.     set $rxb_blue_leader$,"";
  240.     set $rxb_blue_ready_temp,0;
  241.     set $rxb_blue_ready,0;
  242.     set $rxb_blue_ready_team,0;
  243.     set $rxb_blue_alive,0;
  244.     set $rxb_blue_killed,0;
  245.     pvpon "rwc03.gat";
  246.     goto RXB_GM;
  247.  
  248. RXB_INIT_ALREADY:
  249.     mes "["+.npc_name$+"]";
  250.     mes "O evento já foi Iniciado. Deseja cancelar?";
  251.     menu "Sim",RXB_CANCEL,"Não",RXB_GM;
  252.  
  253. RXB_RESET:
  254.     if(getgmlevel() <= 40) {
  255.         mes "["+.npc_name$+"]";
  256.         mes "somente GM-E pra cima pode utilizar esta opção.";
  257.         close;
  258.     }
  259.     if($rxb_event != 0) {
  260.         mes "["+.npc_name$+"]";
  261.         mes "Existe um jogo em andamento. Fazer isso irá estragá-lo!";
  262.         mes " ";
  263.         mes "Se deseja cancelá-lo, utilize a opção de Cancelar.";
  264.         next;
  265.     }
  266.     mes "["+.npc_name$+"]";
  267.     mes "Tem certeza que deseja resetar as variaveis?";
  268.     menu "Sim",-,"Não",RXB_GM;
  269.     if($rxb_event != 0) announce "O GM "+strcharinfo(0)+" resetou o Red vs Blue, cancelando o jogo anterior.",bc_all;
  270.     set $rxb_event,0;
  271.     set $rxb_event_players,0;
  272.     set $rxb_running,0;
  273.     set $rxb_arena_killed,0;
  274.     set $rxb_red,0;
  275.     set $rxb_red_leader$,"";
  276.     set $rxb_red_ready_temp,0;
  277.     set $rxb_red_ready,0;
  278.     set $rxb_red_ready_team,0;
  279.     set $rxb_red_alive,0;
  280.     set $rxb_red_killed,0;
  281.     set $rxb_blue,0;
  282.     set $rxb_blue_leader$,"";
  283.     set $rxb_blue_ready_temp,0;
  284.     set $rxb_blue_ready,0;
  285.     set $rxb_blue_ready_team,0;
  286.     set $rxb_blue_alive,0;
  287.     set $rxb_blue_killed,0;
  288.     pvpoff "rwc03.gat";
  289.     mes "Variaveis resetadas.";
  290.     goto RXB_GM;
  291.  
  292.     //Menu de Cancelamento - Cancela o Evento e Reseta todas variaveis
  293. RXB_CANCEL:
  294.     if(getgmlevel() <= 40) {
  295.         mes "["+.npc_name$+"]";
  296.         mes "somente GM-E pra cima pode utilizar esta opção.";
  297.         close;
  298.     }
  299.     if($rxb_event == 0) goto RXB_CANCEL_ALREADY;
  300.     mes "Tem certeza?";
  301.     menu "Sim",-,"Não",RXB_GM;
  302.     mes "Informe o motivo";
  303.     next;
  304.     input .@rxb_cancel_reason$;
  305.     announce "O Game Master "+strcharinfo(0)+" cancelou o Evento Red vs Blue. ",bc_all;
  306.     announce "Motivo: "+.@rxb_cancel_reason$+".",bc_all;
  307.     set $rxb_event,0;
  308.     set $rxb_event_players,0;
  309.     set $rxb_running,0;
  310.     set $rxb_arena_killed,0;
  311.     set $rxb_red,0;
  312.     set $rxb_red_leader$,"";
  313.     set $rxb_red_ready_temp,0;
  314.     set $rxb_red_ready,0;
  315.     set $rxb_red_ready_team,0;
  316.     set $rxb_red_alive,0;
  317.     set $rxb_red_killed,0;
  318.     set $rxb_blue,0;
  319.     set $rxb_blue_leader$,"";
  320.     set $rxb_blue_ready_temp,0;
  321.     set $rxb_blue_ready,0;
  322.     set $rxb_blue_ready_team,0;
  323.     set $rxb_blue_alive,0;
  324.     set $rxb_blue_killed,0;
  325.     pvpoff "rwc03.gat";
  326.     mapannounce "rwc03.gat","O Evento foi Cancelado. Dirija-se ao NPC Arena para voltar a Prontera.",bc_blue;
  327.     areaannounce "2007rwc_r.gat",66,154,133,183,"O Evento foi Cancelado. Fale com o Assistente para voltar a Prontera.",bc_blue;
  328.     areaannounce "2007rwc_r.gat",66,14,133,43,"O Evento foi Cancelado. Fale com o Assistente para voltar a Prontera.",bc_blue;
  329.     goto RXB_GM;
  330.    
  331. RXB_CANCEL_ALREADY:
  332.     mes "["+.npc_name$+"]";
  333.     mes "O evento não está ativo. Deseja Iniciar?";
  334.     menu "Sim",RXB_INIT,"Não",RXB_GM;
  335.    
  336.     //Seleção de Grupo - Código encarregado de selecionar o Grupo dos participantes
  337. RXB_ENTRY:
  338.     next;
  339.     if($rxb_event == 0) goto RXB_ENTRY_OFF;
  340.     if($rxb_running == 1) goto RXB_RUNNING;
  341.     if($rxb_running == 2) goto RXB_RUNNING;
  342.     if($rxb_event_players == 24) goto RXB_ENTRY_FULL;
  343.    
  344. //Restrições de Nível - Asgard
  345.     if(BaseLevel <= 130) {
  346.         mes "["+.npc_name$+"]";
  347.         mes "Desculpe mas você precisa de Nível de Base maior que 130 para poder participar.";
  348.         close;
  349.     }
  350.  
  351. //Restrições de Nível - Aesir
  352. //  if(Class >= 7 && Class <= 21 && BaseLevel <= 89) {                                  //2-x
  353. //      mes "["+.npc_name$+"]";
  354. //      mes "Desculpe mas você precisa ter Nível 90 ou mais para participar.";
  355. //      close;
  356. //  }
  357. //  if(Class >= 4008 && Class <= 4022 && BaseLevel <= 89) {                             //Transclasse
  358. //      mes "["+.npc_name$+"]";
  359. //      mes "Desculpe mas você precisa ter Nível 90 ou mais para participar.";
  360. //      close;
  361. //  }
  362. //  if(Class == 24 || Class == 25 || Class == 4047 || Class == 4048 || Class == 4049) { //Soul Linker, Star Gladiators, Gunslinger e Ninja
  363. //      if(BaseLevel <= 94) {
  364. //          mes "["+.npc_name$+"]";
  365. //          mes "Desculpe mas você precisa ter Nível 95 ou mais para participar.";
  366. //          close;
  367. //      }
  368. //  }  
  369.  
  370. //Restrições de Classe - Geral
  371.     if(Class >= 0 && Class <= 6) goto RXB_NOT_ALLOWED;          //Novice e 1-x
  372.     if(Class == 22) goto RXB_NOT_ALLOWED;                       //Wedding
  373.     if(Class == 23) goto RXB_NOT_ALLOWED;                       //Super Novice
  374.     if(Class == 26) goto RXB_NOT_ALLOWED;                       //Xmas
  375.     if(Class >= 4001 && Class <= 4007) goto RXB_NOT_ALLOWED;        //Transclass Novice e 1-x
  376.     if(Class >= 4023 && Class <= 4046) goto RXB_NOT_ALLOWED;        //Baby
  377.  
  378. //Restrição de Ultima Partida
  379.     if ($rxb_ticket != null) {
  380.         if(#rxb_ticket == $rxb_ticket) {
  381.             mes "["+.npc_name$+"]";
  382.             mes "Você participou da ultima partida do Red vs Blue.";
  383.             mes "Caso queira participar de novo, espere pela próxima partida.";
  384.             close;
  385.         }
  386.     }
  387.  
  388.     mes "["+.npc_name$+"]";
  389.     mes "Deseja realmente entrar?";
  390.     menu "Não",RXB_INICIO,"Sim",-;
  391.  
  392. RXB_ENTRY_LOOP:
  393.     if($rxb_event_players == 24) goto RXB_ENTRY_FULL;
  394.     if($rxb_event == 0) goto RXB_ENTRY_OFF;
  395.     set @rxb_team,rand(1,2);
  396.    
  397.     if(@rxb_team == 1) goto RXB_ENTRY_BLUE;
  398.     if(@rxb_team == 2) goto RXB_ENTRY_RED;
  399.  
  400.     //Seleção de Grupo - Grupo Azul
  401. RXB_ENTRY_BLUE:
  402.     if($rxb_blue == 0) goto RXB_ENTRY_BLUE_LEADER;
  403.     if($rxb_blue == 12) goto RXB_ENTRY_LOOP;
  404.     announce "Você faz parte do Grupo Azul. Seu líder é o "+$rxb_blue_leader$+".",bc_self;
  405.     announce "Saia do seu Grupo e espere ele lhe chamar para um novo.",bc_self;
  406.     sc_end SC_ALL;
  407.     set $rxb_blue,$rxb_blue+1;
  408.     set $rxb_blue_alive,$rxb_blue_alive+1;
  409.     set $rxb_event_players,$rxb_event_players+1;
  410.     if($rxb_event_players == 24) announce "Os times já foram formados. Boa sorte a todos!",bc_all;
  411.     warp "2007rwc_r.gat",90,163;
  412.     close;
  413.  
  414. RXB_ENTRY_BLUE_LEADER: 
  415.     announce "Você é o líder do Grupo Azul. Por favor, crie o grupo e chame os outros participantes",bc_self;
  416.     sc_end SC_ALL;
  417.     set $rxb_blue,$rxb_blue+1;
  418.     set $rxb_blue_alive,$rxb_blue_alive+1;
  419.     set $rxb_blue_leader$,strcharinfo(0);
  420.     set $rxb_event_players,$rxb_event_players+1;
  421.     warp "2007rwc_r.gat",90,163;
  422.     close;
  423.  
  424.     //Seleção de Grupo - Grupo Vermelho
  425. RXB_ENTRY_RED:
  426.     if($rxb_red == 0) goto RXB_ENTRY_RED_LEADER;
  427.     if($rxb_red == 12) goto RXB_ENTRY_LOOP;
  428.     announce "Você faz parte do Grupo Vermelho. Seu líder é o "+$rxb_red_leader$+".",bc_self;
  429.     announce "Saia do seu Grupo e espere ele lhe chamar para um novo.",bc_self;
  430.     sc_end SC_ALL;
  431.     set $rxb_red,$rxb_red+1;
  432.     set $rxb_red_alive,$rxb_red_alive+1;
  433.     set $rxb_event_players,$rxb_event_players+1;
  434.     if($rxb_event_players == 24) announce "Os times já foram formados. Boa sorte a todos!",bc_all;
  435.     warp "2007rwc_r.gat",126,23;
  436.     close;
  437.  
  438. RXB_ENTRY_RED_LEADER:  
  439.     announce "Você é o líder do Grupo Vermelho. Por favor, crie o grupo e chame os outros participantes",bc_self;
  440.     sc_end SC_ALL;
  441.     set $rxb_red,$rxb_red+1;
  442.     set $rxb_red_alive,$rxb_red_alive+1;
  443.     set $rxb_red_leader$,strcharinfo(0);
  444.     set $rxb_event_players,$rxb_event_players+1;
  445.     warp "2007rwc_r.gat",126,23;
  446.     close;
  447.  
  448.     //Seleção de Grupo - Possíveis Erros durante a tentativa de Participar.
  449. RXB_ENTRY_FULL:
  450.     mes "["+.npc_name$+"]";
  451.     mes "Desculpe mas o número máximo de jogadores já foi atingido. Tente da próxima vez!";
  452.     mes "Para maiories informações, veja a seção de Dúvidas no menu principal.";
  453.     close;
  454.  
  455. RXB_RUNNING:
  456.     mes "["+.npc_name$+"]";
  457.     mes "Desculpe mas a partida já está em andamento. Tente da próxima vez!";
  458.     mes "Para maiories informações, veja a seção de Dúvidas no menu principal.";
  459.     close;
  460.  
  461. RXB_ENTRY_OFF:
  462.     mes "["+.npc_name$+"]";
  463.     mes "Desculpe mas o evento não está ativo.";
  464.     mes "Para maiories informações, veja a seção de Dúvidas no menu principal.";
  465.     close;
  466.  
  467. RXB_NOT_ALLOWED:
  468.     mes "["+.npc_name$+"]";
  469.     mes "Desculpe mas sua classe não é permitida no evento.";
  470.     close;
  471.  
  472.     //Perguntas Frequentes sobre o Evento
  473. FAQ_00:
  474.     mes "["+.npc_name$+"]";
  475.     mes "Qual sua dúvida?";
  476.     menu "O que é o Red vs Blue?",-,"Como funicona?",FAQ_02,"Regras",FAQ_03,"Pontuação",FAQ_04;
  477.  
  478.     //O que é?
  479. FAQ_01:
  480.     next;
  481.     mes "["+.npc_name$+"]";
  482.     mes "O termo Red vs Blue já é um clássico dos jogos eletrônicos.";
  483.     mes "Normalmente é algum PK envolvendo dois times, o Vermelho e o Azul.";
  484.     mes " ";
  485.     mes "Isso já rendeu vários Machinimas e grandes jogos como Team Fortress 2 e Halo utilizam esse sistema";
  486.     next;
  487.     mes "["+.npc_name$+"]";
  488.     mes "Sendo um clássico, não pode faltar no Ragnarök.";
  489.     mes "O Red vs Blue consiste num PVP organizado, com dois grupos distintos escolhidos aleatoriamente.";
  490.     next;
  491.     mes "["+.npc_name$+"]";
  492.     mes "Alguma outra dúvida?";
  493.     menu "Como funicona?",FAQ_02,"Regras",FAQ_03,"Pontuação",FAQ_04,"Não Obrigado",RXB_SAIR;
  494.  
  495.     //Como Funciona
  496. FAQ_02:
  497.     next;
  498.     mes "["+.npc_name$+"]";
  499.     mes "A partir do momento que o Evento é iniciado, qualquer um dentro das restrições de classe e nível pode entrar.";
  500.     mes " ";
  501.     mes "Entrando, o NPC escolhe aleatoriamente o seu time, a fim de não haver “panelas”.";
  502.     next;
  503.     mes "["+.npc_name$+"]";
  504.     mes "O número de participantes é de doze por time, pois este é o número máximo de players em um Grupo, totalizando 24 jogadores por partida.";
  505.     next;
  506.     mes "["+.npc_name$+"]";
  507.     mes "Os jogadores são levados a salas distintas, a fim de Organizar o Grupo e saber quem serão seus comparsas.";
  508.     mes " ";
  509.     mes "Quando ambos os Grupos estiverem prontos, ambos são teleportados para uma arena de batalha, onde o PVP será iniciado.";
  510.     next;
  511.     mes "["+.npc_name$+"]";
  512.     mes "Ao final, vence o time que manter ao menos um personagem vivo.";
  513.     next;
  514.     mes "["+.npc_name$+"]";
  515.     mes "Alguma outra dúvida?";
  516.     menu "O que é o Red vs Blue?",FAQ_01,"Regras",FAQ_03,"Pontuação",FAQ_04,"Não Obrigado",RXB_SAIR;
  517.  
  518.     //Regras e Restrições
  519. FAQ_03:
  520.     next;
  521.     mes "["+.npc_name$+"]";
  522.     mes "As Regras são simples:";
  523. // Regras abaixo feitas para o Aesir:
  524. //  mes "* Classes 2-x e Transclasses somente acima do Nível 90.";
  525. //  mes " ";
  526. //  mes "* Soul Linker, Star Gladiators, Gunslinger e Ninja acima do 95.";
  527. //  mes " ";
  528.  
  529. // Regras abaixo feitas para o Asgard:
  530.     mes "* Você precisa ter Nível de Base maior que 130 para poder participar.";
  531.     mes " ";
  532.  
  533. // Regras Comuns:
  534.     mes "* Taekwon, Babys, Novices, Super Novices e 1-x não são permitidos.";
  535.     next;
  536.     mes "["+.npc_name$+"]";
  537.     mes "* Ao entrar em um dos grupos, você perde todos Buffs, e somente ganhará se tiver alguém no seu Grupo pra lhe dar :P";
  538.     mes " ";
  539.     mes "* Uma vez morto, você não pode ser ressuscitado.";
  540.     mes " ";
  541.     mes "* Está bloqueado o uso de Itens usáveis, recuperativos de HP/SP, Comidas e Pots como Awakening.";
  542.     next;
  543.     mes "["+.npc_name$+"]";
  544.     mes "Alguma outra dúvida?";
  545.     menu "O que é o Red vs Blue?",FAQ_01,"Como funicona?",FAQ_02,"Pontuação",FAQ_04,"Não Obrigado",RXB_SAIR;
  546.  
  547.     //Sistema de Pontuação
  548. FAQ_04:
  549.     next;
  550.     mes "["+.npc_name$+"]";
  551.     mes "Vencendo ou não, ganha-se um ponto por integrante do outro time morto.";
  552.     mes " ";
  553.     mes "10 Pontos por vitória.";
  554.     mes " ";
  555.     mes "50 Pontos extras por Flawless, onde nenhum integrante do time vencedor morre.";
  556.     mes " ";
  557.     mes "Estes pontos são contabilizados por Conta.";
  558.     next;
  559.     mes "["+.npc_name$+"]";
  560.     mes "Para checar sua Pontuação, basta utilizar a opção^0000FF Meus Pontos e Prêmios^000000 no menu principal.";
  561.     next;
  562.     mes "["+.npc_name$+"]";
  563.     mes "Alguma outra dúvida?";
  564.     menu "O que é o Red vs Blue?",FAQ_01,"Como funicona?",FAQ_02,"Regras",FAQ_03,"Não Obrigado",RXB_SAIR;
  565.  
  566.     //Sistema de Pontuação
  567. RXB_ESTATISTICAS:
  568.     next;
  569.     if (#rxb_participated != null) {
  570.         if (#rxb_participated > 0) set @rxb_aproveitamento_geral,#rxb_won*100/#rxb_participated;
  571.     }
  572.  
  573.     if (#rxb_participated_blue != null) {
  574.         if (#rxb_participated_blue > 0) set @rxb_aproveitamento_blue,#rxb_participated_blue_won*100/#rxb_participated_blue;
  575.     }
  576.  
  577.     if (#rxb_participated_red != null) {
  578.         if (#rxb_participated_red > 0) set @rxb_aproveitamento_red,#rxb_participated_red_won*100/#rxb_participated_red;
  579.     }
  580.    
  581.     mes "["+.npc_name$+"]";
  582.     mes "Você já participou de^0000FF "+#rxb_participated+"^000000 partidas e venceu^0000FF "+#rxb_won+"^000000, com um aproveitamento de^0000FF "+@rxb_aproveitamento_geral+"^000000%.";
  583.     mes " ";
  584.     mes "^0000FFGrupo Azul^000000: Participou de^0000FF "+#rxb_participated_blue+"^000000 e venceu^0000FF "+#rxb_participated_blue_won+"^000000. Aproveitamento de^0000FF "+@rxb_aproveitamento_blue+"^000000%.";
  585.     mes " ";
  586.     mes "^FF0000Grupo Vermelho: ^000000Participou de^0000FF "+#rxb_participated_red+"^000000 e venceu^0000FF "+#rxb_participated_blue_red+"^000000. Aproveitamento de^0000FF "+@rxb_aproveitamento_red+"^000000%.";
  587.     next;
  588.  
  589. RXB_ESTATISTICAS_GERAIS:
  590.  
  591.     if ($rxb_games != null) {
  592.         if ($rxb_games > 0) set @rxb_aproveitamento_geral_red,$rxb_games_red*100/$rxb_games;
  593.         if ($rxb_games > 0) set @rxb_aproveitamento_geral_blue,$rxb_games_blue*100/$rxb_games;
  594.     }
  595.    
  596.     mes "["+.npc_name$+"]";
  597.     mes "Já foram disputadas^0000FF "+$rxb_games+"^000000 partidas.";
  598.     mes "O ^FF0000Grupo Vermelho ^000000tem^0000FF "+$rxb_games_red+" ^000000vitórias, com^0000FF "+@rxb_aproveitamento_geral_red+"^000000% de aproveitamento.";
  599.     mes "O ^0000FFGrupo Azul ^000000tem^0000FF " +$rxb_games_blue+" ^000000vitórias, com^0000FF "+@rxb_aproveitamento_geral_blue+"^000000% de aproveitamento.";
  600.     if(getgmlevel() >= 40) goto RXB_GM;
  601.     next;
  602.     goto RXB_INICIO;
  603.  
  604. RXB_POINTS:
  605.     next;
  606.     mes "["+.npc_name$+"]";
  607.     if(#rxb_pontos != null) {
  608.         if(#rxb_pontos > 0) {
  609.             mes "Até o momento você tem^0000FF "+#rxb_pontos+" ^000000pontos.";
  610.             mes "Gostaria de trocá-los por algum prêmio?";
  611.             menu "Não",-,"Sim",RXB_PREMIOS;
  612.             close;
  613.         }
  614.     } else {
  615.         mes "Você ainda não pontuou no Red vs Blue.";
  616.     }
  617.     close;
  618.  
  619.     //ATENÇÃO: Ao mexer nesta parte do Script ter MUITA atenção. Sempre que for adicionar uma opção
  620.     //          nova, basta copiar da antiga e trocar TODAS variaveis _0* pela nova opção, exemplo:
  621.     //            Opção três copiando da opção dois: trocar todos _02 para _03. Não esqueça de
  622.     //            adicionar no Menu de prêmios e as Variaveis no OnInit.
  623. RXB_PREMIOS:
  624.     next;
  625.    
  626.     set @rxb_weight_max,MaxWeight;
  627.     set @rxb_weight_atual,Weight;
  628.     set @rxb_weight_percent,100*@rxb_weight_atual/@rxb_weight_max;
  629.     if(@rxb_weight_percent >= 50) {
  630.         mes "["+.npc_name$+"]";
  631.         mes "Você não pode receber prêmios com peso igual ou superior a 50% to total que pode carregar.";
  632.         close;
  633.     }
  634.    
  635.     mes "["+.npc_name$+"]";
  636.     mes "Qual prêmio você deseja?";
  637.     menu "["+$rxb_prize_points_01+" Pontos] - ["+$rxb_prize_name_01$+"]",RXB_PREMIOS_01,
  638.     "["+$rxb_prize_points_02+" Pontos] - ["+$rxb_prize_name_02$+"]",RXB_PREMIOS_02,
  639.     "["+$rxb_prize_points_03+" Pontos] - ["+$rxb_prize_name_03$+"]",RXB_PREMIOS_03,
  640. //  "["+$rxb_prize_points_04+" Pontos] - ["+$rxb_prize_name_04$+"]",RXB_PREMIOS_04,
  641.     "Nenhum",-;
  642.     close;
  643.  
  644. RXB_PREMIOS_01:
  645.     next;
  646.     mes "["+.npc_name$+"]";
  647.     mes "Para receber um pacote com^0000FF "+$rxb_prize_qtd_01+" "+$rxb_prize_name_01$+" ^000000você precisa de^0000FF "+$rxb_prize_points_01+" ^000000pontos.";
  648.     mes " ";
  649.     mes "Gostaria de quantos pacotes?";
  650.     next;
  651.     input @rxb_prize_qtd_player_01;
  652.     next;
  653.     if(@rxb_prize_qtd_player_01 == 0) {
  654.         mes "["+.npc_name$+"]";
  655.         mes "Coloque um valor acima de 0, por gentileza.";
  656.         close;
  657.     }
  658.     set @rxb_prize_points_01,@rxb_prize_qtd_player_01*$rxb_prize_points_01;     //Quantos Pontos vai Precisar
  659.     set @rxb_prize_qtd_give_01,@rxb_prize_qtd_player_01*$rxb_prize_qtd_01;      //Quantos Itens vai RECEBER
  660.  
  661.     if(checkweight($rxb_prize_id_01,@rxb_prize_qtd_give_01) == 0) {
  662.         mes "["+.npc_name$+"]";
  663.         mes "Você não poderá carregar tantos^0000FF "+$rxb_prize_name_01$+" ^000000assim.";
  664.         close;
  665.     }
  666.  
  667.     mes "["+.npc_name$+"]";
  668.     mes "Para^0000FF "+@rxb_prize_qtd_player_01+" ^000000pacote(s) de^0000FF "+$rxb_prize_qtd_01+" "+$rxb_prize_name_01$+" ^000000você vai precisar de^0000FF "+@rxb_prize_points_01+" ^000000pontos.";
  669.     mes " ";
  670.     mes "Tem certeza?";
  671.     menu "Não",-,"Sim",RXB_PREMIOS_01_YES;
  672.     close;
  673.  
  674. RXB_PREMIOS_01_YES:
  675.     if(#rxb_pontos < @rxb_prize_points_01) {
  676.         next;
  677.         mes "["+.npc_name$+"]";
  678.         mes "Desculpe mas você não tem pontos necessários para está transação.";
  679.         close;
  680.     }
  681.     set #rxb_pontos,#rxb_pontos-@rxb_prize_points_01;
  682.     getitem $rxb_prize_id_01,@rxb_prize_qtd_give_01;
  683.     mes "["+.npc_name$+"]";
  684.     mes "Pronto! Lhe restaram^0000FF "+#rxb_pontos+" ^000000pontos.";
  685.     close;
  686.    
  687. RXB_PREMIOS_02:
  688.     next;
  689.     mes "["+.npc_name$+"]";
  690.     mes "Para receber um pacote com^0000FF "+$rxb_prize_qtd_02+" "+$rxb_prize_name_02$+" ^000000você precisa de^0000FF "+$rxb_prize_points_02+" ^000000pontos.";
  691.     mes " ";
  692.     mes "Gostaria de quantos pacotes?";
  693.     next;
  694.     input @rxb_prize_qtd_player_02;
  695.     next;
  696.     if(@rxb_prize_qtd_player_02 == 0) {
  697.         mes "["+.npc_name$+"]";
  698.         mes "Coloque um valor acima de 0, por gentileza.";
  699.         close;
  700.     }
  701.     set @rxb_prize_points_02,@rxb_prize_qtd_player_02*$rxb_prize_points_02;     //Quantos Pontos vai Precisar
  702.     set @rxb_prize_qtd_give_02,@rxb_prize_qtd_player_02*$rxb_prize_qtd_02;      //Quantos Itens vai RECEBER
  703.  
  704.     if(checkweight($rxb_prize_id_02,@rxb_prize_qtd_give_02) == 0) {
  705.         mes "["+.npc_name$+"]";
  706.         mes "Você não poderá carregar tantos^0000FF "+$rxb_prize_name_02$+" ^000000assim.";
  707.         close;
  708.     }
  709.  
  710.     mes "["+.npc_name$+"]";
  711.     mes "Para^0000FF "+@rxb_prize_qtd_player_02+" ^000000pacote(s) de^0000FF "+$rxb_prize_qtd_02+" "+$rxb_prize_name_02$+" ^000000você vai precisar de^0000FF "+@rxb_prize_points_02+" ^000000pontos.";
  712.     mes " ";
  713.     mes "Tem certeza?";
  714.     menu "Não",-,"Sim",RXB_PREMIOS_02_YES;
  715.     close;
  716.  
  717. RXB_PREMIOS_02_YES:
  718.     if(#rxb_pontos < @rxb_prize_points_02) {
  719.         next;
  720.         mes "["+.npc_name$+"]";
  721.         mes "Desculpe mas você não tem pontos necessários para está transação.";
  722.         close;
  723.     }
  724.     set #rxb_pontos,#rxb_pontos-@rxb_prize_points_02;
  725.     getitem $rxb_prize_id_02,@rxb_prize_qtd_give_02;
  726.     mes "["+.npc_name$+"]";
  727.     mes "Pronto! Lhe restaram^0000FF "+#rxb_pontos+" ^000000pontos.";
  728.     close;
  729.  
  730. RXB_PREMIOS_03:
  731.     next;
  732.     mes "["+.npc_name$+"]";
  733.     mes "Para receber um pacote com^0000FF "+$rxb_prize_qtd_03+" "+$rxb_prize_name_03$+" ^000000você precisa de^0000FF "+$rxb_prize_points_03+" ^000000pontos.";
  734.     mes " ";
  735.     mes "Gostaria de quantos pacotes?";
  736.     next;
  737.     input @rxb_prize_qtd_player_03;
  738.     next;
  739.     if(@rxb_prize_qtd_player_03 == 0) {
  740.         mes "["+.npc_name$+"]";
  741.         mes "Coloque um valor acima de 0, por gentileza.";
  742.         close;
  743.     }
  744.     set @rxb_prize_points_03,@rxb_prize_qtd_player_03*$rxb_prize_points_03;     //Quantos Pontos vai Precisar
  745.     set @rxb_prize_qtd_give_03,@rxb_prize_qtd_player_03*$rxb_prize_qtd_03;      //Quantos Itens vai RECEBER
  746.  
  747.     if(checkweight($rxb_prize_id_03,@rxb_prize_qtd_give_03) == 0) {
  748.         mes "["+.npc_name$+"]";
  749.         mes "Você não poderá carregar tantos^0000FF "+$rxb_prize_name_03$+" ^000000assim.";
  750.         close;
  751.     }
  752.  
  753.     mes "["+.npc_name$+"]";
  754.     mes "Para^0000FF "+@rxb_prize_qtd_player_03+" ^000000pacote(s) de^0000FF "+$rxb_prize_qtd_03+" "+$rxb_prize_name_03$+" ^000000você vai precisar de^0000FF "+@rxb_prize_points_03+" ^000000pontos.";
  755.     mes " ";
  756.     mes "Tem certeza?";
  757.     menu "Não",-,"Sim",RXB_PREMIOS_03_YES;
  758.     close;
  759.  
  760. RXB_PREMIOS_03_YES:
  761.     if(#rxb_pontos < @rxb_prize_points_03) {
  762.         next;
  763.         mes "["+.npc_name$+"]";
  764.         mes "Desculpe mas você não tem pontos necessários para está transação.";
  765.         close;
  766.     }
  767.     set #rxb_pontos,#rxb_pontos-@rxb_prize_points_03;
  768.     getitem $rxb_prize_id_03,@rxb_prize_qtd_give_03;
  769.     mes "["+.npc_name$+"]";
  770.     mes "Pronto! Lhe restaram^0000FF "+#rxb_pontos+" ^000000pontos.";
  771.     close;
  772.  
  773. //RXB_PREMIOS_04:
  774. //  next;
  775. //  mes "["+.npc_name$+"]";
  776. //  mes "Para receber um pacote com^0000FF "+$rxb_prize_qtd_04+" "+$rxb_prize_name_04$+" ^000000você precisa de^0000FF "+$rxb_prize_points_04+" ^000000pontos.";
  777. //  mes " ";
  778. //  mes "Gostaria de quantos pacotes?";
  779. //  next;
  780. //  input @rxb_prize_qtd_player_04;
  781. //  next;
  782. //  if(@rxb_prize_qtd_player_04 == 0) {
  783. //      mes "["+.npc_name$+"]";
  784. //      mes "Coloque um valor acima de 0, por gentileza.";
  785. //      close;
  786. //  }
  787. //  set @rxb_prize_points_04,@rxb_prize_qtd_player_04*$rxb_prize_points_04;     //Quantos Pontos vai Precisar
  788. //  set @rxb_prize_qtd_give_04,@rxb_prize_qtd_player_04*$rxb_prize_qtd_04;      //Quantos Itens vai RECEBER
  789. //
  790. //  if(checkweight($rxb_prize_id_04,@rxb_prize_qtd_give_04) == 0) {
  791. //      mes "["+.npc_name$+"]";
  792. //      mes "Você não poderá carregar tantos^0000FF "+$rxb_prize_name_04$+" ^000000assim.";
  793. //      close;
  794. //  }
  795. //
  796. //  mes "["+.npc_name$+"]";
  797. //  mes "Para^0000FF "+@rxb_prize_qtd_player_04+" ^000000pacote(s) de^0000FF "+$rxb_prize_qtd_04+" "+$rxb_prize_name_04$+" ^000000você vai precisar de^0000FF "+@rxb_prize_points_04+" ^000000pontos.";
  798. //  mes " ";
  799. //  mes "Tem certeza?";
  800. //  menu "Não",-,"Sim",RXB_PREMIOS_04_YES;
  801. //  close;
  802. //
  803. //RXB_PREMIOS_04_YES:
  804. //  if(#rxb_pontos < @rxb_prize_points_04) {
  805. //      next;
  806. //      mes "["+.npc_name$+"]";
  807. //      mes "Desculpe mas você não tem pontos necessários para está transação.";
  808. //      close;
  809. //  }
  810. //  set #rxb_pontos,#rxb_pontos-@rxb_prize_points_04;
  811. //  getitem $rxb_prize_id_04,@rxb_prize_qtd_give_04;
  812. //  mes "["+.npc_name$+"]";
  813. //  mes "Pronto! Lhe restaram^0000FF "+#rxb_pontos+" ^000000pontos.";
  814. //  close;
  815.    
  816. RXB_SAIR:
  817.     close;
  818.  
  819.     //Variaveis Globais do Script devem vir aqui
  820. OnInit:
  821.     set .npc_name$,"Red vs Blue";       //Nome do NPC Principal
  822.     set $rxb_event,0;                   //Informa se o Evento está Ativo
  823.     set $rxb_event_players,0;           //Quantidade de Jogadores que já se Inscreveram
  824.     set $rxb_running,0;                 //Informa se a Partida já está ocorrendo
  825.     set $rxb_arena_killed,0;                //ID da Party do ultimo jogador morto
  826.     set $rxb_red,0;                 //Quantidade de Jogadores no Grupo Vermelho
  827.     set $rxb_red_leader$,"";                //Líder do Grupo Vermelho
  828.     set $rxb_red_ready_temp,0;          //Informa se o Líder já clicou 1x no Ajudante
  829.     set $rxb_red_ready,0;               //Informa se o Grupo Vermelho já está Pronto
  830.     set $rxb_red_ready_team,0;          //ID da Party do Líder do Grupo Vermelho
  831.     set $rxb_red_alive,0;               //Quantidade de Players Vivos no Grupo Vermelho
  832.     set $rxb_red_killed,0;              //Quantidade que o time Vermelho matou na arena
  833.     set $rxb_blue,0;                    //Quantidade de Jogadores no Grupo Azul
  834.     set $rxb_blue_leader$,"";           //Líder do Grupo Azul
  835.     set $rxb_blue_ready_temp,0;         //Informa se o Líder já clicou 1x no Ajudante
  836.     set $rxb_blue_ready,0;              //Informa se o Grupo Azul já está Pronto
  837.     set $rxb_blue_ready_team,0;         //ID da Party do Líder do Grupo Azul
  838.     set $rxb_blue_alive,0;              //Quantidade de Players Vivos no Grupo Azul
  839.     set $rxb_blue_killed,0;             //Quantidade que o time Azul matou na arena
  840.    
  841.     //Premiação - Asgard
  842.     set $rxb_prize_name_01$,"Yggdrasil Seed";       //Nome
  843.     set $rxb_prize_id_01,608;                   //ID                608 - Yggdrasil Seed
  844.     set $rxb_prize_qtd_01,25;                   //Quantidade        25 un
  845.     set $rxb_prize_points_01,500;                   //Pontos            500 Pontos
  846.  
  847.     set $rxb_prize_name_02$,"Yggdrasil Berry";      //Nome
  848.     set $rxb_prize_id_02,607;                   //ID                607 - Yggdrasil Berry
  849.     set $rxb_prize_qtd_02,25;                   //Quantidade        25 un
  850.     set $rxb_prize_points_02,1000;              //Pontos            1000 Pontos
  851.  
  852.     set $rxb_prize_name_03$,"Immortal Stew Box";    //Nome
  853.     set $rxb_prize_id_03,12908;                 //ID                12908 - Yggdrasil Berry
  854.     set $rxb_prize_qtd_03,1;                        //Quantidade        01 un
  855.     set $rxb_prize_points_03,1000;              //Pontos            1000 Pontos
  856.  
  857. //  set $rxb_prize_name_04$,"Helmet of Orc Hero";   //Nome
  858. //  set $rxb_prize_id_04,5094;                  //ID                5094 - Helmet of Orc Hero
  859. //  set $rxb_prize_qtd_04,1;                        //Quantidade        01 un
  860. //  set $rxb_prize_points_04,1500;              //Pontos            1500 Pontos
  861.     end;
  862.  
  863.     //Premiação - Aesir
  864. //  set $rxb_prize_name_01$,"Old Card Album";   //Nome
  865. //  set $rxb_prize_id_01,616;                   //ID                616 - Old Card Album
  866. //  set $rxb_prize_qtd_01,1;                        //Quantidade        01 un
  867. //  set $rxb_prize_points_01,50;                    //Pontos            50 Pontos
  868.  
  869. //  set $rxb_prize_name_02$,"Old Blue Box"; //Nome
  870. //  set $rxb_prize_id_02,603;                   //ID                603 - Old Blue Box
  871. //  set $rxb_prize_qtd_02,1;                        //Quantidade        01 un
  872. //  set $rxb_prize_points_02,20;                    //Pontos            20 Pontos
  873.    
  874. //  set $rxb_prize_name_03$,"Old Purple Box";   //Nome
  875. //  set $rxb_prize_id_03,617;                   //ID                617 - Old Purple Box
  876. //  set $rxb_prize_qtd_03,1;                        //Quantidade        01 un
  877. //  set $rxb_prize_points_03,20;                    //Pontos            20 Pontos
  878. //  end;
  879.    
  880. }
  881.  
  882. 2007rwc_r.gat,90,169,4  script  Ajudante Azul   745,{
  883.  
  884.     //Início do Ajudante
  885.     if(getgmlevel() >= 40) goto RXB_GM;
  886.     if($rxb_event == 0) goto RXB_CANCELED;                      //Se cancelado
  887.     if($rxb_blue_ready == 1) goto RXB_READY_03;                 //Verifica se o Grupo já está pronto
  888.     if(strcharinfo(0) == $rxb_blue_leader$) goto RXB_LEADER;        //Verifica se é o Líder do Grupo
  889.     mes "["+.npc_name$+"]";
  890.     mes "Por favor, saia do seu grupo atual e espere seu(sua) Líder chamá-lo(a) para um grupo.";
  891.     mes " ";
  892.     mes "Seu Líder é o(a) "+$rxb_blue_leader$+".";
  893.     close;
  894.  
  895.     //Opções de GMs
  896. RXB_GM:
  897.     mes "["+.npc_name$+"]";
  898.     mes "Bem vindo ao Sistema de GMs.";
  899.     mes "O que deseja fazer?";
  900.     menu "Warp",RXB_GM_WARP,"Debug",RXB_DEBUG,"Abrir Vagas",RXB_GM_VAGAS,"Trocar Líder",RXB_GM_LEADER,"Nada",-;
  901.     close;
  902.    
  903. RXB_GM_WARP:
  904.     next;
  905.     mes "["+.npc_name$+"]";
  906.     mes "Qual sala deseja ir?";
  907.     menu "Prontera",RXB_GM_WARP_PRT,"Red",RXB_GM_WARP_RED,"Arena",RXB_GM_WARP_ARENA,"Cancelar",-;
  908.     close;
  909.  
  910. RXB_GM_WARP_PRT:
  911.     warp "prontera.gat",155,155;
  912.     close; 
  913.  
  914. RXB_GM_WARP_RED:
  915.     warp "2007rwc_r.gat",126,23;
  916.     close;
  917.  
  918. RXB_GM_WARP_ARENA:
  919.     warp "rwc03.gat",50,49;
  920.     close;
  921.  
  922. RXB_GM_VAGAS:
  923.     if(getgmlevel() <= 40) {
  924.         mes "["+.npc_name$+"]";
  925.         mes "somente GM-E pra cima pode utilizar esta opção.";
  926.         close;
  927.     }
  928.     if($rxb_event == 0) {
  929.         next;
  930.         mes "["+.npc_name$+"]";
  931.         mes "Desulpe mas o evento deve estar Ativo para usar esta opção.";
  932.         close;
  933.     }
  934.     if($rxb_running == 1) {
  935.         next;
  936.         mes "["+.npc_name$+"]";
  937.         mes "Desulpe mas você não pode fazer está mudança enquanto o Evento está Ativo na Arena.";
  938.         close;
  939.     }
  940.     if($rxb_event_players != 24) {
  941.         next;
  942.         mes "["+.npc_name$+"]";
  943.         mes "Desculpe mas esta opção só pode ser usada após 24 jogadores adentrarem ao Evento.";
  944.         mes " ";
  945.         mes "No momento temos "+$rxb_event_players+" jogadores.";
  946.         close;
  947.     }
  948.     next;
  949.     mes "["+.npc_name$+"]";
  950.     mes "^FF0000A T E N Ç Ã O^000000!";
  951.     mes "Este comando somente deve ser usado para abrir vagas a jogadores caso algum tenha saido da sala de espera.";
  952.     mes " ";
  953.     mes "Somente abre vagas NESTE time.";
  954.     next;
  955.     mes "["+.npc_name$+"]";
  956.     mes "Deseja mesmo abrir vagas?";
  957.     menu "Não",-,"Sim",RXB_GM_VAGAS_01;
  958.     close;
  959.    
  960. RXB_GM_VAGAS_01:
  961.     mes "["+.npc_name$+"]";
  962.     mes "Quantas vagas deseja abrir?";
  963.     input .@rxb_vagas_blue;
  964.     if(.@rxb_vagas_blue > 12) {
  965.         mes "["+.npc_name$+"]";
  966.         mes "Você não pode abrir mais que 12 vagas.";
  967.         close;
  968.     }
  969.     next;
  970.     mes "["+.npc_name$+"]";
  971.     mes "Jogadores na Sala Azul (com GMs): "+getareausers("2007rwc_r.gat",66,154,133,183);
  972.     mes " ";
  973.     mes "Tem certeza de que deseja abrir "+.@rxb_vagas_blue+" vagas?";
  974.     menu "Não",-,"Sim",RXB_GM_VAGAS_02;
  975.     close;
  976.  
  977. RXB_GM_VAGAS_02:
  978.     set $rxb_blue,$rxb_blue-.@rxb_vagas_blue;
  979.     set $rxb_blue_alive,$rxb_blue_alive-.@rxb_vagas_blue;
  980.     set $rxb_event_players,$rxb_event_players-.@rxb_vagas_blue;
  981.     announce "O Game Master "+strcharinfo(0)+" reabriu "+.@rxb_vagas_blue+" vagas para o Red vs Blue. ",bc_all;
  982.     announce "Dirija-se ao NPC em Prontera caso deseje participar.",bc_all;
  983.     if($rxb_blue_ready == 1) {
  984.         set $rxb_blue_ready,0;
  985.         areaannounce "2007rwc_r.gat",66,14,133,43,"O outro Grupo não está mais pronto, pois alguém caiu.",bc_blue;
  986.     }
  987.     mes "Vagas Abertas.";
  988.     close;
  989.  
  990. RXB_GM_LEADER:
  991.     if(getgmlevel() <= 40) {
  992.         mes "["+.npc_name$+"]";
  993.         mes "somente GM-E pra cima pode utilizar esta opção.";
  994.         close;
  995.     }
  996.     if($rxb_event == 0) {
  997.         next;
  998.         mes "["+.npc_name$+"]";
  999.         mes "Desulpe mas o evento deve estar Ativo para usar esta opção.";
  1000.         close;
  1001.     }
  1002.     if($rxb_running == 1) {
  1003.         next;
  1004.         mes "["+.npc_name$+"]";
  1005.         mes "Desulpe mas você não pode fazer está mudança enquanto o Evento está Ativo na Arena.";
  1006.         close;
  1007.     }
  1008.     if($rxb_event_players != 24) {
  1009.         next;
  1010.         mes "["+.npc_name$+"]";
  1011.         mes "Desculpe mas esta opção só pode ser usada após 24 jogadores adentrarem ao Evento.";
  1012.         mes " ";
  1013.         mes "No momento temos "+$rxb_event_players+" jogadores.";
  1014.         close;
  1015.     }
  1016.     next;
  1017.     mes "["+.npc_name$+"]";
  1018.     mes "^FF0000A T E N Ç Ã O^000000!";
  1019.     mes "Esta opção somente deve ser usada caso o Líder do Grupo tenha saído.";
  1020.     mes " ";
  1021.     mes "Caso isto não tenha acontecido, favor não interferir no decorrer do evento.";
  1022.     next;
  1023.     mes "["+.npc_name$+"]";
  1024.     mes "Deseja mesmo trocar o Líder?";
  1025.     menu "Não",-,"Sim",RXB_GM_LEADER_01;
  1026.     close;
  1027.  
  1028. RXB_GM_LEADER_01:
  1029.     next;
  1030.     mes "["+.npc_name$+"]";
  1031.     mes "Qual o ^FF0000NOME^000000 do novo Líder?";
  1032.     mes "Digite o nome ^FF0000EXATO^000000 do Personagem.";
  1033.     input .@rxb_leader_blue$;
  1034.     next;
  1035.     mes "["+.npc_name$+"]";
  1036.     mes "Tem certeza de que trocar o Líder Azul para "+.@rxb_leader_blue$+"?";
  1037.     menu "Não",-,"Sim",RXB_GM_LEADER_02;
  1038.     close;
  1039.  
  1040. RXB_GM_LEADER_02:
  1041.     set $rxb_blue_leader$,.@rxb_leader_blue$;
  1042.     areaannounce "2007rwc_r.gat",66,154,133,183,"O Líder Azul foi trocado para: "+$rxb_blue_leader$+" pelo Game Master "+strcharinfo(0)+".",bc_blue;
  1043.     mes "Líder Trocado.";
  1044.     close;
  1045.  
  1046. RXB_DEBUG:
  1047.     next;
  1048.     mes "["+.npc_name$+"]";
  1049.     mes "Líder: "+$rxb_blue_leader$;
  1050.     mes "Jogadores Azul: "+$rxb_blue;
  1051.     mes "Jogadores Azul Vivos :"+$rxb_blue_alive;
  1052.     mes " ";
  1053.     mes "Jogadores na Sala Azul (com GMs): "+getareausers("2007rwc_r.gat",66,154,133,183);
  1054.     mes "Jogadores no Evento :"+$rxb_event_players;
  1055.     mes " ";
  1056.     mes "Líder Avisado: "+$rxb_blue_ready_temp;
  1057.     mes "Time Pronto: "+$rxb_blue_ready;
  1058.     next;
  1059.     goto RXB_GM;
  1060.    
  1061.     //Informa o Líder como Proceder
  1062. RXB_LEADER:
  1063.     if($rxb_blue_ready_temp == 1) goto RXB_READY_00;                //Verifica se o Líder já foi informado
  1064.     mes "["+.npc_name$+"]";
  1065.     mes "Vocé é o(a) Líder do Grupo Azul.";
  1066.     mes " ";
  1067.     mes "Por favor, crie um Grupo, chame todos os participantes para o mesmo e volte a falar comigo quando estiver pronto.";
  1068.     set $rxb_blue_ready_temp,1;
  1069.     close;
  1070.  
  1071.     //Pergunta se o Grupo está pronto
  1072. RXB_READY_00:
  1073.     mes "["+.npc_name$+"]";
  1074.     if($rxb_red_ready == 1) mes "O outro Grupo está pronto!";
  1075.     mes "Seu Grupo está pronto?";
  1076.     menu "Não",-,"Sim",RXB_READY_01;
  1077.     close;
  1078.    
  1079.     //Inicialização da Partida
  1080. RXB_READY_01:
  1081.     if($rxb_event_players != 24) {
  1082.         mes "["+.npc_name$+"]";
  1083.         mes "Espere até que os 24 participantes entrem nas Salas de Espera, por gentileza.";
  1084.         mes "Atualmente temos "+$rxb_event_players+" participantes";
  1085.         close;
  1086.     }
  1087.     getpartymember(getcharid(1));
  1088.     if($@partymembercount <= 11) goto RXB_NOT12;        //Não sei se devo colocar 11 ou 12 aqui.
  1089.     set $rxb_blue_ready,1;
  1090.     set $rxb_blue_ready_team,getcharid(1);
  1091.     if($rxb_red_ready == 1) goto RXB_READY_02;      //Caso o outro Grupo esteja pronto, inicia a Partida
  1092.     mes "O outro Grupo ainda não está pronto. Aguarde alguns instantes.";
  1093.     areaannounce "2007rwc_r.gat",66,14,133,43,"O outro Grupo já está pronto! Apressem-se por gentileza.",bc_blue;
  1094.     close;
  1095.  
  1096. RXB_NOT12:
  1097.     next;
  1098.     mes "["+.npc_name$+"]";
  1099.     mes "Desculpe mas seu grupo não tem 12 Participantes.";
  1100.     mes "Chame todos e tente novamente.";
  1101.     close;
  1102.  
  1103.     //Teletransporte dos Grupos
  1104. RXB_READY_02:
  1105.     close2;
  1106.     set $rxb_running,1;
  1107.     areawarp "2007rwc_r.gat",66,154,133,183,"rwc03.gat",88,50;
  1108.     areawarp "2007rwc_r.gat",66,14,133,43,"rwc03.gat",11,49;
  1109.     //Estranhamente os comandos abaixo não funcionam, mas não dão erro no Map-Server, mesmo como Int
  1110.     //warpparty "rwc03.gat",11,49,$rxb_blue_ready_team;
  1111.     //warpparty "rwc03.gat",88,50,$rxb_red_ready_team;
  1112.     close;
  1113.  
  1114.     //Informa que o Grupo já está pronto
  1115. RXB_READY_03:
  1116.     mes "["+.npc_name$+"]";
  1117.     mes "Seu Grupo já está pronto. Por favor, aguarde pelo outro Grupo.";
  1118.     close;
  1119.  
  1120. RXB_CANCELED:
  1121.     mes "["+.npc_name$+"]";
  1122.     mes "Evento cancelado. Desculpe-nos pelo transtorno.";
  1123.     next;
  1124.     warp "prontera.gat",155,155;
  1125.     close;
  1126.  
  1127. OnInit:
  1128.     set .npc_name$,"Ajudante Azul";
  1129.     end;
  1130.    
  1131. }
  1132.  
  1133. 2007rwc_r.gat,126,28,4  script  Ajudante Vermelho   751,{
  1134.  
  1135.     //Início do Ajudante
  1136.     if(getgmlevel() >= 40) goto RXB_GM;
  1137.     if($rxb_event == 0) goto RXB_CANCELED;                      //Se cancelado
  1138.     if($rxb_red_ready == 1) goto RXB_READY_03;                  //Verifica se o Grupo já está pronto
  1139.     if(strcharinfo(0) == $rxb_red_leader$) goto RXB_LEADER;     //Verifica se é o Líder do Grupo
  1140.     mes "["+.npc_name$+"]";
  1141.     mes "Por favor, saia do seu grupo atual e espere seu(sua) Líder chamá-lo(a) para um grupo.";
  1142.     mes " ";
  1143.     mes "Seu Líder é o(a) "+$rxb_red_leader$+".";
  1144.     close;
  1145.  
  1146.     //Opções de GMs
  1147. RXB_GM:
  1148.     mes "["+.npc_name$+"]";
  1149.     mes "Bem vindo ao Sistema de GMs.";
  1150.     mes "O que deseja fazer?";
  1151.     menu "Warp",RXB_GM_WARP,"Debug",RXB_DEBUG,"Abrir Vagas",RXB_GM_VAGAS,"Trocar Líder",RXB_GM_LEADER,"Nada",-;
  1152.     close;
  1153.    
  1154. RXB_GM_WARP:
  1155.     next;
  1156.     mes "["+.npc_name$+"]";
  1157.     mes "Qual sala deseja ir?";
  1158.     menu "Prontera",RXB_GM_WARP_PRT,"Blue",RXB_GM_WARP_BLUE,"Arena",RXB_GM_WARP_ARENA,"Cancelar",-;
  1159.     close;
  1160.  
  1161. RXB_GM_WARP_PRT:
  1162.     warp "prontera.gat",155,155;
  1163.     close; 
  1164.  
  1165. RXB_GM_WARP_BLUE:
  1166.     warp "2007rwc_r.gat",90,163;
  1167.     close;
  1168.  
  1169. RXB_GM_WARP_ARENA:
  1170.     warp "rwc03.gat",50,49;
  1171.     close;
  1172.  
  1173. RXB_GM_VAGAS:
  1174.     if(getgmlevel() <= 40) {
  1175.         mes "["+.npc_name$+"]";
  1176.         mes "somente GM-E pra cima pode utilizar esta opção.";
  1177.         close;
  1178.     }
  1179.     if($rxb_event == 0) {
  1180.         next;
  1181.         mes "["+.npc_name$+"]";
  1182.         mes "Desulpe mas o evento deve estar Ativo para usar esta opção.";
  1183.         close;
  1184.     }
  1185.     if($rxb_running == 1) {
  1186.         next;
  1187.         mes "["+.npc_name$+"]";
  1188.         mes "Desulpe mas você não pode fazer está mudança enquanto o Evento está Ativo na Arena.";
  1189.         close;
  1190.     }
  1191.     if($rxb_event_players != 24) {
  1192.         next;
  1193.         mes "["+.npc_name$+"]";
  1194.         mes "Desculpe mas esta opção só pode ser usada após 24 jogadores adentrarem ao Evento.";
  1195.         mes " ";
  1196.         mes "No momento temos "+$rxb_event_players+" jogadores.";
  1197.         close;
  1198.     }
  1199.     next;
  1200.     mes "["+.npc_name$+"]";
  1201.     mes "^FF0000A T E N Ç Ã O^000000!";
  1202.     mes "Este comando somente deve ser usado para abrir vagas a jogadores caso algum tenha saido da sala de espera.";
  1203.     mes " ";
  1204.     mes "Somente abre vagas NESTE time.";
  1205.     next;
  1206.     mes "["+.npc_name$+"]";
  1207.     mes "Deseja mesmo abrir vagas?";
  1208.     menu "Não",-,"Sim",RXB_GM_VAGAS_01;
  1209.     close;
  1210.    
  1211. RXB_GM_VAGAS_01:
  1212.     mes "["+.npc_name$+"]";
  1213.     mes "Quantas vagas deseja abrir?";
  1214.     input .@rxb_vagas_red;
  1215.     if(.@rxb_vagas_red > 12) {
  1216.         mes "["+.npc_name$+"]";
  1217.         mes "Você não pode abrir mais que 12 vagas.";
  1218.         close;
  1219.     }
  1220.     next;
  1221.     mes "["+.npc_name$+"]";
  1222.     mes "Jogadores na Sala Vermelha (contando GMs): "+getareausers("2007rwc_r.gat",66,14,133,43);
  1223.     mes " ";
  1224.     mes "Tem certeza de que deseja abrir "+.@rxb_vagas_red+" vagas?";
  1225.     menu "Não",-,"Sim",RXB_GM_VAGAS_02;
  1226.     close;
  1227.  
  1228. RXB_GM_VAGAS_02:
  1229.     set $rxb_red,$rxb_red-.@rxb_vagas_red;
  1230.     set $rxb_red_alive,$rxb_red_alive-.@rxb_vagas_red;
  1231.     set $rxb_event_players,$rxb_event_players-.@rxb_vagas_red;
  1232.     announce "O Game Master "+strcharinfo(0)+" reabriu "+.@rxb_vagas_red+" vagas para o Red vs Blue.",bc_all;
  1233.     announce "Dirija-se ao NPC em Prontera caso deseje participar.",bc_all;
  1234.     if($rxb_red_ready == 1) {
  1235.         set $rxb_red_ready,0;
  1236.         areaannounce "2007rwc_r.gat",66,154,133,183,"O outro Grupo não está mais pronto, pois alguém caiu.",bc_blue;
  1237.     }
  1238.     mes "Vagas Abertas.";
  1239.     close;
  1240.  
  1241. RXB_GM_LEADER:
  1242.     if(getgmlevel() <= 40) {
  1243.         mes "["+.npc_name$+"]";
  1244.         mes "somente GM-E pra cima pode utilizar esta opção.";
  1245.         close;
  1246.     }
  1247.     if($rxb_event == 0) {
  1248.         next;
  1249.         mes "["+.npc_name$+"]";
  1250.         mes "Desulpe mas o evento deve estar Ativo para usar esta opção.";
  1251.         close;
  1252.     }
  1253.     if($rxb_running == 1) {
  1254.         next;
  1255.         mes "["+.npc_name$+"]";
  1256.         mes "Desulpe mas você não pode fazer está mudança enquanto o Evento está Ativo na Arena.";
  1257.         close;
  1258.     }
  1259.     if($rxb_event_players != 24) {
  1260.         next;
  1261.         mes "["+.npc_name$+"]";
  1262.         mes "Desculpe mas esta opção só pode ser usada após 24 jogadores adentrarem ao Evento.";
  1263.         mes " ";
  1264.         mes "No momento temos "+$rxb_event_players+" jogadores.";
  1265.         close;
  1266.     }
  1267.     next;
  1268.     mes "["+.npc_name$+"]";
  1269.     mes "^FF0000A T E N Ç Ã O^000000!";
  1270.     mes "Esta opção somente deve ser usada caso o Líder do Grupo tenha saído.";
  1271.     mes " ";
  1272.     mes "Caso isto não tenha acontecido, favor não interferir no decorrer do evento.";
  1273.     next;
  1274.     mes "["+.npc_name$+"]";
  1275.     mes "Deseja mesmo trocar o Líder?";
  1276.     menu "Não",-,"Sim",RXB_GM_LEADER_01;
  1277.     close;
  1278.  
  1279. RXB_GM_LEADER_01:
  1280.     next;
  1281.     mes "["+.npc_name$+"]";
  1282.     mes "Qual o ^FF0000NOME^000000 do novo Líder?";
  1283.     mes "Digite o nome ^FF0000EXATO^000000 do Personagem.";
  1284.     input .@rxb_leader_red$;
  1285.     next;
  1286.     mes "["+.npc_name$+"]";
  1287.     mes "Tem certeza de que trocar o Líder Azul para "+.@rxb_leader_red$+"?";
  1288.     menu "Não",-,"Sim",RXB_GM_LEADER_02;
  1289.     close;
  1290.  
  1291. RXB_GM_LEADER_02:
  1292.     set $rxb_red_leader$,.@rxb_leader_red$;
  1293.     areaannounce "2007rwc_r.gat",66,14,133,43,"O Líder Vermelho foi trocado para: "+$rxb_red_leader$+" pelo Game Master "+strcharinfo(0)+".",bc_blue;
  1294.     mes "Líder Trocado.";
  1295.     close;
  1296.  
  1297. RXB_DEBUG:
  1298.     next;
  1299.     mes "["+.npc_name$+"]";
  1300.     mes "Líder: "+$rxb_red_leader$;
  1301.     mes "Jogadores Vermelho: "+$rxb_red;
  1302.     mes "Jogadores Vermelho Vivos :"+$rxb_red_alive;
  1303.     mes " ";
  1304.     mes "Jogadores na Sala Vermelha (com GMs): "+getareausers("2007rwc_r.gat",66,14,133,43);
  1305.     mes "Jogadores no Evento :"+$rxb_event_players;
  1306.     mes " ";
  1307.     mes "Líder Avisado: "+$rxb_red_ready_temp;
  1308.     mes "Time Pronto: "+$rxb_red_ready;
  1309.     next;
  1310.     goto RXB_GM;
  1311.  
  1312.     //Informa o Líder como Proceder
  1313. RXB_LEADER:
  1314.     if($rxb_red_ready_temp == 1) goto RXB_READY_00;             //Verifica se o Líder já foi informado
  1315.     mes "["+.npc_name$+"]";
  1316.     mes "Vocé é o(a) Líder do Grupo Vermelho.";
  1317.     mes " ";
  1318.     mes "Por favor, crie um Grupo, chame todos os participantes para o mesmo e volte a falar comigo quando estiver pronto.";
  1319.     set $rxb_red_ready_temp,1;
  1320.     close;
  1321.  
  1322.     //Pergunta se o Grupo está pronto
  1323. RXB_READY_00:
  1324.     mes "["+.npc_name$+"]";
  1325.     if($rxb_blue_ready == 1) mes "O outro Grupo está pronto!";
  1326.     mes "Seu Grupo está pronto?";
  1327.     menu "Não",-,"Sim",RXB_READY_01;
  1328.     close;
  1329.  
  1330.     //Inicialização da Partida
  1331. RXB_READY_01:
  1332.     if($rxb_event_players != 24) {
  1333.         mes "["+.npc_name$+"]";
  1334.         mes "Espere até que os 24 participantes entrem nas Salas de Espera, por gentileza.";
  1335.         mes "Atualmente temos "+$rxb_event_players+" participantes";
  1336.         close;
  1337.     }
  1338.     getpartymember(getcharid(1));
  1339.     if($@partymembercount <= 11) goto RXB_NOT12;        //Não sei se devo colocar 11 ou 12 aqui.
  1340.     set $rxb_red_ready,1;
  1341.     set $rxb_red_ready_team,getcharid(1);
  1342.     if($rxb_blue_ready == 1) goto RXB_READY_02;     //Caso o outro Grupo esteja pronto, inicia a Partida
  1343.     mes "O outro Grupo ainda não está pronto. Aguarde alguns instantes.";
  1344.     areaannounce "2007rwc_r.gat",66,154,133,183,"O outro Grupo já está pronto! Apressem-se por gentileza.",bc_blue;
  1345.     close;
  1346.  
  1347. RXB_NOT12:
  1348.     next;
  1349.     mes "["+.npc_name$+"]";
  1350.     mes "Desculpe mas seu grupo não tem 12 Participantes.";
  1351.     mes "Chame todos e tente novamente.";
  1352.     close;
  1353.  
  1354. RXB_READY_02:
  1355.     close2;
  1356.     set $rxb_running,1;
  1357.     areawarp "2007rwc_r.gat",66,154,133,183,"rwc03.gat",88,50;
  1358.     areawarp "2007rwc_r.gat",66,14,133,43,"rwc03.gat",11,49;
  1359.     //Estranhamente os comandos abaixo não funcionam, mas não dão erro no Map-Server, mesmo como Int
  1360.     //warpparty "rwc03.gat",11,49,$rxb_blue_ready_team;
  1361.     //warpparty "rwc03.gat",88,50,$rxb_red_ready_team;
  1362.     close;
  1363.  
  1364.     //Informa que o Grupo já está pronto
  1365. RXB_READY_03:
  1366.     mes "["+.npc_name$+"]";
  1367.     mes "Seu Grupo já está pronto. Por favor, aguarde pelo outro Grupo.";
  1368.     close;
  1369.  
  1370. RXB_CANCELED:
  1371.     mes "["+.npc_name$+"]";
  1372.     mes "Evento cancelado. Desculpe-nos pelo transtorno.";
  1373.     next;
  1374.     warp "prontera.gat",155,155;
  1375.     close;
  1376.  
  1377. OnInit:
  1378.     set .npc_name$,"Ajudante Vermelho";
  1379.     end;
  1380.  
  1381. }
  1382.  
  1383. rwc03.gat,49,72,5   script  Arena   734,{
  1384.     if(getgmlevel() >= 40) goto RXB_GM;
  1385.     if($rxb_running == 2) goto RXB_FINISHED;
  1386.     if($rxb_event == 0) goto RXB_GETOUT;
  1387.     close;
  1388.  
  1389. RXB_GM:
  1390.     mes "O que deseja fazer?";
  1391.     menu "Debug",RXB_DEBUG,"Termina a Partida",RXB_GM_FINISH_01,"Nada",-;
  1392.     close;
  1393.  
  1394. RXB_DEBUG:
  1395.     mes "ID Last Killed: "+$rxb_arena_killed+".";
  1396.     if($rxb_arena_killed == $rxb_blue_ready_team) mes "Grupo Azul";
  1397.     if($rxb_arena_killed == $rxb_red_ready_team) mes "Grupo Vermelho";
  1398.     mes " ";
  1399.     mes "Vivos Azul: "+$rxb_blue_alive+".";
  1400.     mes "Vivos Vermelho: "+$rxb_red_alive+".";
  1401.     mes "Pessoas na Arena contando GMs: "+getmapusers("rwc03");
  1402.     close;
  1403.  
  1404. RXB_GM_FINISH_01:
  1405.     if(getgmlevel() <= 40) {
  1406.         mes "["+.npc_name$+"]";
  1407.         mes "somente GM-E pra cima pode utilizar esta opção.";
  1408.         close;
  1409.     }
  1410.     if($rxb_running == 0) {
  1411.         mes "Como você pretende decidir um vencedor se a partida sequer começou?";
  1412.         close;
  1413.     }
  1414.     if($rxb_running == 2) {
  1415.         mes "A partida já terminou e um vencedor já foi definido.";
  1416.         close;
  1417.     }
  1418.     mes "^FF0000A T E N Ç Ã O^000000!";
  1419.     mes "Esta opção somente deve ser usada caso alguém tenha saído da Arena antes de morrer.";
  1420.     next;
  1421.     mes "Você saberá se isso ocorreu caso os únicos vivos do mapa sejam de um único Grupo e o Evento não tenha terminado.";
  1422.     next;
  1423.     mes "Deseja mesmo terminar a partida?";
  1424.     menu "Sim",RXB_GM_FINISH_02,"Não",-;
  1425.     close;
  1426.  
  1427. RXB_GM_FINISH_02:
  1428.     mes "Qual Grupo venceu a Partida?";
  1429.     menu "Esquece...",-,"Azul",RXB_GM_FINISH_BLUE,"Vermelho",RXB_GM_FINISH_RED;
  1430.     close;
  1431.  
  1432. RXB_GM_FINISH_BLUE:
  1433.     mes "Certeza que o Azul venceu?";
  1434.     menu "Não",-,"Sim",RXB_GM_FINISH_BLUE_YES;
  1435.     close;
  1436.  
  1437. RXB_GM_FINISH_BLUE_YES:
  1438.     set $rxb_event,0;
  1439.     set $rxb_running,2;
  1440.     set $rxb_winner,$rxb_blue_ready_team;
  1441.     set $rxb_games,$rxb_games+1;
  1442.     set $rxb_games_blue,$rxb_games_blue+1;
  1443.     set $rxb_ticket,$rxb_ticket+1;                              //Ticket do Ultimo Jogo
  1444.     if($rxb_blue_alive != 12) announce "O Grupo Azul do Líder "+$rxb_blue_leader$+" foi o vencedor do Red vs Blue!",bc_all;
  1445.     if($rxb_blue_alive == 12) announce "O Grupo Azul do Líder "+$rxb_blue_leader$+" obteve uma Flawless Victory no Red vs Blue!",bc_all;
  1446.     mapannounce "rwc03.gat","Por favor, dirijam-se ao NPC Arena na parte superior central do mapa.",bc_blue;
  1447.     initnpctimer;
  1448.     close;
  1449.  
  1450. RXB_GM_FINISH_RED:
  1451.     mes "Certeza que o Vermelho venceu?";
  1452.     menu "Não",-,"Sim",RXB_GM_FINISH_RED_YES;
  1453.     close;
  1454.  
  1455. RXB_GM_FINISH_RED_YES:
  1456.     set $rxb_event,0;
  1457.     set $rxb_running,2;
  1458.     set $rxb_winner,$rxb_red_ready_team;
  1459.     set $rxb_games,$rxb_games+1;
  1460.     set $rxb_games_red,$rxb_games_red+1;
  1461.     set $rxb_ticket,$rxb_ticket+1;                              //Ticket do Ultimo Jogo
  1462.     if($rxb_red_alive != 12) announce "O Grupo Vermelho do Líder "+$rxb_red_leader$+" foi o vencedor do Red vs Blue!",bc_all;
  1463.     if($rxb_red_alive == 12) announce "O Grupo Vermelho do Líder "+$rxb_red_leader$+" obteve uma Flawless Victory no Red vs Blue!",bc_all;
  1464.     mapannounce "rwc03.gat","Por favor, dirijam-se ao NPC Arena na parte superior central do mapa.",bc_blue;
  1465.     initnpctimer;
  1466.     close;
  1467.  
  1468. RXB_GETOUT:
  1469.     warp "prontera.gat",155,155;
  1470.     close;
  1471.  
  1472. RXB_FINISHED:
  1473.     if(getcharid(1) == $rxb_winner) goto RXB_WINNER;
  1474.     mes "Obrigado por Participar do Red vs. Blue!";
  1475.     mes "Mais sorte na próxima vez.";
  1476.     set #rxb_ticket,$rxb_ticket;                                //Ticket da Partida Atual
  1477.     set #rxb_participated,#rxb_participated+1;
  1478.     if(getcharid(1) == $rxb_blue_ready_team) {
  1479.         if($rxb_blue == 0) goto RXB_CHEATER;
  1480.         set #rxb_participated_blue,#rxb_participated_blue+1;
  1481.         set $rxb_blue,$rxb_blue-1;
  1482.         set #rxb_pontos,#rxb_pontos+$rxb_blue_killed;               //1 Ponto por personagem do outro time morto
  1483.     }
  1484.     if(getcharid(1) == $rxb_red_ready_team) {
  1485.         if($rxb_red == 0) goto RXB_CHEATER;
  1486.         set #rxb_participated_red,#rxb_participated_red+1;
  1487.         set $rxb_red,$rxb_red-1;
  1488.         set #rxb_pontos,#rxb_pontos+$rxb_red_killed;                //1 Ponto por personagem do outro time morto
  1489.     }
  1490.     next;
  1491.     warp "prontera.gat",155,155;
  1492.     close;
  1493.    
  1494. RXB_WINNER:
  1495.     mes "Parabéns! Você venceu o Red vs. Blue!";
  1496.     set #rxb_participated,#rxb_participated+1;
  1497.     set #rxb_won,#rxb_won+1;
  1498.     set #rxb_ticket,$rxb_ticket;                                //Ticket da Partida Atual
  1499.     set #rxb_pontos,#rxb_pontos+10;                         //10 Pontos por vencer a Partida
  1500.     if(getcharid(1) == $rxb_blue_ready_team) {
  1501.         if($rxb_blue == 0) goto RXB_CHEATER;
  1502.         set #rxb_participated_blue,#rxb_participated_blue+1;
  1503.         set #rxb_participated_blue_won,#rxb_participated_blue_won+1;
  1504.         set #rxb_pontos,#rxb_pontos+$rxb_blue_killed;               //1 Ponto por personagem do outro time morto
  1505.         if($rxb_blue_alive == 12) set #rxb_pontos,#rxb_pontos+50;   //50 Pontos por Flawless
  1506.         set $rxb_blue,$rxb_blue-1;
  1507.     }
  1508.     if(getcharid(1) == $rxb_red_ready_team) {
  1509.         if($rxb_red == 0) goto RXB_CHEATER;
  1510.         set #rxb_participated_red,#rxb_participated_red+1;
  1511.         set #rxb_participated_red_won,#rxb_participated_red_won+1;
  1512.         set #rxb_pontos,#rxb_pontos+$rxb_red_killed;                //1 Ponto por personagem do outro time morto
  1513.         if($rxb_red_alive == 12) set #rxb_pontos,#rxb_pontos+50;    //50 Pontos por Flawless
  1514.         set $rxb_red,$rxb_red-1;
  1515.     }
  1516.     next;
  1517.     warp "prontera.gat",155,155;
  1518.     close;
  1519.  
  1520. RXB_CHEATER:
  1521.     mes "Trapaceiro...";
  1522.     announce "O jogador "+strcharinfo(0)+" tentou trapacear na entrega dos pontos do Red vs Blue.",bc_all;
  1523.     next;
  1524.     warp "prontera.gat",155,155;
  1525.     close;
  1526.    
  1527. OnPCKillEvent:
  1528.     set $rxb_arena_killed,getcharid(1);
  1529.    
  1530.     if($rxb_arena_killed == $rxb_blue_ready_team) {
  1531.         if($rxb_running != 1) end;
  1532.         set $rxb_red_alive,$rxb_red_alive-1;
  1533.         set $rxb_blue_killed,$rxb_blue_killed+1;
  1534.         if($rxb_red_alive == 0) {
  1535.             set $rxb_event,0;
  1536.             set $rxb_running,2;
  1537.             set $rxb_winner,$rxb_blue_ready_team;
  1538.             set $rxb_games,$rxb_games+1;
  1539.             set $rxb_games_blue,$rxb_games_blue+1;
  1540.             set $rxb_ticket,$rxb_ticket+1;                      //Ticket do Ultimo Jogo
  1541.             if($rxb_blue_alive != 12) announce "O Grupo Azul do Líder "+$rxb_blue_leader$+" foi o vencedor do Red vs Blue!",bc_all;
  1542.             if($rxb_blue_alive == 12) announce "O Grupo Azul do Líder "+$rxb_blue_leader$+" obteve uma Flawless Victory no Red vs Blue!",bc_all;
  1543.             mapannounce "rwc03.gat","Por favor, dirijam-se ao NPC Arena na parte superior central do mapa.",bc_blue;
  1544.             initnpctimer;
  1545.             end;
  1546.         }
  1547.         end;
  1548.     }
  1549.     if($rxb_arena_killed == $rxb_red_ready_team) {
  1550.         if($rxb_running != 1) end;
  1551.         set $rxb_blue_alive,$rxb_blue_alive-1;
  1552.         set $rxb_red_killed,$rxb_red_killed+1;
  1553.         if($rxb_blue_alive == 0) {
  1554.             set $rxb_event,0;
  1555.             set $rxb_running,2;
  1556.             set $rxb_winner,$rxb_red_ready_team;
  1557.             set $rxb_games,$rxb_games+1;
  1558.             set $rxb_games_red,$rxb_games_red+1;
  1559.             set $rxb_ticket,$rxb_ticket+1;                      //Ticket do Ultimo Jogo
  1560.             if($rxb_red_alive != 12) announce "O Grupo Vermelho do Líder "+$rxb_red_leader$+" foi o vencedor do Red vs Blue!",bc_all;
  1561.             if($rxb_red_alive == 12) announce "O Grupo Vermelho do Líder "+$rxb_red_leader$+" obteve uma Flawless Victory no Red vs Blue!",bc_all;
  1562.             mapannounce "rwc03.gat","Por favor, dirijam-se ao NPC Arena na parte superior central do mapa.",bc_blue;
  1563.             initnpctimer;
  1564.             end;
  1565.         }
  1566.         end;
  1567.     }
  1568.     end;
  1569.  
  1570. OnTimer2000:
  1571.     atcommand "@raisemap";
  1572.     pvpoff "rwc03.gat";
  1573.     stopnpctimer;
  1574.     end;
  1575.  
  1576. }
  1577.  
  1578. //sc_end SC_ALL;
  1579. //
  1580. //for ( set .@i,0; .@i <= 225; set .@i,.@i + 1 ) {
  1581. //        if ( .@i >= 72 && .@i <= 75 ) continue;
  1582. //      sc_end .@i;
  1583. //    }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement