Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 08/28/20 in Posts

  1. freeloop(1); for(.@i=10;.@i<=19;.@i++){ LevelUpReward(1,.@i,0,0,11501,20,11502,10,12211,1); }
    1 point
  2. you probably turn this off from conf/battle/player.conf // Revive dead player while warping? (Note 1) revive_onwarp: yes
    1 point
  3. View File Doll Machine - Halloween Edit October is coming and I'm preparing - I made this sprite in 5 minutes just to go according to the Halloween theme. Use it at your will regards. Submitter iraciz Submitted 08/28/2020 Category NPC Sprites Video Content Author iraciz  
    1 point
  4. map,x,x,x script Sample x,{ if(getcharid(3) == 2000004 || getcharid(3) == 2000006|| getcharid(3) == 2000030){ if (#EVENT_REWARD <= 0) { #EVENT_REWARD = gettimetick(2); getitem 501, 1; getitem 501, 2; getitem 501, 3; mes "You gained reward."; close; } } end; } Haven't tried this but it should do the trick. If you want to make it itembound then use getitembound2.
    1 point
  5. Good day. Someone has a tutorial to implement the REFINE UI system and also the necessary files for DATA. I hope it is not too much to ask, in advance thank you very much.
    1 point
  6. pvp_n_4-5 mapflag restricted 7 pvp_n_4-5 mapflag gvg_castle prontera,150,150,0 script Emp Breaker Test 751,{ if (getgmlevel() < 1) { warp getsavepoint(0), getsavepoint(1), getsavepoint(2); end; } set @time, $empbrk_record; set @m, @time / 60000; set @time, @time - (@m * 60000); set @s, @time /1000; set @time, @time - (@s * 1000); mes "[Emperium Breaker Test]"; mes "Recorde Oficial por ^5050A0"+$empbrk_record$+"^000000"; mes " ^000080"+@m+"^000000m ^000080"+@s+"^000000s ^000080"+@time+"^000000ms"; set @time, empbrk_record; set @m, @time / 60000; set @time, @time - (@m * 60000); set @s, @time /1000; set @time, @time - (@s * 1000); mes "Recorde Pessoal:"; mes " ^000080"+@m+"^000000m ^000080"+@s+"^000000s ^000080"+@time+"^000000ms"; mes "Gostaria de tentar outro recorde?"; next; if (getgmlevel()==99) { menu "Standard Menu",-,"Reset",L_reset,"Reset Rooms",L_emptyrooms,"Exit",L_exit;} menu "Sim",-,"Não",L_exit,"Resetar Recorde",L_resc; cleararray .arena$[0],"",4; mes "[Emperium Breaker Test]"; if (getareausers("pvp_n_4-5",94,128,105,139)) mes "Emp n° ^0000DF1 ^FF0000 Ocupado^000000"; else{ mes "Emp n° ^0000DF1 ^00A000 Livre^000000"; set .arena$[0],"^0000DFEmperium^000000";} if (getareausers("pvp_n_4-5",60,94,71,105)) mes "Emp n° ^B05D002 ^FF0000 Ocupado^000000"; else{ mes "Emp n° ^B05D002 ^00A000 Livre^000000"; set .arena$[1],"^B05D00Emperium^000000";} if (getareausers("pvp_n_4-5",94,60,105,71)) mes "Emp n° ^B00FB03 ^FF0000 Ocupado^000000"; else{ mes "Emp n° ^90AF003 ^00A000 Livre^000000"; set .arena$[2],"^90AF00Emperium^000000";} if (getareausers("pvp_n_4-5",128,94,139,105)) mes "Emp n° ^50AF004 ^FF0000 Ocupado^000000"; else{ mes "Emp n° ^500F004 ^00A000 Livre^000000"; set .arena$[3],"^500F00Emperium^000000";} next; getmapxy(@mpempbrk$,@empbrkx,@empbrky,0,strcharinfo(0)); switch (select(.arena$[0],.arena$[1],.arena$[2],.arena$[3],"Cancelar")){ case 1: if (getareausers("pvp_n_4-5",60,94,71,105) == 0){ if($@someonegotin1 > 0){ mes "A sala está Ocupada."; close;} set $@someonegotin1, 1; warp "pvp_n_4-5",99,128; killmonster "pvp_n_4-5","EmpBrk#1::OnThisMobDeath"; initnpctimer "EmpBrk#1";} break; case 2: if (getareausers("pvp_n_4-5",60,94,71,105) == 0){ if($@someonegotin2 > 0){ mes "A sala está Ocupada."; close;} set $@someonegotin2, 1; warp "pvp_n_4-5",68,99; killmonster "pvp_n_4-5","EmpBrk#2::OnThisMobDeath"; initnpctimer "EmpBrk#2";} break; case 3: if (getareausers("pvp_n_4-5",94,60,105,71) == 0){ if($@someonegotin3 > 0){ mes "A sala está Ocupada."; close;} set $@someonegotin3, 1; warp "pvp_n_4-5",100,68; killmonster "pvp_n_4-5","EmpBrk#3::OnThisMobDeath"; initnpctimer "EmpBrk#3";} break; case 4: if (getareausers("pvp_n_4-5",128,94,139,105) == 0){ if($@someonegotin4 > 0){ mes "A sala está Ocupada."; close;} set $@someonegotin4, 1; warp "pvp_n_4-5",130,99; killmonster "pvp_n_4-5","EmpBrk#4::OnThisMobDeath"; initnpctimer "EmpBrk#4";} break; default: close; } sc_end SC_ALL; close; L_reset: mes "[Emperium Breaker Test]"; mes "Are you sure to reset official record ?"; menu "Yes",-,"No",L_exit; set $empbrk_record, 0; set $empbrk_record$, ""; close; L_resc: mes "[Emperium Breaker Test]"; mes "Tem certeza que quer resetar seu recorde?"; menu "Sim",-,"Não",L_exit; set empbrk_record, 0; L_emptyrooms: set $@someonegotin1, 0; set $@someonegotin2, 0; set $@someonegotin3, 0; set $@someonegotin4, 0; close; L_exit: close; } - script EmpBrk#1 -1,{ OnTimer3000: if (.end == 1) { warpchar "sec_in01",172,168,.charid; stopnpctimer; set .end, 0; } end; OnTimer5000: set .x1,94; set .y1,128; set .x2,105; set .y2,139; set .xe,100; set .ye,134; areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Se prepare para quebrar o Emperium!",0; set $@someonegotin1, 0; end; OnTimer7000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"5",0; end; OnTimer8000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"4",0; end; OnTimer9000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"3",0; end; OnTimer10000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"2",0; end; OnTimer11000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"1",0; end; OnTimer12000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"JÁ!!!",0; monster "pvp_n_4-5",.xe,.ye,"Emperium",1288,1,"EmpBrk#1::OnThisMobDeath"; end; OnTimer1200000: warpchar "prontera",150,172,.charid; stopnpctimer; set .end, 1; end; OnThisMobDeath: stopnpctimer "EmpBrk#1"; set .time, getnpctimer(0,"EmpBrk#1"); set .time, .time - 12000; if (.time < empbrk_record || empbrk_record == 0) { areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Novo Recorde Pessoal!!!",0; set empbrk_record, .time; } if (.time < $empbrk_record || $empbrk_record == 0) { areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Novo Recorde Oficial!!!",0; //announce strcharinfo(0)+" is now the NO. 1 Emperium Breaker!!",0; set $empbrk_record, .time; set $empbrk_record$,strcharinfo(0); } set .m, .time / 60000; set .time, .time - (.m * 60000); set .s, .time /1000; set .time, .time - (.s * 1000); areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Seu tempo foi de "+.m+"m "+.s+"s "+.time+"ms",0; set .end,1; set .charid,getcharid(0); initnpctimer; end; } pvp_n_4-5,99,125,0 script EmpBrk#1_touch -1,2,1,{ OnTouch: killmonster "pvp_n_4-5","EmpBrk#1::OnThisMobDeath"; mes "[Emperium Breaker Test]"; mes "Você não pode sair desta área."; close2; set $@someonegotin1, 0; warp @mpempbrk$,@empbrkx,@empbrky; close; } - script EmpBrk#2 -1,{ OnTimer3000: if (.end == 1) { warpchar "prontera",150,172,.charid; stopnpctimer; set .end, 0; } end; OnTimer5000: set .x1,60; set .y1,94; set .x2,71; set .y2,105; set .xe,65; set .ye,99; areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Se prepare para quebrar o Emperium!",0; set $@someonegotin2, 0; end; OnTimer7000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"5",0; end; OnTimer8000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"4",0; end; OnTimer9000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"3",0; end; OnTimer10000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"2",0; end; OnTimer11000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"1",0; end; OnTimer12000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"JÁ!!!",0; monster "pvp_n_4-5",.xe,.ye,"Emperium",1288,1,"EmpBrk#2::OnThisMobDeath"; end; OnTimer1200000: warpchar "prontera",150,172,.charid; stopnpctimer; set .end, 1; end; OnThisMobDeath: stopnpctimer "EmpBrk#2"; set .time, getnpctimer(0,"EmpBrk#2"); set .time, .time - 12000; if (.time < empbrk_record || empbrk_record == 0) { areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Novo Recorde Pessoal!!!",0; set empbrk_record, .time; } if (.time < $empbrk_record || $empbrk_record == 0) { areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Novo Recorde Oficial!!!",0; //announce strcharinfo(0)+" is now the NO. 1 Emperium Breaker!!",0; set $empbrk_record, .time; set $empbrk_record$,strcharinfo(0); } set .m, .time / 60000; set .time, .time - (.m * 60000); set .s, .time /1000; set .time, .time - (.s * 1000); areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Seu tempo foi de "+.m+"m "+.s+"s "+.time+"ms",0; set .end,1; set .charid,getcharid(0); initnpctimer; end; } pvp_n_4-5,74,99,0 script EmpBrk#2_touch -1,1,2,{ OnTouch: killmonster "pvp_n_4-5","EmpBrk#2::OnThisMobDeath"; mes "[Emperium Breaker Test]"; mes "Você não pode deixar esta área."; close2; set $@someonegotin2, 0; warp @mpempbrk$,@empbrkx,@empbrky; close; } - script EmpBrk#3 -1,{ OnTimer3000: if (.end == 1) { warpchar "prontera",150,172,.charid; stopnpctimer; set .end, 0; } end; OnTimer5000: set .x1,94; set .y1,60; set .x2,105; set .y2,71; set .xe,99; set .ye,65; areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Se prepare para quebrar o Emperium!",0; set $@someonegotin3, 0; end; OnTimer7000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"5",0; end; OnTimer8000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"4",0; end; OnTimer9000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"3",0; end; OnTimer10000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"2",0; end; OnTimer11000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"1",0; end; OnTimer12000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"JÁ!!!",0; monster "pvp_n_4-5",.xe,.ye,"Emperium",1288,1,"EmpBrk#3::OnThisMobDeath"; end; OnTimer1200000: warpchar "prontera",150,172,.charid; stopnpctimer; set .end, 1; end; OnThisMobDeath: stopnpctimer "EmpBrk#3"; set .time, getnpctimer(0,"EmpBrk#3"); set .time, .time - 12000; if (.time < empbrk_record || empbrk_record == 0) { areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Novo Recorde Pessoal!!!",0; set empbrk_record, .time; } if (.time < $empbrk_record || $empbrk_record == 0) { areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Novo Recorde Oficial!!!",0; //announce strcharinfo(0)+" is now the NO. 1 Emperium Breaker!!",0; set $empbrk_record, .time; set $empbrk_record$,strcharinfo(0); } set .m, .time / 60000; set .time, .time - (.m * 60000); set .s, .time /1000; set .time, .time - (.s * 1000); areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Seu tempo foi de "+.m+"m "+.s+"s "+.time+"ms",0; set .end,1; set .charid,getcharid(0); initnpctimer; end; } pvp_n_4-5,100,74,0 script EmpBrk#3_touch -1,2,1,{ OnTouch: killmonster "pvp_n_4-5","EmpBrk#3::OnThisMobDeath"; mes "[Emperium Breaker Test]"; mes "Você não pode deixar esta área."; close2; set $@someonegotin3, 0; warp @mpempbrk$,@empbrkx,@empbrky; close; } - script EmpBrk#4 -1,{ OnTimer3000: if (.end == 1) { warpchar "prontera",150,172,.charid; stopnpctimer; set .end, 0; } end; OnTimer5000: set .x1,128; set .y1,94; set .x2,139; set .y2,105; set .xe,134; set .ye,99; areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Se prepare para quebrar o Emperium!",0; set $@someonegotin4, 0; end; OnTimer7000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"5",0; end; OnTimer8000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"4",0; end; OnTimer9000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"3",0; end; OnTimer10000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"2",0; end; OnTimer11000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"1",0; end; OnTimer12000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"JÁ!!!",0; monster "pvp_n_4-5",.xe,.ye,"Emperium",1288,1,"EmpBrk#4::OnThisMobDeath"; end; OnTimer1200000: warpchar "prontera",150,172,.charid; stopnpctimer; set .end, 1; end; OnThisMobDeath: stopnpctimer "EmpBrk#4"; set .time, getnpctimer(0,"EmpBrk#4"); set .time, .time - 12000; if (.time < empbrk_record || empbrk_record == 0) { areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Novo Recorde Pessoal!!!",0; set empbrk_record, .time; } if (.time < $empbrk_record || $empbrk_record == 0) { areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Novo Recorde Oficial!!!",0; //announce strcharinfo(0)+" is now the NO. 1 Emperium Breaker!!",0; set $empbrk_record, .time; set $empbrk_record$,strcharinfo(0); } set .m, .time / 60000; set .time, .time - (.m * 60000); set .s, .time /1000; set .time, .time - (.s * 1000); areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Seu tempo foi de "+.m+"m "+.s+"s "+.time+"ms",0; set .end,1; set .charid,getcharid(0); initnpctimer; end; } pvp_n_4-5,125,100,0 script EmpBrk#4_touch -1,1,2,{ OnTouch: killmonster "pvp_n_4-5","EmpBrk#4::OnThisMobDeath"; mes "[Emperium Breaker Test]"; mes "Você não pode deixar esta área."; close2; set $@someonegotin4, 0; warp @mpempbrk$,@empbrkx,@empbrky; close; }
    1 point
  7. Seu desejo é uma ordem! /////////////////////////////////////////////////////// // ___________ _____.__ // \__ ___/__.__.________/ ____\__| ____ ____ // | | < | |\_ __ \ __\| |/ \ / ___\ // | | \___ | | | \/| | | | | \/ /_/ > // |____| / ____| |__| |__| |__|___| /\___ / // \/ Scripts \//_____/ // //===================================================== // Name: Poring Reporter // // Description: // A poring reporter will spread the news about your // server walking randomly throughout Prontera. // // Instructions: // Toggle walking by whispering to NPC! // (To whisper the NPC, simply send a private message // in Ragnarok to "npc:Poring Reporter") // Say "walk" and it'll start walking. // Anything else and it'll stop as soon as possible. //===================================================== /////////////////////////////////////////////////////// prontera,147,190,5 script Poring Reporter 909,{ set .@gm_level, 99; // Necessary GM Level set .@npc_name$, "Poring Reporter"; function NewsList; Begin: if (getgmlevel() < .@gm_level) end; npcstop; if (.walking != 0) npctalk "Stopped walking. Tell me to \"walk\".", "", bc_self; set .walking, 0; clear; mes "[ ^f442a7"+ .@npc_name$ +"^000000 ]"; mes "Hello, master! What are the news today?"; menu "Show news",ShowNews, "Remove news",RemoveNews, "Register news",RegisterNews; ShowNews: clear; mes "[ ^f442a7"+ .@npc_name$ +"^000000 ]"; if (getarraysize(.news$) > 0) { mes "These are the news:"; NewsList; } else { mes "There are no news."; } next; goto Begin; RemoveNews: clear; NewsList; mes "Enter the number of the new you want to remove:"; input .@remove; clear; mes "[ ^f442a7"+ .@npc_name$ +"^000000 ]"; mes "Do you want to remove \"" + .news$[.@remove-1] + "\"?"; if (select("Yes:No") == 1) { .@arrsize = getarraysize(.news$); for (.@i = .@remove-1; .@i < .@arrsize; .@i++) { set .news$[.@i], .news$[.@i+1]; } set .news$[.@arrsize], ""; } goto Begin; RegisterNews: clear; mes "[ ^f442a7"+ .@npc_name$ +"^000000 ]"; mes "What should I spread throughout Prontera?"; input .@new$; clear; mes "[ ^f442a7"+ .@npc_name$ +"^000000 ]"; mes "\"" + .@new$ + "\""; mes "Is that right?"; if (select("Yes:No") == 2) goto RegisterNews; set .news$[getarraysize(.news$)], .@new$; clear; mes "[ ^f442a7"+ .@npc_name$ +"^000000 ]"; mes "Okay!~"; next; goto Begin; function NewsList { for (.@i = 0; .@i < getarraysize(.news$); .@i++) { if (.news$[.@i] != "") mes (.@i+1) + ". \""+ .news$[.@i] +"\""; } } OnWhisperGlobal: if (getgmlevel() < .@gm_level) end; if (@whispervar0$ == "walk") { set .walking, 1; } else { set .walking, 0; } while (.walking == 1) { set .@posxmin, 142; set .@posxmax, 192; set .@posymin, 189; set .@posymax, 217; npcwalkto rand(.@posxmin, .@posxmax), rand(.@posymin, .@posymax); npctalk .news$[rand(getarraysize(.news$))]; sleep 5000; } end; } Para que o poring ande pelo mapa, é necessário ativá-lo enviando uma mensagem para o npc. Para fazer isso, no lugar onde você coloca o nome dos jogadores com quem deseja ter uma conversa privada, coloque o seguinte: "npc:Poring Reporter". Se você mandar a mensagem "walk", ele vai começar a andar ao redor da parte central de Prontera. Você pode alterar as coordenadas mínimas e máximas.
    1 point
×
×
  • Create New...