summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--npc/custom/etc/quest_warper.txt1567
1 files changed, 561 insertions, 1006 deletions
diff --git a/npc/custom/etc/quest_warper.txt b/npc/custom/etc/quest_warper.txt
index 85919fa0f..d0952decc 100644
--- a/npc/custom/etc/quest_warper.txt
+++ b/npc/custom/etc/quest_warper.txt
@@ -3,11 +3,11 @@
//===== By: =======================================================
//= DZeroX, Darkchild, Neouni
//===== Current Version: ==========================================
-//= 2.2
+//= 2.3
//===== Compatible With: ==========================================
//= rAthena SVN
//===== Description: ==============================================
-//= Warper that works only after locations are unlocked
+//= Warper that works only after locations are unlocked.
//===== Additional Comments: ======================================
//= 1.0 - NPCs created
//= 1.1 - Add Dungeons by sturm
@@ -38,10 +38,9 @@
// - fixed syntax problems
// - fixed missing pyramid gats in @DGat$ array
// - removed the culver level 5 that didn't exist
-// and caused quite alot of problems (i didn't check while converting)
-//-1.7 - Readability of Dungeon menu building increased [Neouni]
+//= 1.7 - Readability of Dungeon menu building increased [Neouni]
// - Thanatos Tower & Louyang Dungeon added
-//-1.8 - changed around unlock variables [Neouni]
+//= 1.8 - changed around unlock variables [Neouni]
// - Moved warp variables to mark what you have unlocked to an binary array in login based permanent variable
// (warp variables are saved in login database, so all charservers have these unlocked)
// - Town Warp unlock array max 21/(unknown max) items used instead of max account #variables 32 !
@@ -49,42 +48,30 @@
// - (max login ##variables = 16, i used 3)
// - old variables are cleared on next save
// - Extra Variable clear added for every character, just in case (request by Terces)
-//-1.8a - Show ammount of users on map [Neouni]
-// - Default = off, enable in GM menu
-// - Requested by escoteiro
-//-1.8b - Small typo fixed in stampcard script [Neouni]
-// - Reported by escoteiro
-//-1.9 - Making it more edit friendly [Neouni]
+//= 1.8a - Show amount of users on map [Neouni]
+//= 1.8b - Small typo fixed in stampcard script [Neouni]
+//= 1.9 - Making it more edit friendly [Neouni]
// - Made Dungeon warp arrays more readable & editable (QWS_Darray)
// - Made town warp arrays more readable & editable (QWS_Tarray)
-//-2.0 - Special Warp menu added [Neouni]
+//= 2.0 - Special Warp menu added [Neouni]
// - when all towns and dungeons are collected a new option on the main menu will show
// - it will only show when you setup the mapname of the warp !
-// - requested by escoteiro
-// - several bugs fixed
-//-2.0a - Dungeon Level Limit & Split dungeon fees
+//= 2.0a - Dungeon Level Limit & Split dungeon fees
// - Limits dungeon based on Depth, access special setup menu thru GM-Menu
// - Dungeon fees split up based on Basic , Advanced & Overseas
// - Old Dungeon fee system removed, all dungeon fees now set to 0
-//-2.0b
-// - Special warpname menu option name bug fixed
-//-2.1 Updated names to fall within retrictions. [L0ne_W0lf]
-//-2.2 #kafra_code is now stored as is. [brianluau]
+//= 2.0b - Special warpname menu option name bug fixed
+//= 2.1 - Updated names to fall within retrictions. [L0ne_W0lf]
+//= 2.2 - #kafra_code is now stored as is. [brianluau]
+//= 2.3 - Addednew town maps, cleanup, and removed pre-1.8 backwards fix. [Euphy]
//=================================================================
//========================Function=&=Script========================
-
function script Q_Warpra {
-// Quick hack for backwards compatibility pre 1.8
-if (##QWS_UP < 18) callfunc "QWS_BackComp";
-// Extra clear variables because marker is saved on all char servers and variables can be on multiple servers
-if (QWS_ExtraVARClear < 18) callfunc "Extra_Variable_Clear";
-
mes "[Warpra]";
mes "Hello,";
- mes "I can warp you to any town or dungeon, but you need to unlock them first.";
- mes "To unlock them, you have to visit us.";
+ mes "I can warp you to any town or dungeon, but you need to unlock them first by visiting us.";
mes "What do you need?";
if(getarg(0) == 0) callfunc "QWS_MMarray",0;
@@ -93,280 +80,175 @@ if (QWS_ExtraVARClear < 18) callfunc "Extra_Variable_Clear";
set @MMenu,select(@Mmenulist$[0],@Mmenulist$[1],@Mmenulist$[2],@Mmenulist$[3],@Mmenulist$[4],@Mmenulist$[5],@Mmenulist$[6],@Mmenulist$[7],@Mmenulist$[8],@Mmenulist$[9],@Mmenulist$[10],@Mmenulist$[11]);
switch(@Mmenuref[@MMenu-1]+1){
- case 1:
- goto GM_Menu;
+ case 1: goto GM_Menu;
case 2:
- warp $QW_SP_WarpMap$, $QW_SP_WarpX, $QW_SP_WarpY;
- close2;
- debugmes "Please check your special warp menu settings on the Warpra";
- end;
- case 3:
- goto L_town;
- case 4:
- goto L_dungeon;
- case 5:
- goto L_FewWarps;
- case 6:
- goto L_NoUnlock;
- case 7:
- goto L_heal_Full;
- case 8:
- goto L_heal_Part;
- case 9:
- goto L_Storage;
- case 10:
- goto L_GStorage;
+ warp $QW_SP_WarpMap$, $QW_SP_WarpX, $QW_SP_WarpY;
+ close2;
+ debugmes "Please check your special warp menu settings on the Warpra.";
+ end;
+ case 3: goto L_town;
+ case 4: goto L_dungeon;
+ case 5: goto L_FewWarps;
+ case 6: goto L_NoUnlock;
+ case 7: goto L_heal_Full;
+ case 8: goto L_heal_Part;
+ case 9: goto L_Storage;
+ case 10: goto L_GStorage;
case 11:
- goto L_end;
default:
- goto L_end;
-}
+ goto L_end;
+ }
//=====================GM-Menu=Functions===========================
GM_Menu:
-next;
-//----------------Town-Warp
- if ($QW_TW_OFF == 0) mes "Town warping = ^00FF00 On ^000000";
- if ($QW_TW_OFF == 1) mes "Town warping = ^FF0000 Off ^000000";
-//----------------Dungeon-Warp
- if ($QW_DW_OFF == 0) mes "Dungeon warping = ^00FF00 On ^000000";
- if ($QW_DW_OFF == 1) mes "Dungeon warping = ^FF0000 Off ^000000";
-//----------------Dungeon-Depth-Limit
- if ($QW_DL == 1) mes "Dungeon Depth limit is ^00FF00 On ^000000";
- if ($QW_DL == 0) mes "Dungeon Depth limit is ^FF0000 Off ^000000";
+ next;
+ mes "Town warping = "+(($QW_TW_OFF)?"^FF0000 Off":"^00FF00 On")+"^000000";
+ mes "Dungeon warping = "+(($QW_DW_OFF)?"^FF0000 Off":"^00FF00 On")+"^000000";
+ mes "Dungeon Depth limit is "+(($QW_DL)?"^00FF00 On":"^FF0000 Off")+"^000000";
mes "If on Dungeon Depth limit is set to ^0000FF"+$QW_DDL+"^000000";
-//----------------ShowMapUsers
- if ($QW_MapUserShow == 1) mes "Show Map Users = ^00FF00 On ^000000";
- if ($QW_MapUserShow == 0) mes "Show Map Users = ^FF0000 Off ^000000";
-//----------------Healfull
- if ($QW_HF == 1) mes "Healing full = ^00FF00 On ^000000";
-//----------------Healpart
- if ($QW_HP == 1) mes "Healing partly = ^00FF00 On ^000000";
- if (($QW_HF == 0)&&($QW_HP == 0)) mes "Healing = ^FF0000 Off ^000000";
-//----------------Storage
- if ($QW_Stor == 1) mes "Storage = ^00FF00 On ^000000";
- if ($QW_Stor == 0) mes "Storage = ^FF0000 Off ^000000";
-//----------------GuildStorage
- if ($QW_GStor == 1) mes "Guild Storage = ^00FF00 On ^000000";
- if ($QW_GStor == 0) mes "Guild Storage = ^FF0000 Off ^000000";
-//----------------KafraPoints
- if ($QW_KPoint == 1) mes "Kafra points collect = ^00FF00 On ^000000";
- if ($QW_KPoint == 0) mes "Kafra points collect = ^FF0000 Off ^000000";
-//----------------GMmenu
- switch(select("Town Warping","Dungeon Warping","Dungeon Level Limit","Show Map Users","Healing full","Healing partly","Storage","Guild Storage","Kafra points collect","Set Prices","Special Warp","Exit")) {
+ mes "Show Map Users = "+(($QW_MapUserShow)?"^00FF00 On":"^FF0000 Off")+"^000000";
-// Using callsub and a small check to not make 1 part of the script set it on and the other turning it off again
+ if ($QW_HF) mes "Healing full = ^00FF00 On ^000000";
+ if ($QW_HP) mes "Healing partly = ^00FF00 On ^000000";
+ if (!$QW_HF && !$QW_HP) mes "Healing = ^FF0000 Off ^000000";
-case 1:
- if ($QW_TW_OFF == 0) {
- set $QW_TW_OFF,1;
- goto GM_Menu;
- } else
- set $QW_TW_OFF,0;
- goto GM_Menu;
-case 2:
- if ($QW_DW_OFF == 0) {
- set $QW_DW_OFF,1;
- goto GM_Menu;
- } else
- set $QW_DW_OFF,0;
- goto GM_Menu;
-case 3:
- goto DungeonLevelLimit;
-case 4:
- if ($QW_MapUserShow == 0) {
- set $QW_MapUserShow,1;
- goto GM_Menu;
- } else
- set $QW_MapUserShow,0;
- goto GM_Menu;
-case 5:
- if ($QW_HF == 0) {
- set $QW_HF,1;
- set $QW_HP,0;
- goto GM_Menu;
- } else
- set $QW_HF,0;
- goto GM_Menu;
-case 6:
- if ($QW_HP == 0) {
- set $QW_HP,1;
- set $QW_HF,0;
- goto GM_Menu;
- } else
- set $QW_HP,0;
- goto GM_Menu;
-case 7:
- if ($QW_Stor == 0) {
- set $QW_Stor,1;
- goto GM_Menu;
- } else
- set $QW_Stor,0;
- goto GM_Menu;
-case 8:
- if ($QW_GStor == 0) {
- set $QW_GStor,1;
+ mes "Storage = "+(($QW_Stor)?"^00FF00 On":"^FF0000 Off")+"^000000";
+ mes "Guild Storage = "+(($QW_GStor)?"^00FF00 On":"^FF0000 Off")+"^000000";
+ mes "Kafra points collect = "+(($QW_KPoint)?"^00FF00 On":"^FF0000 Off")+"^000000";
+
+ switch(select("Town Warping","Dungeon Warping","Dungeon Level Limit","Show Map Users","Healing full","Healing partly","Storage","Guild Storage","Kafra points collect","Set Prices","Special Warp","Exit")) {
+ case 1: set $QW_TW_OFF,($QW_TW_OFF)?0:1; goto GM_Menu;
+ case 2: set $QW_DW_OFF,($QW_DW_OFF)?0:1; goto GM_Menu;
+ case 3: goto DungeonLevelLimit;
+ case 4: set $QW_MapUserShow,($QW_MapUserShow)?0:1; goto GM_Menu;
+ case 5:
+ if ($QW_HF == 0) {
+ set $QW_HF,1;
+ set $QW_HP,0;
+ }
+ else set $QW_HF,0;
goto GM_Menu;
- } else
- set $QW_GStor,0;
- goto GM_Menu;
-case 9:
- if ($QW_KPoint == 0) {
- set $QW_KPoint,1;
+ case 6:
+ if ($QW_HP == 0) {
+ set $QW_HP,1;
+ set $QW_HF,0;
+ }
+ else set $QW_HP,0;
goto GM_Menu;
- } else
- set $QW_KPoint,0;
- goto GM_Menu;
-case 10:
- goto Setprice;
-case 11:
- goto SpecialWarpMenu;
-default:
- close;
- end;
-}
-
+ case 7: set $QW_Stor,($QW_Stor)?0:1; goto GM_Menu;
+ case 8: set $QW_GStor,($QW_GStor)?0:1; goto GM_Menu;
+ case 9: set $QW_KPoint,($QW_KPoint)?0:1; goto GM_Menu;
+ case 10: goto Setprice;
+ case 11: goto SpecialWarpMenu;
+ default:
+ close;
+ end;
+ }
//======================GM-Menu=Pricing============================
Setprice:
if ($QW_DW_FEE != 0) set $QW_DW_FEE,0;
next;
- mes "Scroll thru the list to see all the options";
-//----------------Warp-Basic-Price
- if ($QW_BW_PRICE != 0) mes "Basic - Warps are = ^00FF00 "+$QW_BW_PRICE+" ^000000";
- if ($QW_BW_PRICE == 0) mes "Basic - Warps are = ^FF0000 Free ^000000";
-//----------------Warp-Advanced-Price
- if ($QW_AW_PRICE != 0) mes "Advanced - Warps are = ^00FF00 "+$QW_AW_PRICE+" ^000000";
- if ($QW_AW_PRICE == 0) mes "Advanced - Warps are = ^FF0000 Free ^000000";
-//----------------Warp-Oversea-Price
- if ($QW_OW_PRICE != 0) mes "Overseas - Warps are = ^00FF00 "+$QW_OW_PRICE+" ^000000";
- if ($QW_OW_PRICE == 0) mes "Overseas - Warps are = ^FF0000 Free ^000000";
-//----------------Basic-Dungeon-Level-Warp-Fee
- if ($QW_BW_FEE != 0) mes "Basic Dungeon level warp fee = ^00FF00 "+$QW_BW_FEE+" ^000000 zeny per level";
- if ($QW_BW_FEE == 0) mes "Basic Dungeon level warp fee = ^FF0000 NO ^000000 zeny per level";
-//----------------Advanced-Dungeon-Level-Warp-Fee
- if ($QW_AW_FEE != 0) mes "Advanced Dungeon level warp fee = ^00FF00 "+$QW_AW_FEE+" ^000000 zeny per level";
- if ($QW_AW_FEE == 0) mes "Advanced Dungeon level warp fee = ^FF0000 NO ^000000 zeny per level";
-//----------------Overseas-Dungeon-Level-Warp-Fee
- if ($QW_OW_FEE != 0) mes "Overseas Dungeon level warp fee = ^00FF00 "+$QW_OW_FEE+" ^000000 zeny per level";
- if ($QW_OW_FEE == 0) mes "Overseas Dungeon level warp fee = ^FF0000 NO ^000000 zeny per level";
-//----------------Heal-Full
- if ($QW_HF_PRICE != 0) mes "Full Healing = ^00FF00 "+$QW_HF_PRICE+" ^000000";
- if ($QW_HF_PRICE == 0) mes "Full Healing = ^FF0000 Free ^000000";
-//----------------Heal-Part
- if ($QW_HP_H_PRICE != 0) mes "^FF0000HP ^000000Part Healing = ^00FF00 "+$QW_HP_H_PRICE+" ^000000 a point";
- if ($QW_HP_H_PRICE == 0) mes "^FF0000HP ^000000Part Healing = ^FF0000 Free ^000000";
- if ($QW_HP_S_PRICE != 0) mes "^0000FFSP ^000000Part Healing = ^00FF00 "+$QW_HP_S_PRICE+" ^000000 a point";
- if ($QW_HP_S_PRICE == 0) mes "^0000FFSP ^000000Part Healing = ^FF0000 Free ^000000";
-//----------------Storage
- if (($QW_S_PRICE != 0)&&($QW_S_PRICE != 60)) mes "Storage = ^00FF00 "+$QW_S_PRICE+" ^000000";
- if ($QW_S_PRICE == 0) mes "Storage = ^FF0000 Free ^000000";
- if ($QW_S_PRICE == 60) mes "Storage = ^0000FF Kafra Mode ^000000";
-//----------------Guild-Storage
- if ($QW_GS_PRICE != 0) mes "Guild Storage = ^00FF00 "+$QW_GS_PRICE+" ^000000";
- if ($QW_GS_PRICE == 0) mes "Guild Storage = ^FF0000 Free ^000000";
-
- switch(select("Basic - Warps","Advanced - Warps","Overseas - Warps","Basic Dungeon warp fee","Advanced Dungeon warp fee","Overseas Dungeon warp fee","Full Healing","Part Healing","Storage","Guild Storage","Back","Exit")) {
-
-case 1:
- next;
- if ($QW_BW_PRICE != 0) mes "Basic - Warps are = ^00FF00 "+$QW_BW_PRICE+" ^000000";
- if ($QW_BW_PRICE == 0) mes "Basic - Warps are = ^FF0000 Free ^000000";
- mes "Basic - Warps are starter towns and related dungeons";
- input $QW_BW_PRICE;
- goto Setprice;
+ mes "Scroll through the list to see all the options.";
-case 2:
- next;
- if ($QW_AW_PRICE != 0) mes "Advanced - Warps are = ^00FF00 "+$QW_AW_PRICE+" ^000000";
- if ($QW_AW_PRICE == 0) mes "Advanced - Warps are = ^FF0000 Free ^000000";
- mes "Advanced - Warps are towns and dungeons on the same island but not close to any starter town";
- input $QW_AW_PRICE;
- goto Setprice;
+ mes "Basic - Warps are = "+(($QW_BW_PRICE)?"^00FF00"+$QW_BW_PRICE:"^FF0000Free")+"^000000";
+ mes "Advanced - Warps are = "+(($QW_AW_PRICE)?"^00FF00"+$QW_AW_PRICE:"^FF0000Free")+"^000000";
+ mes "Overseas - Warps are = "+(($QW_OW_PRICE)?"^00FF00"+$QW_OW_PRICE:"^FF0000Free")+"^000000";
-case 3:
- next;
- if ($QW_OW_PRICE != 0) mes "Overseas - Warps are = ^00FF00 "+$QW_OW_PRICE+" ^000000";
- if ($QW_OW_PRICE == 0) mes "Overseas - Warps are = ^FF0000 Free ^000000";
- mes "Overseas - Warps are towns and dungeons overseas reachable by boat from alberta";
- input $QW_OW_PRICE;
- goto Setprice;
+ mes "Basic Dungeon level warp fee = "+(($QW_BW_FEE)?"^00FF00"+$QW_BW_FEE:"^FF0000NO")+"^000000 zeny per level";
+ mes "Advanced Dungeon level warp fee = "+(($QW_AW_FEE)?"^00FF00"+$QW_AW_FEE:"^FF0000NO")+"^000000 zeny per level";
+ mes "Overseas Dungeon level warp fee = "+(($QW_OW_FEE)?"^00FF00"+$QW_OW_FEE:"^FF0000NO")+"^000000 zeny per level";
-case 4:
- next;
- if ($QW_BW_FEE != 0) mes "Basic Dungeon level warp fee = ^00FF00 "+$QW_BW_FEE+" ^000000 zeny per level";
- if ($QW_BW_FEE == 0) mes "Basic Dungeon level warp fee = ^FF0000 NO ^000000 zeny per level";
- mes "Basic - Warps are starter town related dungeons";
- mes "Dungeon warp fees are calculated by maps away from entrance of the dungeon times Dungeon warp fee";
- mes "These costs are on top of the regular Warp costs";
- input $QW_BW_FEE;
- goto Setprice;
-
-case 5:
- next;
- if ($QW_AW_FEE != 0) mes "Advanced Dungeon level warp fee = ^00FF00 "+$QW_AW_FEE+" ^000000 zeny per level";
- if ($QW_AW_FEE == 0) mes "Advanced Dungeon level warp fee = ^FF0000 NO ^000000 zeny per level";
- mes "Advanced - Warps are dungeons not close to any starter town";
- mes "Dungeon warp fees are calculated by maps away from entrance of the dungeon times Dungeon warp fee";
- mes "These costs are on top of the regular Warp costs";
- input $QW_AW_FEE;
- goto Setprice;
-
-case 6:
- next;
- if ($QW_OW_FEE != 0) mes "Overseas Dungeon level warp fee = ^00FF00 "+$QW_OW_FEE+" ^000000 zeny per level";
- if ($QW_OW_FEE == 0) mes "Overseas Dungeon level warp fee = ^FF0000 NO ^000000 zeny per level";
- mes "Overseas - Warps are dungeons related to towns overseas reachable by boat from alberta";
- mes "Dungeon warp fees are calculated by maps away from entrance of the dungeon times Dungeon warp fee";
- mes "These costs are on top of the regular Warp costs";
- input $QW_OW_FEE;
- goto Setprice;
-
-case 7:
- next;
- if ($QW_HF_PRICE != 0) mes "Full Healing = ^00FF00 "+$QW_HF_PRICE+" ^000000";
- if ($QW_HF_PRICE == 0) mes "Full Healing = ^FF0000 Free ^000000";
- mes "Instant full healing 1 price";
- input $QW_HF_PRICE;
- goto Setprice;
+ mes "Full Healing = "+(($QW_HF_PRICE)?"^00FF00"+$QW_HF_PRICE:"^FF0000Free")+"^000000";
+ mes "^FF0000HP ^000000Part Healing = "+(($QW_HP_H_PRICE)?"^00FF00"+$QW_HP_H_PRICE+"^000000 a point":"^FF0000Free^000000");
+ mes "^FF0000SP ^000000Part Healing = "+(($QW_HP_S_PRICE)?"^00FF00"+$QW_HP_S_PRICE+"^000000 a point":"^FF0000Free^000000");
-case 8:
- next;
- if ($QW_HP_H_PRICE != 0) mes "^FF0000HP ^000000Part Healing = ^00FF00 "+$QW_HP_H_PRICE+" ^000000 a point";
- if ($QW_HP_H_PRICE == 0) mes "^FF0000HP ^000000Part Healing = ^FF0000 Free ^000000";
- if ($QW_HP_S_PRICE != 0) mes "^0000FFSP ^000000Part Healing = ^00FF00 "+$QW_HP_S_PRICE+" ^000000 a point";
- if ($QW_HP_S_PRICE == 0) mes "^0000FFSP ^000000Part Healing = ^FF0000 Free ^000000";
- mes "Healing price per 1 HP";
- mes "Healing price per 1 SP";
- mes "2 inputs, first HP then SP";
- input $QW_HP_H_PRICE;
- input $QW_HP_S_PRICE;
- goto Setprice;
-
-case 9:
- next;
- if (($QW_S_PRICE != 0)&&($QW_S_PRICE != 60)) mes "Storage = ^00FF00 "+$QW_S_PRICE+" ^000000";
- if ($QW_S_PRICE == 0) mes "Storage = ^FF0000 Free ^000000";
+ if ($QW_S_PRICE && $QW_S_PRICE != 60) mes "Storage = ^00FF00 "+$QW_S_PRICE+" ^000000";
+ if (!$QW_S_PRICE) mes "Storage = ^FF0000 Free ^000000";
if ($QW_S_PRICE == 60) mes "Storage = ^0000FF Kafra Mode ^000000";
- mes "Storage cost, if set to 60 Kafra pricing will be handled";
- input $QW_S_PRICE;
- goto Setprice;
-
-case 10:
- next;
- if ($QW_GS_PRICE != 0) mes "Guild Storage = ^00FF00 "+$QW_GS_PRICE+" ^000000";
- if ($QW_GS_PRICE == 0) mes "Guild Storage = ^FF0000 Free ^000000";
- mes "Guild Storage, free on Guild Kafras";
- input $QW_GS_PRICE;
- goto Setprice;
-case 11:
- goto GM_Menu;
-default:
- close;
- end;
-}
+ mes "Guild Storage = "+(($QW_GS_PRICE)?"^00FF00"+$QW_GS_PRICE:"^FF0000Free")+"^000000";
+
+ switch(select("Basic - Warps","Advanced - Warps","Overseas - Warps","Basic Dungeon warp fee","Advanced Dungeon warp fee","Overseas Dungeon warp fee","Full Healing","Part Healing","Storage","Guild Storage","Back","Exit")) {
+ case 1:
+ next;
+ mes "Basic - Warps are = "+(($QW_BW_PRICE)?"^00FF00"+$QW_BW_PRICE:"^FF0000Free")+"^000000";
+ mes "Basic - Warps are starter towns and related dungeons.";
+ input $QW_BW_PRICE;
+ goto Setprice;
+ case 2:
+ next;
+ mes "Advanced - Warps are = "+(($QW_AW_PRICE)?"^00FF00"+$QW_AW_PRICE:"^FF0000Free")+"^000000";
+ mes "Advanced - Warps are towns and dungeons on the same island but not close to any starter town.";
+ input $QW_AW_PRICE;
+ goto Setprice;
+ case 3:
+ next;
+ mes "Overseas - Warps are = "+(($QW_OW_PRICE)?"^00FF00"+$QW_OW_PRICE:"^FF0000Free")+"^000000";
+ mes "Overseas - Warps are towns and dungeons overseas reachable by boat from Alberta.";
+ input $QW_OW_PRICE;
+ goto Setprice;
+ case 4:
+ next;
+ mes "Basic Dungeon level warp fee = "+(($QW_BW_FEE)?"^00FF00"+$QW_BW_FEE:"^FF0000NO")+"^000000 zeny per level";
+ mes "Basic - Warps are starter town related dungeons.";
+ mes "Dungeon warp fees are calculated by maps away from entrance of the dungeon times Dungeon warp fee.";
+ mes "These costs are on top of the regular Warp costs.";
+ input $QW_BW_FEE;
+ goto Setprice;
+ case 5:
+ next;
+ mes "Advanced Dungeon level warp fee = "+(($QW_AW_FEE)?"^00FF00"+$QW_AW_FEE:"^FF0000NO")+"^000000 zeny per level";
+ mes "Advanced - Warps are dungeons not close to any starter town.";
+ mes "Dungeon warp fees are calculated by maps away from entrance of the dungeon times Dungeon warp fee.";
+ mes "These costs are on top of the regular Warp costs.";
+ input $QW_AW_FEE;
+ goto Setprice;
+ case 6:
+ next;
+ mes "Overseas Dungeon level warp fee = "+(($QW_OW_FEE)?"^00FF00"+$QW_OW_FEE:"^FF0000NO")+"^000000 zeny per level";
+ mes "Overseas - Warps are dungeons related to towns overseas reachable by boat from Alberta.";
+ mes "Dungeon warp fees are calculated by maps away from entrance of the dungeon times Dungeon warp fee.";
+ mes "These costs are on top of the regular Warp costs.";
+ input $QW_OW_FEE;
+ goto Setprice;
+ case 7:
+ next;
+ mes "Full Healing = "+(($QW_HF_PRICE)?"^00FF00"+$QW_HF_PRICE:"^FF0000Free")+"^000000";
+ mes "Instant full healing 1 price.";
+ input $QW_HF_PRICE;
+ goto Setprice;
+ case 8:
+ next;
+ mes "^FF0000HP ^000000Part Healing = "+(($QW_HP_H_PRICE)?"^00FF00"+$QW_HP_H_PRICE+"^000000 a point":"^FF0000Free^000000");
+ mes "^FF0000SP ^000000Part Healing = "+(($QW_HP_S_PRICE)?"^00FF00"+$QW_HP_S_PRICE+"^000000 a point":"^FF0000Free^000000");
+ mes "Healing price per 1 HP.";
+ mes "Healing price per 1 SP.";
+ mes "2 inputs, first HP then SP.";
+ input $QW_HP_H_PRICE;
+ input $QW_HP_S_PRICE;
+ goto Setprice;
+ case 9:
+ next;
+ if ($QW_S_PRICE && $QW_S_PRICE != 60) mes "Storage = ^00FF00 "+$QW_S_PRICE+" ^000000";
+ if (!$QW_S_PRICE) mes "Storage = ^FF0000 Free ^000000";
+ if ($QW_S_PRICE == 60) mes "Storage = ^0000FF Kafra Mode ^000000";
+ mes "Storage cost, if set to 60 Kafra pricing will be handled.";
+ input $QW_S_PRICE;
+ goto Setprice;
+ case 10:
+ next;
+ mes "Guild Storage = "+(($QW_GS_PRICE)?"^00FF00"+$QW_GS_PRICE:"^FF0000Free")+"^000000";
+ mes "Guild Storage, free on Guild Kafras.";
+ input $QW_GS_PRICE;
+ goto Setprice;
+ case 11:
+ goto GM_Menu;
+ default:
+ close;
+ end;
+ }
//======================Special=Warp=Menu==========================
@@ -381,80 +263,72 @@ SpecialWarpMenu:
if ($QW_SP_WarpMap$ != "") mes "map is currently set to ^0000FF"+$QW_SP_WarpMap$+"^000000 and Special Warp menu is on";
mes "coords are set to ^0000FF"+$QW_SP_WarpX+","+$QW_SP_WarpY+"^000000";
switch(select("Set Special Warp name to show in menu", "Set WarpMap","Set Coords","Go Back to GM_Menu","Exit")){
-
-case 1:
- next;
- mes "set the name to show in the menu as option";
- input $QW_SP_Warpname$;
- goto SpecialWarpMenu;
-case 2:
- next;
- mes "set the map in the ^0000FFmapname^000000 format";
- mes "when this warpmap is set the option for players will show once they meet the requirments";
- mes "to disable Special Warp Menu option clear this !";
- input $QW_SP_WarpMap$;
- goto SpecialWarpMenu;
-case 3:
- next;
- mes "First input = Xcoord";
- mes "Second input = Ycoord";
- input $QW_SP_WarpX;
- input $QW_SP_WarpY;
- goto SpecialWarpMenu;
-case 4:
- goto GM_Menu;
-default:
- close;
- end;
-}
+ case 1:
+ next;
+ mes "Set the name to show in the menu as option.";
+ input $QW_SP_Warpname$;
+ goto SpecialWarpMenu;
+ case 2:
+ next;
+ mes "Set the map in the ^0000FFmapname^000000 format.";
+ mes "When this warpmap is set the option for players will show once they meet the requirments.";
+ mes "To disable Special Warp Menu option, clear this!";
+ input $QW_SP_WarpMap$;
+ goto SpecialWarpMenu;
+ case 3:
+ next;
+ mes "First input = Xcoord";
+ mes "Second input = Ycoord";
+ input $QW_SP_WarpX;
+ input $QW_SP_WarpY;
+ goto SpecialWarpMenu;
+ case 4:
+ goto GM_Menu;
+ default:
+ close;
+ end;
+ }
//======================Dungeon=Level=Limit========================
+
DungeonLevelLimit:
next;
- if ($QW_DL == 1) mes "Dungeon Depth limit is ^00FF00 On ^000000";
- if ($QW_DL == 0) mes "Dungeon Depth limit is ^FF0000 Off ^000000";
+ mes "Dungeon Depth limit is "+(($QW_DL)?"^00FF00On":"^FF0000Off")+"^000000";
mes "If^00FF00 On ^000000Dungeon Depth limit is set to ^0000FF"+$QW_DDL+"^000000";
-
- switch(select("Toggle Dungeon Depth Limit", "Set Dungeon Depth Limit","Go Back to GM_Menu","Exit")){
-case 1:
- if ($QW_DL == 0) {
- set $QW_DL,1;
- goto DungeonLevelLimit;
- } else
- set $QW_DL,0;
+ switch(select("Toggle Dungeon Depth Limit","Set Dungeon Depth Limit","Go Back to GM_Menu","Exit")){
+ case 1: set $QW_DL,($QW_DL)?0:1; goto DungeonLevelLimit;
+ case 2:
+ next;
+ mes "Set limit of Dungeon Depth 0 = entrance";
+ mes "Depth 1 is a map connected to 0 and so on";
+ mes "Shortest Route to map counts as depth";
+ input $QW_DDL;
goto DungeonLevelLimit;
-case 2:
- next;
- mes "set limit of Dungeon Depth 0 = entrance";
- mes "Depth 1 is a map connected to 0 and so on";
- mes "Shortest Route to map counts as depth";
- input $QW_DDL;
- goto DungeonLevelLimit;
-case 3:
- goto GM_Menu;
-default:
- close;
- end;
-}
+ case 3: goto GM_Menu;
+ default:
+ close;
+ end;
+ }
//===========================Towns=================================
L_town:
callfunc "QWS_Tarray";
-
-// Expected maximum is set to 25 items, if you add more options add more ",@Tmenulist$[xx]"
-
- set @TWMenu,select(@Tmenulist$[0],@Tmenulist$[1],@Tmenulist$[2],@Tmenulist$[3],@Tmenulist$[4],@Tmenulist$[5],@Tmenulist$[6],@Tmenulist$[7],@Tmenulist$[8],@Tmenulist$[9],@Tmenulist$[10],@Tmenulist$[11],@Tmenulist$[12],@Tmenulist$[13],@Tmenulist$[14],@Tmenulist$[15],@Tmenulist$[16],@Tmenulist$[17],@Tmenulist$[18],@Tmenulist$[19],@Tmenulist$[20],@Tmenulist$[21],@Tmenulist$[22],@Tmenulist$[23],@Tmenulist$[24]);
+ freeloop(1);
+ set .@menu$,"";
+ for(set .@i,0; .@i<35; set .@i,.@i+1) // Expected maximum is 35
+ set .@menu$,.@menu$+@Tmenulist$[.@i]+":";
+ freeloop(0);
+ set @TWMenu,select(.@menu$);
if (@Tmenuref[@TWMenu-1] == 57005) goto L_end; // 57005='dead' in hex
if(Zeny<@pTprice[@Tmenuref[@TWMenu-1]]) callsub L_Short_on_zeny,0;
-
set Zeny, Zeny-@pTprice[@Tmenuref[@TWMenu-1]];
if ($QW_KPoint == 1) set RESRVPTS, RESRVPTS + (@pTprice[@Tmenuref[@TWMenu-1]]/16);
warp @pTmap$[@Tmenuref[@TWMenu-1]],@pTXcoords[@Tmenuref[@TWMenu-1]],@pTYcoords[@Tmenuref[@TWMenu-1]];
- close2; // this part safegaurds against errors/typos
+ close2;
set Zeny, Zeny+@pTprice[@Tmenuref[@TWMenu-1]];
end;
@@ -462,10 +336,12 @@ L_town:
L_dungeon:
callfunc "QWS_Darray";
-
-// Expected maximum is set to 35 items, if you add more options add more ",@Dmenulist$[xx]"
-
- set @DWMenu,select(@Dmenulist$[0],@Dmenulist$[1],@Dmenulist$[2],@Dmenulist$[3],@Dmenulist$[4],@Dmenulist$[5],@Dmenulist$[6],@Dmenulist$[7],@Dmenulist$[8],@Dmenulist$[9],@Dmenulist$[10],@Dmenulist$[11],@Dmenulist$[12],@Dmenulist$[13],@Dmenulist$[14],@Dmenulist$[15],@Dmenulist$[16],@Dmenulist$[17],@Dmenulist$[18],@Dmenulist$[19],@Dmenulist$[20],@Dmenulist$[21],@Dmenulist$[22],@Dmenulist$[23],@Dmenulist$[24],@Dmenulist$[25],@Dmenulist$[26],@Dmenulist$[27],@Dmenulist$[28],@Dmenulist$[29],@Dmenulist$[30],@Dmenulist$[31],@Dmenulist$[32],@Dmenulist$[33],@Dmenulist$[34]);
+ 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]);
@@ -473,10 +349,13 @@ L_dungeon:
next;
mes "[Warpra]";
- mes "Please select where you want to go";
-
-// Expected maximum is set to 18 items, if you have dungeons with more levels add more ",@DWLmenulist$[xx]"
- set @DWLMenu,select(@DWLmenulist$[0], @DWLmenulist$[1], @DWLmenulist$[2], @DWLmenulist$[3], @DWLmenulist$[4], @DWLmenulist$[5], @DWLmenulist$[6], @DWLmenulist$[7], @DWLmenulist$[8], @DWLmenulist$[9], @DWLmenulist$[10], @DWLmenulist$[11], @DWLmenulist$[12], @DWLmenulist$[13], @DWLmenulist$[14], @DWLmenulist$[15], @DWLmenulist$[16], @DWLmenulist$[17]);
+ 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
@@ -484,11 +363,10 @@ L_dungeon:
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; // this part safegaurds against errors/typos
+ close2;
set Zeny, Zeny+@pTprice[@Tmenuref[@DWMenu-1]];
end;
@@ -501,7 +379,7 @@ L_heal_Full:
if ($QW_KPoint == 1) set RESRVPTS, RESRVPTS + (@healfee/500);
next;
mes "[Warpra]";
- mes "Close this window and I will Heal you.";
+ mes "Close this window and I will heal you.";
close2;
percentheal 100,100;
end;
@@ -541,39 +419,37 @@ PHeal:
Zeny_Short_Both:
mes "[Warpra]";
- mes "choose another option, you can afford both.";
- mes "I can heal as much as you can afford too.";
+ mes "Choose another option, you can afford both.";
+ mes "I can heal as much as you can afford, too.";
if (select("OK","Exit") == 2) goto L_end;
goto PHeal;
Zeny_short_HP:
mes "[Warpra]";
- mes "do you want me to partly heal your HP ?";
+ mes "Do you want me to partly heal your HP?";
if (select("Yes","No") == 2) goto L_end;
set @Hp, Zeny/$QW_HP_H_PRICE;
set @HpPrice, @Hp*$QW_HP_H_PRICE;
- if (@Hp == 1) mes "your not worth the effort";
+ if (@Sp == 1) mes "You're not worth the effort.";
if (@Hp == 1) goto L_end;
set Zeny, Zeny-@HpPrice;
heal @Hp,0;
close;
end;
-
-
+
Zeny_short_SP:
mes "[Warpra]";
- mes "do you want me to partly heal your SP ?";
+ mes "Do you want me to partly heal your SP?";
if (select("Yes","No") == 2) goto L_end;
set @Sp, Zeny/$QW_HP_S_PRICE;
set @SpPrice, @Sp*$QW_HP_S_PRICE;
- if (@Sp == 1) mes "your not worth the effort";
+ if (@Sp == 1) mes "You're not worth the effort.";
if (@Sp == 1) goto L_end;
set Zeny, Zeny-@SpPrice;
heal 0,@Sp;
close;
end;
-
//=============================Storage=============================
L_Storage:
@@ -587,50 +463,44 @@ L_Storage:
if ($QW_KPoint == 1) set RESRVPTS, RESRVPTS + (@fee/5);
mes "[Warpra]";
- mes "Close this window and i will open your storage.";
-
- callsub F_CheckKafCode; //check your storage password thru kafra coding, if set
-
+ if(#kafra_code) {
+ mes "Enter your storage password:";
+ set @code_,0;
+ input @code_;
+ if(@code_ != #kafra_code) {
+ dispbottom "Wrong storage password.";
+ close;
+ }
+ set @kafcode_try,0;
+ set @code_,0;
+ }
+ mes "Close this window and I will open your storage.";
close2;
openstorage;
end;
-F_CheckKafCode:
- if(#kafra_code==0) return;
- mes "Enter your storage password:";
- set @code_,0;
- input @code_;
- if(@code_ != #kafra_code) {
- dispbottom "Wrong storage password.";
- close;
- }
- set @kafcode_try,0;
- set @code_,0;
- return;
-
L_StorageJBlow:
mes "[Warpra]";
mes "I am sorry but you have to be at least Novice level 6 if you want to use the storage.";
return;
L_GStorage:
- if(@GID==0) goto L_NoGuild;
- if(Zeny<$QW_GS_PRICE) callsub L_Short_on_zeny,3;
+ if (!@GID) {
+ next;
+ mes "[Warpra]";
+ mes "You are not a part of a guild I can't help you.";
+ close;
+ end;
+ }
+ if (Zeny<$QW_GS_PRICE) callsub L_Short_on_zeny,3;
set Zeny, Zeny-$QW_GS_PRICE;
if ($QW_KPoint == 1) set RESRVPTS, RESRVPTS + ($QW_GS_PRICE/5);
next;
mes "[Warpra]";
- mes "Close this window and i will open the ^5533FF" + GetGuildName(@GID) + "^000000 storage.";
+ mes "Close this window and I will open the ^5533FF" + GetGuildName(@GID) + "^000000 storage.";
close2;
guildopenstorage;
end;
-
-L_NoGuild:
- next;
- mes "[Warpra]";
- mes "You are not a part of a guild I can't help you.";
- close;
- end;
L_end:
close;
@@ -639,21 +509,19 @@ L_end:
//============================Few=Warp=============================
L_FewWarps:
next;
- mes "[Warpra ]";
+ mes "[Warpra]";
mes "You need to unlock locations before they come available to you.";
mes "To unlock a location talk to my colleagues all over the world.";
- mes "Each account got it's own stamp card.";
- mes "Want me to check what stamps you have collected so far ?.";
+ mes "Each account has its own stamp card.";
+ mes "Want me to check what stamps you have collected so far?";
if (select("Yes","No")==1) callsub stampcard;
close;
end;
-
//============================No=Unlock============================
-
L_NoUnlock:
next;
- mes "[Warpra ]";
+ mes "[Warpra]";
mes "I don't unlock this location, my assistant deeper in the dungeon will unlock this place.";
close;
end;
@@ -661,11 +529,13 @@ L_NoUnlock:
//=========================Short=On=Zeny===========================
L_Short_on_zeny:
next;
- if (getarg(0) == 0) mes "you don't seem to have "+@pTprice[@Tmenuref[@TWMenu-1]]+" zeny, to pay for the warp fee to "+@pTmenuitems$[@Tmenuref[@TWMenu-1]]+"";
- if (getarg(0) == 1) mes "you don't seem to have "+@warpprice+" zeny, to pay for the warp fee to "+@DLevelName$[@DWLmenuref[@DWLMenu-1]]+" at "+@pDmenuitems$[@Dmenuref[@DWMenu-1]]+"";
- if (getarg(0) == 2) mes "you don't seem to have "+@fee+" zeny, to pay for the storage fee";
- if (getarg(0) == 3) mes "you don't seem to have "+$QW_GS_PRICE+" zeny, to pay for the guild storage fee";
- if (getarg(0) == 4) mes "you don't seem to have "+@healfee+" zeny, to pay for your healing";
+ switch(getarg(0)) {
+ case 0: mes "You don't seem to have "+@pTprice[@Tmenuref[@TWMenu-1]]+" zeny to pay for the warp to "+@pTmenuitems$[@Tmenuref[@TWMenu-1]]+"."; break;
+ case 1: mes "You don't seem to have "+@warpprice+" zeny to pay for the warp to "+@DLevelName$[@DWLmenuref[@DWLMenu-1]]+" at "+@pDmenuitems$[@Dmenuref[@DWMenu-1]]+"."; break;
+ case 2: mes "You don't seem to have "+@fee+" zeny to pay the storage fee."; break;
+ case 3: mes "You don't seem to have "+$QW_GS_PRICE+" zeny to pay the guild storage fee."; break;
+ case 4: mes "You don't seem to have "+@healfee+" zeny to pay for your healing."; break;
+ }
close;
end;
@@ -673,38 +543,31 @@ L_Short_on_zeny:
stampcard:
// Counting of the ammount of places you have unlocked
next;
- mes "Let me check what Towns you have";
-
+ mes "Let me check what Towns you have.";
callfunc "QWS_TownStamps";
-
- mes "you collected^00FF00 "+@Tstamp+" of "+@MaxTstamp+" ^000000Towns.";
- if (@Tstamp == 15) mes "They say there is an island you can only get to when married";
+ mes "You collected^00FF00 "+@Tstamp+" of "+@MaxTstamp+" ^000000Towns.";
+ if (@Tstamp == 15) mes "They say there is an island you can only get to when married...";
if (@Tstamp == 15) emotion 18;
next;
-
- mes "Let me check what dungeons you have";
-
+ mes "Let me check what dungeons you have.";
callfunc "QWS_DungeonStamps";
-
- mes "you collected^00FF00 "+@Dstamp+" of "+@MaxDstamp+" ^000000Dungeons";
- mes "To unlock a dungeon, search for my colleague.";
- mes "You can usually find them near the middle or end of the dungeon";
+ mes "You collected^00FF00 "+@Dstamp+" of "+@MaxDstamp+" ^000000Dungeons.";
+ mes "To unlock a dungeon, search for my colleagues.";
+ mes "You can usually find them near the middle or end of the dungeon.";
return;
}
function script QWS_TownStamps {
set @Tstamp,0;
- set @MaxTstamp,21; //maximum number of towns
+ set @MaxTstamp,30; //maximum number of towns
set @binvalue,1;
set @Tstamploop,0;
do {
- if ((@binvalue & ##QWS_T_Unlock) == @binvalue) set @Tstamp,@Tstamp+1;
-
- set @binvalue, @binvalue *2;
- set @Tstamploop, @Tstamploop + 1;
-
-}while (@Tstamploop < @MaxTstamp);
-return;
+ if ((@binvalue & ##QWS_T_Unlock) == @binvalue) set @Tstamp,@Tstamp+1;
+ set @binvalue, @binvalue *2;
+ set @Tstamploop, @Tstamploop + 1;
+ } while (@Tstamploop < @MaxTstamp);
+ return;
}
function script QWS_DungeonStamps {
@@ -713,47 +576,51 @@ function script QWS_DungeonStamps {
set @binvalue,1;
set @Dstamploop,0;
do {
- if ((@binvalue & ##QWS_D_Unlock) == @binvalue) set @Dstamp,@Dstamp+1;
-
- set @binvalue, @binvalue *2;
- set @Dstamploop, @Dstamploop + 1;
-
-}while (@Dstamploop < @MaxDstamp);
-return;
+ if ((@binvalue & ##QWS_D_Unlock) == @binvalue) set @Dstamp,@Dstamp+1;
+ set @binvalue, @binvalue *2;
+ set @Dstamploop, @Dstamploop + 1;
+ } while (@Dstamploop < @MaxDstamp);
+ return;
}
//======================Main=Menu=Array============================
function script QWS_MMarray {
-// Currently 9 items
+ // Currently 9 items
+ setarray @pMmenuitems$[0], "GameMaster Menu", $QW_SP_Warpname$, "Warp to Towns", "Warp to Dungeons", "Why so few warps?", "Why don't you unlock this location?", "Heal", "Heal", "Storage", "Guild Storage", "Cancel";
+ set @Mi,0; // loop counter
+ set @Mj,0; // menu line counter
- setarray @pMmenuitems$[0], "GameMaster Menu", $QW_SP_Warpname$, "Warp to Towns", "Warp to Dungeons", "Why so few Warps ?", "Why don't you Unlock this location ?", "Heal", "Heal", "Storage", "Guild Storage", "Cancel";
- set @Mi,0; // That's our loop counter.
- set @Mj,0; // That's the menu lines counter.
//----------------GameMaster-Menu
- if (getgmlevel()>= 80) set @Mmenulist$[@Mj],@pMmenuitems$[@Mi];
- if (getgmlevel()>= 80) set @Mmenuref[@Mj],@Mi;
- if (getgmlevel()>= 80) set @Mj,@Mj+1;
+ if (getgmlevel()>= 80) {
+ set @Mmenulist$[@Mj],@pMmenuitems$[@Mi];
+ set @Mmenuref[@Mj],@Mi;
+ set @Mj,@Mj+1;
+ }
set @Mi,@Mi+1;
//----------------Special-Warp
callfunc "QWS_TownStamps";
callfunc "QWS_DungeonStamps";
if (@Tstamp == @MaxTstamp)&&(@Dstamp == @MaxDstamp)&&($QW_SP_WarpMap$ != "") {
- set @Mmenulist$[@Mj],@pMmenuitems$[@Mi];
- set @Mmenuref[@Mj],@Mi;
- set @Mj,@Mj+1;
+ set @Mmenulist$[@Mj],@pMmenuitems$[@Mi];
+ set @Mmenuref[@Mj],@Mi;
+ set @Mj,@Mj+1;
}
set @Mi,@Mi+1;
//----------------Town-Warp
- if ($QW_TW_OFF == 0) set @Mmenulist$[@Mj],@pMmenuitems$[@Mi];
- if ($QW_TW_OFF == 0) set @Mmenuref[@Mj],@Mi;
- if ($QW_TW_OFF == 0) set @Mj,@Mj+1;
+ if ($QW_TW_OFF == 0) {
+ set @Mmenulist$[@Mj],@pMmenuitems$[@Mi];
+ set @Mmenuref[@Mj],@Mi;
+ set @Mj,@Mj+1;
+ }
set @Mi,@Mi+1;
//----------------Dungeon-Warp
- if ($QW_DW_OFF == 0) set @Mmenulist$[@Mj],@pMmenuitems$[@Mi];
- if ($QW_DW_OFF == 0) set @Mmenuref[@Mj],@Mi;
- if ($QW_DW_OFF == 0) set @Mj,@Mj+1;
+ if ($QW_DW_OFF == 0) {
+ set @Mmenulist$[@Mj],@pMmenuitems$[@Mi];
+ set @Mmenuref[@Mj],@Mi;
+ set @Mj,@Mj+1;
+ }
set @Mi,@Mi+1;
//----------------Why-So-Few-Warps
set @Mmenulist$[@Mj],@pMmenuitems$[@Mi];
@@ -761,74 +628,71 @@ function script QWS_MMarray {
set @Mj,@Mj+1;
set @Mi,@Mi+1;
//----------------No-Unlock
- if (getarg(0) == 1) set @Mmenulist$[@Mj],@pMmenuitems$[@Mi];
- if (getarg(0) == 1) set @Mmenuref[@Mj],@Mi;
- if (getarg(0) == 1) set @Mj,@Mj+1;
+ if (getarg(0) == 1) {
+ set @Mmenulist$[@Mj],@pMmenuitems$[@Mi];
+ set @Mmenuref[@Mj],@Mi;
+ set @Mj,@Mj+1;
+ }
set @Mi,@Mi+1;
//----------------Healfull
- if ($QW_HF == 1) set @Mmenulist$[@Mj],@pMmenuitems$[@Mi];
- if ($QW_HF == 1) set @Mmenuref[@Mj],@Mi;
- if ($QW_HF == 1) set @Mj,@Mj+1;
+ if ($QW_HF == 1) {
+ set @Mmenulist$[@Mj],@pMmenuitems$[@Mi];
+ set @Mmenuref[@Mj],@Mi;
+ set @Mj,@Mj+1;
+ }
set @Mi,@Mi+1;
//----------------Healpart
- if ($QW_HP == 1) set @Mmenulist$[@Mj],@pMmenuitems$[@Mi];
- if ($QW_HP == 1) set @Mmenuref[@Mj],@Mi;
- if ($QW_HP == 1) set @Mj,@Mj+1;
+ if ($QW_HP == 1) {
+ set @Mmenulist$[@Mj],@pMmenuitems$[@Mi];
+ set @Mmenuref[@Mj],@Mi;
+ set @Mj,@Mj+1;
+ }
set @Mi,@Mi+1;
//----------------Storage
- if ($QW_Stor == 1) set @Mmenulist$[@Mj],@pMmenuitems$[@Mi];
- if ($QW_Stor == 1) set @Mmenuref[@Mj],@Mi;
- if ($QW_Stor == 1) set @Mj,@Mj+1;
+ if ($QW_Stor == 1) {
+ set @Mmenulist$[@Mj],@pMmenuitems$[@Mi];
+ set @Mmenuref[@Mj],@Mi;
+ set @Mj,@Mj+1;
+ }
set @Mi,@Mi+1;
//----------------GuildStorage
- if ($QW_GStor == 1) set @Mmenulist$[@Mj],@pMmenuitems$[@Mi];
- if ($QW_GStor == 1) set @Mmenuref[@Mj],@Mi;
- if ($QW_GStor == 1) set @Mj,@Mj+1;
+ if ($QW_GStor == 1) {
+ set @Mmenulist$[@Mj],@pMmenuitems$[@Mi];
+ set @Mmenuref[@Mj],@Mi;
+ set @Mj,@Mj+1;
+ }
set @Mi,@Mi+1;
//----------------Cancel
set @Mmenulist$[@Mj],@pMmenuitems$[@Mi];
set @Mmenuref[@Mj],@Mi;
return;
- }
-
-
+}
//======================Town=Menu=Array============================
-
-//----------------Prontera // I do this to find back sections quickly altho almost the same name is a line below it now
-// setarray @pTmenuitems$[@Ti], "Prontera"; // Name of Town shown in Town select Menu
-// setarray @pTprice[@Ti], $QW_BW_PRICE; // warp prices (Basic ($QW_BW_PRICE), Advanced ($QW_AW_PRICE), Overseas $QW_OW_PRICE)
-//
-// setarray @pTmap$[@Ti], "prontera"; // mapfilename of town
-// setarray @pTXcoords[@Ti], 156; // X warp coords
-// setarray @pTYcoords[@Ti], 187; // Y warp coords
-//
-// QWS_Make_Town_Menu XXX;
+// Adding a town:
+// setarray @pTmenuitems$[@Ti], "Prontera";// Name of Town shown in Town select Menu
+// setarray @pTprice[@Ti], $QW_BW_PRICE; // Warp prices: Basic ($QW_BW_PRICE), Advanced ($QW_AW_PRICE), Overseas ($QW_OW_PRICE)
//
-// the full wap commands send out by this script for these example would be
-//warp example_01 123 123
+// setarray @pTmap$[@Ti], "prontera"; // Map name
+// setarray @pTXcoords[@Ti], 156; // X warp coords
+// setarray @pTYcoords[@Ti], 187; // Y warp coords
//
-// use the same XXX number as you used when making your own town warpra
-// Read below how
+// QWS_Make_Town_Menu 0; // Use a free number (last used is 30, Eclage)
//
-// example:
-//
-//syntax:
-//mapname,xcoord,ycoord,directionfacing script Name of NPC NPC-ID,{
-//
-// Full example using fake map & coords
-//
-//example_01,213,213,4 script Warpra 112,{
-// callfunc "QWS_Town_Warpra",XXX,"A FAKE TOWN FOR EXAMPLE";
-// close;
+// Adding a warpra:
+// map,x,y,facing script Warpra#example 113,{
+// callfunc "QWS_Town_Warpra",<town number>,"Your Town";
+// close;
// }
-// use a free number for XXX, last used is 20, for Yuno
+// Town number is the same as "QWS_Make_Town_Menu".
+//==================================================================
function script QWS_Tarray {
function QWS_Make_Town_Menu;
- set @Ti,0; // That's our loop counter.
- set @Tj,0; // That's the menu lines counter.
+ set @Ti,0; // loop counter
+ set @Tj,0; // menu lines counter
+
//----------------Prontera
setarray @pTmenuitems$[@Ti], "Prontera";
setarray @pTprice[@Ti], $QW_BW_PRICE;
@@ -874,6 +738,15 @@ function script QWS_Tarray {
setarray @pTYcoords[@Ti], 57;
QWS_Make_Town_Menu 4;
+//----------------Brasilis:
+ setarray @pTmenuitems$[@Ti], "Brasilis";
+ setarray @pTprice[@Ti], $QW_OW_PRICE;
+
+ setarray @pTmap$[@Ti], "brasilis";
+ setarray @pTXcoords[@Ti], 195;
+ setarray @pTYcoords[@Ti], 220;
+
+ QWS_Make_Town_Menu 21;
//----------------Comodo:
setarray @pTmenuitems$[@Ti], "Comodo";
setarray @pTprice[@Ti], $QW_AW_PRICE;
@@ -883,6 +756,24 @@ function script QWS_Tarray {
setarray @pTYcoords[@Ti], 161;
QWS_Make_Town_Menu 5;
+//----------------Dewata:
+ setarray @pTmenuitems$[@Ti], "Dewata";
+ setarray @pTprice[@Ti], $QW_OW_PRICE;
+
+ setarray @pTmap$[@Ti], "dewata";
+ setarray @pTXcoords[@Ti], 199;
+ setarray @pTYcoords[@Ti], 179;
+
+ QWS_Make_Town_Menu 29;
+//----------------Eclage:
+ setarray @pTmenuitems$[@Ti], "Eclage";
+ setarray @pTprice[@Ti], $QW_OW_PRICE;
+
+ setarray @pTmap$[@Ti], "eclage";
+ setarray @pTXcoords[@Ti], 111;
+ setarray @pTYcoords[@Ti], 39;
+
+ QWS_Make_Town_Menu 30;
//----------------Einbech:
setarray @pTmenuitems$[@Ti], "Einbech";
setarray @pTprice[@Ti], $QW_AW_PRICE;
@@ -901,6 +792,15 @@ function script QWS_Tarray {
setarray @pTYcoords[@Ti], 191;
QWS_Make_Town_Menu 7;
+//----------------El Dicastes:
+ setarray @pTmenuitems$[@Ti], "El Dicastes";
+ setarray @pTprice[@Ti], $QW_OW_PRICE;
+
+ setarray @pTmap$[@Ti], "dicastes01";
+ setarray @pTXcoords[@Ti], 197;
+ setarray @pTYcoords[@Ti], 187;
+
+ QWS_Make_Town_Menu 22;
//----------------Geffen:
setarray @pTmenuitems$[@Ti], "Geffen";
setarray @pTprice[@Ti], $QW_BW_PRICE;
@@ -973,6 +873,24 @@ function script QWS_Tarray {
setarray @pTYcoords[@Ti], 131;
QWS_Make_Town_Menu 15;
+//----------------Manuk
+ setarray @pTmenuitems$[@Ti], "Manuk";
+ setarray @pTprice[@Ti], $QW_OW_PRICE;
+
+ setarray @pTmap$[@Ti], "manuk";
+ setarray @pTXcoords[@Ti], 260;
+ setarray @pTYcoords[@Ti], 175;
+
+ QWS_Make_Town_Menu 23;
+//----------------Mora
+ setarray @pTmenuitems$[@Ti], "Mora";
+ setarray @pTprice[@Ti], $QW_OW_PRICE;
+
+ setarray @pTmap$[@Ti], "mora";
+ setarray @pTXcoords[@Ti], 111;
+ setarray @pTYcoords[@Ti], 97;
+
+ QWS_Make_Town_Menu 24;
//----------------Morroc:
setarray @pTmenuitems$[@Ti], "Morroc";
setarray @pTprice[@Ti], $QW_BW_PRICE;
@@ -982,6 +900,15 @@ function script QWS_Tarray {
setarray @pTYcoords[@Ti], 93;
QWS_Make_Town_Menu 16;
+//----------------Moscovia
+ setarray @pTmenuitems$[@Ti], "Moscovia";
+ setarray @pTprice[@Ti], $QW_OW_PRICE;
+
+ setarray @pTmap$[@Ti], "moscovia";
+ setarray @pTXcoords[@Ti], 219;
+ setarray @pTYcoords[@Ti], 193;
+
+ QWS_Make_Town_Menu 25;
//----------------Niflheim:
setarray @pTmenuitems$[@Ti], "Niflheim";
setarray @pTprice[@Ti], $QW_AW_PRICE;
@@ -1000,6 +927,24 @@ function script QWS_Tarray {
setarray @pTYcoords[@Ti], 75;
QWS_Make_Town_Menu 18;
+//----------------Rachel
+ setarray @pTmenuitems$[@Ti], "Rachel";
+ setarray @pTprice[@Ti], $QW_AW_PRICE;
+
+ setarray @pTmap$[@Ti], "rachel";
+ setarray @pTXcoords[@Ti], 130;
+ setarray @pTYcoords[@Ti], 111;
+
+ QWS_Make_Town_Menu 26;
+//----------------Splendide
+ setarray @pTmenuitems$[@Ti], "Splendide";
+ setarray @pTprice[@Ti], $QW_OW_PRICE;
+
+ setarray @pTmap$[@Ti], "splendide";
+ setarray @pTXcoords[@Ti], 200;
+ setarray @pTYcoords[@Ti], 153;
+
+ QWS_Make_Town_Menu 27;
//----------------Umbala:
setarray @pTmenuitems$[@Ti], "Umbala";
setarray @pTprice[@Ti], $QW_AW_PRICE;
@@ -1009,6 +954,15 @@ function script QWS_Tarray {
setarray @pTYcoords[@Ti], 130;
QWS_Make_Town_Menu 19;
+//----------------Veins
+ setarray @pTmenuitems$[@Ti], "Veins";
+ setarray @pTprice[@Ti], $QW_OW_PRICE;
+
+ setarray @pTmap$[@Ti], "veins";
+ setarray @pTXcoords[@Ti], 216;
+ setarray @pTYcoords[@Ti], 123;
+
+ QWS_Make_Town_Menu 28;
//----------------Yuno:
setarray @pTmenuitems$[@Ti], "Yuno";
setarray @pTprice[@Ti], $QW_AW_PRICE;
@@ -1040,8 +994,8 @@ function QWS_Make_Town_Menu {
// check marker and make menu item
menu_item:
if ((@temptownmenubin & ##QWS_T_Unlock) != @temptownmenubin) {
- set @Ti,@Ti+1;
- return;
+ set @Ti,@Ti+1;
+ return;
}
if (@pTprice[@Ti] != 0)&&($QW_MapUserShow == 0) set @Tmenulist$[@Tj], @pTmenuitems$[@Ti]+" -> "+@pTprice[@Ti];
if (@pTprice[@Ti] == 0)&&($QW_MapUserShow == 0) set @Tmenulist$[@Tj], @pTmenuitems$[@Ti];
@@ -1051,49 +1005,31 @@ menu_item:
set @Tj,@Tj+1;
set @Ti,@Ti+1;
return;
-
}
}
//====================Dungeon=Menu=Arrays==========================
-
-//----------------A FAKE DUNGEON FOR EXAMPLE // I do this to find back sections quickly altho almost the same name is a line below it now
-// setarray @pDmenuitems$[@Di], "Fake Dungeon"; // Name of Dungeon shown in Dungeon select Menu
-// setarray @pDprice[@Di], $QW_BW_PRICE; // warp prices (Basic ($QW_BW_PRICE), Advanced ($QW_AW_PRICE), Overseas $QW_OW_PRICE)
-// setarray @pDfee$[@Di], "$QW_BW_FEE"; // Identifyer for the Dungeon fee caluclation (Basic ("$QW_BW_FEE"), Advanced ("$QW_AW_FEE"), Overseas ("$QW_OW_FEE")) please use setting in relation with option above (Don't forget "")
-// setarray @DLevels[@Di], 2; //number of levels in dungeon (very important if set to high will shift all leveldata!!)
+// Adding a dungeon:
+// setarray @pDmenuitems$[@Di], "Abyss Lake"; // Name of Dungeon shown in Dungeon select Menu
+// setarray @pDprice[@Di], $QW_AW_PRICE; // Warp prices: Basic ($QW_BW_PRICE), Advanced ($QW_AW_PRICE), Overseas ($QW_OW_PRICE)
+// setarray @pDfee$[@Di], "$QW_AW_FEE"; // Identifier for fee caluclation: Basic ("$QW_BW_FEE"), Advanced ("$QW_AW_FEE"), Overseas ("$QW_OW_FEE")
+// setarray @DLevels[@Di], 3; // Number of levels in dungeon
//
-// setarray @DGat$[@Dref], "example_01", "example_02"; // mapfilename of dungeon level
-// setarray @DLevelName$[@Dref], "Example Level 1", "Example Level 2"; // level name shown in dungeon level select
-// setarray @DXcoords[@Dref], 123, 234; // X warp coords
-// setarray @DYcoords[@Dref], 123, 234;// Y warp coords
-// setarray @DDepth[@Dref], 0, 1; // relative depth to entrance to calculate extra warp fee
+// setarray @DGat$[@Dref], "abyss_01", "abyss_02", "abyss_03"; // Map names of dungeon levels
+// setarray @DLevelName$[@Dref], "Level 1", "Level 2", "Level 3"; // Name of dungeon levels shown in Menu
+// setarray @DXcoords[@Dref], 265, 275, 116; // X warp coords
+// setarray @DYcoords[@Dref], 273, 270, 27; // Y warp coords
+// setarray @DDepth[@Dref], 0, 1, 2; // Relative depth to entrance, to calculate extra warp fee
//
-// QWS_Make_Dungeon_Menu XXX
+// QWS_Make_Dungeon_Menu 0; // Use a free number (last used is 28, Kiel Dungeon)
//
-// the full wap commands send out by this scripts for these examples would be
-// for Example Level 1:
-//warp example_01 123 123
-//
-// for Example Level 2:
-//warp example_02 234 234
-//
-// use the same XXX number as you used when making your own dungeon unlocker (Warpra Helper) inside the dungeon
-// (usually half way near a warp to next level)
-// Read below how
-//
-// example:
-//
-//syntax:
-//mapname,xcoord,ycoord,directionfacing script Name of NPC NPC-ID,{
-//
-// Full example using fake map & coords
-//
-//example_01,213,213,4 script Warpra Helper 112,{
-// callfunc "QWS_Dungeon_Warpra",XXX,"A FAKE DUNGEON FOR EXAMPLE";
-// close;
+// Adding a warpra:
+// map,x,y,facing script Warpra Helper#example 112,{
+// callfunc "QWS_Dungeon_Warpra",<dungeon number>,"Your Dungeon";
+// close;
// }
-// use a free number for XXX, last used is 28, for Kiel Dungeon
+// Dungeon number is the same as "QWS_Make_Dungeon_Menu".
+//==================================================================
function script QWS_Darray {
function QWS_Make_Dungeon_Menu;
@@ -1101,6 +1037,7 @@ function script QWS_Darray {
set @Di,0;
set @Dj,0;
set @Dref,0;
+
//----------------ABYSS LAKE
setarray @pDmenuitems$[@Di], "Abyss Lake";
setarray @pDprice[@Di], $QW_AW_PRICE;
@@ -1529,10 +1466,10 @@ function QWS_Make_Dungeon_Menu {
// check marker and make menu item
menu_item:
if ((@tempdungeonmenubin & ##QWS_D_Unlock) != @tempdungeonmenubin) {
- setarray @DLocRef[@Di], @Dref;
- set @Dref, @Dref+@DLevels[@Di];
- set @Di,@Di+1;
- return;
+ setarray @DLocRef[@Di], @Dref;
+ set @Dref, @Dref+@DLevels[@Di];
+ set @Di,@Di+1;
+ return;
}
if ($QW_MapUserShow == 1) {
set @tempmapusers,0;
@@ -1540,15 +1477,15 @@ menu_item:
do {
set @tempmapusers,(getmapusers(@DGat$[@Dref+@mapusersloop]) + @tempmapusers);
set @mapusersloop, (@mapusersloop + 1);
- }while (@DLevels[@Di] > @mapusersloop);
- if (@pDprice[@Di] != 0) set @Dmenulist$[@Dj], @pDmenuitems$[@Di]+" ["+@tempmapusers+"] -> "+@pDprice[@Di];
- if (@pDprice[@Di] == 0) set @Dmenulist$[@Dj], @pDmenuitems$[@Di]+" ["+@tempmapusers+"]";
- set @Dmenuref[@Dj],@Di;
- set @Dj,@Dj+1;
- setarray @DLocRef[@Di], @Dref;
- set @Dref, @Dref+@DLevels[@Di];
- set @Di,@Di+1;
- return;
+ } while (@DLevels[@Di] > @mapusersloop);
+ if (@pDprice[@Di] != 0) set @Dmenulist$[@Dj], @pDmenuitems$[@Di]+" ["+@tempmapusers+"] -> "+@pDprice[@Di];
+ if (@pDprice[@Di] == 0) set @Dmenulist$[@Dj], @pDmenuitems$[@Di]+" ["+@tempmapusers+"]";
+ set @Dmenuref[@Dj],@Di;
+ set @Dj,@Dj+1;
+ setarray @DLocRef[@Di], @Dref;
+ set @Dref, @Dref+@DLevels[@Di];
+ set @Di,@Di+1;
+ return;
}
if (@pDprice[@Di] != 0) set @Dmenulist$[@Dj], @pDmenuitems$[@Di]+" -> "+@pDprice[@Di];
if (@pDprice[@Di] == 0) set @Dmenulist$[@Dj], @pDmenuitems$[@Di];
@@ -1558,218 +1495,31 @@ menu_item:
set @Dref, @Dref+@DLevels[@Di];
set @Di,@Di+1;
return;
-
}
}
function script QWS_DLarray {
//----------------Start building Menu
- set @DWref,@DLocRef[@DwarpMenu]; // That's our reference to the arrays with leveldata.
- set @DWi,0; // That's our loop counter.
- set @DWj,0; // That's the menu lines counter.
+ set @DWref,@DLocRef[@DwarpMenu]; // reference to the arrays with leveldata
+ set @DWi,0; // loop counter
+ set @DWj,0; // menu lines counter
cleararray @DWLmenulist$[0],"",20; // Clearing the array to get rid off ghost items in menu
do {
if ($QW_DL == 0)||($QW_DDL >= @DDepth[@DWref]) {
-
set @warpprice, (@pDprice[@DwarpMenu]+ (getd(@pDfee$[@DwarpMenu])*@DDepth[@DWref]));
-
if (@warpprice != 0)&&($QW_MapUserShow == 0) set @DWLmenulist$[@DWj], @DLevelName$[@DWref]+" -> "+@warpprice;
if (@warpprice == 0)&&($QW_MapUserShow == 0) set @DWLmenulist$[@DWj], @DLevelName$[@DWref];
if (@warpprice != 0)&&($QW_MapUserShow == 1) set @DWLmenulist$[@DWj], @DLevelName$[@DWref]+" ["+getmapusers(@DGat$[@DWref])+"] -> "+@warpprice;
if (@warpprice == 0)&&($QW_MapUserShow == 1) set @DWLmenulist$[@DWj], @DLevelName$[@DWref]+" ["+getmapusers(@DGat$[@DWref])+"]";
set @DWLmenuref[@DWj],@DWref;
-
- set @DWj,@DWj+1;
+ set @DWj,@DWj+1;
}
set @DWref, @DWref+1;
set @DWi,@DWi+1;
- }while (@DWi < @DLevels[@DwarpMenu]);
+ } while (@DWi < @DLevels[@DwarpMenu]);
set @DWLmenulist$[@DWj], "Exit";
set @DWLmenuref[@DWj],57005; // 57005='dead' in hex
return;
- }
-
-
-//=================Backwards=Compatibility=Pre=1.8=================
-
-function script QWS_BackComp {
-// reference where i put the towns: "Prontera"[0], "Alberta"[1], "Aldebaran"[2], "Amatsu"[3], "Ayothaya"[4], "Comodo"[5], "Einbech"[6], "Einbroch"[7], "Geffen"[8], "Gonryun"[9], "Hugel"[10], "Izlude"[11], "Jawaii"[12], "Lighthalzen"[13], "Louyang"[14], "Lutie"[15], "Morroc"[16], "Niflheim"[17], "Payon"[18], "Umbala"[19], "Yuno"[20];
-// reference where i put the dungeons: "Abyss Lake"[0], "Amatsu Dungeon"[1], "Ant Hell Dungeon"[2], "Ayotaya Dungeon"[3], "Byalan Dungeon"[4], "Clock Tower Dungeon"[5], "Coal Mine Dungeon"[6], "Culvert Dungeon"[7], "Einbech Dungeon"[8], "Gefenia Dungeon"[9], "Geffen Dungeon"[10], "Glast Heim Dungeon"[11], "Gonryun Dungeon"[12], "Hidden Dungeon"[13], "Juperos Cave"[14], "Lighthalzen Bio Lab"[15], "Louyang Dungeon"[16], "Magma Dungeon"[17], "Odin Temple"[18], "Orc Dungeon"[19], "Payon Dungeon"[20], "Pyramids Dungeon"[21], "Sphinx Dungeon"[22], "Sunken Ship Dungeon"[23], "Thanatos Tower"[24], "Toy Factory Dungeon"[25], "Turtle Island Dungeon"[26], "Umbala Dungeon"[27], "Kiel Dungeon[28];
-// also clears variables so that the account file variables can be used for something else variable 0 = variable delete on next save
-
-// Towns
- set @towntemp,0;
- if (#prontera != 0) set @towntemp,@towntemp + 1;
- if (#alberta != 0) set @towntemp,@towntemp + 2;
- if (#aldebaran != 0) set @towntemp,@towntemp + 4;
- if (#amatsu != 0) set @towntemp,@towntemp + 8;
- if (#ayotaya != 0) set @towntemp,@towntemp + 16;
- if (#comodo != 0) set @towntemp,@towntemp + 32;
- if (#einbech != 0) set @towntemp,@towntemp + 64;
- if (#einbroch != 0) set @towntemp,@towntemp + 128;
- if (#geffen != 0) set @towntemp,@towntemp + 256;
- if (#gonryun != 0) set @towntemp,@towntemp + 512;
- if (#hugel != 0) set @towntemp,@towntemp + 1024;
- if (#izlude != 0) set @towntemp,@towntemp + 2048;
- if (#jawaii != 0) set @towntemp,@towntemp + 4096;
- if (#lighthalzen != 0) set @towntemp,@towntemp + 8192;
- if (#louyang != 0) set @towntemp,@towntemp + 16384;
- if (#xmas != 0) set @towntemp,@towntemp + 32768;
- if (#morocc != 0) set @towntemp,@towntemp + 65536;
- if (#niflheim != 0) set @towntemp,@towntemp + 131072;
- if (#payon != 0) set @towntemp,@towntemp + 262144;
- if (#umbala != 0) set @towntemp,@towntemp + 524288;
- if (#yuno != 0) set @towntemp,@towntemp + 1048576;
-// Clear Town variables
- set #prontera,0;
- set #alberta,0;
- set #aldebaran,0;
- set #amatsu,0;
- set #ayotaya,0;
- set #comodo,0;
- set #einbech,0;
- set #einbroch,0;
- set #geffen,0;
- set #gonryun,0;
- set #hugel,0;
- set #izlude,0;
- set #jawaii,0;
- set #lighthalzen,0;
- set #louyang,0;
- set #xmas,0;
- set #morocc,0;
- set #niflheim,0;
- set #payon,0;
- set #umbala,0;
- set #yuno,0;
-// set Town warp unlock variable
-set ##QWS_T_Unlock, (##QWS_T_Unlock | @towntemp);
- //because multiple account servers now stack on 1 variable i used a 'or' to stack them
-// Dungeons
- set @dungeontemp,0;
- if (#abyss != 0) set @dungeontemp,@dungeontemp + 1;
- if (#ama_dun != 0) set @dungeontemp,@dungeontemp + 2;
- if (#anthell != 0) set @dungeontemp,@dungeontemp + 4;
- if (#ayotaya_dun != 0) set @dungeontemp,@dungeontemp + 8;
- if (#iz_dun != 0) set @dungeontemp,@dungeontemp + 16;
- if (#c_tower != 0) set @dungeontemp,@dungeontemp + 32;
- if (#mjo_dun != 0) set @dungeontemp,@dungeontemp + 64;
- if (#prt_sewb != 0) set @dungeontemp,@dungeontemp + 128;
- if (#einbech_dun != 0) set @dungeontemp,@dungeontemp + 256;
- if (#gefenia != 0) set @dungeontemp,@dungeontemp + 512;
- if (#gef_dun != 0) set @dungeontemp,@dungeontemp + 1024;
- if (#gl_dun != 0) set @dungeontemp,@dungeontemp + 2048;
- if (#gon_dun != 0) set @dungeontemp,@dungeontemp + 4096;
- if (#hid_dun != 0) set @dungeontemp,@dungeontemp + 8192;
- if (#juperos != 0) set @dungeontemp,@dungeontemp + 16384;
- if (#lighthalzen_dun != 0) set @dungeontemp,@dungeontemp + 32768;
- if (#louyang_dun != 0) set @dungeontemp,@dungeontemp + 65536;
- if (#mag_dun != 0) set @dungeontemp,@dungeontemp + 131072;
- if (#odintemple != 0) set @dungeontemp,@dungeontemp + 262144;
- if (#orcsdun != 0) set @dungeontemp,@dungeontemp + 524288;
- if (#pay_dun != 0) set @dungeontemp,@dungeontemp + 1048576;
- if (#moc_pryd != 0) set @dungeontemp,@dungeontemp + 2097152;
- if (#in_sphinx != 0) set @dungeontemp,@dungeontemp + 4194304;
- if (#treasure != 0) set @dungeontemp,@dungeontemp + 8388608;
- if (#thanatos_tower != 0) set @dungeontemp,@dungeontemp + 16777216;
- if (#xmas_dun != 0) set @dungeontemp,@dungeontemp + 33554432;
- if (#tur_dun != 0) set @dungeontemp,@dungeontemp + 67108864;
- if (#um_dun != 0) set @dungeontemp,@dungeontemp + 134217728;
-// Clear Dungeon variables
- set #abyss,0;
- set #ama_dun,0;
- set #anthell,0;
- set #ayotaya_dun,0;
- set #iz_dun,0;
- set #c_tower,0;
- set #mjo_dun,0;
- set #prt_sewb,0;
- set #einbech_dun,0;
- set #gefenia,0;
- set #gef_dun,0;
- set #gl_dun,0;
- set #gon_dun,0;
- set #hid_dun,0;
- set #juperos,0;
- set #lighthalzen_dun,0;
- set #louyang_dun,0;
- set #mag_dun,0;
- set #odintemple,0;
- set #orcsdun,0;
- set #pay_dun,0;
- set #moc_pryd,0;
- set #in_sphinx,0;
- set #treasure,0;
- set #thanatos_tower,0;
- set #xmas_dun,0;
- set #tur_dun,0;
- set #um_dun,0;
-// set Town warp unlock variable
-set ##QWS_D_Unlock, (##QWS_D_Unlock | @dungeontemp);
-//mark that this character has done the upgrade to 1.8
-set ##QWS_UP,18;
-return;
-}
-
-
-//===================Extra=Variable=Clear=Pre=1.8==================
-function script Extra_Variable_Clear {
-// Clear Town variables
- set #prontera,0;
- set #alberta,0;
- set #aldebaran,0;
- set #amatsu,0;
- set #ayotaya,0;
- set #comodo,0;
- set #einbech,0;
- set #einbroch,0;
- set #geffen,0;
- set #gonryun,0;
- set #hugel,0;
- set #izlude,0;
- set #jawaii,0;
- set #lighthalzen,0;
- set #louyang,0;
- set #xmas,0;
- set #morocc,0;
- set #niflheim,0;
- set #payon,0;
- set #umbala,0;
- set #yuno,0;
-
-// Clear Dungeon variables
- set #abyss,0;
- set #ama_dun,0;
- set #anthell,0;
- set #ayotaya_dun,0;
- set #iz_dun,0;
- set #c_tower,0;
- set #mjo_dun,0;
- set #prt_sewb,0;
- set #einbech_dun,0;
- set #gefenia,0;
- set #gef_dun,0;
- set #gl_dun,0;
- set #gon_dun,0;
- set #hid_dun,0;
- set #juperos,0;
- set #lighthalzen_dun,0;
- set #louyang_dun,0;
- set #mag_dun,0;
- set #odintemple,0;
- set #orcsdun,0;
- set #pay_dun,0;
- set #moc_pryd,0;
- set #in_sphinx,0;
- set #treasure,0;
- set #thanatos_tower,0;
- set #xmas_dun,0;
- set #tur_dun,0;
- set #um_dun,0;
-
-// as the account based variables are limited just run this on every character to save some variables
-set QWS_ExtraVARClear,18;
-return;
}
//================Dungeon=Warpras=That=Only=Unlock=================
@@ -1783,12 +1533,12 @@ function script QWS_Dungeon_Warpra {
mes getarg(1)+" unlocked!";
QWS_D_setbin(getarg(0));
return;
- } else if (QWS_D_getbin(getarg(0)) == 1){
+ } else if (QWS_D_getbin(getarg(0)) == 1) {
mes "[Warpra]";
- mes "Sorry I can only unlock this location.";
+ mes "Sorry, I can only unlock this location.";
} else
- debugmes "QWS_Dungeon_Warpra error, improper syntax ?";
- return;
+ debugmes "QWS_Dungeon_Warpra error, improper syntax?";
+ return;
function QWS_D_setbin {
@@ -1809,8 +1559,8 @@ function QWS_D_getbin {
if (getarg(0) == 0) goto binget;
set @temploopgetbin,0;
do {
- set @tempgetbindata, @tempgetbindata * 2;
- set @temploopgetbin, @temploopgetbin + 1;
+ set @tempgetbindata, @tempgetbindata * 2;
+ set @temploopgetbin, @temploopgetbin + 1;
} while (getarg(0) > @temploopgetbin);
binget:
if ((@tempgetbindata & ##QWS_D_Unlock) == @tempgetbindata) return 1;
@@ -1829,20 +1579,19 @@ function script QWS_Town_Warpra {
mes getarg(1)+" unlocked!";
QWS_T_setbin(getarg(0));
return;
- } else if (QWS_T_getbin(getarg(0)) == 1){
-callfunc "Q_Warpra",0;
+ } else if (QWS_T_getbin(getarg(0)) == 1) {
+ callfunc "Q_Warpra",0;
} else
debugmes "QWS_Town_Warpra error, improper syntax ?";
- return;
-
+ return;
function QWS_T_setbin {
set @tempsetbindata,1;
if (getarg(0) == 0) goto binset;
set @temploopsetbin,0;
do {
- set @tempsetbindata, @tempsetbindata * 2;
- set @temploopsetbin, @temploopsetbin + 1;
+ set @tempsetbindata, @tempsetbindata * 2;
+ set @temploopsetbin, @temploopsetbin + 1;
} while (getarg(0) > @temploopsetbin);
binset:
set ##QWS_T_Unlock,(##QWS_T_Unlock | @tempsetbindata);
@@ -1854,8 +1603,8 @@ function QWS_T_getbin {
if (getarg(0) == 0) goto binget;
set @temploopgetbin,0;
do {
- set @tempgetbindata, @tempgetbindata * 2;
- set @temploopgetbin, @temploopgetbin + 1;
+ set @tempgetbindata, @tempgetbindata * 2;
+ set @temploopgetbin, @temploopgetbin + 1;
} while (getarg(0) > @temploopgetbin);
binget:
if ((@tempgetbindata & ##QWS_T_Unlock) == @tempgetbindata) return 1;
@@ -1864,274 +1613,80 @@ binget:
}
//============================Warpras==============================
-alb2trea,73,101,4 script Warpra#1 113,{
- callfunc "Q_Warpra",1;
-}
-ama_fild01,178,325,1 script Warpra#2 113,{
- callfunc "Q_Warpra",1;
-}
-gef_fild10,71,339,4 script Warpra#3 113,{
- callfunc "Q_Warpra",1;
-}
-izlu2dun,104,82,4 script Warpra#4 113,{
- callfunc "Q_Warpra",1;
-}
-mjolnir_02,85,363,4 script Warpra#5 113,{
- callfunc "Q_Warpra",1;
-}
-moc_fild04,207,331,4 script Warpra#6 113,{
- callfunc "Q_Warpra",1;
-}
-moc_fild19,106,97,4 script Warpra#7 113,{
- callfunc "Q_Warpra",1;
-}
-moc_ruins,64,166,4 script Warpra#8 113,{
- callfunc "Q_Warpra",1;
-}
-niflheim,197,192,3 script Warpra#9 113,{
- callfunc "Q_Warpra",1;
-}
-pay_arche,39,135,4 script Warpra#10 113,{
- callfunc "Q_Warpra",1;
-}
-prt_fild05,273,215,4 script Warpra#11 113,{
- callfunc "Q_Warpra",1;
-}
-tur_dun01,148,239,4 script Warpra#12 113,{
- callfunc "Q_Warpra",1;
-}
-valkyrie,48,35,8 script Warpra#13 113,{
- callfunc "Q_Warpra",1;
-}
-yuno_fild03,37,135,4 script Warpra#14 113,{
- callfunc "Q_Warpra",1;
-}
-
-alberta,32,240,4 script Warpra#15 113,{
- callfunc "QWS_Town_Warpra",1,"Alberta Town";
- close;
-}
-aldebaran,146,118,4 script Warpra#16 113,{
- callfunc "QWS_Town_Warpra",2,"Aldebaran Town";
- close;
-}
-ayothaya,216,171,5 script Warpra#17 113,{
- callfunc "QWS_Town_Warpra",4,"Ayotaya Town";
- close;
-}
-amatsu,193,81,1 script Warpra#18 113,{
- callfunc "QWS_Town_Warpra",3,"Amatsu Town";
- close;
-}
-comodo,195,158,4 script Warpra#19 113,{
- callfunc "QWS_Town_Warpra",5,"Comodo Town";
- close;
-}
-einbroch,229,196,5 script Warpra#20 113,{
- callfunc "QWS_Town_Warpra",7,"Einbroch Town";
- close;
-}
-einbech,173,131,5 script Warpra#21 113,{
- callfunc "QWS_Town_Warpra",6,"Einbech Town";
- close;
-}
-geffen,116,66,4 script Warpra#22 113,{
- callfunc "QWS_Town_Warpra",8,"Geffen Town";
- close;
-}
-gonryun,152,130,4 script Warpra#23 113,{
- callfunc "QWS_Town_Warpra",9,"Gonryun Town";
- close;
-}
-hugel,90,127,5 script Warpra#24 113,{
- callfunc "QWS_Town_Warpra",10,"Hugel Town";
- close;
-}
-jawaii,107,182,5 script Warpra#25 113,{
- callfunc "QWS_Town_Warpra",12,"Jawaii Town";
- close;
-}
-izlude,132,116,4 script Warpra#26 113,{
- callfunc "QWS_Town_Warpra",11,"Izlude Town";
- close;
-}
-lighthalzen,153,100,5 script Warpra#27 113,{
- callfunc "QWS_Town_Warpra",13,"Lighthalzen Town";
- close;
-}
-louyang,211,106,4 script Warpra#28 113,{
- callfunc "QWS_Town_Warpra",14,"Louyang Town";
- close;
-}
-morocc,157,95,4 script Warpra#29 113,{
- callfunc "QWS_Town_Warpra",16,"Morroc Town";
- close;
-}
-nif_fild01,319,77,1 script Warpra#30 113,{
- callfunc "QWS_Town_Warpra",17,"Niflheim Town";
- close;
-}
-payon,183,110,4 script Warpra#31 113,{
- callfunc "QWS_Town_Warpra",18,"Payon Town";
- close;
-}
-prontera,147,172,5 script Warpra#32 113,{
- callfunc "QWS_Town_Warpra",0,"Prontera Town";
- close;
-}
-umbala,133,130,4 script Warpra#33 113,{
- callfunc "QWS_Town_Warpra",19,"Umbala Town";
- close;
-}
-xmas,151,136,4 script Warpra#34 113,{
- callfunc "QWS_Town_Warpra",15,"Lutie Town";
- close;
-}
-yuno,138,162,4 script Warpra#35 113,{
- callfunc "QWS_Town_Warpra",20,"Yuno Town";
- close;
-}
-
-abyss_02,274,266,1 script Warpra#36 113,{
- callfunc "QWS_Dungeon_Warpra",0,"Abyss Lake";
- close;
-}
-
-ama_dun02,192,118,5 script Warpra Helper#1 112,{
- callfunc "QWS_Dungeon_Warpra",1,"Amatsu Dungeon";
- close;
-}
-
-anthell02,170,165,3 script Warpra Helper#2 112,{
- callfunc "QWS_Dungeon_Warpra",2,"Ant Hell Dungeon";
- close;
-}
-
-ayo_dun02,258,193,5 script Warpra Helper#3 112,{
- callfunc "QWS_Dungeon_Warpra",3,"Ayotaya Dungeon";
- close;
-}
-
-ein_dun02,292,282,1 script Warpra Helper#4 112,{
- callfunc "QWS_Dungeon_Warpra",8,"Einbech Dungeon";
- close;
-}
-
-iz_dun03,202,47,2 script Warpra Helper#5 112,{
- callfunc "QWS_Dungeon_Warpra",4,"Byalan Dungeon";
- close;
-}
-
-c_tower3,129,106,4 script Warpra Helper#6 112,{
- callfunc "QWS_Dungeon_Warpra",5,"Clock Tower Dungeon";
- close;
-}
-
-mjo_dun02,39,25,4 script Warpra Helper#7 112,{
- callfunc "QWS_Dungeon_Warpra",6,"Coal Mine Dungeon";
- close;
-}
-
-prt_sewb2,176,30,3 script Warpra Helper#8 112,{
- callfunc "QWS_Dungeon_Warpra",7,"Culvert Dungeon";
- close;
-}
-
-gefenia03,137,34,0 script Warpra Helper#9 112,{
- callfunc "QWS_Dungeon_Warpra",9,"Gefenia Dungeon";
- close;
-}
-
-gef_dun02,218,61,2 script Warpra Helper#10 112,{
- callfunc "QWS_Dungeon_Warpra",10,"Gefen Dungeon";
- close;
-}
-
-glast_01,371,308,3 script Warpra Helper#11 112,{
- callfunc "QWS_Dungeon_Warpra",11,"Glast Heim Dungeon";
- close;
-}
-
-gon_dun01,167,273,4 script Warpra Helper#12 112,{
- callfunc "QWS_Dungeon_Warpra",12,"Gonryun Dungeon";
- close;
-}
-
-juperos_02,127,154,5 script Warpra Helper#13 112,{
- callfunc "QWS_Dungeon_Warpra",14,"Juperos Cave";
- close;
-}
-
-kh_dun01,14,224,3 script Warpra Helper#14 112,{
- callfunc "QWS_Dungeon_Warpra",28,"Kiel Dungeon";
- close;
-}
-
-lhz_dun02,156,151,5 script Warpra Helper#15 112,{
- callfunc "QWS_Dungeon_Warpra",15,"Lighthalzen Bio Lab";
- close;
-}
-
-lou_dun02,168,264,4 script Warpra Helper#16 112,{
- callfunc "QWS_Dungeon_Warpra",16,"Louyang Dungeon";
- close;
-}
-
-mag_dun02,46,41,3 script Warpra Helper#17 112,{
- callfunc "QWS_Dungeon_Warpra",17,"Magma Dungeon";
- close;
-}
-
-odin_tem01,115,148,3 script Warpra Helper#18 112,{
- callfunc "QWS_Dungeon_Warpra",18,"Odin Temple";
- close;
-}
-
-orcsdun01,185,11,3 script Warpra Helper#19 112,{
- callfunc "QWS_Dungeon_Warpra",19,"Orc Dungeon";
- close;
-}
-
-pay_dun03,162,143,3 script Warpra Helper#20 112,{
- callfunc "QWS_Dungeon_Warpra",20,"Payon Dungeon";
- close;
-}
-
-moc_pryd02,101,95,3 script Warpra Helper#21 112,{
- callfunc "QWS_Dungeon_Warpra",21,"Pyramides Dungeon";
- close;
-}
-
-in_sphinx2,274,268,1 script Warpra Helper#22 112,{
- callfunc "QWS_Dungeon_Warpra",22,"Sphinx Dungeon";
- close;
-}
-
-tha_t07,111,162,3 script Warpra Helper#23 112,{
- callfunc "QWS_Dungeon_Warpra",24,"Thanatos Tower";
- close;
-}
-
-treasure02,104,40,3 script Warpra Helper#24 112,{
- callfunc "QWS_Dungeon_Warpra",23,"Sunken Ship Dungeon";
- close;
-}
-
-xmas_dun02,124,131,3 script Warpra Helper#25 112,{
- callfunc "QWS_Dungeon_Warpra",25,"Toy Factory Dungeon";
- close;
-}
-
-um_dun02,44,28,3 script Warpra Helper#26 112,{
- callfunc "QWS_Dungeon_Warpra",27,"Umbala Dungeon";
- close;
-}
-
-tur_dun02,162,23,3 script Warpra Helper#27 112,{
- callfunc "QWS_Dungeon_Warpra",26,"Turtle Island Dungeon";
- close;
-}
-prt_maze02,102,69,4 script Warpra Helper#28 112,{
- callfunc "QWS_Dungeon_Warpra",13,"Hidden Dungeon";
- close;
-}
+- script Warpra#0 -1,{ callfunc "Q_Warpra",1; }
+alb2trea,73,101,4 duplicate(Warpra#0) Warpra#1 113
+ama_fild01,178,325,1 duplicate(Warpra#0) Warpra#2 113
+gef_fild10,71,339,4 duplicate(Warpra#0) Warpra#3 113
+izlu2dun,104,82,4 duplicate(Warpra#0) Warpra#4 113
+mjolnir_02,85,363,4 duplicate(Warpra#0) Warpra#5 113
+moc_fild04,207,331,4 duplicate(Warpra#0) Warpra#6 113
+moc_fild19,106,97,4 duplicate(Warpra#0) Warpra#7 113
+moc_ruins,64,166,4 duplicate(Warpra#0) Warpra#8 113
+niflheim,197,192,3 duplicate(Warpra#0) Warpra#9 113
+pay_arche,39,135,4 duplicate(Warpra#0) Warpra#10 113
+prt_fild05,273,215,4 duplicate(Warpra#0) Warpra#11 113
+tur_dun01,148,239,4 duplicate(Warpra#0) Warpra#12 113
+valkyrie,48,35,8 duplicate(Warpra#0) Warpra#13 113
+yuno_fild03,37,135,4 duplicate(Warpra#0) Warpra#14 113
+
+alberta,32,240,4 script Warpra#15 113,{ callfunc "QWS_Town_Warpra",1,"Alberta Town"; close; }
+aldebaran,146,118,4 script Warpra#16 113,{ callfunc "QWS_Town_Warpra",2,"Aldebaran Town"; close; }
+ayothaya,216,171,5 script Warpra#17 113,{ callfunc "QWS_Town_Warpra",4,"Ayotaya Town"; close; }
+amatsu,193,81,1 script Warpra#18 113,{ callfunc "QWS_Town_Warpra",3,"Amatsu Town"; close; }
+comodo,195,158,4 script Warpra#19 113,{ callfunc "QWS_Town_Warpra",5,"Comodo Town"; close; }
+einbroch,229,196,5 script Warpra#20 113,{ callfunc "QWS_Town_Warpra",7,"Einbroch Town"; close; }
+einbech,173,131,5 script Warpra#21 113,{ callfunc "QWS_Town_Warpra",6,"Einbech Town"; close; }
+geffen,116,66,4 script Warpra#22 113,{ callfunc "QWS_Town_Warpra",8,"Geffen Town"; close; }
+gonryun,152,130,4 script Warpra#23 113,{ callfunc "QWS_Town_Warpra",9,"Gonryun Town"; close; }
+hugel,90,127,5 script Warpra#24 113,{ callfunc "QWS_Town_Warpra",10,"Hugel Town"; close; }
+jawaii,107,182,5 script Warpra#25 113,{ callfunc "QWS_Town_Warpra",12,"Jawaii Town"; close; }
+izlude,132,116,4 script Warpra#26 113,{ callfunc "QWS_Town_Warpra",11,"Izlude Town"; close; }
+lighthalzen,153,100,5 script Warpra#27 113,{ callfunc "QWS_Town_Warpra",13,"Lighthalzen Town"; close; }
+louyang,211,106,4 script Warpra#28 113,{ callfunc "QWS_Town_Warpra",14,"Louyang Town"; close; }
+morocc,157,95,4 script Warpra#29 113,{ callfunc "QWS_Town_Warpra",16,"Morroc Town"; close; }
+nif_fild01,319,77,1 script Warpra#30 113,{ callfunc "QWS_Town_Warpra",17,"Niflheim Town"; close; }
+payon,183,110,4 script Warpra#31 113,{ callfunc "QWS_Town_Warpra",18,"Payon Town"; close; }
+prontera,147,172,5 script Warpra#32 113,{ callfunc "QWS_Town_Warpra",0,"Prontera Town"; close; }
+umbala,133,130,4 script Warpra#33 113,{ callfunc "QWS_Town_Warpra",19,"Umbala Town"; close; }
+xmas,151,136,4 script Warpra#34 113,{ callfunc "QWS_Town_Warpra",15,"Lutie Town"; close; }
+yuno,138,162,4 script Warpra#35 113,{ callfunc "QWS_Town_Warpra",20,"Yuno Town"; close; }
+brasilis,201,222,4 script Warpra#36 113,{ callfunc "QWS_Town_Warpra",21,"Brasilis Town"; close; }
+dicastes01,194,194,6 script Warpra#37 113,{ callfunc "QWS_Town_Warpra",22,"El Dicastes Town"; close; }
+manuk,262,177,4 script Warpra#38 113,{ callfunc "QWS_Town_Warpra",23,"Manuk Town"; close; }
+mora,110,100,4 script Warpra#39 113,{ callfunc "QWS_Town_Warpra",24,"Mora Town"; close; }
+moscovia,216,196,6 script Warpra#40 113,{ callfunc "QWS_Town_Warpra",25,"Moscovia Town"; close; }
+rachel,135,116,4 script Warpra#41 113,{ callfunc "QWS_Town_Warpra",26,"Rachel Town"; close; }
+splendide,205,153,4 script Warpra#42 113,{ callfunc "QWS_Town_Warpra",27,"Splendide Town"; close; }
+veins,214,123,4 script Warpra#43 113,{ callfunc "QWS_Town_Warpra",28,"Veins Town"; close; }
+dewata,194,178,6 script Warpra#44 113,{ callfunc "QWS_Town_Warpra",29,"Dewata Town"; close; }
+eclage,107,37,4 script Warpra#45 113,{ callfunc "QWS_Town_Warpra",30,"Eclage Town"; close; }
+
+abyss_02,274,266,1 script Warpra Helper#0 112,{ callfunc "QWS_Dungeon_Warpra",0,"Abyss Lake"; close; }
+ama_dun02,192,118,5 script Warpra Helper#1 112,{ callfunc "QWS_Dungeon_Warpra",1,"Amatsu Dungeon"; close; }
+anthell02,170,165,3 script Warpra Helper#2 112,{ callfunc "QWS_Dungeon_Warpra",2,"Ant Hell Dungeon"; close; }
+ayo_dun02,258,193,5 script Warpra Helper#3 112,{ callfunc "QWS_Dungeon_Warpra",3,"Ayotaya Dungeon"; close; }
+ein_dun02,292,282,1 script Warpra Helper#4 112,{ callfunc "QWS_Dungeon_Warpra",8,"Einbech Dungeon"; close; }
+iz_dun03,202,47,2 script Warpra Helper#5 112,{ callfunc "QWS_Dungeon_Warpra",4,"Byalan Dungeon"; close; }
+c_tower3,129,106,4 script Warpra Helper#6 112,{ callfunc "QWS_Dungeon_Warpra",5,"Clock Tower Dungeon"; close; }
+mjo_dun02,39,25,4 script Warpra Helper#7 112,{ callfunc "QWS_Dungeon_Warpra",6,"Coal Mine Dungeon"; close; }
+prt_sewb2,176,30,3 script Warpra Helper#8 112,{ callfunc "QWS_Dungeon_Warpra",7,"Culvert Dungeon"; close; }
+gefenia03,137,34,0 script Warpra Helper#9 112,{ callfunc "QWS_Dungeon_Warpra",9,"Gefenia Dungeon"; close; }
+gef_dun02,218,61,2 script Warpra Helper#10 112,{ callfunc "QWS_Dungeon_Warpra",10,"Gefen Dungeon"; close; }
+glast_01,371,308,3 script Warpra Helper#11 112,{ callfunc "QWS_Dungeon_Warpra",11,"Glast Heim Dungeon"; close; }
+gon_dun01,167,273,4 script Warpra Helper#12 112,{ callfunc "QWS_Dungeon_Warpra",12,"Gonryun Dungeon"; close; }
+juperos_02,127,154,5 script Warpra Helper#13 112,{ callfunc "QWS_Dungeon_Warpra",14,"Juperos Cave"; close; }
+kh_dun01,14,224,3 script Warpra Helper#14 112,{ callfunc "QWS_Dungeon_Warpra",28,"Kiel Dungeon"; close; }
+lhz_dun02,156,151,5 script Warpra Helper#15 112,{ callfunc "QWS_Dungeon_Warpra",15,"Lighthalzen Bio Lab"; close; }
+lou_dun02,168,264,4 script Warpra Helper#16 112,{ callfunc "QWS_Dungeon_Warpra",16,"Louyang Dungeon"; close; }
+mag_dun02,46,41,3 script Warpra Helper#17 112,{ callfunc "QWS_Dungeon_Warpra",17,"Magma Dungeon"; close; }
+odin_tem01,115,148,3 script Warpra Helper#18 112,{ callfunc "QWS_Dungeon_Warpra",18,"Odin Temple"; close; }
+orcsdun01,185,11,3 script Warpra Helper#19 112,{ callfunc "QWS_Dungeon_Warpra",19,"Orc Dungeon"; close; }
+pay_dun03,162,143,3 script Warpra Helper#20 112,{ callfunc "QWS_Dungeon_Warpra",20,"Payon Dungeon"; close; }
+moc_pryd02,101,95,3 script Warpra Helper#21 112,{ callfunc "QWS_Dungeon_Warpra",21,"Pyramides Dungeon"; close; }
+in_sphinx2,274,268,1 script Warpra Helper#22 112,{ callfunc "QWS_Dungeon_Warpra",22,"Sphinx Dungeon"; close; }
+tha_t07,111,162,3 script Warpra Helper#23 112,{ callfunc "QWS_Dungeon_Warpra",24,"Thanatos Tower"; close; }
+treasure02,104,40,3 script Warpra Helper#24 112,{ callfunc "QWS_Dungeon_Warpra",23,"Sunken Ship Dungeon"; close; }
+xmas_dun02,124,131,3 script Warpra Helper#25 112,{ callfunc "QWS_Dungeon_Warpra",25,"Toy Factory Dungeon"; close; }
+um_dun02,44,28,3 script Warpra Helper#26 112,{ callfunc "QWS_Dungeon_Warpra",27,"Umbala Dungeon"; close; }
+tur_dun02,162,23,3 script Warpra Helper#27 112,{ callfunc "QWS_Dungeon_Warpra",26,"Turtle Island Dungeon"; close; }
+prt_maze02,102,69,4 script Warpra Helper#28 112,{ callfunc "QWS_Dungeon_Warpra",13,"Hidden Dungeon"; close; } \ No newline at end of file