SHARE
TWEET

Untitled

a guest Jul 28th, 2013 39 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // =========================================================== //
  2. // Nome: Devil Square por Stuff
  3. // =========================================================== //
  4. // Versão: 1.0
  5. // =========================================================== //
  6. // Autor: Wenden
  7. // =========================================================== //
  8. // Descrição: É como outros devil square a diferença é que cada monstro que você mata
  9. // você recebe uma quantidade aleatória de certo item, tanto a quantidade quanto o item
  10. // é configurado aqui no script na linha 165. Os item ganhados poderão ser trocados
  11. // no próprio npc por outros itens configurados por você na linha 165.
  12. // O Npc é em SQL onde são salvos os nomes, char ids, accounts ids e pontos dos jogadores
  13. // quando matarem os monstros. Quando a última rodada chegar ao fim, que no caso a última
  14. // é a 5° rodada, o npc fará um lista dos 5 jogadores que mais mataram monstros, eles serão
  15. // teletransportados para o meio do mapa onde irão correr atrás de destruir as Caixas do Tesouro.
  16. // O outros jogadores que não aparecem na lista dos 5 que mais mataram monstros serão
  17. // teletransportados para prontera.
  18. // =========================================================== //
  19.  
  20. prontera,174,196,5      script  Devil Square    792,{
  21.  
  22.         mes     "["+strnpcinfo(1)+"]";
  23.         mes "Bem-vindo aventureiro.";
  24.         mes "Eu tenho um desafio para você";
  25.         mes "deseja aceitar?";
  26.         next;
  27.                 switch(select("Sim, eu aceito:Não, volto depois:Trocar "+getitemname($@id)+":Quero informações")){
  28.  
  29.                         Case 1:
  30.                         if($aberto == 0){
  31.                         mes "["+strnpcinfo(1)+"]";
  32.                         mes "A Devil Square está fechado";
  33.                         mes "no momento, volte mais tarde.";
  34.                         Close;
  35.                         }
  36.  
  37.                         percentheal 100,100;
  38.                         warp "ordeal_1-1",189,189;
  39.                         announce strcharinfo(0)+" entrou na Devil Square.",8;
  40.                         end;
  41.  
  42.                         Case 2:
  43.                         mes     "["+strnpcinfo(1)+"]";
  44.                         mes "Estarei aqui quando precisar";
  45.                         mes "de um desafio.";
  46.                         Close;
  47.  
  48.                         Case 3:
  49.                         if(!countitem($@id)){
  50.                         mes     "["+strnpcinfo(1)+"]";
  51.                         mes "Você não possui nenhuma";
  52.                         mes "^FF0000"+getitemname($@id)+"^000000.";
  53.                         Close;
  54.                         }
  55.                         mes     "["+strnpcinfo(1)+"]";
  56.                         mes "Escolha qual item deseja trocar";
  57.                         mes "por ^FF0000"+getitemname($@id)+"^000000.";
  58.                         next;
  59.  
  60.                                 set @menu$,"";
  61.                                 for(set @i,0; @i < getarraysize($@l); set @i,@i+1)
  62.                                 set @menu$,@menu$+""+getitemname($@l[@i])+" - ^FF0000"+$@y[@i]+"^000000x "+getitemname($@id)+":";
  63.                                 set @menu$,@menu$+"Cancelar";
  64.                                 set @sel,select(@menu$)-1;
  65.                                 if(@sel == getarraysize($@l)) Close;
  66.  
  67.                                 mes     "["+strnpcinfo(1)+"]";
  68.                                 mes "Agora me diga quantos";
  69.                                 mes "^FF0000"+getitemname($@l[@sel])+"^000000 você quer.";
  70.                                 mes "- 0 para Cencelar.";
  71.                                 next;
  72.                                         input @qnt;
  73.                                         if(@qnt == 0) Close;
  74.  
  75.                                         set @cost,$@y[@sel]*@qnt;
  76.  
  77.                                                 mes     "["+strnpcinfo(1)+"]";
  78.                                                 mes "^FF0000"+@qnt+"^000000x ^FF0000"+getitemname($@l[@sel])+"^000000";
  79.                                                 mes "São ^FF0000"+@cost+"^000000x ^FF0000"+getitemname($@id)+"^000000.";
  80.                                                 mes "Deseja realizar a troca?";
  81.                                                 next;
  82.                                                         if(select("Sim:Não") == 2) Close;
  83.  
  84.                                                         if(countitem($@id) < @cost){
  85.                                                         mes     "["+strnpcinfo(1)+"]";
  86.                                                         mes "Você não tem ^FF0000"+getitemname($@id)+"^000000";
  87.                                                         mes "suficientes para realizar a troca.";
  88.                                                         Close;
  89.                                                         }
  90.                                                 mes     "["+strnpcinfo(1)+"]";
  91.                                                 mes "Está feito...";
  92.                                                 mes "Aqui está seus";
  93.                                                 mes "^FF0000"+getitemname($@l[@sel])+"^000000.";
  94.                                                 Close2;
  95.                                                 delitem $@id,@cost;
  96.                                                 getitem $@l[@sel],@qnt;
  97.                                                 end;
  98.  
  99.                         Case 4:
  100.                         mes     "["+strnpcinfo(1)+"]";
  101.                         mes "A Devil Square é um evento";
  102.                         mes "automático ondes surgem vários";
  103.                         mes "monstros e o objetivo dos";
  104.                         mes "jogadores é matar todos os monstros.";
  105.                         next;
  106.                         mes     "["+strnpcinfo(1)+"]";
  107.                         mes "O Objetivo final é chegar a última";
  108.                         mes "rodada onde surgem as";
  109.                         mes "Caixas do Tesouro.";
  110.                         next;
  111.                         mes     "["+strnpcinfo(1)+"]";
  112.                         mes "A cada monstro que você mata";
  113.                         mes "você recebe ^FF0000"+getitemname($@id)+"^000000";
  114.                         mes "a quantidade é aleatória.";
  115.                         mes "As Caixas do Tesouro dão uma";
  116.                         mes "quantidade mais alta de ^FF0000"+getitemname($@id)+"^000000.";
  117.                         next;
  118.                         mes     "["+strnpcinfo(1)+"]";
  119.                         mes "Com esses itens você pode trocar";
  120.                         mes "aqui mesmo por itens, os itens são";
  121.                         mes "configurados pelo Administrador.";
  122.                         next;
  123.                         mes     "["+strnpcinfo(1)+"]";
  124.                         mes "Mas para chegar até a rodada das";
  125.                         mes "Caixas do Tesouro você precisar";
  126.                         mes "matar muitos monstros, porque";
  127.                         mes "somente os 5 jogadores que";
  128.                         mes "mais matarem monstros irão";
  129.                         mes "chegar a rodada Final.";
  130.                         next;
  131.                         mes "["+strnpcinfo(1)+"]";
  132.                         mes "Os demais serão teletransportados";
  133.                         mes "para prontera, os jogadores que";
  134.                         mes "continuarem no evento irão correr";
  135.                         mes "atrás das Caixas do Tesouro.";
  136.                         Close;
  137.                 }
  138.  
  139.                 OnInit:
  140.                 // Configurações
  141.                 set $@id,673; // Id do item que será recebido ao matar os monstros e as caixas do tesouro. Padrão: [671 = Moeda Poring].
  142.                 setarray $@p[0],1,2; // Quantidade de itens que serão sorteados ao matar os monstros. Padrão: [Entre 1 e 2].
  143.                 setarray $@b[0],20,30,40,50; // Quantidade de itens que serão sorteados ao destruir as Caixas do Tesouro. Padrão: [Entre 20,30,40 e 50];
  144.                 setarray $@l[0],671,7549,678,7135,7136,7139; // Id dos itens que poderão ser trocados.
  145.                 setarray $@y[0],12,24,20,12,12,24; // Preço dos itens que poderão ser trocados.
  146.  
  147.                 waitingroom "Devil Square",0;
  148.                 end;
  149. }
  150.  
  151. ordeal_1-1,182,183,5    script  DS2     -1,{
  152.  
  153.         OnTimer30000:
  154.         if($status == 0) end;
  155.         if (getmapusers("ordeal_1-1") == 0){ Announce "Todos os players foram mortos na Devil Square!!",8; set $status,0; killmonsterall "ordeal_1-1"; end; }
  156.         initnpctimer;
  157.         end;
  158.  
  159. }
  160.  
  161. ordeal_1-1,182,183,5    script  DS3     -1,{
  162.  
  163.                 OnMinute50:
  164.                 Announce "O portal para a Devil Square está aberto, e em [5] minutos ela terá inicio!",8;
  165.                 initnpctimer; killmonsterall "ordeal_1-1"; set $aberto,1; disablenpc "dsq4"; set $status,1; query_sql "DELETE FROM `devilsquare`"; end;
  166.  
  167. OnTimer60000:
  168. Announce "O portal para a Devil Square está aberto, e em [4] minutos ela terá inicio!",8; end;
  169.  
  170. OnTimer120000:
  171. Announce "O portal para a Devil Square está aberto, e em [3] minutos ela terá inicio!",8; end;
  172.  
  173. OnTimer180000:
  174. Announce "O portal para a Devil Square está aberto, e em [2] minutos ela terá inicio!",8; end;
  175.  
  176. OnTimer240000:
  177. Announce "O portal para a Devil Square está aberto, e em [1] minuto ela terá inicio!",8; end;
  178. OnTimer300000:
  179. Announce "A Devil Square começou, boa sorte a todos!",8; initnpctimer "DS2";  set $aberto,0;
  180.  
  181. set $mobs,20;
  182. areamonster "ordeal_1-1",183,182,246,244,"[DS] Orc Zumbi",1153,2,"DS3::Ondsdead";
  183. areamonster "ordeal_1-1",183,182,246,244,"[DS] Orc Esqueleto",1152,4,"DS3::Ondsdead";
  184. areamonster "ordeal_1-1",205,205,219,219,"[DS] Familiar",1005,2,"DS3::Ondsdead";
  185. areamonster "ordeal_1-1",212,215,222,220,"[DS] Drainliar",1111,2,"DS3::Ondsdead";
  186. areamonster "ordeal_1-1",229,233,183,182,"[DS] Chon Chon de Aço",1042,2,"DS3::Ondsdead";
  187. areamonster "ordeal_1-1",230,246,246,244,"[DS] Zenorc",1177,2,"DS3::Ondsdead";
  188. areamonster "ordeal_1-1",241,252,205,205,"[DS] Orc Arqueiro",1189,2,"DS3::Ondsdead";
  189. areamonster "ordeal_1-1",251,235,222,220,"[DS] Sorrateiro",1037,2,"DS3::Ondsdead";
  190. areamonster "ordeal_1-1",203,204,194,195,"[DS] Lobo",1013,2,"DS3::Ondsdead";
  191. end;
  192.  
  193. Ondsdead:
  194. if ($status == 0) end;
  195. set $mobs,$mobs-1;
  196. set @premio,rand(getarraysize($@p));
  197. getitem $@id,$@p[@premio];
  198. callfunc "Checador",1;
  199. if($mobs == 10){ Mapannounce "ordeal_1-1","Devil Square: Faltam 10 monstros para a 2° rodada!",8; }
  200. if($mobs == 0){ Announce "Devil Square: Começou a 2° rodada de monstros!",8; goto Ondsround2; }
  201. end;
  202.  
  203. Ondsround2:
  204. set $mobs,20;
  205. areamonster "ordeal_1-1",183,182,246,244,"[DS] Esqueleto Soldado",1028,1,"DS3::Ondsdead2";
  206. areamonster "ordeal_1-1",183,182,246,244,"[DS] Esqueleto Soldado",1028,2,"DS3::Ondsdead2";
  207. areamonster "ordeal_1-1",205,205,219,219,"[DS] Orc Arqueiro",1189,1,"DS3::Ondsdead2";
  208. areamonster "ordeal_1-1",212,215,222,220,"[DS] Orc Arqueiro",1189,2,"DS3::Ondsdead2";
  209. areamonster "ordeal_1-1",229,233,183,182,"[DS] Arenoso",1165,2,"DS3::Ondsdead2";
  210. areamonster "ordeal_1-1",230,246,246,244,"[DS] Arenoso",1165,2,"DS3::Ondsdead2";
  211. areamonster "ordeal_1-1",241,252,205,205,"[DS] Esqueleto Arqueiro",1016,2,"DS3::Ondsdead2";
  212. areamonster "ordeal_1-1",251,235,222,220,"[DS] Esqueleto Arqueiro",1016,1,"DS3::Ondsdead2";
  213. areamonster "ordeal_1-1",203,204,194,195,"[DS] Minorus",1149,1,"DS3::Ondsdead2";
  214. areamonster "ordeal_1-1",251,235,222,220,"[DS] Minorus",1149,2,"DS3::Ondsdead2";
  215. areamonster "ordeal_1-1",210,208,194,195,"[DS] Réquiem",1164,2,"DS3::Ondsdead2";
  216. areamonster "ordeal_1-1",203,204,194,195,"[DS] Réquiem",1164,2,"DS3::Ondsdead2";
  217. end;
  218.  
  219. Ondsdead2:
  220. if ($status == 0) end;
  221. set $mobs,$mobs-1;
  222. set @premio,rand(getarraysize($@p));
  223. getitem $@id,$@p[@premio];
  224. callfunc "Checador",1;
  225. if($mobs == 10){ Mapannounce "ordeal_1-1","Devil Square: Faltam 10 monstros para 3° rodada!",8; }
  226. if($mobs == 0){ Announce "Devil Square: Começou a 3° rodada de monstros!",8; goto Ondsround3; }
  227. end;
  228.  
  229. Ondsround3:
  230. set $mobs,20;
  231. areamonster "ordeal_1-1",183,182,246,244,"[DS] Diabinho",1292,2,"DS3::Ondsdead3";
  232. areamonster "ordeal_1-1",183,182,246,244,"[DS] Diabinho",1292,1,"DS3::Ondsdead3";
  233. areamonster "ordeal_1-1",205,205,219,219,"[DS] Leib Olmai",1306,2,"DS3::Ondsdead3";
  234. areamonster "ordeal_1-1",212,215,222,220,"[DS] Leib Olmai",1306,1,"DS3::Ondsdead3";
  235. areamonster "ordeal_1-1",229,233,183,182,"[DS] Gullinbursti",1311,1,"DS3::Ondsdead3";
  236. areamonster "ordeal_1-1",230,246,246,244,"[DS] Gullinbursti",1311,2,"DS3::Ondsdead3";
  237. areamonster "ordeal_1-1",241,252,205,205,"[DS] Gullinbursti",1311,1,"DS3::Ondsdead3";
  238. areamonster "ordeal_1-1",251,235,222,220,"[DS] Serial Killer",1507,1,"DS3::Ondsdead3";
  239. areamonster "ordeal_1-1",203,204,194,195,"[DS] Serial Killer",1507,1,"DS3::Ondsdead3";
  240. areamonster "ordeal_1-1",251,235,222,220,"[DS] Serial Killer",1507,2,"DS3::Ondsdead3";
  241. areamonster "ordeal_1-1",210,208,194,195,"[DS] Esqueleto General",1290,1,"DS3::Ondsdead3";
  242. areamonster "ordeal_1-1",203,204,194,195,"[DS] Esqueleto General",1290,2,"DS3::Ondsdead3";
  243. areamonster "ordeal_1-1",251,235,222,220,"[DS] Gato de Nove Caudas",1307,1,"DS3::Ondsdead3";
  244. areamonster "ordeal_1-1",230,246,246,244,"[DS] Senhor dos Orcs",1190,1,"DS3::Ondsdead3";
  245. areamonster "ordeal_1-1",212,215,222,220,"[DS] Orc Héroi",1087,1,"DS3::Ondsdead3";
  246. end;
  247.  
  248. Ondsdead3:
  249. if ($status == 0) end;
  250. set $mobs,$mobs-1;
  251. set @premio,rand(getarraysize($@p));
  252. getitem $@id,$@p[@premio];
  253. callfunc "Checador",1;
  254. if($mobs == 10){ Mapannounce "ordeal_1-1","Devil Square: Faltam 10 monstros para 4° rodada!",8; }
  255. if($mobs == 0){ Announce "Devil Square: Começou a 4° rodada de monstros!",8; goto Ondsround4; }
  256. end;
  257.  
  258. Ondsround4:
  259. set $mobs,17;
  260. areamonster "ordeal_1-1",190,189,190,189,"[DS] Seyren Windsor",1634,1,"DS3::Ondsdead4";
  261. areamonster "ordeal_1-1",207,207,207,207,"[DS] Eremes Guile",1635,4,"DS3::Ondsdead4";
  262. areamonster "ordeal_1-1",217,217,217,217,"[DS] Howard Alt-Eisen",1636,5,"DS3::Ondsdead4";
  263. areamonster "ordeal_1-1",227,226,227,226,"[DS] Margaretha Sorin",1637,4,"DS3::Ondsdead4";
  264. areamonster "ordeal_1-1",241,241,241,241,"[DS] Kathryne Keyron",1639,1,"DS3::Ondsdead4";
  265. areamonster "ordeal_1-1",241,241,241,241,"[DS] Atroce",1785,1,"DS3::Ondsdead4";
  266. areamonster "ordeal_1-1",241,241,241,241,"[DS] Dragão Mutante",1262,1,"DS3::Ondsdead4";
  267. end;
  268.  
  269. Ondsdead4:
  270. if ($status == 0) end;
  271. set $mobs,$mobs-1;
  272. set $@premio,rand(getarraysize($@p));
  273. getitem $@id,$@p[$@premio];
  274. callfunc "Checador",1;
  275. if($mobs == 5){ Mapannounce "ordeal_1-1","Devil Square: Faltam 5 monstros para 5° rodada!",8; }
  276. if($mobs == 0){ Announce "Devil Square: Começou a 5° rodada de monstros!",8; goto Ondsround5; }
  277. end;
  278.  
  279. Ondsround5:
  280. set $mobs,10;
  281. areamonster "ordeal_1-1",233,246,233,246,"[DS] Salamandra",1831,1,"DS3::Ondsdead5";
  282. areamonster "ordeal_1-1",246,245,246,245,"[DS] Amon-Rá",1511,1,"DS3::Ondsdead5";
  283. areamonster "ordeal_1-1",189,188,189,188,"[DS] Doppelganger",1046,1,"DS3::Ondsdead5";
  284. areamonster "ordeal_1-1",236,236,236,236,"[DS] Guardião Espadachim",1829,1,"DS3::Ondsdead5";
  285. areamonster "ordeal_1-1",196,195,196,195,"[DS] Senhor das Trevas",1272,1,"DS3::Ondsdead5";
  286. areamonster "ordeal_1-1",206,205,206,205,"[DS] Kasa",1833,1,"DS3::Ondsdead5";;
  287. areamonster "ordeal_1-1",213,213,213,213,"[DS] Faraó",1157,1,"DS3::Ondsdead5";
  288. areamonster "ordeal_1-1",183,182,246,244,"[DS] Bafomé",1039,1,"DS3::Ondsdead5";
  289. areamonster "ordeal_1-1",224,223,224,223,"[DS] Kasa",1833,1,"DS3::Ondsdead5";
  290. areamonster "ordeal_1-1",243,232,243,232,"[DS] Guardião Arqueiro",1830,1,"DS3::Ondsdead5";
  291. end;
  292.  
  293. Ondsdead5:
  294. if ($status == 0) end;
  295. set $mobs,$mobs-1;
  296. set @premio,rand(getarraysize($@p));
  297. getitem $@id,$@p[@premio];
  298. callfunc "Checador",1;
  299. if($mobs == 5){ Announce "Devil Square: Faltam 5 monstros para as Caixas do Tesouro surgirem!",8; }
  300. if($mobs == 0){ Announce "Devil Square: 8 Caixas do Tesouros surgiram! Corram para destruir-las...",8; goto Ondsbox; }
  301. end;
  302.  
  303. Ondsbox:
  304. enablenpc "dsq4";
  305. sleep2 7000;
  306. set $mobs,8;
  307. monster "ordeal_1-1",245,245,"Caixa do Tesouro",1334,1,"DS3::Ondsboxdead";
  308. monster "ordeal_1-1",54,54,"Caixa do Tesouro",1334,1,"DS3::Ondsboxdead";
  309. monster "ordeal_1-1",149,26,"Caixa do Tesouro",1334,1,"DS3::Ondsboxdead";
  310. monster "ordeal_1-1",245,52,"Caixa do Tesouro",1334,1,"DS3::Ondsboxdead";
  311. monster "ordeal_1-1",273,150,"Caixa do Tesouro",1334,1,"DS3::Ondsboxdead";
  312. monster "ordeal_1-1",150,273,"Caixa do Tesouro",1334,1,"DS3::Ondsboxdead";
  313. monster "ordeal_1-1",54,245,"Caixa do Tesouro",1334,1,"DS3::Ondsboxdead";
  314. monster "ordeal_1-1",27,150,"Caixa do Tesouro",1334,1,"DS3::Ondsboxdead";
  315. end;
  316.  
  317. Ondsboxdead:
  318. if ($status == 0) end;
  319. set $mobs,$mobs-1;
  320. Announce "Devil Square: O jogador [ "+ strcharinfo(0)+" ] abriu uma das Caixas do Tesouro.",8;
  321. set @premio,rand(getarraysize($@b));
  322. getitem $@id,$@b[@premio];
  323. if($mobs == 0){ Announce "Devil Square: A última Caixa do Tesouro foi destruída!",8;
  324. Announce "Devil Square: Obrigado a todos que participaram.",8; set $status,0; disablenpc "dsq4";
  325. mapwarp "ordeal_1-1","prontera",156,177;
  326. }
  327. query_sql "DELETE FROM `devilsquare`";
  328. end;
  329. }
  330.  
  331. function        script  Checador        {
  332.  
  333. if(getarg(0) == 1){
  334. set @nome$,"";
  335.  
  336. query_sql "SELECT `nome` FROM `devilsquare` WHERE `id_usuario`="+getcharid(0)+"",@nome$;
  337.  
  338.         if (@nome$ == ""){
  339.         query_sql "INSERT INTO `devilsquare` (`id_usuario`,`nome`,`id_acc`,`pontos`) VALUES ("+getcharid(0)+",'"+strcharinfo(0)+"','"+getcharid(3)+"',1)";     
  340.         return;
  341.         }
  342.         query_sql "UPDATE `devilsquare` SET `pontos` = `pontos` +1 WHERE `id_usuario`="+getcharid(0)+"";
  343.         return;
  344.         }
  345. }
  346. ordeal_1-1,210,211,1    script  DS4::dsq4       -1,5000,5000,{
  347.  
  348. OnTouch:
  349.  
  350. query_sql "SELECT nome,pontos FROM devilsquare ORDER BY pontos DESC LIMIT 5",@nome$,@pontos;
  351.  
  352.         for(set @i,0; @i < 5; set @i,@i+1)
  353.         if(@nome$[@i] == strcharinfo(0)){
  354.         mapwarp "ordeal_1-1","ordeal_1-1",150,150;
  355.         pcblockmove getcharid(3),1;
  356.         sleep2 2000;
  357.         Announce "Devil Square: Parabéns, você matou muitos monstros, agora tem que ir atrás das Caixas do Tesouro.",bc_self;
  358.         pcblockmove getcharid(3),0;
  359.         end;
  360.         }
  361.         warp "prontera",156,177;
  362.         dispbottom "A Devil Square chegou ao fim para você, obrigado por participar.";
  363.         end;
  364. }
  365.  
  366.  
  367. // MapFlags ~
  368. ordeal_1-1      mapflag nowarp
  369. ordeal_1-1      mapflag nowarpto
  370. ordeal_1-1      mapflag noteleport
  371. ordeal_1-1      mapflag nosave  SavePoint
  372. ordeal_1-1      mapflag nomemo
  373. ordeal_1-1      mapflag nobranch
  374. ordeal_1-1      mapflag nopenalty
  375. ordeal_1-1      mapflag pvp     off
  376. ordeal_1-1      mapflag gvg     off
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top