Jump to content
  • 0

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


Selerie

Question


  • Group:  Members
  • Topic Count:  9
  • Topics Per Day:  0.01
  • Content Count:  13
  • Reputation:   0
  • Joined:  12/27/21
  • Last Seen:  

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.

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

  • Group:  Members
  • Topic Count:  54
  • Topics Per Day:  0.01
  • Content Count:  1167
  • Reputation:   159
  • Joined:  06/12/12
  • Last Seen:  

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.

 

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  0
  • Topics Per Day:  0
  • Content Count:  112
  • Reputation:   47
  • Joined:  06/02/12
  • Last Seen:  

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;

 

Link to comment
Share on other sites

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