Advertisement
johnlol

Player_vs_Mob

May 27th, 2019
338
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //Feito em 21/07/2013 12:49
  2. //####################################################################################
  3. //##### Este NPC foi idealizado e produzido por Mclzeszen™ ############## ############
  4. //##### ©Copy Saga Brasil Ragnarok Online ############################################
  5. //##### Todos os direitos reservados® ################################################
  6. //##### Antes de qualquer modificação por favor mandar PM ############################
  7. //##### para mclzeszen Forum Cronus Emulator #########################################
  8. //##################### Player Vs Mob v1.0 #################################################
  9. //####################################################################################
  10.  
  11. prontera,179,207,5  script  Player vs Mob   457,{
  12. set .npc$,"[ ^00ff00PvM^000000 ]";
  13.  
  14. setarray .@mobid[0],1765,1373,1251,1582,1096,1039,1511,1647,1785,1832,1874,2068,1272,1046,1389,1115,1418,1252,1086,1885,1492,1734,1779,1688,1147,1059,1150,2022,1087,1190,1038,1157,1159,1502,1623,1583,1312,1685,1917,1708;  //Id dos mobs relacionados nas mesmas posições do array abaixo
  15. setarray .@mobnam$[0],"Valquíria","Senhor dos Mortos","Cavaleiro da Tempestade","Deviling","Angeling","Bafomé","Amon Ra","Assassin Cross Eremes","Atroce","Ifrit","Beelzebub","Boitata","Senhor dos Mortos","Doppelganger","Dracula","Eddga","Serpente Suprema","Hatii","Besouro ladrão dourado","Gorynych","Samurai Encarnado","Kiel D-01","Ktulanux","Lady Tanee","Maya","Abelha rainha","flor do luar","Sombra de NidDhog","Orc Heroi","Senhor dos Orcs","Osiris","Faraó","Freeoni","Demolidor","RSX 0806","Tao Gunka","General Tartaruga","Vesper","Morroc Ferido","Thanatos"; //Acima
  16.  
  17. for(set .a,0; .a < getarraysize(.@mobnam$); set .a,.a+1){
  18. set .@menu$,.@menu$+.@mobnam$[.a]+":";
  19. }
  20. set .@menu$,.@menu$+"Cancelar";
  21.  
  22. mes .npc$;
  23. mes "Oi ^000080"+strcharinfo(0)+"^000000.";
  24. mes "O que posso fazer por você?";
  25. next;
  26. switch(select("Quero lutar:Assistir:Ver os mobs:Pontuação:Sobre:Sair")){
  27.     case 1:
  28.         areawarp "quiz_01",119,270,162,297,"prt_in",44,116;
  29.         if(PVM) goto L_LUTOU;
  30.         if($PlayOn) goto L_CHEIO;
  31.         enablenpc "CHK";
  32.         mes .npc$;
  33.         mes "Escolha com qual MVP você quer lutar.";
  34.         next;
  35.         set @choose,select(.@menu$)-1;
  36.         if(@choose == getarraysize(.@mobnam$)) goto L_FIM;
  37.         mes .npc$;
  38.         mes "Você tem 50 segundos para se preparar. Até ser teleportado";
  39.         close2;
  40.        
  41.         set PVM,1;
  42.         ///Flags
  43.         setmapflag "quiz_01", mf_nomemo;
  44.         setmapflag "quiz_01", mf_noteleport;
  45.         setmapflag "quiz_01", mf_nosave;
  46.         setmapflag "quiz_01", mf_nobranch;
  47.         setmapflag "quiz_01", mf_notrade;
  48.         setmapflag "quiz_01", mf_nowarp;
  49.         setmapflag "quiz_01", mf_noicewall;
  50.         setmapflag "quiz_01", mf_noreturn;
  51.         setmapflag "quiz_01", mf_nowarpto;
  52.         setmapflag "quiz_01", mf_monster_noteleport;
  53.         setmapflag "quiz_01", mf_nostorage;
  54.         setmapflag "quiz_01", mf_noguildstorage;
  55.         ///Flags
  56.         announce "PVM: Existe um player desafiando [ "+.@mobnam$[@choose]+" ] Alguém gostaria de assistir a luta?",bc_all,0x752EC9;
  57.         sleep2 1000;
  58.         message strcharinfo(0),"PVM: 1 minuto para o mob aparecer";
  59.        
  60.         sleep2 30000;
  61.         message strcharinfo(0),"PVM: 30 Segundos para o mob aparecer";
  62.        
  63.         sleep2 15000;
  64.         message strcharinfo(0),"PVM: 15 Segundos para o mob aparecer";
  65.        
  66.         sleep2 5000;
  67.         message strcharinfo(0),"PVM: 10 Segundos para o mob aparecer";
  68.         warp "quiz_01",149,285;
  69.         sleep2 5000;
  70.         message strcharinfo(0),"5";
  71.         sleep2 1000;
  72.         message strcharinfo(0),"4";
  73.         sleep2 1000;
  74.         message strcharinfo(0),"3";
  75.         sleep2 1000;
  76.         message strcharinfo(0),"2";
  77.         sleep2 1000;
  78.         message strcharinfo(0),"1";
  79.         sleep2 1000;
  80.         message strcharinfo(0),"Boa sorte.";
  81.         set $mob$,.@mobnam$[@choose];
  82.         monster "quiz_01",130,285,"[PVM] "+.@mobnam$[@choose],.@mobid[@choose],1,strnpcinfo(0)+"::OnKill";
  83.         end;
  84.    
  85.     case 2:
  86.         if($PlayOn){
  87.         close2;
  88.         warp "quiz_01",160,284;
  89.         }else{
  90.         mes .npc$;
  91.         mes "Não tem ninguém lutando no momento!!!";
  92.         close;
  93.        
  94.         }
  95.        
  96.     case 3:
  97.         mes .npc$;
  98.         mes "Estes são os mobs com que você poderá lutar.";
  99.         for(set .i,0;.i < getarraysize(.@mobnam$); set .i,.i+1)
  100.         mes "Nome: ^ff0000"+.@mobnam$[.i]+"^000000";
  101.         close;
  102.        
  103.     case 4:
  104.         if($Players){
  105.         set @per,100/$Players*YOUPVM;
  106.         }
  107.         mes .npc$;
  108.         mes "Você quer saber como vc anda não é?";
  109.         mes "Aqui estão os status geral do evento:";
  110.         mes "======================";
  111.         mes "Os mobs tem: ^ff0000"+$mobs+"^000000 Pontos";
  112.         mes "Os Players tem: ^ff0000"+$Players+"^000000 Pontos";
  113.         mes "Você tem: ^ff00cc"+YOUPVM+"^000000 Pontos.";
  114.         mes "Seus pontos somam: ^00ff00"+@per+"%^000000 do total dos Players.";
  115.         close;
  116.    
  117.     case 5:
  118.         goto L_INFO;
  119.     case 6:
  120.         goto L_FIM;
  121. }
  122.  
  123.  
  124.  
  125.  
  126. L_INFO:
  127. mes .npc$;
  128. mes "Eu sou o teleportador para o ^00ff00PvM^000000.";
  129. mes "^00ff00PvM^000000 é a abreveação de (Player vs Mob).";
  130. mes "É isso ae. você pode lutar contra um mob no modo x1";
  131. mes "Tenho uma lista de MVP, e você pode escolher com qual você quer ter o x1.";
  132. mes "^ff0000ATENÇÃO!!!^000000";
  133. mes "...Você só pode lutar x1 com um MVP uma vêz ao dia.";
  134. mes "Por isso escolha bem com qual mob vai lutar.";
  135. mes "E faça o possivel pra ganhar. no fiunal tem um rank Player vs Mob.";
  136. next;
  137.  
  138. mes .npc$;
  139. mes "Você gostaria de lutar com algum mob agora?";
  140. next;
  141. if(select("Sim. Acho que estou pronto:Não. Deixa eu upar")==2) goto L_FIM;
  142. goto L_FIGHT;
  143.  
  144.  
  145. L_FIGHT:
  146.        
  147.         areawarp "quiz_01",119,270,162,297,"prt_in",44,116;
  148.         if(PVM) goto L_LUTOU;
  149.         if($PlayOn) goto L_CHEIO;
  150.         enablenpc "CHK";
  151.         mes .npc$;
  152.         mes "Escolha com qual MVP você quer lutar.";
  153.         next;
  154.         set @choose,select(.@menu$)-1;
  155.         if(@choose == getarraysize(.@mobnam$)) goto L_FIM;
  156.         mes .npc$;
  157.         mes "Você tem 50 segundos para se preparar. Até ser teleportado";
  158.         close2;
  159.        
  160.         set PVM,1;
  161.         ///Flags
  162.         setmapflag "quiz_01", mf_nomemo;
  163.         setmapflag "quiz_01", mf_noteleport;
  164.         setmapflag "quiz_01", mf_nosave;
  165.         setmapflag "quiz_01", mf_nobranch;
  166.         setmapflag "quiz_01", mf_notrade;
  167.         setmapflag "quiz_01", mf_nowarp;
  168.         setmapflag "quiz_01", mf_noicewall;
  169.         setmapflag "quiz_01", mf_noreturn;
  170.         setmapflag "quiz_01", mf_nowarpto;
  171.         setmapflag "quiz_01", mf_monster_noteleport;
  172.         setmapflag "quiz_01", mf_nostorage;
  173.         setmapflag "quiz_01", mf_noguildstorage;
  174.         ///Flags
  175.         announce "PVM: Existe um player desafiando [ "+.@mobnam$[@choose]+" ] Alguém gostaria de assistir a luta?",bc_all,0x752EC9;
  176.         sleep2 1000;
  177.         message strcharinfo(0),"PVM: 1 minuto para o mob aparecer";
  178.        
  179.         sleep2 30000;
  180.         message strcharinfo(0),"PVM: 30 Segundos para o mob aparecer";
  181.        
  182.         sleep2 15000;
  183.         message strcharinfo(0),"PVM: 15 Segundos para o mob aparecer";
  184.        
  185.         sleep2 5000;
  186.         message strcharinfo(0),"PVM: 10 Segundos para o mob aparecer";
  187.         warp "quiz_01",149,285;
  188.         sleep2 5000;
  189.         message strcharinfo(0),"5";
  190.         sleep2 1000;
  191.         message strcharinfo(0),"4";
  192.         sleep2 1000;
  193.         message strcharinfo(0),"3";
  194.         sleep2 1000;
  195.         message strcharinfo(0),"2";
  196.         sleep2 1000;
  197.         message strcharinfo(0),"1";
  198.         sleep2 1000;
  199.         message strcharinfo(0),"Boa sorte.";
  200.         set $mob$,.@mobnam$[@choose];
  201.         monster "quiz_01",130,285,"[PVM] "+.@mobnam$[@choose],.@mobid[@choose],1,strnpcinfo(0)+"::OnKill";
  202.         end;
  203.  
  204.  
  205.  
  206.  
  207.  
  208. L_FIM:
  209. mes .npc$;
  210. mes "Ok então.";
  211. mes "Vou esperar você voltar.";
  212. close;
  213.  
  214. L_LUTOU:
  215. mes .npc$;
  216. mes "Você já lutou hoje! Espere até amanhã para uma nova luta.";
  217. close;
  218.  
  219.  
  220.  
  221. OnKill:
  222.         disablenpc "CHK";
  223.         set $Players,$Players+1;
  224.         set YOUPVM,YOUPVM+1;
  225.         removemapflag "quiz_01", mf_nomemo;
  226.         removemapflag "quiz_01", mf_noteleport;
  227.         removemapflag "quiz_01", mf_nosave;
  228.         removemapflag "quiz_01", mf_nobranch;
  229.         removemapflag "quiz_01", mf_notrade;
  230.         removemapflag "quiz_01", mf_nowarp;
  231.         removemapflag "quiz_01", mf_noicewall;
  232.         removemapflag "quiz_01", mf_noreturn;
  233.         removemapflag "quiz_01", mf_nowarpto;
  234.         removemapflag "quiz_01", mf_monster_noteleport;
  235.         removemapflag "quiz_01", mf_nostorage;
  236.         removemapflag "quiz_01", mf_noguildstorage;
  237.        
  238.         set #EvPoints,#EvPoints+30;
  239.         dispbottom "Você matou o mob, e ganhou 30 Event Points...";
  240.         announce "PVM: O Player "+strcharinfo(0)+" acaba de ganhar o X1 com "+$mob$+". Quém será o proximo?!!!",bc_all,0x752EC9;
  241.         set $mob$,"";
  242.         dispbottom "Você voltará em 10 segundos...";
  243.         sleep2 10000;
  244.         areawarp "quiz_01",119,270,162,297,"prt_in",44,116;
  245. end;
  246.  
  247.  
  248.  
  249.         L_CHEIO:
  250.             mes .npc$;
  251.             mes "Sinto muito tem alguem lutando neste momento.";
  252.             mes "Você gostaria de assisitir a luta?";
  253.             mes "Você pode ficar na plateia vendo o vencedor ^,.^";
  254.             next;
  255.         if(select("Quero assistir:Volto depois")==2) goto L_FIM;
  256.             close2;
  257.             warp "quiz_01",160,284;
  258.  
  259.  
  260.         OnInit:
  261.         disablenpc "CHK";
  262.         end;
  263.  
  264.    
  265.        
  266. }
  267.  
  268. -   script  check::CHK  -1,{
  269.  
  270. OnInit:
  271. OnTimer1000:
  272. set .userspvm,getareausers("quiz_01",123,276,157,293);
  273. if(.userspvm){
  274. set $PlayOn,1;
  275. }else{
  276. set $PlayOn,0;
  277. killmonsterall "quiz_01";
  278. }
  279. initnpctimer;
  280. end;
  281.  
  282.  
  283.  
  284. OnPCDieEvent:
  285.     getmapxy(.map$,.X,.Y,0,strcharinfo(0));
  286.     if(.map$ == "quiz_01"){
  287.    
  288.         removemapflag "quiz_01", mf_nomemo;
  289.         removemapflag "quiz_01", mf_noteleport;
  290.         removemapflag "quiz_01", mf_nosave;
  291.         removemapflag "quiz_01", mf_nobranch;
  292.         removemapflag "quiz_01", mf_notrade;
  293.         removemapflag "quiz_01", mf_nowarp;
  294.         removemapflag "quiz_01", mf_noicewall;
  295.         removemapflag "quiz_01", mf_noreturn;
  296.         removemapflag "quiz_01", mf_nowarpto;
  297.         removemapflag "quiz_01", mf_monster_noteleport;
  298.         removemapflag "quiz_01", mf_nostorage;
  299.         removemapflag "quiz_01", mf_noguildstorage;
  300.    
  301.    
  302.    
  303.    
  304.         set $mobs,$mobs+1;
  305.         announce "PVM: O Player "+strcharinfo(0)+" acaba de perder o X1 com "+$mob$+". Quém será o proximo?!!!",bc_all,0x752EC9;
  306.         set $mob$,"";
  307.         sleep2 3000;
  308.         areawarp "quiz_01",119,270,162,297,"prt_in",44,116;
  309.         atcommand "@alive";
  310.         disablenpc "CHK";
  311.     }
  312.     end;
  313.    
  314.    
  315.    
  316. OnClock0000:
  317. query_sql "DELETE FROM `global_reg_value` WHERE `str` = 'PVM'";
  318. end;
  319.    
  320.    
  321.  
  322. }
  323.  
  324. quiz_01,120,272,0   warp    waq1    1,1,quiz_01,160,284
  325. quiz_01,120,295,0   warp    waq2    1,2,quiz_01,160,284
  326. quiz_01,161,271,0   warp    waq3    1,3,quiz_01,121,288
  327. quiz_01,161,297,0   warp    waq4    1,4,quiz_01,121,288
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement