Jump to content

ItsRas

Members
  • Posts

    30
  • Joined

  • Last visited

Posts 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.

    image.png.14050643f52e9e144c63e8b1731d4f13.png

    //===== 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. 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 Stable
    2017-06-14bRagexeRE - Most Well known
    2015-11-04aRagexe - Old Stable Client / Stable client for Pre-renewal Server

    According to Poring KING

     

    SOURCE

  3. 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,

    image.png.6b3c6e347e4d8d1938e96907dc50d032.png

    image.png.749bc243b10cb8a7d972957a2e0e711b.png

    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.

    image.png.baa31383f8f386177ce9d78c47e79203.png

  4. -	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.

    unknown.png

  5. 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/

    Image

    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.

  6. 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.

  7. 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

     

  8. 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 :")

  9. 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 ?

  10. 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

  11. 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...