Jump to content
  • 0

[Quest Warper] instant Dungeon warp instead of Level 1 Option


Question

Posted
L_dungeon:
	callfunc "QWS_Darray";
	freeloop(1);
	set .@menu$,"";
	for(set .@i,0; .@i<35; set .@i,.@i+1)	// Expected maximum is 35
		set .@menu$,.@menu$+@Dmenulist$[.@i]+":";
	freeloop(0);
	set @DWMenu,select(.@menu$);

	if (@Dmenuref[@DWMenu-1] == 57005) goto L_end; // 57005='dead' in hex
	set @DwarpMenu, (@Dmenuref[@DWMenu-1]);
	callfunc "QWS_DLarray";

	next;
	mes "[Warpra]";
	mes "Please select where you want to go:";
	freeloop(1);
	set .@menu$,"";
	for(set .@i,0; .@i<18; set .@i,.@i+1)	// Expected maximum is 18
		set .@menu$,.@menu$+@DWLmenulist$[.@i]+":";
	freeloop(0);
	set @DWLMenu,select(.@menu$);

	if (@DWLmenuref[@DWLMenu-1] == 57005) goto L_end; // 57005='dead' in hex

	set @Darrayref, @DWLmenuref[@DWLMenu-1];
	set @warpprice, @pDprice[@Dmenuref[@DWMenu-1]]+(getd(@pDfee$[@Dmenuref[@DWMenu-1]])*(@DDepth[@Darrayref]));

	if(Zeny<@warpprice) callsub L_Short_on_zeny,1;
	set Zeny, Zeny-(@warpprice);
	if ($QW_KPoint == 1) set RESRVPTS, RESRVPTS + (@warpprice/16);
	warp @DGat$[@Darrayref],@DXcoords[@Darrayref],@DYcoords[@Darrayref];
	close2;
	set Zeny, Zeny+@pTprice[@Tmenuref[@DWMenu-1]];
	end;

Even with the Dungeon depth is set to 0, it still shows a menu of choosing a dungeon.

for eg.  [Unlocked Dungeons] --> [Toy Factory Dungeon] -->  [Dungeon Level 1]

Please help me remove the option of [Dungeon Level 1] and automatically warp at the entrance when choosing [Toy Factory Dungeon]. just like how the Town options work.

2 answers to this question

Recommended Posts

  • 0
Posted
43 minutes ago, johnelle9 said:
L_dungeon:
	callfunc "QWS_Darray";
	freeloop(1);
	set .@menu$,"";
	for(set .@i,0; .@i<35; set .@i,.@i+1)	// Expected maximum is 35
		set .@menu$,.@menu$+@Dmenulist$[.@i]+":";
	freeloop(0);
	set @DWMenu,select(.@menu$);

	if (@Dmenuref[@DWMenu-1] == 57005) goto L_end; // 57005='dead' in hex
	set @DwarpMenu, (@Dmenuref[@DWMenu-1]);
	callfunc "QWS_DLarray";

	next;
	mes "[Warpra]";
	mes "Please select where you want to go:";
	freeloop(1);
	set .@menu$,"";
	for(set .@i,0; .@i<18; set .@i,.@i+1)	// Expected maximum is 18
		set .@menu$,.@menu$+@DWLmenulist$[.@i]+":";
	freeloop(0);
	set @DWLMenu,select(.@menu$);

	if (@DWLmenuref[@DWLMenu-1] == 57005) goto L_end; // 57005='dead' in hex

	set @Darrayref, @DWLmenuref[@DWLMenu-1];
	set @warpprice, @pDprice[@Dmenuref[@DWMenu-1]]+(getd(@pDfee$[@Dmenuref[@DWMenu-1]])*(@DDepth[@Darrayref]));

	if(Zeny<@warpprice) callsub L_Short_on_zeny,1;
	set Zeny, Zeny-(@warpprice);
	if ($QW_KPoint == 1) set RESRVPTS, RESRVPTS + (@warpprice/16);
	warp @DGat$[@Darrayref],@DXcoords[@Darrayref],@DYcoords[@Darrayref];
	close2;
	set Zeny, Zeny+@pTprice[@Tmenuref[@DWMenu-1]];
	end;

Even with the Dungeon depth is set to 0, it still shows a menu of choosing a dungeon.

for eg.  [Unlocked Dungeons] --> [Toy Factory Dungeon] -->  [Dungeon Level 1]

Please help me remove the option of [Dungeon Level 1] and automatically warp at the entrance when choosing [Toy Factory Dungeon]. just like how the Town options work.

I don't know hot to change it, but you can try use this script at rathena/npc/custom/warper.txt

you can edit the value at this point

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.

 

  • 0
Posted

Hi

Find:

	next;
	mes "[Warpra]";
	mes "Please select where you want to go:";
	freeloop(1);
	set .@menu$,"";
	for(set .@i,0; .@i<18; set .@i,.@i+1)	// Expected maximum is 18
		set .@menu$,.@menu$+@DWLmenulist$[.@i]+":";
	freeloop(0);
	set @DWLMenu,select(.@menu$);

	if (@DWLmenuref[@DWLMenu-1] == 57005) goto L_end; // 57005='dead' in hex

Replace with:

	if (getarraysize(@DWLmenulist$) > 2) {
		next;
		mes "[Warpra]";
		mes "Please select where you want to go:";
		freeloop(1);
		set .@menu$,"";
		for(set .@i,0; .@i<18; set .@i,.@i+1)	// Expected maximum is 18
			set .@menu$,.@menu$+@DWLmenulist$[.@i]+":";
		freeloop(0);
		set @DWLMenu,select(.@menu$);

		if (@DWLmenuref[@DWLMenu-1] == 57005) goto L_end; // 57005='dead' in hex
	}
	else
		@DWLMenu = 1;

 

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.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...