Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: brendorox on Jun 30th, 2012  |  syntax: None  |  size: 10.27 KB  |  hits: 57  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. prontera,167,195,4      script  Sala dos Cristais       855,{  
  2.         if(getgmlevel()>79)
  3.         {
  4.                 onconf:
  5.                 if(!$cr[0]||!$cr[1]||!$cr[2])set(.@_CAINHO$,select("Menu Admnistrativo [CONFIGURAR!]"));
  6.                 else set(.@_CAINHO$,select("Menu Administrativo:Menu do Jogador"));
  7.                 if(@menu==2)callsub(onplayer);
  8.                 while(set(.@_loop,1)) //thx to lord//svro :D~
  9.                 {
  10.                         mes("Painel de Configuração:");
  11.                         mes("~ Lim. Jogadores Sala 1: "+$cr[0]);
  12.                         mes("~ Lim. Jogadores Sala 2: "+$cr[1]);
  13.                         mes("~ Lim. Jogadores Sala VIP: "+$cr[2]);
  14.                         mes("~ BN para 1º Ranking: "+$cr[5]);
  15.                         mes("~ Bonificação VIP: "+(($cr[4])?"Sim":"Não"));
  16.                         mes("~ Nv. VIP do Servidor: "+$cr[3]);
  17.                         next();
  18.                         switch(select("Lim. de Jogadores Sala 1:Lim. de Jogadores Sala 2:Lim. de Jogadores Sala VIP:BN para o 1º Ranking:Bonificação VIP:Nível VIP do Servidor:Resetar Valores:Sair"))
  19.                         {
  20.                                 case 1:
  21.                                 case 2:
  22.                                 case 3:
  23.                                         mes("["+strnpcinfo(1)+"]");
  24.                                         mes("Digite o limite de usuários na\rSala "+((@menu==3)?"VIP":@menu));
  25.                                         input(.@_mn,0);
  26.                                         next();
  27.                                         mes("["+strnpcinfo(1)+"]");
  28.                                         mes("Lim. Jogadores Sala "+((@menu==3)?"VIP":@menu)+": "+.@_mn);
  29.                                         set(.@_lastmenu,@menu);
  30.                                         select("Confirmar");
  31.                                         setarray($cr[.@_lastmenu-1],.@_mn);
  32.                                         next();
  33.                                         break;
  34.                                 case 4:
  35.                                         mes("["+strnpcinfo(1)+"]");
  36.                                         mes("Quantas Bandeira Nacional o 1º do ranking de \"kills\" de Cristal deve ganhar?");
  37.                                         input(.@_mn,0);
  38.                                         next();
  39.                                         mes("["+strnpcinfo(1)+"]");
  40.                                         mes("BN para 1º Ranking: "+.@_mn);
  41.                                         select("Confirmar");
  42.                                         setarray($cr[5],.@_mn);
  43.                                         next();
  44.                                         break;
  45.                                 case 5:
  46.                                         mes("["+strnpcinfo(1)+"]");
  47.                                         mes("Jogadores VIP tem chances de drop nos cristais alteradas, favorecendo a eles?");
  48.                                         next();
  49.                                         select("Sim.:Não.");
  50.                                         setarray($cr[4],((@menu==2)?0:1));
  51.                                         next();
  52.                                         break;
  53.                                 case 6:
  54.                                         mes("["+strnpcinfo(1)+"]");
  55.                                         mes("Digite o nível da conta VIP no seu servidor:");
  56.                                         input(.@_mn,0,20);
  57.                                         next();
  58.                                         mes("["+strnpcinfo(1)+"]");
  59.                                         mes("Nível da Conta VIP: "+.@_mn);
  60.                                         select("Confirmar");
  61.                                         setarray($cr[3],.@_mn);
  62.                                         next();
  63.                                         break;
  64.                                 case 7:
  65.                                         mes("["+strnpcinfo(1)+"]");
  66.                                         mes("Tem certeza que deseja resetar TODOS os valores já configurados?");
  67.                                         if(select("Não:Sim")==1)close();
  68.                                         next();
  69.                                         mes("["+strnpcinfo(1)+"]");
  70.                                         mes("Todos os valores foram resetados!");
  71.                                         cleararray($cr[0],0,getarraysize($cr));
  72.                                         next();
  73.                                         break;
  74.                                 case 8:
  75.                                         set(.@_loop,0);
  76.                                         break;
  77.                         }
  78.                 }
  79.                 close();
  80.         }
  81.         onplayer:
  82.         mes("["+strnpcinfo(1)+"]");
  83.         if(!$ison)
  84.         {
  85.                 mes("A sala dos cristais está fechada.");
  86.                 close();
  87.         }
  88.         mes("Posso te teleportar para várias salas onde existem cristais que ao serem mortos podem ter o item Bandeira Nacional que poderá ser trocado depois por itens.");
  89.         next();
  90.         mes("["+strnpcinfo(1)+"]");
  91.         if((#trap)&&(#sct==$trapadd))
  92.         {
  93.                 mes("Você caiu em uma armadilha de expulsão, volte na próxima rodada.");
  94.                 close();
  95.         }
  96.         mes("Pois bem, escolha a sala que você deseja entrar:");
  97.         next();
  98.         select("Sala Romana [^FF0000"+getmapusers("knight_1-1")+"^000000/^008B00"+$cr[0]+"^000000]:Sala Grega [^FF0000"+getmapusers("knight_2-1")+"^000000/^008B00"+$cr[1]+"^000000]"+(getgmlevel()>$cr[3]?":Sala VIP [^FF0000"+getmapusers("wizard_2-1")+"^000000/^008B00"+$cr[2]+"^000000]":""));
  99.         mes("["+strnpcinfo(1)+"]");
  100.         if(getgmlevel()<$cr[3])
  101.         {
  102.                 sc_end(-1);
  103.                 if(getmapusers(((@menu==1)?"knight_1-1":((@menu==2)?"knight_2-1":((@menu==3)?"wizard_2-1":""))))>=$cr[@menu-1])
  104.                 {
  105.                         mes("Esta sala está lotada.");
  106.                         close();
  107.                 }
  108.                 if(!$ison)
  109.                 {
  110.                         mes("A sala dos cristais está fechada.");
  111.                         close();
  112.                 }
  113.                 warp(((@menu==1)?"knight_1-1":((@menu==2)?"knight_2-1":((@menu==3)?"wizard_2-1":"izlude"))),0,0);
  114.                 end();
  115.         }
  116.         if(!$ison)
  117.         {
  118.                 mes("A sala dos cristais está fechada.");
  119.                 close();
  120.         }
  121.         warp(((@menu==1)?"knight_1-1":((@menu==2)?"knight_2-1":((@menu==3)?"wizard_2-1":""))),0,0);
  122.         end();
  123.         onclock0000:onclock1000:onclock1200:onclock1400:onclock1600:onclock1800:onclock2000:onclock2200:
  124.                 if(!$cr[0]||!$cr[1]||!$cr[2])
  125.                 {
  126.                         announce("["+strnpcinfo(1)+"]: A sala dos cristais não foi iniciada porque ainda não foi configurada.",bc_all,"0x00FFFF");
  127.                         end();
  128.                 }
  129.                 set($ison,1);
  130.                 announce("["+strnpcinfo(1)+"]: A sala dos cristais está aberta por 10 minutos ou até destruirem todos os cristais!",bc_all,"0x00FFFF");
  131.                 monster("knight_1-1",0,0,"Cristal",1877,10,strnpcinfo(0)+"::onmobdie");
  132.                 monster("knight_2-1",0,0,"Cristal",1877,10,strnpcinfo(0)+"::onmobdie");
  133.                 monster("wizard_2-1",0,0,"Cristal",1951,20,strnpcinfo(0)+"::onmobdie");
  134.                 end();
  135.         onclock0010:onclock1010:onclock1210:onclock1410:onclock1610:onclock1810:onclock2010:onclock2210:
  136.                 if(!$cr[0]||!$cr[1]||!$cr[2]||!$cr[3])end();
  137.                 set($ison,set(.@_mn,0));
  138.                 announce("["+strnpcinfo(1)+"]: A sala dos cristais foi fechada!",bc_all,"0x00FFFF");
  139.                 set($trapadd,$trapadd+1);
  140.                 for(;.@_mn<getarraysize($maps$);set(.@_mn,.@_mn+1))
  141.                 {
  142.                         mapwarp($maps$[.@_mn],"izlude",134,115);
  143.                         killmonsterall($maps$[.@_mn]);
  144.                 }
  145.                 end();
  146.         onmobdie:
  147.                 query_sql("select `kills` from `cristais_by_ragnacrie` where `char_id`='"+getcharid(0)+"'",.@_crk);
  148.                 if(!getarraysize(.@_crk))query_sql("insert into `cristais_by_ragnacrie` (`char_id`,`name`,`kills`) values ('"+getcharid(0)+"','"+strcharinfo(0)+"','1')");
  149.                 else query_sql("update `cristais_by_ragnacrie` set kills=kills+1  where `char_id`='"+getcharid(0)+"'");
  150.                 specialeffect2(100);
  151.                 if(set(.@rand,rand(100))<=(($cr[4])?((getgmlevel()>$cr[3])?25:35):35))
  152.                 {
  153.                         announce("Você quebra um cristal e...é retirado da sala.",bc_self,"0x40E0D0");
  154.                         warp("izlude",134,115);
  155.                         end();
  156.                 }
  157.                 if(set(.@rane,rand(100))<=(($cr[4])?((getgmlevel()>=$cr[3])?3:5):5))
  158.                 {
  159.                         announce("Você quebra um cristal e...é retirado da sala por esta rodada.",bc_self,"0x40E0D0");
  160.                         warp("izlude",134,115);
  161.                         set(#trap,1);
  162.                         set(#sct,$TrapAdd);
  163.                         end();
  164.                 }
  165.                 if(set(.@raed,rand(100))<=(($cr[4])?((getgmlevel()>=$cr[3])?5:3):3))
  166.                 {
  167.                         announce("Você quebra um cristal e...recebe 1 parte das letras NSRO !!",bc_self,"0x40E0D0");
  168.                         getitem(7463,1);
  169.                         end();
  170.                 }
  171.                 if(set(.@rend,rand(100))<=(($cr[4])?((getgmlevel()>=$cr[3])?10:8):8))
  172.                 {
  173.                         announce("Você quebra um cristal e...recebe 1 parte das letras NSRO !!",bc_self,"0x40E0D0");
  174.                         getitem(7464,1);
  175.                         end();
  176.                 }
  177.                 if(set(.@eand,rand(100))<=(($cr[4])?((getgmlevel()>=$cr[3])?20:15):15))
  178.                 {
  179.                         announce("Você quebra um cristal e...recebe Aumentar Agilidade Nv.10 !!",bc_self,"0x40E0D0");
  180.                         sc_Start(32,240000,10);
  181.                         skilleffect(29,0);
  182.                         end();
  183.                 }
  184.                 if(set(.@ranf,rand(100))<=(($cr[4])?((getgmlevel()>=$cr[3])?3:4):4))
  185.                 {
  186.                         if (!countitem(7464))
  187.                         {
  188.                                 announce("Você quebra um cristal e...é retirado da sala.",bc_self,"0x40E0D0");
  189.                                 warp("izlude",142,128);
  190.                                 end();
  191.                         }
  192.                         else
  193.                         {
  194.                                 announce("Você quebra um cristal e...perde 1 das Partes da Letras NSRO.",bc_self,"0x40E0D0");
  195.                                 delitem(7465,1);
  196.                                 end();
  197.                         }
  198.                 }
  199.                 end();
  200.         oninit:
  201.                 setarray($mf[0],0,1,2,3,4,5,12,13,15,22,29,30,31,33,34,35,41);
  202.                 setarray($maps$[0],"knight_1-1","knight_2-1","wizard_2-1");
  203.                 for(set(.@_mn,0);.@_mn<getarraysize($mf);set(.@_mn,.@_mn+1))setmapflag($maps$[0],setmapflag($maps$[1],setmapflag($maps$[2],$mf[.@_mn])));
  204.                 end();
  205.  
  206.         onpcloginevent:
  207.                 if((!$cr[0]||!$cr[1]||!$cr[2])&&getgmlevel()>79)
  208.                 {
  209.                         mes("["+strnpcinfo(1)+"]");
  210.                         mes("Desculpe pelo incômodo, mas você ainda não me configurou totalmente.");
  211.                         mes("Isso pode causar bugs, então peço que o faça.");
  212.                         next();
  213.                         callsub(onconf);
  214.                 }
  215.                 end();
  216. }
  217. izlude,138,120,4        script  Loja das Bandeiras      850,{
  218.         setarray($_id[0],607,501); /* ID dos Itens */
  219.         setarray($_qt[0],20,6);    /* Quantidade dos Itens */
  220.         setarray($_nb[0],4,2);     /* Preço dos Itens */
  221.         /* À medida que os itens são colocados, coloque na ordem o número de Bandeira Nacional
  222.          * para comprar o item. No exemplo ao lado, 20 Fruto de Yggdrasil (ID 607) custarão 4 Bandeira Nacional,
  223.          * 6 Poção Vermelha (ID 501) custarão 2 Bandeira Nacional e assim por diante.
  224.          * PS: Caso queira, remova os itens e os preços e adicione os seus. Você pode adicionar até 255 itens. */
  225.  
  226.         mes("["+strnpcinfo(1)+"]");
  227.         mes("Olá, posso oferecer a você itens por Bandeira Nacional!");
  228.         mes("A lista dos itens aparecerá assim:");
  229.         mes("[BN necessária] Item");
  230.         for(set(.@_mn,0);.@_mn<getarraysize($_id);set(.@_mn,.@_mn+1))set(.@_m$,.@_m$+"["+$_nb[.@_mn]+" BN] "+getitemname($_id[.@_mn])+":");
  231.         next();
  232.         select (.@_m$);
  233.         mes("["+strnpcinfo(1)+"]");
  234.         if(countitem(7549)<$_nb[@menu-1])
  235.         {
  236.                 mes("Você não possui Bandeira Nacional necessárias.");
  237.                 close();
  238.         }
  239.         if(checkweight($_id[@menu-1],1)==0)
  240.         {
  241.                 mes("Você nao tem peso suficiente para carregar este item.");
  242.                 close();
  243.         }
  244.         mes("Pronto, aí está, 1 "+getitemname($_id[@menu-1]));
  245.         close2();
  246.         delitem(7549,$_nb[@menu-1]);
  247.         getitem($_id[@menu-1],$_qt[@menu-1]);
  248.         end();
  249. }
  250. izlude,140,121,4        script  Ranking dos Cristais    857,{
  251.         mes("["+strnpcinfo(1)+"]");
  252.         mes("Deseja ver o Ranking de quem mais destruiu os Cristais?");
  253.         mes("Todo o mês o primeiro do ranking ganha "+$cr[5]+" Bandeira Nacional.");
  254.         next();
  255.         query_sql("select `first` from `cristais_by_ragnacrie`",.@_mn);
  256.         if(select("Ver Ranking"+(getcharid(0)==.@_mn?":Pegar Prêmio":""))==2)
  257.         {
  258.                 mes("["+strnpcinfo(1)+"]");
  259.                 if(checkweight(7549,$cr)==0)
  260.                 {
  261.                         mes("Você está pesado demais!");
  262.                         close();
  263.                 }
  264.                 mes("Aqui está: "+$cr[5]+" Bandeira Nacional!");
  265.                 close2();
  266.                 getitem(7549,$cr[5]);
  267.                 query_sql("update `cristais_by_ragnacrie` set `first`=''");
  268.                 end();
  269.         }
  270.         query_sql("select `kills`,`name` from `cristais` order by `kills` desc",.@_cki,.@_nm$);
  271.         for(set(.@_mn,0);.@_mn<getarraysize(.@_cki);set(.@_mn,.@_mn+1))mes((.@_mn+1)+"º | "+.@_nm$[.@_mn]+" | "+.@_cki[.@_mn]+" Kills");
  272.         close();
  273.  
  274.         onday0101:onday0201:onday0301:onday0401:onday0501:onday0601:onday0701:onday0801:onday0901:onday1001:onday1101:onday1201:
  275.                 query_sql("select `char_id`,`name` from `cristais_by_ragnacrie` order by `kills` desc limit 1",.@_mn,.@_nmdx$);
  276.                 query_sql("truncate table `cristais_by_ragnacrie`");
  277.                 query_sql("insert into `cristais_by_ragnacrie` (`first`) values ('"+.@_mn+"')");
  278.                 announce("[Sala dos Cristais]: O ranking foi resetado. O vencedor foi: "+.@_nmdx$,bc_all,"0x00FFFF");
  279.                 end();
  280. }