Jump to content
  • 0

Custom Warper (eAthena)


leertaste

Question


  • Group:  Members
  • Topic Count:  41
  • Topics Per Day:  0.01
  • Content Count:  137
  • Reputation:   1
  • Joined:  02/02/13
  • Last Seen:  

Hey guys i configured those 2 scripts for my wishes:    :P

 


-	script	warpra	-1,{

//= Checking the map, and if a new place got discovered 
	getmapxy .@map$,.@x,.@y,0;
	if( ((!(getd("#"+.@map$)) && ($@dw_questwarp == 1)) || (!(getd(.@map$)) && ($@dw_questwarp == 2))) && (getcastlename(.@map$) == "") )
	{
		set getd("#"+.@map$),1;
		mes $@dw_name$;
		mes $@dw_talk$[0];
		next;
	}
//= Hello + Menu , when a lastwarp exists, add it.
	mes $@dw_name$;
	mes $@dw_talk$[1];
	next;
	switch(select($@dw_talk$[2],(lastwarpx && $@dw_lastwarp)?"- "+$@dw_talk$[7]+" (^0000FF"+lastwarpmap$+"^000000)":""))
	{
	case 1:
	//= Town Warps
		mes $@dw_name$;
		mes $@dw_talk$[3];
		next;
	//= If Onlineusers or Questwarping is activted, we need to create a new menu.
		if($@dw_townusrs || $@dw_questwarp)
			set .@sel,select(callfunc("DW_FIRST_MENU","$@dw_town$","cwarp","$@dw_townusrs",1))-2;
		else
			set .@sel,(select($@dw_townsel$))-2;
		getmapxy .@warpmap$,.@warpcox,.@warpcoy,1,"cwarp"+.@sel;
		callfunc("DW_WARP",.@warpmap$,(.@warpcox+(rand(-1,1))),(.@warpcoy+(rand(-1,1))),1,0);
		end;
		
	case 2:
	//= Dungeon Warping
		mes $@dw_name$;
		mes $@dw_talk$[3];
		next;
		if($@dw_dunusrs || $@dw_questwarp)
			set .@dunsel,select(callfunc("DW_FIRST_MENU","$@dw_dunname$","dwarp","$@dw_dunusrs",2))-2;
		else
			set .@dunsel,select($@dw_dunsel$)-2;
		// When Dungeon-Levelwarping is enabled, open another menu to select the level
		if($@dw_dunlvlwarp)
		{
			set .@menu_u$,$@dw_talk$[16];
			set .@c,1;
			do
			{
				set .@menu_u$, .@menu_u$ +":- "+ getd("$@dw_dunlv"+.@c+"$["+.@dunsel+"]");
				if($@dw_dunlvusrs) set .@menu_u$, .@menu_u$ + " ["+getmapusers(getd("$@dw_dunlv"+.@c+"$["+.@dunsel+"]"))+"]";
				set .@c,.@c+1;
			//= Add levels, until the new "level string" is empty.
			} while(getstrlen(getd("$@dw_dunlv"+.@c+"$["+.@dunsel+"]")) && .@c <= $@dw_dunlvlwarp);
			mes $@dw_name$;
			mes $@dw_talk$[3];
			next;
			select(.@menu_u$);
			set @menu,@menu-1;
			if(@menu)
			{
				callfunc("DW_WARP",getd("$@dw_dunlv"+@menu+"$["+.@dunsel+"]"),0,0,2,@menu);
				end;
			}
		}
		getmapxy .@warpmap$,.@warpcox,.@warpcoy,1,"dwarp"+.@dunsel;
		callfunc("DW_WARP",.@warpmap$,(.@warpcox+(rand(-1,1))),(.@warpcoy+(rand(-1,1))),2,0);
		end;
		
	case 3:
		//= Castle Warp
		mes $@dw_name$;
		mes $@dw_talk$[3];
		next;
		if($@dw_questwarp)
			set .@sel,select(callfunc("DW_FIRST_MENU","$@dw_castle$","gwarp","dw_guildusrs",3))-2;
		else
			set .@sel,select($@dw_guildsel$)-2;
		if($@dw_gmemwarp)
		//= If warping into the castles is enabled, open another menu.
		{
			set .@menu_u$,"- "+$@dw_talk$[15];
			getmapxy .@warp$,.@cox,.@coy,1,"gwarp"+.@sel+"_0";
			for ( set .@c,1; .@cox; set .@c,.@c+1 ) 
			{
			//= Only Enabled castles (castle_db.txt) will be added.
				set .@menu_u$,.@menu_u$+ ((getcastlename(.@warp$) != "") ? 
					":- "+ getcastlename(.@warp$) : ":" );
				set .@cox,0;
				getmapxy .@warp$,.@cox,.@coy,1,"gwarp"+.@sel+"_"+.@c;
			}
			mes $@dw_name$;
			mes $@dw_talk$[3];
			next;
			select(.@menu_u$);
			set @menu,@menu-1;
			if(@menu)
			{
				getmapxy .@warp$,.@cox,.@coy,1,"gwarp"+.@sel+"_"+(@menu-1);
				callfunc("DW_WARP",.@warp$,.@cox,.@coy,3,1);
				end;
			}
		}
		getmapxy .@warp$,.@cox,.@coy,1,"gwarp"+.@sel;
		callfunc("DW_WARP",.@warp$,(.@cox+(rand(-1,1))),(.@coy+(rand(-1,1))),3,0);
		end;
	case 4:
	//= Ownwarp
		mes $@dw_name$;
		mes $@dw_talk$[8];
		next;
		input .@warpmap$;
		mes $@dw_name$;
		mes "X-"+$@dw_talk$[9];
		mes $@dw_talk$[10];
		next;
		input .@warpcox;
		mes $@dw_name$;
		mes "Y-"+$@dw_talk$[9];
		close2;
		input .@warpcoy;
		callfunc("DW_WARP",.@warpmap$,.@warpcox,.@warpcoy,4,0);
		end;

	case 5:
	//= Lastwarp
		callfunc("DW_WARP",lastwarpmap$,lastwarpx,lastwarpy,5,0);
		end;              
	}
}

function	script	DW_FIRST_MENU	{

	//= Creating new Menu:
	set .@sel$,"";
	for( set .@i,0; .@i < getarraysize(getd(getarg(0))); set .@i,.@i+1 )
	{
		getmapxy .@warp$,.@cox,.@coy,1,getarg(1)+""+.@i;
		set .@sel$,.@sel$ + ((!.@cox) ?
			":" : ((!(getd("#"+.@warp$)) && ($@dw_questwarp == 1)) || (!(getd(.@warp$)) && ($@dw_questwarp == 2))) ?
				":" : ":- "+getd(getarg(0)+"["+.@i+"]") + ((getd(getarg(2))) ?
					" ["+callfunc("DW_GETMAPUSERS",.@i,getarg(3),.@warp$)+"]" : ""));
	}
	return .@sel$;

}

function	script	DW_SECOND_MENU	{
	
	//= If no dynamic menu is needed, it is created one time with this.
	for(set .@a,0; .@a < getarraysize(getd(getarg(1))); set .@a,.@a+1)
	{
		set .@cox,0;
		getmapxy .@map$,.@cox,.@coy,1,getarg(2)+""+.@a;
		set getd(getarg(0)),getd(getarg(0)) + ((.@cox) ?
				":- "+getd(getarg(1)+"["+.@a+"]") : ":");
	}
	return;
}

function	script	DW_GETMAPUSERS	{

	//= Dynamic getmapusers, if Users of a dungeon are needed, check all the levels.
	set .@usrcount,0;
	switch(getarg(1))
	{
	case 2:
		for( set .@c,1; getstrlen(getd("$@dw_dunlv"+.@c+"$["+getarg(0)+"]")); set .@c,.@c+1 )
			set .@usrcount,.@usrcount + getmapusers(getd("$@dw_dunlv"+.@c+"$["+getarg(0)+"]"));
		return .@usrcount;
	default:
		return getmapusers(getarg(2));
		
	}
}

function	script	DW_WARP	{

//= map , x , y , warptype , selection

	set .@x,getarg(1);
	set .@y,getarg(2);

	//= Calculating the price.	
	set .@price,(getarg(3) != 3) ?
		getd("$@dw_price"+getarg(3)) : ( getarg(4) ) ?
			$@dw_gmemprice : (agitcheck()) ?
				$@dw_pricewoe : $@dw_price3;
	//= Raise costs for warps into higher levels of dungeons
	if( $@dw_pricelvrate && getarg(4) )
		set .@price,.@price*pow(getarg(4),$@dw_pricelvrate);
	//= Check if the user is a member of the guild claiming the castle, and if WoE is activated.
	if( ((getarg(3) == 3) && getarg(4) && (getcharid(2) != getcastledata(getarg(0),1)) && (getcharid(2))) || ($@dw_gmemwarp == 2 && agitcheck()) )	{
		mes $@dw_name$;
		mes $@dw_talk$[14];
		close;
	}
	//= Asking partyleader if he wants to take his guild with him.
	if ( $@dw_partywarp && getpartyleader(getcharid(1),2) == getcharid(0) )
	{
		mes $@dw_name$;
		mes $@dw_talk$[17];
		if(.@price)
		{
			mes $@dw_talk$[18];
			if($@dw_partyred)
				mes $@dw_talk$[19]+""+$@dw_partyred+"%";
		}
		close2;
		if(select("- Nein:- Ja")==2)
		{
			set .@partywarp,1;
			getpartymember(getcharid(1),2);
			copyarray .@partymem[0],$@partymemberaid[0],$@partymembercount;
			getpartymember(getcharid(1),0);
			copyarray .@partymemname$[0],$@partymembername$[0],$@partymembercount;
			if(.@price && $@dw_partyred && $@dw_partyred < 100 )
			{
			//= Saving members online in a new array, and counting them, for price reduction.
				set .@j,0;
				for ( set .@i,0; .@i < getarraysize(.@partymem); set .@i,.@i+1 )
					if( isloggedin(.@partymem[.@i]) && .@partymemname$[.@i] == rid2name(.@partymem[.@i])) set .@j,.@j+1;
				if( .@j-1 )
					for ( set .@i,0; .@i < .@j; set .@i,.@i+1 )
						set .@price,(.@redprice*$@dw_partyred)/100;
			}
			else if( .@price && $@dw_partyred )
				set .@price,0;
		}
	}
	
	if(.@price || getd("$@dw_cutind"+getarg(3)))
	{
	//= One more Question? (Cutin / Price)
		mes $@dw_name$;
		if(.@price)
			mes $@dw_talk$[11]+" "+.@price+"z";
		if(getd("$@dw_cutind"+getarg(3)))
			cutin getarg(0),2;
		mes getarg(0)+""+$@dw_talk$[4];
		next;
		if(select($@dw_talk$[5])-1)
		{
			cutin "",255;
			close;
		}
		cutin "",255;
		close2;
	}
	
	if(getarg(3) == 4)
	{
	//= Check if the map is restricted or a WoE-Map
		for( set .@i,0;.@i < getarraysize($@dw_restricted$); set .@i,.@i+1 )
			if( $@dw_restricted$[.@i] == getarg(0) ) 
			{
				mes $@dw_name$;
				mes $@dw_talk$[20];
				close;
			}
		if ( getcastlename(getarg(0)) != "" && $@dw_castlerestrict )
		{
			mes $@dw_name$;
			mes $@dw_talk$[20];
			close;
		}
		//= Walkable? Else Random-Warp!
		if ( !checkcell(getarg(0),getarg(1),getarg(2),cell_chkpass) && getarg(1) && getarg(2))
		{
			set .@x,0;
			set .@y,0;
		}
		getmapxy .@map1$,.@x1,.@y1,0;
	}

	set .@i,0;

	do
	{
	//= Warp every Party member.
		if( .@partywarp )
		{
			detachrid;
		//= Attach next party-member
			if( isloggedin(.@partymem[.@i]) && .@partymemname$[.@i] == rid2name(.@partymem[.@i])) attachrid(.@partymem[.@i]);
		}
		if(!.@partywarp || (.@partywarp && isloggedin(.@partymem[.@i])) )
		{
			if(zeny < .@price)
				dispbottom $@dw_talk$[12];
			else
			{
				set zeny,zeny-.@price;
				warp getarg(0),.@x,.@y;
				getmapxy .@map2$,.@x2,.@y2,0;
				if(getarg(3) == 4 && .@map1$ == .@map2$ && .@x1 == .@x2 && .@y1 == .@y2 )
				//= if position did not change, give back money
				{
					dispbottom $@dw_talk$[13];
					set zeny,zeny+.@price;
				}
				else if($@dw_lastwarp)
				{
					set lastwarpmap$,.@map2$;
					set lastwarpx,.@x2;
					set lastwarpy,.@y2;
				}
				if((getarg(3) == 4 || getarg(3) == 2) && (.@x2 != .@x || .@y2 != .@y))
				{
				//= If Party-Leader got warped set his position the new goal.
					set .@x,.@x2;
					set .@y,.@y2;
				}
			}
		}
		if(.@partywarp) set .@i,.@i+1;

	} while (.@partywarp && .@i < getarraysize(.@partymem));
	return;
}
//=======================Warper====================================//
//==by: ========================================================== //
//= KingKronos                                                     //
//==Version:=======================================================//
//= 4.6.5c  2009-07-22                                              //
//==Notes: ========================================================//
//= Note 1:                                                        //
//= To add a Town, set the name into the townlist and add a NPC    //
//= duplicate, like I did                                          //
//= Note 2: To disbable a Map, put // before the duplicate         //
//=================================================================//

-	script	DW_SETTINGS	-1,{

OnInit:
	//===SETTINGS===================================================//
	//==Language: ==================================================//
	//= 0 = English - 1 = German - feel free to add some.           //
	set .@lang,0;
	
	//==Name of NPC: ===============================================//
	set $@dw_name$,"[^00FF00Warper^000000]";
			
	//==MODES: =====================================================//
	//= Set to 1, to add the Warp-Function                          //
	//==Town-Warp: =================================================//
	set .@dw_townwarp,1;
	//==Dungeon-Warp: ==============================================//
	set .@dw_dunwarp,1;
	//= Set here the Maximum Level of each dungeon users can warp   //
	//= to. 0 Means, they can only warp to the entrance-warper      //
	//= Set to 16 for unlimited warping (Glast-Heim)                //
	set $@dw_dunlvlwarp,0;
	//==Castle-Warp: ===============================================//
	set .@dw_guildwarp,0;
	//= Enable Guild Members to warp into their respective castle:  //
	//= 1: enable warp                                              //
	//= 2: enable warp only while WoE Mode is not activated         //
	set $@dw_gmemwarp,0;
	//==Own-Warp: ==================================================//
	//= Works as @warp, the players can choose their own goal       //
	set .@dw_ownwarp,0;
	//==Lastwarp: ==================================================//
	set $@dw_lastwarp,1;

	//==Questwarping: ==============================================//
	//= 0: Questwarping disabled                                    //
	//= 1: Account based Questwarping                               //
	//= 2: Char based Questwarping                                  //
	set $@dw_questwarp,0;

	//==Getmapusers: ===============================================//
	//= Set to 1, to show the Users online on each map              //
	//==Town: ======================================================//
	set $@dw_townusrs,0;
	//==Dungeon: ===================================================//
	set $@dw_dunusrs,0;
	//= set to 1 to activate getmapusers for the Level-List         //
	set $@dw_dunlvusrs,0;

	//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;//
	//= Adding one of the following features will make appear       //
	//= another menu asking "want still warp there?"                //
	//== Partywarp: ================================================//
	//= To give a Partyleader the possibility to warp his party     //
	//= set this to 1.
	set $@dw_partywarp,1;
	
	//==Minimap Cutins: ============================================//
	//= Set to 1, to aktivate. Pictures have to be placed into the  //
	//= '\data\texture\A_A£AII’„AI«§\illust' directory, and need   //
	//= to be bitmap and to have the same name as the map           //
	//= (means you can just copy the files of the 'map' folder      //
	//= to the 'illust' folder.                                     //
	//==Town: ======================================================//
	set $@dw_cutin1,0;
	//==Dungeon: ===================================================//
	set $@dw_cutin2,0;
	//==Guild Castles: =============================================//
	set $@dw_cutin3,0;

	//==Price: =====================================================//
	//= Add here the base-price for each category
	//==Town: ======================================================//
	set $@dw_price1,	0;
	//==Dungeon: ===================================================//
	set $@dw_price2,	0;
	//= You can choose the way the price changes per level          //
	//= 0: No Change / off                                          //
	//= Price will be: base_price * (level^setting)                 //
	set $@dw_pricelvrate,	0;
	//==Guild Castles: =============================================//
	set $@dw_price3,	0;
	//= You can set another value while WoE-Mode is activatet       //
	set $@dw_pricewoe,	0;
	//= Set the price, to warp into a castle, of the guild, the     //
	//= user remains to.
	set $@dw_gmemprice,	0;
	//==Own Warp: ==================================================//
	set $@dw_price4,	0;
	//==Lastwarp: ==================================================//
	set $@dw_price5,	0;
	//==Party Warp: ================================================//
	//= Set here a percent-value of reduction,                      //
	//= which the users of a party will get per online party-member://
	//=  10% , 3 members:                                           //
	//=  1000z  ==> 900z ; 900z ==> 810z (2 member bonus)           //
	set $@dw_partyred, 0;
	//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;//
	
	//==Town-List: =================================================//
	if(.@dw_townwarp)
	//= To add a town, set the name at the end between the last name//
	//= and the <;> like this and separate with a <,>               //
	setarray $@dw_town$[0],"Maintown Prontera!","Cash Shop","Refine Warp","Alberta","Aldebaran","Amatsu","Ayothaya","Comodo","Einbech","Einbroch","Geffen","Gonryun","Hugel","Izlude","Jawaii","Lighthalzen"	,"Louyang","Morroc"	,"Niflheim"	,"Payon"	,"Rachel","Splendide","Umbala","Lutie","Yuno","Veins","Nameless Island","Novice Grounds","Moscovia","Thor","Brasilis", "The other World";

	//==Dungeon Level-List: ========================================//
	if(.@dw_dunwarp){
	//= Same as the town list. The first columns is the Name        //
	//= The other Columns are the map-names of each Level!          //
	setarray $@dw_dunname$[0]	,"Abbey Dungeon"	,"Abyss Lake"			,"Amatsu Dungeon"	,"Ant Hell"	,"Ayothaya Dungeon"	,"Beach Dungeon"	,"Bibilan Dungeon"	,"Clock Tower"	,"Coal Mine"	,"Culvert"	,"Einbech Dungeon"	,"Geffen Tower"	,"Gefenia"		,"Glast Heim"	,"Kiel Dungeon"	,"Gonryun Dungeon"	,"Ice Cave"		,"Hidden Temple"	,"Juperos"	,"Lighthalzen Bio Lab"	,"Magma Dungeon"	,"Moscovia Forest"	,"Odin Temple"	,"Orc Dungeon"	,"Payon Dungeon"	,"Pyramids"		,"Rachel Sanctuary"	,"Louyang Dungeon"	,"Sphinx"	,"Sunken Ship"	,"Thanatos Tower"	,"Thor Volcano"	,"Toy Factory"	,"Turtle Dungeon"	,"Umbala Dungeon"	,"Nydhogger Dungeon"	,"Manuk Dungeon";
	setarray $@dw_dunlv1$[0]	,"abbey01"		,"abyss_01"			,"ama_dun01"		,"anthell01"	,"ayo_dun01"		,"beach_dun"	,"iz_dun00"		,"c_tower1"		,"mjo_dun01"	,"prt_sewb1"		,"ein_dun01"	,"gef_dun00"	,"gefenia01"	,"gl_church"	,"kh_dun01"		,"gon_dun01"	,"ice_dun01"	,"prt_maze01"		,"juperos_01"	,"lhz_dun01"	,"mag_dun01"		,"mosk_dun01"		,"odin_tem01"	,"orcsdun01"	,"pay_dun00"	,"moc_pryd01"	,"ra_san01"			,"lou_dun01"	,"in_sphinx1"	,"treasure01"	,"tha_t01"			,"thor_v01"		,"xmas_dun01"	,"tur_dun01"	,"um_dun01"		;
	setarray $@dw_dunlv2$[0]	,"abbey02"		,"abyss_02"			,"ama_dun02"		,"anthell02"	,"ayo_dun02"		,"beach_dun2"	,"iz_dun01"		,"c_tower2"		,"mjo_dun02"	,"prt_sewb2"		,"ein_dun02"	,"gef_dun01"	,"gefenia02"	,"gl_chyard"	,"kh_dun02"		,"gon_dun02"	,"ice_dun02"	,"prt_maze02"		,"juperos_02"	,"lhz_dun02"	,"mag_dun02"		,"mosk_dun02"		,"odin_tem02"	,"orcsdun02"	,"pay_dun01"	,"moc_pryd02"	,"ra_san02"			,"lou_dun02"	,"in_sphinx2"	,"treasure02"	,"tha_t02"			,"thor_v02"		,"xmas_dun02"	,"tur_dun02"	,"um_dun02"		;
	setarray $@dw_dunlv3$[0]	,"abbey03"		,"abyss_03"			,"ama_dun03"		,""		,""			,"beach_dun3"	,"iz_dun02"		,"c_tower3"		,"mjo_dun03"	,"prt_sewb3"		,""				,"gef_dun02"	,"gefenia03"	,"gl_in01"		,""				,"gon_dun03"	,"ice_dun03"	,"prt_maze03"		,"jupe_cave"	,"lhz_dun03"	,""					,"mosk_dun03"		,"odin_tem03"	,""				,"pay_dun02"	,"moc_pryd03"	,"ra_san03"			,"lou_dun03"	,"in_sphinx3"	,""				,"tha_t03"			,"thor_v03"		,""				,"tur_dun03"	,"yggdrasil01"	;
	setarray $@dw_dunlv4$[0]	,""			,""				,""			,""		,""			,""		,"iz_dun03"		,"c_tower4"		,""		,"prt_sewb4"		,""				,"gef_dun03"	,"gefenia04"	,"gl_cas01"		,""				,""				,"ice_dun04"	,""					,""				,""				,""					,""					,""				,""				,"pay_dun03"	,"moc_pryd04"	,"ra_san04"			,""				,"in_sphinx4"	,""				,"tha_t04"			,""				,""				,"tur_dun04"	;
	setarray $@dw_dunlv5$[0]	,""			,""				,""			,""		,""			,""		,"iz_dun04"		,"alde_dun01"		,""		,""			,""				,""				,""				,"gl_cas02"		,""				,""				,""				,""					,""				,""				,""					,""					,""				,""				,"pay_dun04"	,"moc_pryd05"	,"ra_san05"			,""				,"in_sphinx5"	,""				,"tha_t05"			;
	setarray $@dw_dunlv6$[0]	,""			,""				,""			,""		,""			,""		,""			,"alde_dun02"		,""		,""			,""				,""				,""				,"gl_knt01"		,""				,""				,""				,""					,""				,""				,""					,""					,""				,""				,""				,"moc_pryd06"	,""					,""				,""				,""				,"tha_t06"			;
	setarray $@dw_dunlv7$[0]	,""			,""				,""			,""		,""			,""		,""			,"alde_dun03"		,""		,""			,""				,""				,""				,"gl_knt02"		,""				,""				,""				,""					,""				,""				,""					,""					,""				,""				,""				,""				,""					,""				,""				,""				,"tha_t07"			;
	setarray $@dw_dunlv8$[0]	,""			,""				,""			,""		,""			,""		,""			,"alde_dun04"		,""		,""			,""				,""				,""				,"gl_step"		,""				,""				,""				,""					,""				,""				,""					,""					,""				,""				,""				,""				,""					,""				,""				,""				,"tha_t08"			;
	setarray $@dw_dunlv9$[0]	,""			,""				,""			,""		,""			,""		,""			,""			,""		,""			,""				,""				,""				,"gl_sew01"		,""				,""				,""				,""					,""				,""				,""					,""					,""				,""				,""				,""				,""					,""				,""				,""				,"tha_t09"			;
	setarray $@dw_dunlv10$[0]	,""			,""				,""			,""		,""			,""		,""			,""			,""		,""			,""				,""				,""				,"gl_sew02"		;
	setarray $@dw_dunlv11$[0]	,""			,""				,""			,""		,""			,""		,""			,""			,""		,""			,""				,""				,""				,"gl_sew03"		;
	setarray $@dw_dunlv12$[0]	,""			,""				,""			,""		,""			,""		,""			,""			,""		,""			,""				,""				,""				,"gl_sew04"		;
	setarray $@dw_dunlv13$[0]	,""			,""				,""			,""		,""			,""		,""			,""			,""		,""			,""				,""				,""				,"gl_dun01"		;
	setarray $@dw_dunlv14$[0]	,""			,""				,""			,""		,""			,""		,""			,""			,""		,""			,""				,""				,""				,"gl_dun02"		;
	setarray $@dw_dunlv15$[0]	,""			,""				,""			,""		,""			,""		,""			,""			,""		,""			,""				,""				,""				,"gl_prison"	;
	setarray $@dw_dunlv16$[0]	,""			,""				,""			,""		,""			,""		,""			,""			,""		,""			,""				,""				,""				,"gl_prison1"	;
	}
	//==Restricted List: ===========================================//
	//= Restrict Castle Ownwarp? (recommended)                      //
	set $@dw_castlerestrict,1;
	//= Add Maps, usern aren't allowed to go                        //
	setarray $@dw_restricted$[0],	
		"map_1",
		"map_2",
		"map_3";
	
	//==Castle List: ===============================================//
	if(.@dw_guildwarp)
	//= Same as City List                                           //
	setarray $@dw_castle$[0],"Prontera","Aldebaran","Payon","Geffen","Novice-Castle","Yuno","Rachel";

	//==Language-Packs: ============================================//
	switch(.@lang){

	//==English: ===================================================//
	case 0:
	setarray $@dw_talk$[0],	
					"You reached this place, so you can warp here now with the Warp-Service!",
					"Please choose a category:",
					((.@dw_townwarp)?"- Citys":"")+":"+((.@dw_dunwarp)?"- Dungeons":"")+":"+((.@dw_guildwarp)?"- Guild Castles":"")+":"+((.@dw_ownwarp)?"- Own-Warp":""),
					"Choose where to go:",
					", go there?",
					"- Yes:- No",
					"Only Baby Jobs are allowed to enter the Novice-Castle!",
					"Lastwarp",
					"Please enter the name of the Map you want to warp to.",
					"coordinate",
					"(Enter '0' to warp random.)",
					"Warp-Cost:",
					"You don't have enough zeny!",
					"Warping failed, you get back your money.",
					"You have to be in the guild, claiming the castle!",
					"Guildmap",
					"Entrance Warper",
					"Should all the members of your party be warped to your destination?",
					"The price will be multiplied with the amount of online users in your party.",
					"You will get a reduction per party-member of ",
					"Sorry, you aren't allowed to warp to this map.";
					break;

	//==German: ====================================================//
	case 1:
	setarray $@dw_talk$[0],	
					"Sie haben diesen Ort erreicht, dadurch können sie nun jederzeit hierher warpen!",
					"Guten Tag! Ich bin die Warperin hier in Persia und warpe dich in jedes Dungeon und jede Town. Womit kann ich dir helfen?",
					((.@dw_townwarp)?"- Städte":"")+":"+((.@dw_dunwarp)?"- Dungeons":"")+":"+((.@dw_guildwarp)?"- Guild Castles":"")+":"+((.@dw_ownwarp)?"- Eigenes Ziel":""),
					"Wählen sie ein Ziel aus:",
					" als Ziel wählen?",
					"- Ja:- Nein",
					"Ins Novice-Castle dürfen nur Baby Jobs!",
					"Letztes Ziel",
					"Bitte gib deine Ziel-Map ein.",
					"Koordinate",
					"(Gib '0' für Zufall ein.)",
					"Warp-Kosten:",
					"Du hast nicht genügend Geld!",
					"Warpen fehlgeschlagen, du erhälst dein Geld zurück.",
					"Du musst der Guilde angehören, der das Castle gehört!",
					"Guildmap",
					"Eingangs-Warper",
					"Sollen alle Mitglieder ihrer Party mitgewarpt werden?",
					"Jeder User muss den Warp-Preis selbst aufbringen.",
					"Alle erhalten einen Rabatt pro Party-Mitglied von ",
					"Tut mit Leid, dir ist der Zugang zu dieser Map nicht gestattet.";
					break;
		}

	//##############################################################//
	//= DON'T CHANGE HERE                                           //
	//##############################################################//
	//==2nd Menus: =================================================//

	if(!$@dw_townusrs && !$@dw_questwarp && .@dw_townwarp)
		callfunc("DW_SECOND_MENU","$@dw_townsel$","$@dw_town$","cwarp");

	if(!$@dw_dunusrs && !$@dw_questwarp && .@dw_dunwarp)
		callfunc("DW_SECOND_MENU","$@dw_dunsel$","$@dw_dunname$","dwarp");

	if(!$@dw_questwarp && .@dw_guildwarp)
		callfunc("DW_SECOND_MENU","$@dw_guildsel$","$@dw_castle$","gwarp");

	end;
}
	//##############################################################//
	
	//==NPC-Duplicates: ============================================//
	//= You can add npcs at the bottom of the list, with raising    //
	//= the number of the npc. At the top you can add your          //
	//= maintown as you can see!                                    //
	//==Towns: =====================================================//
	
prontera,146,100,2	duplicate(warpra)	Warper::cwarp0	831
prt_in.gat,45,97,2	duplicate(warpra)	Warper::cwarp1	831
prt_in.gat,65,68,2	duplicate(warpra)	Warper::cwarp2	831
alberta.gat,32,243,4	duplicate(warpra)	Warper::cwarp3	831
aldebaran.gat,141,123,4	duplicate(warpra)	Warper::cwarp4	831
amatsu.gat,208,103,4	duplicate(warpra)	Warper::cwarp5	831
ayothaya.gat,155,121,4	duplicate(warpra)	Warper::cwarp6	831
comodo.gat,195,158,4	duplicate(warpra)	Warper::cwarp7	831
einbech.gat,73,97,4	duplicate(warpra)	Warper::cwarp8	831
einbroch.gat,59,207,5	duplicate(warpra)	Warper::cwarp9	831
geffen.gat,124,108,4	duplicate(warpra)	Warper::cwarp10	831
gonryun.gat,152,130,4	duplicate(warpra)	Warper::cwarp11	831
hugel.gat,91,158,5	duplicate(warpra)	Warper::cwarp12	831
izlude.gat,131,154,4	duplicate(warpra)	Warper::cwarp13	831
jawaii.gat,107,182,5	duplicate(warpra)	Warper::cwarp14	831
lighthalzen.gat,162,100,4	duplicate(warpra)	Warper::cwarp15	831
louyang.gat,212,106,5	duplicate(warpra)	Warper::cwarp16	831
morocc.gat,163,98,4	duplicate(warpra)	Warper::cwarp17	831
niflheim.gat,193,188,4	duplicate(warpra)	Warper::cwarp18	831
payon.gat,181,110,4	duplicate(warpra)	Warper::cwarp19	831
rachel.gat,113,141,5	duplicate(warpra)	Warper::cwarp20	831
splendide.gat,197,154,4	duplicate(warpra)	Warper::cwarp21	831
umbala.gat,117,152,5	duplicate(warpra)	Warper::cwarp22	831
xmas.gat,154,139,4	duplicate(warpra)	Warper::cwarp23	831
yuno.gat,168,176,4	duplicate(warpra)	Warper::cwarp24	831
veins.gat,220,128,4	duplicate(warpra)	Warper::cwarp25	831
nameless_i.gat,246,218,4	duplicate(warpra)	Warper::cwarp26	831
new_1-2,104,96,4	duplicate(warpra)	Warper::cwarp27	831
moscovia.gat,230,198,4	duplicate(warpra)	Warper::cwarp28	831
thor_camp.gat,245,126,4	duplicate(warpra)	Warper::cwarp29	831
brasilis,312,335,4	duplicate(warpra)	Warper::cwarp30	831
mid_camp,223,241,4	duplicate(warpra)	Warper::cwarp31	831

	//==Dungeons: ==================================================//

nameless_n.gat,159,187,5	duplicate(warpra)	Warper::dwarp0	831
hu_fild05.gat,186,209,4	duplicate(warpra)	Warper::dwarp1	831
ama_dun01.gat,229,14,4	duplicate(warpra)	Warper::dwarp2	831
cmd_fild08.gat,328,357,4	duplicate(warpra)	Warper::dwarp3	831
ayo_fild02.gat,278,154,4	duplicate(warpra)	Warper::dwarp4	831
comodo.gat,178,355,4	duplicate(warpra)	Warper::dwarp5	831
izlu2dun.gat,110,92,4	duplicate(warpra)	Warper::dwarp6	831
c_tower1.gat,202,166,4	duplicate(warpra)	Warper::dwarp7	831
mjolnir_02.gat,76,360,5	duplicate(warpra)	Warper::dwarp8	831
prt_fild05.gat,273,218,5	duplicate(warpra)	Warper::dwarp9	831
einbech.gat,132,249,5	duplicate(warpra)	Warper::dwarp10	831
gef_dun00.gat,108,100,4	duplicate(warpra)	Warper::dwarp11	831
gefenia01.gat,61,172,4	duplicate(warpra)	Warper::dwarp12	831
glast_01.gat,376,307,4	duplicate(warpra)	Warper::dwarp13	831
kh_dun01.gat,66,15,4	duplicate(warpra)	Warper::dwarp14	831
gonryun.gat,156,199,5	duplicate(warpra)	Warper::dwarp15	831
ra_fild01.gat,230,329,5	duplicate(warpra)	Warper::dwarp16	831
prt_fild01.gat,138,368,4	duplicate(warpra)	Warper::dwarp17	831
yuno_fild07.gat,212,179,4	duplicate(warpra)	Warper::dwarp18	831
lighthalzen.gat,71,57,4	duplicate(warpra)	Warper::dwarp19	831
yuno_fild03.gat,38,143,4	duplicate(warpra)	Warper::dwarp20	831
mosk_fild02.gat,194,252,4	duplicate(warpra)	Warper::dwarp21	831
hugel.gat,205,110,4	duplicate(warpra)	Warper::dwarp22	831
gef_fild10.gat,63,330,5	duplicate(warpra)	Warper::dwarp23	831
pay_arche.gat,42,136,4	duplicate(warpra)	Warper::dwarp24	831
moc_ruins.gat,71,163,4	duplicate(warpra)	Warper::dwarp25	831
ra_san01.gat,145,143,4	duplicate(warpra)	Warper::dwarp26	831
louyang.gat,37,277,5	duplicate(warpra)	Warper::dwarp27	831
moc_fild19.gat,110,101,4	duplicate(warpra)	Warper::dwarp28	831
alb2trea.gat,74,101,4	duplicate(warpra)	Warper::dwarp29	831
tha_scene01.gat,141,195,5	duplicate(warpra)	Warper::dwarp30	831
ve_fild03,172,238,4	duplicate(warpra)	Warper::dwarp31	831
xmas.gat,140,311,5	duplicate(warpra)	Warper::dwarp32	831
tur_dun01.gat,159,240,4	duplicate(warpra)	Warper::dwarp33	831
umbala.gat,113,286,4	duplicate(warpra)	Warper::dwarp34	831
spl_fild01.gat,363,112,4	duplicate(warpra)	Warper::dwarp35	831
mid_camp.gat,332,157,4	duplicate(warpra)	Warper::dwarp36	831

	//==Castles: ===================================================//

prt_gld.gat,159,91,4	duplicate(warpra)	Warper::gwarp0	831
alde_gld.gat,186,157,4	duplicate(warpra)	Warper::gwarp1	831
pay_gld.gat,202,173,4	duplicate(warpra)	Warper::gwarp2	831
gef_fild13.gat,270,225,4	duplicate(warpra)	Warper::gwarp3	831
n_castle.gat,101,102,4	duplicate(warpra)	Warper::gwarp4	831
sch_gld.gat,191,245,4	duplicate(warpra)	Warper::gwarp5	831
aru_gld.gat,274,254,4	duplicate(warpra)	Warper::gwarp6	831

	//==Guild-Warper: ==============================================//
	//= Each of them need a Main warper! To disable, disable the    //
	//= castle in the castle_db.txt !!!                             //
	
prtg_cas01.gat,95,174,4	duplicate(warpra)	Warper::gwarp0_0	831
prtg_cas02.gat,71,24,4	duplicate(warpra)	Warper::gwarp0_1	831
prtg_cas03.gat,179,215,4	duplicate(warpra)	Warper::gwarp0_2	831
prtg_cas04.gat,262,248,4	duplicate(warpra)	Warper::gwarp0_3	831
prtg_cas05.gat,54,42,4	duplicate(warpra)	Warper::gwarp0_4	831
	
aldeg_cas01.gat,220,170,4	duplicate(warpra)	Warper::gwarp1_0	831
aldeg_cas02.gat,214,190,4	duplicate(warpra)	Warper::gwarp1_1	831
aldeg_cas03.gat,116,77,4	duplicate(warpra)	Warper::gwarp1_2	831
aldeg_cas04.gat,119,218,4	duplicate(warpra)	Warper::gwarp1_3	831
aldeg_cas05.gat,28,191,4	duplicate(warpra)	Warper::gwarp1_4	831

payg_cas01.gat,54,143,4	duplicate(warpra)	Warper::gwarp2_0	831
payg_cas02.gat,20,277,4	duplicate(warpra)	Warper::gwarp2_1	831
payg_cas03.gat,8,262,4	duplicate(warpra)	Warper::gwarp2_2	831
payg_cas04.gat,38,235,4	duplicate(warpra)	Warper::gwarp2_3	831
payg_cas05.gat,275,225,4	duplicate(warpra)	Warper::gwarp2_4	831

gefg_cas01.gat,81,47,4	duplicate(warpra)	Warper::gwarp3_0	831
gefg_cas02.gat,22,67,4	duplicate(warpra)	Warper::gwarp3_1	831
gefg_cas03.gat,113,92,4	duplicate(warpra)	Warper::gwarp3_2	831
gefg_cas04.gat,60,70,4	duplicate(warpra)	Warper::gwarp3_3	831
gefg_cas05.gat,72,48,4	duplicate(warpra)	Warper::gwarp3_4	831

schg_cas01.gat,287,288,4	duplicate(warpra)	Warper::gwarp5_0	831
schg_cas02.gat,111,377,4	duplicate(warpra)	Warper::gwwar5_1	831
schg_cas03.gat,35,50,4	duplicate(warpra)	Warper::gwarp5_2	831
schg_cas04.gat,287,288,4	duplicate(warpra)	Warper::gwarp5_3	831
schg_cas05.gat,287,287,4	duplicate(warpra)	Warper::gwarp5_4	831

arug_cas01.gat,28,362,4	duplicate(warpra)	Warper::gwarp6_0	831
arug_cas02.gat,354,321,4	duplicate(warpra)	Warper::gwarp6_1	831
arug_cas03.gat,311,94,4	duplicate(warpra)	Warper::gwarp6_2	831
arug_cas04.gat,311,94,4	duplicate(warpra)	Warper::gwarp6_3	831
arug_cas05.gat,311,94,4	duplicate(warpra)	Warper::gwarp6_4	831


	//= No idea where to put the warpers in the Novice Castles o_O  //
	
	//==SETTINGS END================================================//
	//==============================================================//

 

The specific part im going to talk about is the partywarp function..

i can be configured, that i need to pay zeny, to get my party warped BUT
i want that not zeny ist consumed, i want that an item (for example "Party Teleport Scroll": ID = XY) is needed to recall the whole party..

any help? :D

Link to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...