Jump to content

ItsRas

Members
  • Posts

    30
  • Joined

  • Last visited

Everything posted by ItsRas

  1. Hello, can anyone help me with adding a new option in Warper NPC. I would like to add input box in the Warper NPC where people can simply add the name of the map they would like to warp to. This is similar to @warp command but I love to have an option for warper too with the restrictions of warper to ofc. I actually found a nearly the same script from @AnnieRuru but its a hassle and tiring to code all the maps manually. I will attach the code below. prontera,155,186,5 script TestWarp 100,{ setarray .@map$, "prontera", "morocc", "alberta", "aldebaran", "izlude"; setarray .@x, 156, 156, 192, 140, 128; setarray .@y, 191, 93, 147, 143, 146; set .@arraysize, getarraysize(.@map$); mes "[Warp Agent]"; mes "Type the map name you'd like to warp to for example pay_fild02, thor_v03^0000FF"; for ( .@i = 0; .@i < .@arraysize; .@i++ ) mes ( .@i +1 )+". "+ .@map$[.@i]; next; input .@warp$; .@i = 0; while ( .@warp$ != .@map$[.@i] && .@i < .@arraysize ) .@i++; if ( .@i == .@arraysize ) { mes "[Warp Agent]"; mes "Invalid Map"; close; } mes "[Test Warper]"; mes "You are now warping to "+ .@map$[.@i] +" town"; close2; warp .@map$[.@i], .@x[.@i], .@y[.@i]; end; } Now the attached photo below is an illustration of what I'd like to have on warper. Hope you guys could help me. Thanks in advance. //===== rAthena Script ======================================= //= Warper //===== Description: ========================================= //= A complete - but very condensed - warper script. //===== Additional Comments: ================================= //= 1.0 Initial script By [Euphy]. //= 1.1 Added missing duplicates and fixed coordinates. //= Some coordinates written by [Tekno-Kanix] and [ToastOfDoom]. //= 1.2 Added new episodes and simplified functions. //= 1.3 Added Renewal checks and Instances menu. //= Aligned coordinates with @go. //= 1.4 Added new Guild Dungeons. //= 1.4a Slight edits. //= 1.4b Added Wolfchev's Laboratory warp. //= 1.5 Added Lasagna ,Para Market ,WOE TE ,Instances and settings [sader1992]. //= 1.5a Fix Bifrost Tower //============================================================ - script Warper -1,{ function Go; function Disp; function Pick; function Restrict; // -------------------------------------------------- // Main Menu: // -------------------------------------------------- menu "Last Warp ^777777["+lastwarp$+"]^000000",-, " ~ Towns",Towns, " ~ Fields",Fields, " ~ Dungeons",Dungeons, " ~ Guild Castles",Castles, " ~ Guild Dungeons",Guild_Dungeons, " ~ Instances",Instances, " ~ Special Areas",Special; if (lastwarp$ == "") message strcharinfo(0),"You haven't warped anywhere yet."; else warp lastwarp$,lastwarpx,lastwarpy; end; // ------------------- Functions ------------------- // * Go("<map>",<x>,<y>); // ~ Warps directly to a map. // // * Disp("<Menu Option>",<first option>,<last option>); // * Pick("<map_prefix>"{,<index offset>}); // ~ Dynamic menu and map selection (auto-numbered). // ~ Fields and Dungeons must use Disp and Pick Functions. // // * Disp("<Option 1>:<Option 2>:<etc.>"); // * Pick("","<map1>","<map2>","<etc.>"); // ~ Manual menu and map selection (listed). // // * Restrict("<RE | Pre-RE>"{,<menu option numbers>}); // ~ Only allows map for Renewal or Pre-Renewal modes. // If menu option numbers are given, only those maps // will be restricted (i.e. not for "Go"). // // Other notes: // ~ Array @c[] holds all (x,y) coordinates. // ~ Use @c[2] EXCEPT when maps begin dynamically // at 0: use @c[0] and Pick() offset 1. // -------------------------------------------------- function Go { set lastwarp$, getarg(0); set lastwarpx, getarg(1,0); set lastwarpy, getarg(2,0); warp getarg(0),getarg(1,0),getarg(2,0); end; } function Disp { if (getargcount() < 3) set @menu$, getarg(0); else { set @menu$,""; for (set .@i,getarg(1); .@i<=getarg(2); set .@i,.@i+1) set @menu$, @menu$+getarg(0)+" "+.@i+":"; } return; } function Pick { set .@warp_block,@warp_block; set @warp_block,0; if((@f && .OnlyFirstFld) || (@d && .OnlyFirstDun)){ set .@select,1; if(.@warp_block){ while(.@warp_block & (1<<.@select)){ .@select += 1; } } }else{ set .@select, select(@menu$); } if (getarg(0) == "") { set .@i, .@select; set .@map$, getarg(.@i); } else { set .@i, .@select-getarg(1,0); set .@map$, getarg(0)+((.@i<10)?"0":"")+.@i; } if (.@warp_block & (1<<.@select)) { message strcharinfo(0),"This map is not enabled in "+((checkre(0))?"":"Pre-")+"Renewal."; end; } set .@x, @c[.@i*2]; set .@y, @c[.@i*2+1]; deletearray @c[0],getarraysize(@c); @f = false; @d = false; Go(.@map$,.@x,.@y); } function Restrict { if ((getarg(0) == "RE" && !checkre(0)) || (getarg(0) == "Pre-RE" && checkre(0))) { if (getarg(1,0)) { set @warp_block,0; for (set .@i,1; .@i<getargcount(); set .@i,.@i+1) set @warp_block, @warp_block | (1<<getarg(.@i)); } else { message strcharinfo(0),"This map is not enabled in "+((checkre(0))?"":"Pre-")+"Renewal."; end; } } return; } // -------------------------------------------------- Towns: // -------------------------------------------------- menu "Prontera",T1, "Alberta",T2, "Aldebaran",T3, "Amatsu",T4, "Ayothaya",T5, "Brasilis",T6, "Comodo",T7, "Dewata",T8, "Eclage",T9, "Einbech",T10, "Einbroch",T11, "El Dicastes",T12, "Geffen",T13, "Kunlun",T14, "Hugel",T15, "Izlude",T16, "Jawaii",T17, "Lasagna",T18, "Lighthalzen",T19, "Luoyang",T20, "Lutie",T21, "Malangdo",T22, "Malaya",T23, "Manuk",T24, "Midgarts Expedition Camp",T25, "Mora",T26, "Morocc",T27, "Moscovia",T28, "Nameless Island",T29, "Niflheim",T30, "Payon",T31, "Rachel",T32, "Splendide",T33, "Thor Camp",T34, "Umbala",T35, "Veins",T36, "Juno",T37; T1: Go("prontera",155,183); T2: Go("alberta",28,234); T3: Go("aldebaran",140,131); T4: Go("amatsu",198,84); T5: Go("ayothaya",208,166); T6: Restrict("RE"); Go("brasilis",196,217); T7: Go("comodo",209,143); T8: Restrict("RE"); Go("dewata",200,180); T9: Restrict("RE"); Go("ecl_in01",48,53); T10: Go("einbech",63,35); T11: Go("einbroch",64,200); T12: Restrict("RE"); Go("dicastes01",198,187); T13: Go("geffen",119,59); T14: Go("gonryun",160,120); T15: Go("hugel",96,145); T16: Go("izlude",128,(checkre(3)?146:114)); T17: Go("jawaii",251,132); T18: Restrict("RE"); Go("lasagna",193,182); T19: Go("lighthalzen",158,92); T20: Go("louyang",217,100); T21: Go("xmas",147,134); T22: Restrict("RE"); Go("malangdo",140,114); T23: Restrict("RE"); Go("malaya",231,200); T24: Go("manuk",282,138); T25: Go("mid_camp",210,288); T26: Restrict("RE"); Go("mora",55,146); T27: Go("morocc",156,93); T28: Go("moscovia",223,184); T29: Go("nameless_n",256,215); T30: Go("niflheim",202,174); T31: Go("payon",179,100); T32: Go("rachel",130,110); T33: Go("splendide",201,147); T34: Go("thor_camp",246,68); T35: Go("umbala",97,153); T36: Go("veins",216,123); T37: Go("yuno",157,51); // -------------------------------------------------- Fields: // -------------------------------------------------- @f = true; menu "Amatsu Fields",F1, "Ayothaya Fields",F2, "Bifrost Fields", F3, "Brasilis Fields",F4, "Comodo Fields",F5, "Dewata Fields",F6, "Eclage Fields",F7, "Einbroch Fields",F8, "El Dicastes Fields",F9, "Geffen Fields",F10, "Kunlun Fields",F11, "Hugel Fields",F12, "Lasagna Fields",F13, "Lighthalzen Fields",F14, "Luoyang Field",F15, "Lutie Field",F16, "Malaya Fields",F17, "Manuk Fields",F18, "Mjolnir Fields",F19, "Moscovia Fields",F20, "Niflheim Fields",F21, "Payon Forests",F22, "Prontera Fields",F23, "Rachel Fields",F24, "Sograt Deserts",F25, "Splendide Fields",F26, "Umbala Fields",F27, "Veins Fields",F28, "Juno Fields",F29; F1: setarray @c[2],190,197; Disp("Amatsu Field",1,1); Pick("ama_fild"); F2: setarray @c[2],173,134,212,150; Disp("Ayothaya Field",1,2); Pick("ayo_fild"); F3: Restrict("RE"); setarray @c[2],193,220,220,187; Disp("Bifrost Field",1,2); Pick("bif_fild"); F4: Restrict("RE"); setarray @c[2],74,32; Disp("Brasilis Field",1,1); Pick("bra_fild"); F5: Restrict("Pre-RE",5); setarray @c[2],180,178,231,160,191,172,228,194,224,203,190,223,234,177,194,175,172,172; Disp("Comodo Field",1,9); Pick("cmd_fild"); F6: Restrict("RE"); setarray @c[2],371,212; Disp("Dewata Field",1,1); Pick("dew_fild"); F7: Restrict("RE"); setarray @c[2],97,314; Disp("Eclage Field",1,1); Pick("ecl_fild"); F8: Restrict("Pre-RE",2,10); setarray @c[2],142,225,182,141,187,228,185,173,216,173,195,148,272,220,173,214,207,174,196,200; Disp("Einbroch Field",1,10); Pick("ein_fild"); F9: Restrict("RE"); setarray @c[2],143,132,143,217; Disp("El Dicastes Field",1,2); Pick("dic_fild"); F10: Restrict("Pre-RE",13,15); setarray @c[0],46,199,213,204,195,212,257,192,188,171,166,263,248,158,195,191,186,183,221,117,178,218,136,328,240,181,235,235,211,185; Disp("Geffen Field",0,14); Pick("gef_fild",1); F11: setarray @c[2],220,227; Disp("Kunlun Field",1,1); Pick("gon_fild"); F12: Restrict("Pre-RE",3,7); setarray @c[2],268,101,222,193,232,185,252,189,196,106,216,220,227,197; Disp("Hugel Field",1,7); Pick("hu_fild"); F13: Restrict("RE"); setarray @c[2],344,371,20,98; Disp("Lasagna Field",1,2); Pick("lasa_fild"); F14: setarray @c[2],240,179,185,235,240,226; Disp("Lighthalzen Field",1,3); Pick("lhz_fild"); F15: setarray @c[2],229,187; Disp("Luoyang Field",1,1); Pick("lou_fild"); F16: setarray @c[2],115,145; Disp("Lutie Field",1,1); Pick("xmas_fild"); F17: Restrict("RE"); setarray @c[2],40,272,207,180; Disp("Malaya Field",1,2); Pick("ma_fild"); F18: setarray @c[2],35,236,35,262,84,365; Disp("Manuk Field",1,3); Pick("man_fild"); F19: setarray @c[2],204,120,175,193,208,213,179,180,181,240,195,270,235,202,188,215,205,144,245,223,180,206,196,208; Disp("Mjolnir Field",1,12); Pick("mjolnir_"); F20: setarray @c[2],82,104,131,147; Disp("Moscovia Field",1,2); Pick("mosk_fild"); F21: setarray @c[2],215,229,167,234; Disp("Niflheim Field",1,2); Pick("nif_fild"); F22: Restrict("Pre-RE",5,11); setarray @c[2],158,206,151,219,205,148,186,247,134,204,193,235,200,177,137,189,201,224,160,205,194,150; Disp("Payon Forest",1,11); Pick("pay_fild"); F23: setarray @c[0],208,227,190,206,240,206,190,143,307,252,239,213,185,188,193,194,187,218,210,183,195,149,198,164; Disp("Prontera Field",0,11); Pick("prt_fild",1); F24: Restrict("Pre-RE",2,7,9,10,11,13); setarray @c[2],192,162,235,166,202,206,202,208,225,202,202,214,263,196,217,201,87,121,277,181,221,185,175,200,174,197; Disp("Rachel Field",1,13); Pick("ra_fild"); F25: if(.Satan_Morocc){ setarray @c[2],219,205,177,206,194,182,224,170,198,216,156,187,185,263,206,228,208,238,209,223,85,97,207,202,31,195,38,195; Disp("Sograt Desert 1:Sograt Desert 2:Sograt Desert 3:Sograt Desert 7:Sograt Desert 11:Sograt Desert 12:Sograt Desert 13:Sograt Desert 16:Sograt Desert 17:Sograt Desert 18:Sograt Desert 19:Sograt Desert 20:Sograt Desert 21:Sograt Desert 22"); Pick("","moc_fild01","moc_fild02","moc_fild03","moc_fild07","moc_fild11","moc_fild12","moc_fild13","moc_fild16","moc_fild17","moc_fild18","moc_fild19","moc_fild20","moc_fild21","moc_fild22"); }else{ setarray @c[2],219,205,177,206,194,182,146,297,204,197,275,302,224,170,139,123,101,110,341,39,198,216,156,187,185,263,223,222,170,257,206,228,208,238,209,223,85,97; Disp("Sograt Desert",1,19); Pick("moc_fild"); } F26: setarray @c[2],175,186,236,184,188,204; Disp("Splendide Field",1,3); Pick("spl_fild"); F27: setarray @c[2],217,206,223,221,237,215,202,197; Disp("Umbala Field",1,4); Pick("um_fild"); F28: Restrict("Pre-RE",5); setarray @c[2],186,175,196,370,222,45,51,250,202,324,150,223,149,307; Disp("Veins Field",1,7); Pick("ve_fild"); F29: Restrict("Pre-RE",5,10); setarray @c[2],189,224,192,207,221,157,226,199,223,177,187,232,231,174,196,203,183,214,200,124,195,226,210,304; Disp("Juno Field",1,12); Pick("yuno_fild"); // -------------------------------------------------- Dungeons: // -------------------------------------------------- @d = true; menu "Abyss Lakes",D1, "Amatsu Dungeon",D2, "Anthell",D3, "Ayothaya Dungeon",D4, "Beach Dungeon",D5, "Bifrost Tower",D42, "Bio Labs",D6, "Brasilis Dungeon",D7, "Byalan Dungeon",D8, "Clock Tower",D9, "Coal Mines",D10, "Culvert",D11, "Cursed Abbey",D12, "Dewata Dungeon",D13, "Einbroch Dungeon",D14, "Gefenia",D15, "Geffen Dungeon",D16, "Glast Heim",D17, "Kunlun Dungeon",D18, "Hidden Dungeon",D19, "Ice Dungeon",D20, "Juperos",D21, "Kiel Dungeon",D22, "Lasagna Dungeon",D23, "Luoyang Dungeon",D24, "Magma Dungeon",D25, "Malangdo Dungeon",D26, "Moscovia Dungeon",D27, "Nidhogg's Dungeon",D28, "Odin Temple",D29, "Orc Dungeon",D30, "Payon Dungeon",D31, "Pyramids",D32, "Rachel Sanctuary",D33, "Scaraba Hole",D34, "Sphinx",D35, "Sunken Ship",D36, "Thanatos Tower",D37, "Thor Volcano",D38, "Toy Factory",D39, "Turtle Dungeon",D40, "Umbala Dungeon",D41; D1: setarray @c[2],261,272,275,270,116,27; Disp("Abyss Lakes",1,3); Pick("abyss_"); D2: setarray @c[2],228,11,34,41,119,14; Disp("Amatsu Dungeon",1,3); Pick("ama_dun"); D3: setarray @c[2],35,262,168,170; Disp("Anthell",1,2); Pick("anthell"); D4: setarray @c[2],275,19,24,26; Disp("Ancient Shrine Maze:Inside Ancient Shrine"); Pick("ayo_dun"); D5: setarray @c[2],266,67,255,244,23,260; Disp("Beach Dungeon",1,3); Pick("","beach_dun","beach_dun2","beach_dun3"); D6: Restrict("RE",4); setarray @c[2],150,288,150,18,140,134,244,52; Disp("Bio Lab",1,4); Pick("lhz_dun"); D7: Restrict("RE"); setarray @c[2],87,47,262,262; Disp("Brasilis Dungeon",1,2); Pick("bra_dun"); D8: Restrict("RE",6); setarray @c[0],168,168,253,252,236,204,32,63,26,27,141,187; Disp("Byalan Dungeon",1,6); Pick("iz_dun",1); D9: setarray @c[2],199,159,148,283,65,147,56,155,297,25,127,169,277,178,268,74; Disp("Clock Tower 1:Clock Tower 2:Clock Tower 3:Clock Tower 4:Basement 1:Basement 2:Basement 3:Basement 4"); Pick("","c_tower1","c_tower2","c_tower3","c_tower4","alde_dun01","alde_dun02","alde_dun03","alde_dun04"); D10: setarray @c[2],52,17,381,343,302,262; Disp("Coal Mines",1,3); Pick("mjo_dun"); D11: setarray @c[2],131,247,19,19,180,169,100,92; Disp("Culvert",1,4); Pick("","prt_sewb1","prt_sewb2","prt_sewb3","prt_sewb4"); D12: setarray @c[2],51,14,150,11,120,10; Disp("Cursed Abbey",1,3); Pick("abbey"); D13: Restrict("RE"); setarray @c[2],285,160,299,29; Disp("Dewata Dungeon",1,2); Pick("dew_dun"); D14: setarray @c[2],22,14,292,290; Disp("Einbroch Dungeon",1,2); Pick("ein_dun"); D15: setarray @c[2],40,103,203,34,266,168,130,272; Disp("Gefenia",1,4); Pick("gefenia",0); D16: setarray @c[0],104,99,115,236,106,132,203,200; Disp("Geffen Dungeon",1,4); Pick("gef_dun",1); D17: setarray @c[2],370,304,199,29,104,25,150,15,157,287,147,15,258,255,108,291,171,283,68,277,156,7,12,7,133,271,224,274,14,70,150,14; Disp("Entrance:Castle 1:Castle 2:Chivalry 1:Chivalry 2:Churchyard:Culvert 1:Culvert 2:Culvert 3:Culvert 4:St. Abbey:Staircase Dungeon:Underground Cave 1:Underground Cave 2:Underground Prison 1:Underground Prison 2"); Pick("","glast_01","gl_cas01","gl_cas02","gl_knt01","gl_knt02","gl_chyard","gl_sew01","gl_sew02","gl_sew03","gl_sew04","gl_church","gl_step","gl_dun01","gl_dun02","gl_prison","gl_prison1"); D18: setarray @c[2],153,53,28,113,68,16; Disp("Kunlun Dungeon",1,3); Pick("gon_dun"); D19: setarray @c[2],176,7,93,20,23,8; Disp("Hidden Dungeon",1,3); Pick("prt_maze"); D20: setarray @c[2],157,14,151,155,149,22,33,158; Disp("Ice Dungeon",1,4); Pick("ice_dun"); D21: setarray @c[2],140,51,53,247,37,63,150,285; Disp("Entrance:Juperos 1:Juperos 2:Core"); Pick("","jupe_cave","juperos_01","juperos_02","jupe_core"); D22: setarray @c[2],28,226,41,198; Disp("Kiel Dungeon",1,2); Pick("kh_dun"); D23: Restrict("RE"); setarray @c[2],24,143,22,171,190,18; Disp("Lasagna Dungeon",1,3); Pick("lasa_dun"); D24: setarray @c[2],218,196,282,20,165,38; Disp("The Royal Tomb:Inside the Royal Tomb:Suei Long Gon"); Pick("lou_dun"); D25: setarray @c[2],126,68,47,30; Disp("Magma Dungeon",1,2); Pick("mag_dun"); D26: Restrict("RE"); setarray @c[2],33,230; Disp("Malangdo Dungeon",1,1); Pick("mal_dun"); D27: setarray @c[2],189,48,165,30,32,135; Disp("Moscovia Dungeon",1,3); Pick("mosk_dun"); D28: setarray @c[2],61,239,60,271; Disp("Nidhogg's Dungeon",1,2); Pick("nyd_dun"); D29: setarray @c[2],298,167,224,149,266,280; Disp("Odin Temple",1,3); Pick("odin_tem"); D30: setarray @c[2],32,170,21,185; Disp("Orc Dungeon",1,2); Pick("orcsdun"); D31: setarray @c[0],21,183,19,33,19,63,155,159,201,204; Disp("Payon Dungeon",1,5); Pick("pay_dun",1); D32: Restrict("RE",7,8); setarray @c[2],192,9,10,192,100,92,181,11,94,96,192,8,94,96,192,8; Disp("Pyramids 1:Pyramids 2:Pyramids 3:Pyramids 4:Basement 1:Basement 2:Basement 1 - Nightmare Mode:Basement 2 - Nightmare Mode"); Pick("","moc_pryd01","moc_pryd02","moc_pryd03","moc_pryd04","moc_pryd05","moc_pryd06","moc_prydn1","moc_prydn2"); D33: setarray @c[2],140,11,32,21,8,149,204,218,150,9; Disp("Rachel Sanctuary",1,5); Pick("ra_san"); D34: Restrict("RE"); setarray @c[2],364,44,101,141; Disp("Scaraba Hole",1,2); Pick("dic_dun"); D35: setarray @c[2],288,9,149,81,210,54,10,222,100,99; Disp("Sphinx",1,5); Pick("","in_sphinx1","in_sphinx2","in_sphinx3","in_sphinx4","in_sphinx5"); D36: setarray @c[2],69,24,102,27; Disp("Sunken Ship",1,2); Pick("treasure"); D37: setarray @c[2],150,39,150,136,220,158,59,143,62,11,89,221,35,166,93,148,29,107,159,138,19,20,130,52; Disp("Thanatos Tower",1,12); Pick("tha_t"); D38: setarray @c[2],21,228,75,205,34,272; Disp("Thor Volcano",1,3); Pick("thor_v"); D39: setarray @c[2],205,15,129,133; Disp("Toy Factory",1,2); Pick("xmas_dun"); D40: setarray @c[2],154,49,148,261,132,189,100,192; Disp("Entrance:Turtle Dungeon 1:Turtle Dungeon 2:Turtle Dungeon 3"); Pick("tur_dun"); D41: Restrict("Pre-RE",1,2); setarray @c[2],42,31,48,30,204,78; Disp("Carpenter's Shop in the Tree:Passage to a Foreign World:Hvergermil's Fountain"); Pick("","um_dun01","um_dun02","yggdrasil01"); D42: Restrict("RE"); setarray @c[2],57,13,64,88,45,14,26,23; Disp("Bifrost Tower",1,4); Pick("ecl_tdun"); // -------------------------------------------------- Castles: // -------------------------------------------------- menu "[FE] Aldebaran Castles",C1, "[FE] Geffen Castles",C2, "[FE] Payon Castles",C3, "[FE] Prontera Castles",C4, "[SE] Arunafeltz Castles",C5, "[SE] Schwarzwald Castles",C6, "[TE] Aldebaran Castles",C7, "[TE] Prontera Castles",C8; C1: setarray @c[2],48,83,95,249,142,85,239,242,264,90; Disp("Neuschwanstein:Hohenschwangau:Nuenberg:Wuerzburg:Rothenburg"); Pick("","alde_gld","alde_gld","alde_gld","alde_gld","alde_gld"); C2: setarray @c[2],214,75,308,240,143,240,193,278,305,87; Disp("Repherion:Eeyolbriggar:Yesnelph:Bergel:Mersetzdeitz"); Pick("","gef_fild13","gef_fild13","gef_fild13","gef_fild13","gef_fild13"); C3: setarray @c[2],121,233,295,116,317,293,140,160,204,266; Disp("Bright Arbor:Scarlet Palace:Holy Shadow:Sacred Altar:Bamboo Grove Hill"); Pick("","pay_gld","pay_gld","pay_gld","pay_gld","pay_gld"); C4: setarray @c[2],134,65,240,128,153,137,111,240,208,240; Disp("Kriemhild:Swanhild:Fadhgridh:Skoegul:Gondul"); Pick("","prt_gld","prt_gld","prt_gld","prt_gld","prt_gld"); C5: setarray @c[2],158,272,83,47,68,155,299,345,292,107; Disp("Mardol:Cyr:Horn:Gefn:Banadis"); Pick("","aru_gld","aru_gld","aru_gld","aru_gld","aru_gld"); C6: setarray @c[2],293,100,288,252,97,196,137,90,71,315; Disp("Himinn:Andlangr:Viblainn:Hljod:Skidbladnir"); Pick("","sch_gld","sch_gld","sch_gld","sch_gld","sch_gld"); C7: Restrict("RE"); setarray @c[2],48,83,95,249,142,85,239,242,264,90; Disp("Kafragarten 1:Kafragarten 2:Kafragarten 3:Kafragarten 4:Kafragarten 5"); Pick("","te_alde_gld","te_alde_gld","te_alde_gld","te_alde_gld","te_alde_gld"); C8: Restrict("RE"); setarray @c[2],134,65,240,128,153,137,111,240,208,240; Disp("Gloria 1:Gloria 2:Gloria 3:Gloria 4:Gloria 5"); Pick("","te_prt_gld","te_prt_gld","te_prt_gld","te_prt_gld","te_prt_gld"); // -------------------------------------------------- Guild_Dungeons: // -------------------------------------------------- menu "Baldur",G1, "Luina",G2, "Valkyrie",G3, "Britoniah",G4, "Arunafeltz",G5, "Schwarzwald",G6, "Kafragarten",G7, "Gloria",G8; G1: Restrict("RE",2,3); setarray @c[2],119,93,119,93,120,130; Disp("Baldur F1:Baldur F2:Hall of Abyss"); Pick("","gld_dun01","gld_dun01_2","gld2_pay"); G2: Restrict("RE",2,3); setarray @c[2],39,161,39,161,147,155; Disp("Luina F1:Luina F2:Hall of Abyss"); Pick("","gld_dun02","gld_dun02_2","gld2_ald"); G3: Restrict("RE",2,3); setarray @c[2],50,44,50,44,140,132; Disp("Valkyrie F1:Valkyrie F2:Hall of Abyss"); Pick("","gld_dun03","gld_dun03_2","gld2_prt"); G4: Restrict("RE",2,3); setarray @c[2],116,45,116,45,152,118; Disp("Britoniah F1:Britoniah F2:Hall of Abyss"); Pick("","gld_dun04","gld_dun04_2","gld2_gef"); G5: Go("arug_dun01",199,195); G6: Go("schg_dun01",200,124); G7: Restrict("RE"); Go("teg_dun01",42,36); G8: Restrict("RE"); Go("teg_dun02",26,160); // -------------------------------------------------- Instances: // -------------------------------------------------- menu "Bakonawa Lake",I1, "Bangungot Hospital 2F",I2, "Buwaya Cave",I3, "Devil Tower",I4, "Eclage Interior",I5, "Endless Tower",I6, "Faceworms Nest",I7, "Geffen Magic Tournament",I8, "Ghost Palace",I9, "Hazy Forest",I10, "Horror Toy Factory",I11, "Malangdo Culvert",I12, "Nidhoggur's Nest",I13, "Octopus Cave",I14, "Old Glast Heim",I15, "Orc's Memory",I16, "Sarah and Fenrir",I17, "Sara Memory",I18, "Sealed Shrine",I19, "Wolfchev's Laboratory",I20; I1: Restrict("RE"); Go("ma_scene01",172,175); I2: Restrict("RE"); Go("ma_dun01",151,8); I3: Restrict("RE"); Go("ma_fild02",316,317); I4: Restrict("RE"); Go("dali02",137,115); I5: Restrict("RE"); Go("ecl_hub01",129,12); I6: Go("e_tower",72,112); I7: Restrict("RE"); Go("dali",85,64); I8: Restrict("RE"); Go("dali",94,141); I9: Restrict("RE"); Go("dali02",46,128); I10: Restrict("RE"); Go("bif_fild01",161,334); I11: Restrict("RE"); Go("xmas",234,298); I12: Restrict("RE"); Go("mal_in01",164,21); I13: Go("nyd_dun02",95,193); I14: Restrict("RE"); Go("mal_dun01",152,230); I15: Restrict("RE"); Go("glast_01",204,268); I16: Go("gef_fild10",240,198); I17: Restrict("RE"); Go("dali02",92,141); I18: Restrict("RE"); Go("dali",133,108); I19: Go("monk_test",306,143); I20: Restrict("RE"); Go("lhz_dun04",148,269); // -------------------------------------------------- Special: // -------------------------------------------------- menu "Auction Hall",S1, "Battlegrounds",S2, "Casino",S3, "Dimensional Rift",S4, "Eden Group Headquarters",S5, "Kunlun Arena",S6, "Izlude Arena",S7, "Monster Race Arena",S8, "Para Market",S9, "Turbo Track",S10; S1: Go("auction_01",22,68); S2: Go("bat_room",154,150); S3: Go("cmd_in02",179,129); S4: Restrict("RE"); Go("dali",113,82); S5: Restrict("RE"); Go("moc_para01",31,14); S6: Go("gon_test",48,10); S7: Go("arena_room",100,88); S8: Go("p_track01",62,41); S9: Restrict("RE"); Go("paramk",97,17); S10: Go("turbo_room",99,114); OnInit: .Satan_Morocc = true; // false will enable moc_fild 4,5,6,8,9,10,14,15 while disable moc_fild 20,21,22 Default is true. .OnlyFirstFld = false; // true will teleport to the first level of the Fields Default is false. .OnlyFirstDun = false; // true will teleport to the first level of the Dungeons Default is false. } // -------------------------------------------------- // Duplicates: // -------------------------------------------------- alb2trea,57,70,6 duplicate(Warper) Warper#tre 811 alberta,28,240,4 duplicate(Warper) Warper#alb 811 aldebaran,145,118,4 duplicate(Warper) Warper#alde 811 amatsu,203,87,4 duplicate(Warper) Warper#ama 811 ayothaya,209,169,6 duplicate(Warper) Warper#ayo 811 comodo,194,158,4 duplicate(Warper) Warper#com 811 einbech,59,38,6 duplicate(Warper) Warper#einbe 811 einbroch,69,202,4 duplicate(Warper) Warper#einbr 811 gef_fild10,71,339,4 duplicate(Warper) Warper#orc 811 geffen,124,72,4 duplicate(Warper) Warper#gef 811 glast_01,372,308,4 duplicate(Warper) Warper#glh 811 gonryun,162,122,4 duplicate(Warper) Warper#gon 811 hugel,101,151,4 duplicate(Warper) Warper#hug 811 izlu2dun,110,92,4 duplicate(Warper) Warper#izd 811 izlude,134,150,4 duplicate(Warper) Warper#izl 811 //Pre-RE: (132,120) jawaii,253,138,4 duplicate(Warper) Warper#jaw 811 lighthalzen,162,102,4 duplicate(Warper) Warper#lhz 811 louyang,208,103,6 duplicate(Warper) Warper#lou 811 manuk,274,146,6 duplicate(Warper) Warper#man 811 mid_camp,216,288,4 duplicate(Warper) Warper#mid 811 mjolnir_02,85,364,4 duplicate(Warper) Warper#mjo 811 moc_ruins,64,164,4 duplicate(Warper) Warper#moc 811 morocc,159,97,4 duplicate(Warper) Warper#mor 811 moscovia,229,191,4 duplicate(Warper) Warper#mos 811 nameless_n,259,213,4 duplicate(Warper) Warper#nam 811 niflheim,205,179,4 duplicate(Warper) Warper#nif 811 pay_arche,42,134,4 duplicate(Warper) Warper#arc 811 payon,182,108,4 duplicate(Warper) Warper#pay 811 prontera,159,192,4 duplicate(Warper) Warper#prt 811 prt_fild05,279,223,6 duplicate(Warper) Warper#cul 811 rachel,135,116,4 duplicate(Warper) Warper#rac 811 splendide,205,153,4 duplicate(Warper) Warper#spl 811 thor_camp,249,76,4 duplicate(Warper) Warper#thor 811 umbala,106,150,3 duplicate(Warper) Warper#umb 811 veins,214,123,4 duplicate(Warper) Warper#ve 811 xmas,150,136,6 duplicate(Warper) Warper#xmas 811 yuno,162,47,4 duplicate(Warper) Warper#yuno 811 // -------------------------------------------------- // Duplicates (Renewal): // -------------------------------------------------- brasilis,201,222,4 duplicate(Warper) Warper#bra 811 dewata,204,186,6 duplicate(Warper) Warper#dew 811 dicastes01,194,194,6 duplicate(Warper) Warper#dic 811 ecl_in01,51,60,4 duplicate(Warper) Warper#ecl 811 lasagna,196,187,4 duplicate(Warper) Warper#las 811 malangdo,134,117,6 duplicate(Warper) Warper#mal 811 malaya,231,204,4 duplicate(Warper) Warper#ma 811 mora,57,152,4 duplicate(Warper) Warper#mora 811
  2. Hmmm I didn't get these error when I patch it manually. Make sure you add it correctly, kindly double check. Showing 4 changed files with 17 additions and 15 deletions.
  3. Yeah this is a problem before but there's a fix for this already This should fix the issue; Fixes skill aftercast delay
  4. Hello, the client you've chosen is bet fit for renewal server. I do not recommend using it for pre-renewal but if you insist, you can select "Restore Bard/Gypsy Songs" in NEMO Patch. For the sonic blow and arrow vulcan, you may remove the force attack animation. Go to prere/skill_db.yml and find AfterCastWalkDelay: 2000 change to AfterCastWalkDelay: 0 Stable clients for PRE-RE Servers 2018-06-20eRagexeRE - Currently Stable2017-06-14bRagexeRE - Most Well known 2015-11-04aRagexe - Old Stable Client / Stable client for Pre-renewal Server According to Poring KING SOURCE
  5. I recommend using the 'Search Button' next time..
  6. If you want to remove the force attack animation make the value to 0 on db/pre/skill_db.yml AfterCastWalkDelay: 2000 to AfterCastWalkDelay: 0
  7. Hello, not sure if I am the only one noticed this but is it possible to reduce the skill global delay? On Official server like iRO, high wizard for example, As you can see in the picture, the cooldown of storm gust is different Unlike on my rathena server I am using this is how it behaves.
  8. Hello, search for this /db/pre-re/skill_nocast_db.txt then add //---------------------------------------------------------------------------- // GVG //---------------------------------------------------------------------------- 426,4 //
  9. Thanks for the reply, Capuche! I've followed the instructions and tested this but this give me this warning not sure what exactly what this mean.
  10. Hello, I think this is exactly what you are looking for. https://github.com/rathena/rathena/blob/master/db/pre-re/item_noequip.txt
  11. - script iteminfo2 -1,{ end; OnInit: bindatcmd "ii2",strnpcinfo(3)+"::OnAtcommand"; bindatcmd "iteminfo2",strnpcinfo(3)+"::OnAtcommand"; end; OnAtcommand: .@item$ = ""; for (.@i = 0; .@i < .@atcmd_numparameters; .@i++) { if (.@i != 0) .@item$ += " "; .@item$ += .@atcmd_parameters$[.@i]; } dispbottom "<ITEMLINK>"+getitemname(.@item$)+"<INFO>"+.@item$ +"</INFO></ITEMLINK>"; } Hello everyone, I need help on my script, I can't make to work this script ingame. I tested it but the item won't link. I am trying to make something like this. Thank you in advance.
  12. Try to add this on your item bonus bMatk,1*.@r; For each refine level increase the MATK by 1.
  13. @Cookie-rae Thanks so much for updating the code. Appreciate it, bro!
  14. Hello rA dev, So I am trying to implement this @whosell and @jumptosell from @Cookie-rae These are the link where I get it: @whosell https://github.com/coookie1010/Server-Patches/blob/main/rA-whosell.diff @jumptowhosell https://github.com/coookie1010/Server-Patches/blob/main/rA-jumptosell.diff I already tried many ways to fix this issue but I always fail to make it work... I believe I followed the instructions well on how to implement it but I always get this error/ I already tested to change the itemdb_searchname to; itemdb_searchname1 and itemdb_searchname_array (I got this idea from @idsearch) and even this way itemdb_searchname_array(item_array, MAX_SEARCH, item_name); and also test this fix (Someone suggest me to replace --struct item_data *item_data;; ++struct item_data *item_array[MAX_SEARCH]; Unfortunately, it didn't work and gave me more errors kek. Though I appreciate that guy who helped me. I am hopinh someone can help me fix this. Thank you in advance.
  15. Hello everyone, I am trying to make the Geffen Magic Tournament where a party can enter. I tried but I failed converting it into a party instance. This is the part of the script where I modify .@GPPPartySize > 12 dali,100,147,3 script Dimensional Device#gefma PORTAL,{ .@n$ = "[ Dimensional Device ]"; .@ins_geffen_time = checkquest(9316,PLAYTIME); if ( GeffenTournament < gettimetick(2)) { .@party_id = getcharid(1); .@p_name$ = getpartyname(.@party_id); .@md_name$ = "Geffen Magic Tournament"; getpartymember(getcharid(1),0); set .@GPPartySize,$@partymembercount; if( !getcharid(1) || is_party_leader() == false || .@GPPartySize > 1) { mes .@n$; mes "This is a solo instance. Please form a solo party before continuing."; end; } if (!.@party_id) { mes .@n$; mes "This is a solo instance. Please form a solo party before continuing."; end; } switch(select("Leave it alone:^3355FFUse the Device^000000")){ case 1: mes .@n$; mes "You can feel time being distorted by the device."; end; case 2: if (BaseLevel < 90) { mes .@n$; mes "You must be base level 90 to continue."; end; } switch(instance_enter(.@md_name$)) { case 3: mes "An unknown error has occurred."; end; case 2: mes "The Geffen Magic Tournament instance has not been created. Please go to talk to Emmitt White first."; end; case 1: mes "Only registered members can enter the "+.@md_name$+" instance."; end; case 0: mapannounce "dali02",strcharinfo(0)+" of the party, "+.@p_name$+" is entering the "+.@md_name$+".",bc_map,"0x00ff99"; GeffenTournament = gettimetick(2) + 82800; if(.@ins_geffen_time != -1) erasequest 9316; setquest 9316; end; } end; } } else if ( GeffenTournament > gettimetick(2) ) { mes .@n$; mes "Looks like the window of opportunity is not open right now."; end; } end; } Heres the complete link of the script from github. https://github.com/rathena/rathena/blob/master/npc/custom/official/GeffenMagicTournament.txt Hope you guys can help me converting the GMT into a party instance. Thank you in advance.
  16. Thanks for the reply but I am getting error for this.
  17. Hello, can anyone help me fix this script? I'm trying to improve this script which I got from SOURCE by adding base level limits. For example, only players within level 85-115 are allowed to enter the map. A player who doesn't meet the requirement will be warp to his save points. Thanks in advance Original: - script Sample -1,{ OnPCLoadMapEvent: getmapxy .@map$,.@x,.@y,0; if ( .@map$ == "guild_vs1" && BaseLevel != 99 ) { dispbottom "You cannot enter this map unless you are level 99"; sleep2 3000; warp "SavePoint",0,0; } end; } guild_vs1 mapflag loadevent Edited: - script Sample -1,{ OnPCLoadMapEvent: getmapxy .@map$,.@x,.@y,0; if ( .@map$ == "guild_vs1" && BaseLevel < 85 || BaseLevel > 115 ) { dispbottom "Sorry but you must be within level [85-115] to enter."; sleep2 3000; warp "SavePoint",0,0; } end; } guild_vs1 mapflag loadevent
  18. Hello, Can anyone help me with this party warper script? I got a party warper script from https://rathena.org/board/topic/123333-warping-a-party-to-specified-player-through-menu/ . The script allows you to warp wherever your party member is andI want to improve it somehow by adding some restrictions and displaying only the name of the members who are online to it but I fail it make it work. Restricstions in example, mvp map, woe, or pvp area. prontera,156,182,0 script Party Warper 100,{ if (!getcharid(1)) end; .@c = getcharid(0); getpartymember getcharid(1), 0; getpartymember getcharid(1), 1; getpartymember getcharid(1), 2; for (.@i = 0; .@i < $@partymembercount; .@i++) .@menu$ = .@menu$ + (strcharinfo(0) != $@partymembername$[.@i] ? $@partymembername$[.@i] : "") + ":"; .@s = select(.@menu$) - 1; if (isloggedin($@partymemberaid[.@s], $@partymembercid[.@s])) { attachrid($@partymemberaid[.@s]); getmapxy .@map$, .@x, .@y; if (@map$ == "aldebaran"){ mes "I can't be teleport you to your friend's location!"; close; } warp .@map$, .@x, .@y, .@c; } end; } Thank you in advance :")
  19. Hello @Patskie Im just wondering if you could help me? I am currently using your script on my test server. It works perfectly but I am curious is it possible to add limitations to it? For example, if the party member is on mvp, woe or pvp, or any restricted maps, you will not be able to warp to that member. Also, is it possible to only display the names of the members who's online? I did it this way but its not working. You still be able to warp to that party member even he is on restricted map. prontera,156,182,0 script Party Warper 100,{ if (!getcharid(1)) end; .@c = getcharid(0); getpartymember getcharid(1), 0; getpartymember getcharid(1), 1; getpartymember getcharid(1), 2; for (.@i = 0; .@i < $@partymembercount; .@i++) .@menu$ = .@menu$ + (strcharinfo(0) != $@partymembername$[.@i] ? $@partymembername$[.@i] : "") + ":"; .@s = select(.@menu$) - 1; if (isloggedin($@partymemberaid[.@s], $@partymembercid[.@s])) { attachrid($@partymemberaid[.@s]); getmapxy .@map$, .@x, .@y; if (@map$ == "aldebaran"){ mes "I can't be teleport you to your friend's location!"; close; } warp .@map$, .@x, .@y, .@c; } end; } Thank you in advance ?
  20. Hi Sader! I am currently trying this script on my test server and I noticed an error. Even the quest is done and I use @reloadscript, the npc will still give you the exp and rewards.
  21. I saw a similar script for this. It has options to warp you not only to your party leader but also to other members of the party. I tested it on my test server but it doesn't work as intended. Heres the script: prontera,155,181,5 script Yumi 94,{ if(!getcharid(3)) end; getpartymember(getcharid(1),2); copyarray .@paid[0], $@partymemberaid[0],128; getpartymember(getcharid(1),1); copyarray .@pcid[0], $@partymembercid[0],128; set .@len, $@partymembercount; set .@cid, getcharid(0); for(set(.@i,0);.@i<.@len;set(.@i,.@i+1)) { if(isloggedin(.@paid[.@i],.@pcid[.@i])&&.@pcid[.@i]!=.@cid) set(.@menu$,.@menu$+rid2name(.@paid[.@i])+":"); else { deletearray .@paid[.@i],1; deletearray .@pcid[.@i],1; set(.@i,.@i-1); set(.@len,.@len-1); } } if(.@menu$=="") end; mes "Select who you warp to!"; if(set(@menu,prompt(.@menu$)-1)>253) end; getmapxy(.@map$,.@x,.@y,0,rid2name(.@paid[@menu])); if(getmapusers(.@map$)<0) end; warp .@map$,.@x,.@y; end; } Also, is it possible to map restrictions to this? Thanks in advance
  22. Hello, I need help with my script. I am planning on making an npc with level requirement. For example the location is izlu2dun and only with level 85~90 are able to enter. Thank you in advance :") prontera,156,180,3 script test 833,{ mes "[Bathory]"; mes "Eheeheeheehee! The spotlight is on Glast Heim this week, so I'm ferrying people there for a mere 1,000z!"; next; mes "[Bathory]"; mes "How about it? Want to take a ride on a beautiful Bathory's broom?"; next; switch(select("Prepare for Takeoff!:No thanks.")) { case 1: if (BaseLevel < 85) { mes "[Bathory]"; mes "Come on dearie..."; mes "You are already mature enough to enter the portal."; close; } mes "[Bathory]"; mes "Alright, hold on tight!"; close2; warp "izlu2dun",50,133; end; case 2: mes "["+strcharinfo(0)+"]"; mes "No thanks, maybe later."; close; } }
×
×
  • Create New...