-
Posts
883 -
Joined
-
Last visited
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Everything posted by Quesooo
-
lol its the same i just put the script to see it clearly
-
to make it easy here //===== rAthena Script ============================================ //= Quest Warper Script //===== By: ======================================================= //= DZeroX, Darkchild, Neouni //===== Current Version: ========================================== //= 2.3 //===== Compatible With: ========================================== //= rAthena Project //===== Description: ============================================== //= Warper that works only after locations are unlocked. //===== Additional Comments: ====================================== //= 1.0 - NPCs created //= 1.1 - Add Dungeons by sturm //= 1.2 - Add All char in account unlocked by ace_killer //= 1.3 - Add new 7 towns and 7 dungeons by escoteiro // - Correct bug jawaii town by escoteiro // - Remove some excessive warpras by escoteiro //= 1.4 - Rewrite of the Warpa system [Neouni] // - Corrected some bugs caused by autoconverting the old script //= 1.4a - Rewrite of menu to be custom for each player [Neouni] // - Dungeon listing rewrite // - Town listing rewrite // - GameMaster can Customise Main menu //= 1.4b - Pricing round [Neouni] // - GM menu added for pricing // - Town Warp pricing tags added // - Dungeon Warp pricing tags added //= 1.5 - storage functions pricing [Neouni] // - storage pricing added // - kafra points setting added // - kafra storage code security added // - Healing scripts pricing added // - Heal Part script added //= 1.6 - Dungeon warp [Neouni] (beta only) // - added option to add a extra fee for going down deeper into dungeon // partly by rebuilding the dungeon warping into variable menu's //= 1.6a - alot of fixes for beta release [Neouni] (public release) // - fixed syntax problems // - fixed missing pyramid gats in @DGat$ array // - removed the culver level 5 that didn't exist //= 1.7 - Readability of Dungeon menu building increased [Neouni] // - Thanatos Tower & Louyang Dungeon added //= 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 ! // - Dungeon Warp unlock array 28/(unknown max) items used instead of max account #variables 32 ! // - (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 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] // - 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 ! //= 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.3 - Added new town maps, cleanup, and removed pre-1.8 backwards fix. [Euphy] //================================================================= //========================Function=&=Script======================== function script Q_Warpra { mes "[Warpra]"; mes "Hello,"; 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; if(getarg(0) == 1) callfunc "QWS_MMarray",1; 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 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; case 11: default: goto L_end; } //=====================GM-Menu=Functions=========================== GM_Menu: 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"; mes "Show Map Users = "+(($QW_MapUserShow)?"^00FF00 On":"^FF0000 Off")+"^000000"; 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"; 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; case 6: if ($QW_HP == 0) { set $QW_HP,1; set $QW_HF,0; } else set $QW_HP,0; goto GM_Menu; 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 through the list to see all the options."; 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"; 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"; 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"); 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 "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========================== SpecialWarpMenu: if ($QW_SP_Warpname$ == "") set $QW_SP_Warpname$,"Special Warp"; next; mes "Scroll down to see all the information"; mes "The Special warp menu option will show in the main menu when all towns & dungeons are unlocked"; mes "And when the map for special warping has been set"; mes "menu option name set to ^0000FF"+$QW_SP_Warpname$+"^000000"; if ($QW_SP_WarpMap$ == "") mes "map is currently ^FF0000not^000000 set, and Special warp menu is off"; 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; } //======================Dungeon=Level=Limit======================== DungeonLevelLimit: next; 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: 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 3: goto GM_Menu; default: close; end; } //===========================Towns================================= L_town: callfunc "QWS_Tarray"; 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; set Zeny, Zeny+@pTprice[@Tmenuref[@TWMenu-1]]; end; //=========================Dungeons================================ 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; //=============================Healing============================= L_heal_Full: set @healfee, $QW_HF_PRICE; if(Zeny<@healfee) callsub L_Short_on_zeny,4; set Zeny, Zeny-@healfee; if ($QW_KPoint == 1) set RESRVPTS, RESRVPTS + (@healfee/500); next; mes "[Warpra]"; mes "Close this window and I will heal you."; close2; percentheal 100,100; end; L_heal_Part: set @healchoice,select("Full heal","Health Points only","Skill Points only","Exit"); if (@healchoice == 1) callsub PHeal,1,1; if (@healchoice == 2) callsub PHeal,1,0; if (@healchoice == 3) callsub PHeal,0,1; goto L_end; PHeal: next; set @Hp, MaxHp-Hp; set @Sp, MaxSp-Sp; set @HpPrice, @hp*$QW_HP_H_PRICE; set @SpPrice, @sp*$QW_HP_S_PRICE; mes "[Warpra]"; if(getarg(0) == 1) mes ""+@HpPrice+" Zeny for "+@Hp+" health points"; if(getarg(1) == 1) mes ""+@SpPrice+" Zeny for "+@Sp+" skill points"; set @total, @HpPrice+@SpPrice; mes "for a total of "+@total+" zeny"; if (select("Heal me","Let me see the choices again")==2) goto L_heal_Part; if(getarg(0) == 1)set @HpPrice, (MaxHp-Hp)*$QW_HP_H_PRICE; if(getarg(1) == 1)set @SpPrice, (MaxSp-Sp)*$QW_HP_S_PRICE; set @healfee, @HpPrice+@SpPrice; if (getarg(0) == 1)&&(getarg(1) == 1)&&(Zeny<@healfee) goto Zeny_Short_Both; if (getarg(0) == 1)&&(Zeny<@healfee) goto Zeny_short_HP; if (getarg(1) == 1)&&(Zeny<@healfee) goto Zeny_short_SP; set Zeny, Zeny-@healfee; if (getarg(0) == 1)&&(getarg(1) == 1) percentheal 100,100; if (getarg(0) == 1) percentheal 100,0; if (getarg(1) == 1) percentheal 0,100; close; end; Zeny_Short_Both: mes "[Warpra]"; 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?"; 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 "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?"; 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 "You're not worth the effort."; if (@Sp == 1) goto L_end; set Zeny, Zeny-@SpPrice; heal 0,@Sp; close; end; //=============================Storage============================= L_Storage: next; if(!callfunc("F_CanOpenStorage")) goto L_StorageJBlow; set @fee, $QW_S_PRICE; if ($QW_S_PRICE == 60)&&(BaseJob == Job_Novice) set @fee, 30; if ($QW_S_PRICE == 60)&&(BaseJob != Job_Novice) set @fee, 60; if(Zeny<@fee) callsub L_Short_on_zeny,2; set Zeny, Zeny-@fee; if ($QW_KPoint == 1) set RESRVPTS, RESRVPTS + (@fee/5); mes "[Warpra]"; 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; 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) { 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."; close2; guildopenstorage; end; L_end: close; end; //============================Few=Warp============================= L_FewWarps: next; 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 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 "I don't unlock this location, my assistant deeper in the dungeon will unlock this place."; close; end; //=========================Short=On=Zeny=========================== L_Short_on_zeny: next; 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; //===========================Stamp=Card============================ stampcard: // Counting of the ammount of places you have unlocked next; 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..."; emotion e_heh; } next; 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 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,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; } function script QWS_DungeonStamps { set @Dstamp,0; set @MaxDstamp,29; //maximum number of dungeons 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; } //======================Main=Menu=Array============================ function script QWS_MMarray { // 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 //----------------GameMaster-Menu 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 @Mi,@Mi+1; //----------------Town-Warp 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]; set @Mmenuref[@Mj],@Mi; set @Mj,@Mj+1; } set @Mi,@Mi+1; //----------------Why-So-Few-Warps set @Mmenulist$[@Mj],@pMmenuitems$[@Mi]; set @Mmenuref[@Mj],@Mi; set @Mj,@Mj+1; set @Mi,@Mi+1; //----------------No-Unlock 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]; set @Mmenuref[@Mj],@Mi; set @Mj,@Mj+1; } set @Mi,@Mi+1; //----------------Healpart 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]; set @Mmenuref[@Mj],@Mi; set @Mj,@Mj+1; } set @Mi,@Mi+1; //----------------GuildStorage 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============================ // 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) // // setarray @pTmap$[@Ti], "prontera"; // Map name // setarray @pTXcoords[@Ti], 156; // X warp coords // setarray @pTYcoords[@Ti], 187; // Y warp coords // // QWS_Make_Town_Menu 0; // Use a free number (last used is 30, Eclage) // // Adding a warpra: // map,x,y,facing script Warpra#example 113,{ // callfunc "QWS_Town_Warpra",<town number>,"Your Town"; // close; // } // Town number is the same as "QWS_Make_Town_Menu". //================================================================== function script QWS_Tarray { function QWS_Make_Town_Menu; set @Ti,0; // loop counter set @Tj,0; // menu lines counter //----------------Prontera setarray @pTmenuitems$[@Ti], "Prontera"; setarray @pTprice[@Ti], $QW_BW_PRICE; setarray @pTmap$[@Ti], "prontera"; setarray @pTXcoords[@Ti], 156; setarray @pTYcoords[@Ti], 187; QWS_Make_Town_Menu 0; //----------------Alberta setarray @pTmenuitems$[@Ti], "Alberta"; setarray @pTprice[@Ti], $QW_BW_PRICE; setarray @pTmap$[@Ti], "alberta"; setarray @pTXcoords[@Ti], 27; setarray @pTYcoords[@Ti], 236; QWS_Make_Town_Menu 1; //----------------Aldebaran setarray @pTmenuitems$[@Ti], "Aldebaran"; setarray @pTprice[@Ti], $QW_AW_PRICE; setarray @pTmap$[@Ti], "aldebaran"; setarray @pTXcoords[@Ti], 145; setarray @pTYcoords[@Ti], 120; QWS_Make_Town_Menu 2; //----------------Amatsu: setarray @pTmenuitems$[@Ti], "Amatsu"; setarray @pTprice[@Ti], $QW_OW_PRICE; setarray @pTmap$[@Ti], "amatsu"; setarray @pTXcoords[@Ti], 197; setarray @pTYcoords[@Ti], 86; QWS_Make_Town_Menu 3; //----------------Ayothaya: setarray @pTmenuitems$[@Ti], "Ayothaya"; setarray @pTprice[@Ti], $QW_OW_PRICE; setarray @pTmap$[@Ti], "ayothaya"; setarray @pTXcoords[@Ti], 150; 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; setarray @pTmap$[@Ti], "comodo"; setarray @pTXcoords[@Ti], 188; 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; setarray @pTmap$[@Ti], "einbech"; setarray @pTXcoords[@Ti], 172; setarray @pTYcoords[@Ti], 126; QWS_Make_Town_Menu 6; //----------------Einbroch: setarray @pTmenuitems$[@Ti], "Einbroch"; setarray @pTprice[@Ti], $QW_AW_PRICE; setarray @pTmap$[@Ti], "einbroch"; setarray @pTXcoords[@Ti], 230; 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; setarray @pTmap$[@Ti], "geffen"; setarray @pTXcoords[@Ti], 119; setarray @pTYcoords[@Ti], 66; QWS_Make_Town_Menu 8; //----------------Gonryun: setarray @pTmenuitems$[@Ti], "Gonryun"; setarray @pTprice[@Ti], $QW_OW_PRICE; setarray @pTmap$[@Ti], "gonryun"; setarray @pTXcoords[@Ti], 150; setarray @pTYcoords[@Ti], 130; QWS_Make_Town_Menu 9; //----------------Hugel: setarray @pTmenuitems$[@Ti], "Hugel"; setarray @pTprice[@Ti], $QW_AW_PRICE; setarray @pTmap$[@Ti], "hugel"; setarray @pTXcoords[@Ti], 95; setarray @pTYcoords[@Ti], 121; QWS_Make_Town_Menu 10; //----------------Izlude: setarray @pTmenuitems$[@Ti], "Izlude"; setarray @pTprice[@Ti], $QW_BW_PRICE; setarray @pTmap$[@Ti], "izlude"; setarray @pTXcoords[@Ti], 128; setarray @pTYcoords[@Ti], 111; QWS_Make_Town_Menu 11; //----------------Jawaii: setarray @pTmenuitems$[@Ti], "Jawaii"; setarray @pTprice[@Ti], $QW_AW_PRICE; setarray @pTmap$[@Ti], "jawaii"; setarray @pTXcoords[@Ti], 243; setarray @pTYcoords[@Ti], 115; QWS_Make_Town_Menu 12; //----------------Lighthalzen: setarray @pTmenuitems$[@Ti], "Lighthalzen"; setarray @pTprice[@Ti], $QW_AW_PRICE; setarray @pTmap$[@Ti], "lighthalzen"; setarray @pTXcoords[@Ti], 158; setarray @pTYcoords[@Ti], 110; QWS_Make_Town_Menu 13; //----------------Louyang: setarray @pTmenuitems$[@Ti], "Louyang"; setarray @pTprice[@Ti], $QW_OW_PRICE; setarray @pTmap$[@Ti], "louyang"; setarray @pTXcoords[@Ti], 210; setarray @pTYcoords[@Ti], 108; QWS_Make_Town_Menu 14; //----------------Lutie setarray @pTmenuitems$[@Ti], "Lutie"; setarray @pTprice[@Ti], $QW_AW_PRICE; setarray @pTmap$[@Ti], "xmas"; setarray @pTXcoords[@Ti], 148; 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; setarray @pTmap$[@Ti], "morocc"; setarray @pTXcoords[@Ti], 159; 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; setarray @pTmap$[@Ti], "niflheim"; setarray @pTXcoords[@Ti], 195; setarray @pTYcoords[@Ti], 186; QWS_Make_Town_Menu 17; //----------------Payon: setarray @pTmenuitems$[@Ti], "Payon"; setarray @pTprice[@Ti], $QW_BW_PRICE; setarray @pTmap$[@Ti], "payon"; setarray @pTXcoords[@Ti], 152; 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; setarray @pTmap$[@Ti], "umbala"; setarray @pTXcoords[@Ti], 130; 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; setarray @pTmap$[@Ti], "yuno"; setarray @pTXcoords[@Ti], 160; setarray @pTYcoords[@Ti], 168; QWS_Make_Town_Menu 20; //----------------Cancel setarray @pTmenuitems$[@Ti], "Cancel"; setarray @pTprice[@Ti], 0; set @Tmenulist$[@Tj],@pTmenuitems$[@Ti]; set @Tmenuref[@Tj],57005; // 57005='dead' in hex return; //----------------Make Town Menu Function function QWS_Make_Town_Menu { set @temptownmenubin,1; if (getarg(0) == 0) goto menu_item; set @templooptownmenu,0; do { set @temptownmenubin, @temptownmenubin * 2; set @templooptownmenu, @templooptownmenu + 1; }while (getarg(0) > @templooptownmenu); // check marker and make menu item menu_item: if ((@temptownmenubin & ##QWS_T_Unlock) != @temptownmenubin) { 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]; if (@pTprice[@Ti] != 0)&&($QW_MapUserShow == 1) set @Tmenulist$[@Tj], @pTmenuitems$[@Ti]+" ["+getmapusers(@pTmap$[@Ti])+"]"+" -> "+@pTprice[@Ti]; if (@pTprice[@Ti] == 0)&&($QW_MapUserShow == 1) set @Tmenulist$[@Tj], @pTmenuitems$[@Ti]+" ["+getmapusers(@pTmap$[@Ti])+"]"; set @Tmenuref[@Tj],@Ti; set @Tj,@Tj+1; set @Ti,@Ti+1; return; } } //====================Dungeon=Menu=Arrays========================== // 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], "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 0; // Use a free number (last used is 28, Kiel Dungeon) // // Adding a warpra: // map,x,y,facing script Warpra Helper#example 112,{ // callfunc "QWS_Dungeon_Warpra",<dungeon number>,"Your Dungeon"; // close; // } // Dungeon number is the same as "QWS_Make_Dungeon_Menu". //================================================================== function script QWS_Darray { function QWS_Make_Dungeon_Menu; set @Di,0; set @Dj,0; set @Dref,0; //----------------ABYSS LAKE setarray @pDmenuitems$[@Di], "Abyss Lake"; setarray @pDprice[@Di], $QW_AW_PRICE; setarray @pDfee$[@Di], "$QW_AW_FEE"; setarray @DLevels[@Di], 3; setarray @DGat$[@Dref], "abyss_01", "abyss_02", "abyss_03"; setarray @DLevelName$[@Dref], "Level 1", "Level 2", "Level 3"; setarray @DXcoords[@Dref], 265, 275, 116; setarray @DYcoords[@Dref], 273, 270, 27; setarray @DDepth[@Dref], 0, 1, 2; QWS_Make_Dungeon_Menu 0; //----------------AMATSU DUNGEON setarray @pDmenuitems$[@Di], "Amatsu Dungeon"; setarray @pDprice[@Di], $QW_OW_PRICE; setarray @pDfee$[@Di], "$QW_OW_FEE"; setarray @DLevels[@Di], 3; setarray @DGat$[@Dref], "ama_dun01", "ama_dun02", "ama_dun03"; setarray @DLevelName$[@Dref], "Level 1", "Level 2", "Level 3"; setarray @DXcoords[@Dref], 227, 32, 119; setarray @DYcoords[@Dref], 10, 43, 15; setarray @DDepth[@Dref], 0, 1, 2; QWS_Make_Dungeon_Menu 1; //----------------ANT HELL setarray @pDmenuitems$[@Di], "Ant Hell Dungeon"; setarray @pDprice[@Di], $QW_BW_PRICE; setarray @pDfee$[@Di], "$QW_BW_FEE"; setarray @DLevels[2], 2; setarray @DGat$[@Dref], "anthell01", "anthell02"; setarray @DLevelName$[@Dref], "Level 1", "Level 2"; setarray @DXcoords[@Dref], 32, 34; setarray @DYcoords[@Dref], 262, 263; setarray @DDepth[@Dref], 0, 1; QWS_Make_Dungeon_Menu 2; //----------------AYOTAYA setarray @pDmenuitems$[@Di], "Ayotaya Dungeon"; setarray @pDprice[@Di], $QW_OW_PRICE; setarray @pDfee$[@Di], "$QW_OW_FEE"; setarray @DLevels[3], 2; setarray @DGat$[@Dref], "ayo_dun01", "ayo_dun02"; setarray @DLevelName$[@Dref], "Level 1", "Level 2"; setarray @DXcoords[@Dref], 275, 150; setarray @DYcoords[@Dref], 17, 13; setarray @DDepth[@Dref], 0, 1; QWS_Make_Dungeon_Menu 3; //----------------BYALAN setarray @pDmenuitems$[@Di], "Byalan Dungeon"; setarray @pDprice[@Di], $QW_BW_PRICE; setarray @pDfee$[@Di], "$QW_BW_FEE"; setarray @DLevels[4], 5; setarray @DGat$[@Dref], "iz_dun00", "iz_dun01", "iz_dun02", "iz_dun03", "iz_dun04"; setarray @DLevelName$[@Dref], "Level 1", "Level 2", "Level 3", "Level 4", "Level 5"; setarray @DXcoords[@Dref], 168, 41, 236, 32, 26; setarray @DYcoords[@Dref], 168, 37, 204, 63, 27; setarray @DDepth[@Dref], 0, 1, 2, 3, 4; QWS_Make_Dungeon_Menu 4; //----------------CLOCK TOWER setarray @pDmenuitems$[@Di], "Clock Tower Dungeon"; setarray @pDprice[@Di], $QW_AW_PRICE; setarray @pDfee$[@Di], "$QW_AW_FEE"; setarray @DLevels[5], 8; setarray @DGat$[@Dref], "c_tower1", "c_tower2", "c_tower3", "c_tower4", "alde_dun01", "alde_dun02", "alde_dun03", "alde_dun04"; setarray @DLevelName$[@Dref], "Clock Tower Level 1", "Clock Tower Level 2", "Clock Tower Level 3", "Clock Tower Level 4", "Basement 1F", "Basement 2F", "Basement 3F", "Basement 4F"; setarray @DXcoords[@Dref], 200, 268, 64, 32, 197, 262, 276, 122; setarray @DYcoords[@Dref], 163, 26, 148, 63, 25, 41, 53, 125; setarray @DDepth[@Dref], 0, 1, 2, 3, 1, 2, 3, 4; QWS_Make_Dungeon_Menu 5; //----------------COAL MINE setarray @pDmenuitems$[@Di], "Coal Mine Dungeon"; setarray @pDprice[@Di], $QW_AW_PRICE; setarray @pDfee$[@Di], "$QW_AW_FEE"; setarray @DLevels[6], 3; setarray @DGat$[@Dref], "mjo_dun01", "mjo_dun02", "mjo_dun03"; setarray @DLevelName$[@Dref], "Level 1", "Level 2", "Level 3"; setarray @DXcoords[@Dref], 52, 381, 302; setarray @DYcoords[@Dref], 17, 343, 261; setarray @DDepth[@Dref], 0, 1, 2; QWS_Make_Dungeon_Menu 6; //----------------CULVERT setarray @pDmenuitems$[@Di], "Culvert Dungeon"; setarray @pDprice[@Di], $QW_BW_PRICE; setarray @pDfee$[@Di], "$QW_BW_FEE"; setarray @DLevels[7], 4; setarray @DGat$[@Dref], "prt_sewb1", "prt_sewb2", "prt_sewb3", "prt_sewb4"; setarray @DLevelName$[@Dref], "Level 1", "Level 2", "Level 3", "Level 4"; setarray @DXcoords[@Dref], 132, 19, 180, 100; setarray @DYcoords[@Dref], 248, 19, 169, 92; setarray @DDepth[@Dref], 0, 1, 2, 3; QWS_Make_Dungeon_Menu 7; //----------------EINBECH DUNGEON setarray @pDmenuitems$[@Di], "Einbech Dungeon"; setarray @pDprice[@Di], $QW_AW_PRICE; setarray @pDfee$[@Di], "$QW_AW_FEE"; setarray @DLevels[8], 2; setarray @DGat$[@Dref], "ein_dun01", "ein_dun02"; setarray @DLevelName$[@Dref], "Level 1", "Level 2"; setarray @DXcoords[@Dref], 22, 292; setarray @DYcoords[@Dref], 14, 290; setarray @DDepth[@Dref], 0, 1; QWS_Make_Dungeon_Menu 8; //----------------GEFENIA DUNGEON setarray @pDmenuitems$[@Di], "Gefenia Dungeon"; setarray @pDprice[@Di], $QW_BW_PRICE; setarray @pDfee$[@Di], "$QW_BW_FEE"; setarray @DLevels[9], 4; setarray @DGat$[@Dref], "gefenia01", "gefenia02", "gefenia03", "gefenia04"; setarray @DLevelName$[@Dref], "Level 1", "Level 2", "Level 3", "Level 4"; setarray @DXcoords[@Dref], 59, 201, 264, 33; setarray @DYcoords[@Dref], 167, 35, 236, 270; setarray @DDepth[@Dref], 0, 1, 2, 3; QWS_Make_Dungeon_Menu 9; //----------------GEFFEN DUNGEON setarray @pDmenuitems$[@Di], "Geffen Dungeon"; setarray @pDprice[@Di], $QW_BW_PRICE; setarray @pDfee$[@Di], "$QW_BW_FEE"; setarray @DLevels[@Di], 4; setarray @DGat$[@Dref], "gef_dun00", "gef_dun01", "gef_dun02", "gef_dun03"; setarray @DLevelName$[@Dref], "Level 1", "Level 2", "Level 3", "Level 4"; setarray @DXcoords[@Dref], 104, 115, 106, 203; setarray @DYcoords[@Dref], 100, 236, 132, 200; setarray @DDepth[@Dref], 0, 1, 2, 3; QWS_Make_Dungeon_Menu 10; //----------------GLAST HEIM setarray @pDmenuitems$[@Di], "Glast Heim Dungeon"; setarray @pDprice[@Di], $QW_BW_PRICE; setarray @pDfee$[@Di], "$QW_BW_FEE"; setarray @DLevels[@Di], 17; setarray @DGat$[@Dref], "glast_01", "gl_church", "gl_chyard", "gl_in01", "gl_cas01", "gl_cas02", "gl_knt01", "gl_knt02", "gl_prison", "gl_prison1", "gl_step", "gl_sew01", "gl_sew02", "gl_sew03", "gl_sew04", "gl_dun01", "gl_dun02"; setarray @DLevelName$[@Dref], "Glast Heim Entrance", "St. Abbey", "Churchyard", "Inside Glast Heim", "Castle 1", "Castle 2", "Chivalry 1", "Chivalry 2", "Prison 1", "Prison 2", "Steps", "Sewers 1", "Sewers 2", "Sewers 3", "Sewers 4", "Lowest Cave 1", "Lowest Cave 2"; setarray @DXcoords[@Dref], 370, 156, 147, 121, 199, 104, 150, 157, 14, 150, 117, 258, 108, 171, 68, 133, 224; setarray @DYcoords[@Dref], 300, 8, 15, 59, 29, 25, 10, 287, 70, 14, 124, 255, 291, 273, 277, 271, 274; setarray @DDepth[@Dref], 0, 1, 2, 1, 1, 2, 1, 2, 2, 3, 1, 4, 2, 3, 4, 5, 6; QWS_Make_Dungeon_Menu 11; //----------------GONRYUN DUNGEON setarray @pDmenuitems$[@Di], "Gonryun Dungeon"; setarray @pDprice[@Di], $QW_OW_PRICE; setarray @pDfee$[@Di], "$QW_OW_FEE"; setarray @DLevels[@Di], 3; setarray @DGat$[@Dref], "gon_dun01", "gon_dun02", "gon_dun03"; setarray @DLevelName$[@Dref], "Level 1", "Level 2", "Level 3"; setarray @DXcoords[@Dref], 143, 17, 68; setarray @DYcoords[@Dref], 59, 114, 9; setarray @DDepth[@Dref], 0, 1, 2; QWS_Make_Dungeon_Menu 12; //----------------HIDDEN DUNGEON setarray @pDmenuitems$[@Di], "Hidden Dungeon"; setarray @pDprice[@Di], $QW_BW_PRICE; setarray @pDfee$[@Di], "$QW_BW_FEE"; setarray @DLevels[@Di], 3; setarray @DGat$[@Dref], "prt_maze01", "prt_maze02", "prt_maze03"; setarray @DLevelName$[@Dref], "Level 1", "Level 2", "Level 3"; setarray @DXcoords[@Dref], 176, 94, 23; setarray @DYcoords[@Dref], 6, 19, 8; setarray @DDepth[@Dref], 0, 1, 2; QWS_Make_Dungeon_Menu 13; //----------------JUPEROS CAVE setarray @pDmenuitems$[@Di], "Juperos Cave"; setarray @pDprice[@Di], $QW_AW_PRICE; setarray @pDfee$[@Di], "$QW_AW_FEE"; setarray @DLevels[@Di], 2; setarray @DGat$[@Dref], "juperos_01", "juperos_02"; setarray @DLevelName$[@Dref], "Level 1", "Level 2"; setarray @DXcoords[@Dref], 53, 36; setarray @DYcoords[@Dref], 247, 60; setarray @DDepth[@Dref], 0, 1; QWS_Make_Dungeon_Menu 14; //----------------KIEL DUNGEON setarray @pDmenuitems$[@Di], "Kiel Dungeon"; setarray @pDprice[@Di], $QW_AW_PRICE; setarray @pDfee$[@Di], "$QW_AW_FEE"; setarray @DLevels[@Di], 2; setarray @DGat$[@Dref], "kh_dun01", "kh_dun02"; setarray @DLevelName$[@Dref], "1st Floor", "2nd Floor"; setarray @DXcoords[@Dref], 63, 42; setarray @DYcoords[@Dref], 10, 197; setarray @DDepth[@Dref], 0, 1; QWS_Make_Dungeon_Menu 28; //----------------LIGHTHALZEN BIO LAB setarray @pDmenuitems$[@Di], "Lighthalzen Bio Lab"; setarray @pDprice[@Di], $QW_AW_PRICE; setarray @pDfee$[@Di], "$QW_AW_FEE"; setarray @DLevels[@Di], 3; setarray @DGat$[@Dref], "lhz_dun01", "lhz_dun02", "lhz_dun03"; setarray @DLevelName$[@Dref], "Level 1", "Level 2", "Level 3"; setarray @DXcoords[@Dref], 150, 150, 140; setarray @DYcoords[@Dref], 287, 18, 137; setarray @DDepth[@Dref], 0, 1, 2; QWS_Make_Dungeon_Menu 15; //----------------LOUYANG DUNGEON setarray @pDmenuitems$[@Di], "Louyang Dungeon"; setarray @pDprice[@Di], $QW_OW_PRICE; setarray @pDfee$[@Di], "$QW_OW_FEE"; setarray @DLevels[@Di], 2; setarray @DGat$[@Dref], "lou_dun02", "lou_dun03"; setarray @DLevelName$[@Dref], "Royal Tomb Level 1", "Royal Tomb Level 2"; setarray @DXcoords[@Dref], 282, 165; setarray @DYcoords[@Dref], 20, 38; setarray @DDepth[@Dref], 0, 1; QWS_Make_Dungeon_Menu 16; //----------------MAGMA DUNGEON setarray @pDmenuitems$[@Di], "Magma Dungeon"; setarray @pDprice[@Di], $QW_AW_PRICE; setarray @pDfee$[@Di], "$QW_AW_FEE"; setarray @DLevels[@Di], 2; setarray @DGat$[@Dref], "mag_dun01", "mag_dun02"; setarray @DLevelName$[@Dref], "Level 1", "Level 2"; setarray @DXcoords[@Dref], 126, 47; setarray @DYcoords[@Dref], 69, 32; setarray @DDepth[@Dref], 0, 1; QWS_Make_Dungeon_Menu 17; //----------------ODIN TEMPLE setarray @pDmenuitems$[@Di], "Odin Temple"; setarray @pDprice[@Di], $QW_AW_PRICE; setarray @pDfee$[@Di], "$QW_AW_FEE"; setarray @DLevels[@Di], 1; setarray @DGat$[@Dref], "odin_tem01"; setarray @DLevelName$[@Dref], "Level 1"; setarray @DXcoords[@Dref], 96; setarray @DYcoords[@Dref], 145; setarray @DDepth[@Dref], 0; QWS_Make_Dungeon_Menu 18; //----------------ORC DUNGEON setarray @pDmenuitems$[@Di], "Orc Dungeon"; setarray @pDprice[@Di], $QW_BW_PRICE; setarray @pDfee$[@Di], "$QW_BW_FEE"; setarray @DLevels[@Di], 2; setarray @DGat$[@Dref], "orcsdun01", "orcsdun02"; setarray @DLevelName$[@Dref], "Level 1", "Level 2"; setarray @DXcoords[@Dref], 32, 21; setarray @DYcoords[@Dref], 169, 185; setarray @DDepth[@Dref], 0, 1; QWS_Make_Dungeon_Menu 19; //----------------PAYON DUNGEON setarray @pDmenuitems$[@Di], "Payon Dungeon"; setarray @pDprice[@Di], $QW_BW_PRICE; setarray @pDfee$[@Di], "$QW_BW_FEE"; setarray @DLevels[@Di], 5; setarray @DGat$[@Dref], "pay_dun00", "pay_dun01", "pay_dun02", "pay_dun03", "pay_dun04"; setarray @DLevelName$[@Dref], "Level 1", "Level 2", "Level 3", "Level 4", "Level 5"; setarray @DXcoords[@Dref], 22, 19, 19, 155, 201; setarray @DYcoords[@Dref], 180, 33, 63, 159, 204; setarray @DDepth[@Dref], 0, 1, 2, 3, 4; QWS_Make_Dungeon_Menu 20; //----------------PYRAMIDS setarray @pDmenuitems$[@Di], "Pyramids Dungeon"; setarray @pDprice[@Di], $QW_BW_PRICE; setarray @pDfee$[@Di], "$QW_BW_FEE"; setarray @DLevels[@Di], 6; setarray @DGat$[@Dref], "moc_pryd01", "moc_pryd02", "moc_pryd03", "moc_pryd04", "moc_pryd05", "moc_pryd06"; setarray @DLevelName$[@Dref], "Level 1", "Level 2", "Level 3", "Level 4", "Basement 1", "Basement 2"; setarray @DXcoords[@Dref], 192, 10, 100, 181, 94, 192; setarray @DYcoords[@Dref], 9, 192, 92, 11, 96, 8; setarray @DDepth[@Dref], 0, 1, 2, 3, 1, 2; QWS_Make_Dungeon_Menu 21; //----------------SPHINX setarray @pDmenuitems$[@Di], "Sphinx Dungeon"; setarray @pDprice[@Di], $QW_BW_PRICE; setarray @pDfee$[@Di], "$QW_BW_FEE"; setarray @DLevels[@Di], 5; setarray @DGat$[@Dref], "in_sphinx1", "in_sphinx2", "in_sphinx3", "in_sphinx4", "in_sphinx5"; setarray @DLevelName$[@Dref], "Level 1", "Level 2", "Level 3", "Level 4", "Level 5"; setarray @DXcoords[@Dref], 192, 149, 210, 10, 100; setarray @DYcoords[@Dref], 9, 81, 54, 222, 99; setarray @DDepth[@Dref], 0, 1, 2, 3, 4; QWS_Make_Dungeon_Menu 22; //----------------SUNKEN SHIP setarray @pDmenuitems$[@Di], "Sunken Ship Dungeon"; setarray @pDprice[@Di], $QW_BW_PRICE; setarray @pDfee$[@Di], "$QW_BW_FEE"; setarray @DLevels[@Di], 2; setarray @DGat$[@Dref], "treasure01", "treasure02"; setarray @DLevelName$[@Dref], "Level 1", "Level 2"; setarray @DXcoords[@Dref], 69, 102; setarray @DYcoords[@Dref], 24, 27; setarray @DDepth[@Dref], 0, 1; QWS_Make_Dungeon_Menu 23; //----------------THANATOS TOWER setarray @pDmenuitems$[@Di], "Thanatos Tower"; setarray @pDprice[@Di], $QW_AW_PRICE; setarray @pDfee$[@Di], "$QW_AW_FEE"; setarray @DLevels[@Di], 13; setarray @DGat$[@Dref], "tha_t01", "tha_t02", "tha_t03", "tha_t04", "tha_t05", "tha_t06", "tha_t07", "tha_t08", "tha_t09", "tha_t10", "tha_t11", "tha_t12", "thana_boss"; setarray @DLevelName$[@Dref], "Level 1", "Level 2", "Level 3", "Level 4", "Level 5", "Level 6", "Level 7", "Level 8", "Level 9", "Level 10", "Level 11", "Level 12", "Thanatos Boss"; setarray @DXcoords[@Dref], 150, 150, 220, 59, 62, 206, 35, 105, 88, 168, 90, 129, 85; setarray @DYcoords[@Dref], 35, 136, 158, 143, 11, 8, 166, 44, 145, 138, 36, 83, 76; setarray @DDepth[@Dref], 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12; QWS_Make_Dungeon_Menu 24; //----------------TOY FACTORY setarray @pDmenuitems$[@Di], "Toy Factory Dungeon"; setarray @pDprice[@Di], $QW_AW_PRICE; setarray @pDfee$[@Di], "$QW_AW_FEE"; setarray @DLevels[@Di], 2; setarray @DGat$[@Dref], "xmas_dun01", "xmas_dun02"; setarray @DLevelName$[@Dref], "Factory Warehouse", "Classifying Room"; setarray @DXcoords[@Dref], 205, 129; setarray @DYcoords[@Dref], 16, 133; setarray @DDepth[@Dref], 0, 1; QWS_Make_Dungeon_Menu 25; //----------------TURTLE ISTLAND setarray @pDmenuitems$[@Di], "Turtle Island Dungeon"; setarray @pDprice[@Di], $QW_AW_PRICE; setarray @pDfee$[@Di], "$QW_AW_FEE"; setarray @DLevels[@Di], 4; setarray @DGat$[@Dref], "tur_dun01", "tur_dun02", "tur_dun03", "tur_dun04"; setarray @DLevelName$[@Dref], "Outside", "Level 1", "Level 2", "Level 3"; setarray @DXcoords[@Dref], 161, 148, 132, 100; setarray @DYcoords[@Dref], 34, 256, 190, 192; setarray @DDepth[@Dref], 0, 0, 1, 2; QWS_Make_Dungeon_Menu 26; //----------------UMBALA setarray @pDmenuitems$[@Di], "Umbala Dungeon"; setarray @pDprice[@Di], $QW_OW_PRICE; setarray @pDfee$[@Di], "$QW_OW_FEE"; setarray @DLevels[@Di], 3; setarray @DGat$[@Dref], "um_dun01", "um_dun02", "yggdrasil01"; setarray @DLevelName$[@Dref], "Carpenter's Shop in The Tree", "Passage to a Foreign World", "Hvergelmir's Fountain"; setarray @DXcoords[@Dref], 205, 48, 40; setarray @DYcoords[@Dref], 26, 30, 63; setarray @DDepth[@Dref], 0, 1, 2; QWS_Make_Dungeon_Menu 27; //----------------Cancel setarray @pDmenuitems$[@Di], "Cancel"; setarray @pDprice[@Di], 0; set @Dmenulist$[@Dj],@pDmenuitems$[@Di]; set @Dmenuref[@Dj],57005; // 57005='dead' in hex return; //----------------Make Dungeon Menu Function function QWS_Make_Dungeon_Menu { set @tempdungeonmenubin,1; if (getarg(0) == 0) goto menu_item; set @temploopdungeonmenu,0; do { set @tempdungeonmenubin, @tempdungeonmenubin * 2; set @temploopdungeonmenu, @temploopdungeonmenu + 1; }while (getarg(0) > @temploopdungeonmenu); // 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; } if ($QW_MapUserShow == 1) { set @tempmapusers,0; set @mapusersloop,0; 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; } if (@pDprice[@Di] != 0) set @Dmenulist$[@Dj], @pDmenuitems$[@Di]+" -> "+@pDprice[@Di]; if (@pDprice[@Di] == 0) set @Dmenulist$[@Dj], @pDmenuitems$[@Di]; set @Dmenuref[@Dj],@Di; set @Dj,@Dj+1; setarray @DLocRef[@Di], @Dref; set @Dref, @Dref+@DLevels[@Di]; set @Di,@Di+1; return; } } function script QWS_DLarray { //----------------Start building Menu 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 @DWref, @DWref+1; set @DWi,@DWi+1; } while (@DWi < @DLevels[@DwarpMenu]); set @DWLmenulist$[@DWj], "Exit"; set @DWLmenuref[@DWj],57005; // 57005='dead' in hex return; } //================Dungeon=Warpras=That=Only=Unlock================= function script QWS_Dungeon_Warpra { function QWS_D_getbin; function QWS_D_setbin; if ((QWS_D_getbin(getarg(0)) == 0) && (getarg(1) != "")) { mes "[Warpra]"; mes getarg(1)+" unlocked!"; QWS_D_setbin(getarg(0)); return; } else if (QWS_D_getbin(getarg(0)) == 1) { mes "[Warpra]"; mes "Sorry, I can only unlock this location."; } else debugmes "QWS_Dungeon_Warpra error, improper syntax?"; return; function QWS_D_setbin { set @tempsetbindata,1; if (getarg(0) == 0) goto binset; set @temploopsetbin,0; do { set @tempsetbindata, @tempsetbindata * 2; set @temploopsetbin, @temploopsetbin + 1; } while (getarg(0) > @temploopsetbin); binset: set ##QWS_D_Unlock,(##QWS_D_Unlock | @tempsetbindata); return; } function QWS_D_getbin { set @tempgetbindata,1; if (getarg(0) == 0) goto binget; set @temploopgetbin,0; do { set @tempgetbindata, @tempgetbindata * 2; set @temploopgetbin, @temploopgetbin + 1; } while (getarg(0) > @temploopgetbin); binget: if ((@tempgetbindata & ##QWS_D_Unlock) == @tempgetbindata) return 1; return 0; } } //==========================Town=Warpras=========================== function script QWS_Town_Warpra { function QWS_T_getbin; function QWS_T_setbin; if ((QWS_T_getbin(getarg(0)) == 0) && (getarg(1) != "")) { mes "[Warpra]"; mes getarg(1)+" unlocked!"; QWS_T_setbin(getarg(0)); return; } else if (QWS_T_getbin(getarg(0)) == 1) { callfunc "Q_Warpra",0; } else debugmes "QWS_Town_Warpra error, improper syntax ?"; 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; } while (getarg(0) > @temploopsetbin); binset: set ##QWS_T_Unlock,(##QWS_T_Unlock | @tempsetbindata); return; } function QWS_T_getbin { set @tempgetbindata,1; if (getarg(0) == 0) goto binget; set @temploopgetbin,0; do { set @tempgetbindata, @tempgetbindata * 2; set @temploopgetbin, @temploopgetbin + 1; } while (getarg(0) > @temploopgetbin); binget: if ((@tempgetbindata & ##QWS_T_Unlock) == @tempgetbindata) return 1; return 0; } } //============================Warpras============================== - script Warpra#0 -1,{ callfunc "Q_Warpra",1; } mid_camp,216,288,4 duplicate(Warpra#0) Warpra#0 10173 alb2trea,57,70,6 duplicate(Warpra#0) Warpra#1 10173 ama_fild01,178,325,1 duplicate(Warpra#0) Warpra#2 10173 gef_fild10,71,339,4 duplicate(Warpra#0) Warpra#3 10173 izlu2dun,110,92,4 duplicate(Warpra#0) Warpra#4 10173 mjolnir_02,85,364,4 duplicate(Warpra#0) Warpra#5 10173 moc_fild04,207,331,4 duplicate(Warpra#0) Warpra#6 10173 moc_fild19,106,97,4 duplicate(Warpra#0) Warpra#7 10173 moc_ruins,64,164,4 duplicate(Warpra#0) Warpra#8 10173 niflheim,205,179,4 duplicate(Warpra#0) Warpra#9 10173 pay_arche,42,134,4 duplicate(Warpra#0) Warpra#10 10173 prt_fild05,279,223,6 duplicate(Warpra#0) Warpra#11 10173 tur_dun01,148,239,4 duplicate(Warpra#0) Warpra#12 10173 valkyrie,48,35,8 duplicate(Warpra#0) Warpra#13 10173 yuno_fild03,37,135,4 duplicate(Warpra#0) Warpra#14 10173 alberta,28,240,4 script Warpra#15 10173,{ callfunc "QWS_Town_Warpra",1,"Alberta Town"; close; } aldebaran,145,118,4 script Warpra#16 10173,{ callfunc "QWS_Town_Warpra",2,"Aldebaran Town"; close; } ayothaya,209,169,6 script Warpra#17 10173,{ callfunc "QWS_Town_Warpra",4,"Ayotaya Town"; close; } amatsu,203,87,4 script Warpra#18 113,{ callfunc "QWS_Town_Warpra",3,"Amatsu Town"; close; } comodo,194,158,4 script Warpra#19 10173,{ callfunc "QWS_Town_Warpra",5,"Comodo Town"; close; } einbroch,69,202,4 script Warpra#20 10173,{ callfunc "QWS_Town_Warpra",7,"Einbroch Town"; close; } einbech,59,38,6 script Warpra#21 113,{ callfunc "QWS_Town_Warpra",6,"Einbech Town"; close; } geffen,124,72,4 script Warpra#22 113,{ callfunc "QWS_Town_Warpra",8,"Geffen Town"; close; } gonryun,162,122,4 script Warpra#23 10173,{ callfunc "QWS_Town_Warpra",9,"Gonryun Town"; close; } hugel,101,151,4 script Warpra#24 113,{ callfunc "QWS_Town_Warpra",10,"Hugel Town"; close; } jawaii,253,138,4 script Warpra#25 10173,{ callfunc "QWS_Town_Warpra",12,"Jawaii Town"; close; } izlude,134,150,4 script Warpra#26 10173,{ callfunc "QWS_Town_Warpra",11,"Izlude Town"; close; } lighthalzen,162,102,4 script Warpra#27 10173,{ callfunc "QWS_Town_Warpra",13,"Lighthalzen Town"; close; } louyang,208,103,6 script Warpra#28 10173,{ callfunc "QWS_Town_Warpra",14,"Louyang Town"; close; } morocc,159,97,4 script Warpra#29 113,{ callfunc "QWS_Town_Warpra",16,"Morroc Town"; close; } nif_fild01,319,77,1 script Warpra#30 10173,{ callfunc "QWS_Town_Warpra",17,"Niflheim Town"; close; } payon,182,108,4 script Warpra#31 113,{ callfunc "QWS_Town_Warpra",18,"Payon Town"; close; } prontera,162,194,4 script Warpra#32 10173,{ callfunc "QWS_Town_Warpra",0,"Prontera Town"; close; } umbala,106,150,3 script Warpra#33 10173,{ callfunc "QWS_Town_Warpra",19,"Umbala Town"; close; } xmas,150,136,6 script Warpra#34 10173,{ callfunc "QWS_Town_Warpra",15,"Lutie Town"; close; } yuno,162,47,4 script Warpra#35 10173,{ callfunc "QWS_Town_Warpra",20,"Yuno Town"; close; } brasilis,201,222,4 script Warpra#36 10173,{ callfunc "QWS_Town_Warpra",21,"Brasilis Town"; close; } dicastes01,194,194,6 script Warpra#37 10173,{ callfunc "QWS_Town_Warpra",22,"El Dicastes Town"; close; } manuk,274,146,6 script Warpra#38 10173,{ callfunc "QWS_Town_Warpra",23,"Manuk Town"; close; } mora,57,152,4 script Warpra#39 10173,{ callfunc "QWS_Town_Warpra",24,"Mora Town"; close; } moscovia,229,191,4 script Warpra#40 10173,{ callfunc "QWS_Town_Warpra",25,"Moscovia Town"; close; } rachel,135,116,4 script Warpra#41 10173,{ callfunc "QWS_Town_Warpra",26,"Rachel Town"; close; } splendide,205,153,4 script Warpra#42 10173,{ callfunc "QWS_Town_Warpra",27,"Splendide Town"; close; } veins,214,123,4 script Warpra#43 10173,{ callfunc "QWS_Town_Warpra",28,"Veins Town"; close; } dewata,204,186,6 script Warpra#44 113,{ callfunc "QWS_Town_Warpra",29,"Dewata Town"; close; } eclage,107,37,4 script Warpra#45 10173,{ callfunc "QWS_Town_Warpra",30,"Eclage Town"; close; } abyss_02,274,266,1 script Warpra Helper#0 10173,{ callfunc "QWS_Dungeon_Warpra",0,"Abyss Lake"; close; } ama_dun02,192,118,5 script Warpra Helper#1 10173,{ callfunc "QWS_Dungeon_Warpra",1,"Amatsu Dungeon"; close; } anthell02,170,165,3 script Warpra Helper#2 10173,{ callfunc "QWS_Dungeon_Warpra",2,"Ant Hell Dungeon"; close; } ayo_dun02,258,193,5 script Warpra Helper#3 10173,{ callfunc "QWS_Dungeon_Warpra",3,"Ayotaya Dungeon"; close; } ein_dun02,292,282,1 script Warpra Helper#4 10173,{ callfunc "QWS_Dungeon_Warpra",8,"Einbech Dungeon"; close; } iz_dun03,202,47,2 script Warpra Helper#5 10173,{ callfunc "QWS_Dungeon_Warpra",4,"Byalan Dungeon"; close; } c_tower3,129,106,4 script Warpra Helper#6 10173,{ callfunc "QWS_Dungeon_Warpra",5,"Clock Tower Dungeon"; close; } mjo_dun02,39,25,4 script Warpra Helper#7 10173,{ callfunc "QWS_Dungeon_Warpra",6,"Coal Mine Dungeon"; close; } prt_sewb2,176,30,3 script Warpra Helper#8 10173,{ callfunc "QWS_Dungeon_Warpra",7,"Culvert Dungeon"; close; } gefenia03,137,34,0 script Warpra Helper#9 10173,{ callfunc "QWS_Dungeon_Warpra",9,"Gefenia Dungeon"; close; } gef_dun02,218,61,2 script Warpra Helper#10 10173,{ callfunc "QWS_Dungeon_Warpra",10,"Gefen Dungeon"; close; } glast_01,372,308,4 script Warpra Helper#11 10173,{ callfunc "QWS_Dungeon_Warpra",11,"Glast Heim Dungeon"; close; } gon_dun01,167,273,4 script Warpra Helper#12 10173,{ callfunc "QWS_Dungeon_Warpra",12,"Gonryun Dungeon"; close; } juperos_02,127,154,5 script Warpra Helper#13 10173,{ callfunc "QWS_Dungeon_Warpra",14,"Juperos Cave"; close; } kh_dun01,14,224,3 script Warpra Helper#14 10173,{ callfunc "QWS_Dungeon_Warpra",28,"Kiel Dungeon"; close; } lhz_dun02,156,151,5 script Warpra Helper#15 10173,{ callfunc "QWS_Dungeon_Warpra",15,"Lighthalzen Bio Lab"; close; } lou_dun02,168,264,4 script Warpra Helper#16 10173,{ callfunc "QWS_Dungeon_Warpra",16,"Louyang Dungeon"; close; } mag_dun02,46,41,3 script Warpra Helper#17 10173,{ callfunc "QWS_Dungeon_Warpra",17,"Magma Dungeon"; close; } odin_tem01,115,148,3 script Warpra Helper#18 10173,{ callfunc "QWS_Dungeon_Warpra",18,"Odin Temple"; close; } orcsdun01,185,11,3 script Warpra Helper#19 10173,{ callfunc "QWS_Dungeon_Warpra",19,"Orc Dungeon"; close; } pay_dun03,162,143,3 script Warpra Helper#20 10173,{ callfunc "QWS_Dungeon_Warpra",20,"Payon Dungeon"; close; } moc_pryd02,101,95,3 script Warpra Helper#21 10173,{ callfunc "QWS_Dungeon_Warpra",21,"Pyramides Dungeon"; close; } in_sphinx2,274,268,1 script Warpra Helper#22 10173,{ callfunc "QWS_Dungeon_Warpra",22,"Sphinx Dungeon"; close; } tha_t07,111,162,3 script Warpra Helper#23 10173,{ callfunc "QWS_Dungeon_Warpra",24,"Thanatos Tower"; close; } treasure02,104,40,3 script Warpra Helper#24 10173,{ callfunc "QWS_Dungeon_Warpra",23,"Sunken Ship Dungeon"; close; } xmas_dun02,124,131,3 script Warpra Helper#25 10173,{ callfunc "QWS_Dungeon_Warpra",25,"Toy Factory Dungeon"; close; } um_dun02,44,28,3 script Warpra Helper#26 10173,{ callfunc "QWS_Dungeon_Warpra",27,"Umbala Dungeon"; close; } tur_dun02,162,23,3 script Warpra Helper#27 10173,{ callfunc "QWS_Dungeon_Warpra",26,"Turtle Island Dungeon"; close; } prt_maze02,102,69,4 script Warpra Helper#28 10173,{ callfunc "QWS_Dungeon_Warpra",13,"Hidden Dungeon"; close; }
-
i check my grf and i find it on normal sprites not inside the costume sprites also using Job Sprite: Third Job Costumes: Corrected but if you check the grf files inside this you cant see the sprite also
-
where can i find the answer for this? i already check all files and using this information but still getting the errors
-
can any one tell me why does +20 stats food box when player click it it only give +1? any solution also thank you
-
i cant because i cant see your console XD
-
maybe your char , login or athena map not configured
-
please post you errors here so that everyone can see whats the problem
-
thank you so much for helping me out now i know all i need thank you again god bless you
-
i forgot i deleted it sire because i lost hope making costum items all guides i follow is not fitting on my taste all guides i follow carefully but still apples apples apples i got 5 buckets of apples here T_T ahahhaa XD can we talk discord or pm to make it easier to send SS sir thank you
-
yeah sir also followed and make that carefully
-
yeah also edited that on my system folder
-
yeah sir edit the lub files inside my grf am i right? but already editing also apples appeared
-
Get_var fatal error player not attach help
Quesooo replied to Quesooo's question in Scripting Support
//===== rAthena Script ======================================= //= Player Marriage //===== By: ================================================== //= L0ne_W0lf //===== Current Version: ===================================== //= 1.5 //===== Compatible With: ===================================== //= rAthena Project //===== Description: ========================================= //= [Official Conversion] //= Official Marriage script. //= Added isloggedin() check, even though Aegis doesn't do it. //= Currently does not support same-Sex marriages. //= Old script located in: npc/custom/marriage.txt //= - Variable in use: wedding_sign (max 1) //= - Variable in use: $@wedding (max 1) //= - Variable in use: $@wed_groom$ $@wed_bride$ //===== Additional Comments: ================================= //= 1.0 First version. [L0ne_W0lf] //= 1.1 Fixed a missing ")" [L0ne_W0lf] //= 1.2 Corrected duration of Wedding status. [L0ne_W0lf] //= 1.3 Changed permanent global variables to temporary ones. [Euphy] //= Added GM NPCs (commented). //= 1.4 Added GM management function. [Euphy] //= 1.5 Added Marriage Covenant item and VIP features. [Euphy] //============================================================ prt_church,97,100,4 script Wedding Staff#w 71,{ cutin "wedding_marry01",2; if (countitem(6026) == 0) { // If the VIP system is enabled: // - Non-VIP players must use a Marriage Covenant to get married. // - VIP players may either pay the Zeny fee or use a Marriage Covenant. if (VIP_SCRIPT && !vip_status(VIP_STATUS_ACTIVE)) { mes "[Marry Happy]"; mes "Sorry but you can't get married right now."; mes "The wedding is only available for subscribed players."; mes "But if you have a ^FF0000Marriage Covenant^000000, then you'll be able to get married!"; goto L_End; } } else set .@covenant,1; if (Upper == 2) { mes "[Marry Happy]"; mes "Hello~"; mes "My name is Marry Happy"; mes "and I'm here to provide you"; mes "with information related to"; mes "marriage. Now, did you"; mes "have any questions?"; next; if (select("I want to get married.:I don't need your help!") == 1) { mes "[Marry Happy]"; mes "Oh, I'm sorry, but"; mes "adopted characters"; mes "aren't allowed to get"; mes "married. For now, why"; mes "don't you enjoy the simple"; mes "pleasures of childhood?"; goto L_End; } mes "[Marry Happy]"; mes "Oh, of course you"; mes "don't! Little children"; mes "can't get married-- there"; mes "are too many laws against"; mes "that~ Aren't you the most"; mes "adorable little thing?"; goto L_End; } mes "[Marry Happy]"; mes "Marriage is the beautiful"; mes "union of two souls that have"; mes "chosen to be together forever,"; mes "to share their joy and lives."; mes "Is there a special someone"; mes "like that in your life?"; next; switch(select("Ask about Wedding Ceremony:Ask about Procedure:Apply for Wedding:We are the Invincible Single Army!")) { case 1: mes "[Marry Happy]"; mes "Wise and benevolent"; mes "King Tristram III used to"; mes "conduct wedding ceremonies,"; mes "but he's no longer able to do"; mes "so because of his royal duties"; mes "and freneticly paced schedule."; next; mes "[Marry Happy]"; mes "Bishop Vomars, the bishop"; mes "of love, is now the officiator"; mes "of the marriage ceremony."; mes "He is truly a treasure to the"; mes "Rune-Midgarts Kingdom."; next; mes "[Marry Happy]"; mes "When you marry someone,"; mes "it's for the rest of your life, so think carefully before making or"; mes "accepting a marriage proposal."; mes "Keep in mind that a man can only"; mes "marry a woman and vice versa."; next; mes "[Marry Happy]"; mes "If you're lucky enough to"; mes "find someone that you really"; mes "want to spend the rest of your"; mes "life with, you might want to pop the question. I hope everyone"; mes "finds their perfect match~"; break; case 2: mes "[Marry Happy]"; mes "The first part of the"; mes "wedding procedure is to"; mes "complete the application."; mes "Once the bride and bridegroom"; mes "have finished applying, they"; mes "must form a party of two."; next; mes "[Marry Happy]"; mes "After forming a party of two,"; mes "the couple must then speak to"; mes "Bishop Vomars. The bridegroom"; mes "speaks first and must tell his"; mes "bride's exact name to the Bishop. Otherwise, the ceremony will stop."; next; mes "[Marry Happy]"; mes "Afterwards, the bride will"; mes "speak to the Bishop and tell"; mes "him the name of her groom."; mes "If these names are correctly"; mes "told to the Bishop, they will"; mes "be able to exchange rings."; next; mes "[Marry Happy]"; mes "Once the wedding rings are"; mes "exchanged, the couple is forever bound in matrimony. Of course,"; mes "before this point, there are many chances to change your mind, so..."; next; mes "[Marry Happy]"; mes "If there are too many"; mes "couples who want to get"; mes "married at one time, please"; mes "form a line and speak to Bishop"; mes "Vomars in order since only one couple can be married at a time."; next; mes "[Marry Happy]"; mes "Finally, be sure to tell"; mes "Bishop Vomars your partner's"; mes "exact name without wasting too much time. If you take too long,"; mes "the ceremony will automatically stop and you'll have to try again."; next; mes "[Marry Happy]"; mes "Brides need to remember"; mes "that they only have 3 minutes"; mes "to finish speaking to Bishop"; mes "Vomars after their grooms"; mes "have finished speaking to him."; next; if (select("Thanks, that helps a lot!:Easiest way to say my partner's name?") == 1) { mes "[Marry Happy]"; mes "Well, I'm here to help"; mes "weddings proceed as"; mes "smoothly as possible."; mes "If there was something"; mes "you didn't understand,"; mes "feel free to ask me again."; goto L_End; } mes "[Marry Happy]"; mes "The easiest way to write"; mes "your partner's name for the"; mes "bishop is to send a private"; mes "message to your partner, and"; mes "then left-click the name section that is left of the chat prompt."; next; mes "[Marry Happy]"; mes "Press the ''Ctrl'' and ''C''"; mes "keys to copy the name. Then,"; mes "you can paste the name into"; mes "the input prompt by pressing"; mes "the ''Insert'' and ''Shift'' keys. That sounds easy, right?"; next; mes "[Marry Happy]"; mes "Alright, now let's try"; mes "it. Practice giving me the"; mes "name of your partner using"; mes "the method I just described."; next; input .@partner$; mes "[Marry Happy]"; mes "Alright, after you've"; mes "decided to get married,"; mes "come back to me and"; mes "submit your application."; mes "I'll see you later, adventurer~"; break; case 3: cutin "wedding_marry02",2; if (VIP_SCRIPT) { mes "[Marry Happy]"; mes "^FF0000Wait!^000000"; mes "^FF0000If your account in not a premium, you must have a Marriage Covenant to get married.^000000"; mes "^FF0000Please check the current state of your account, and the one of your lover, before register for a wedding.^000000"; next; } if (Sex == SEX_MALE) { mes "[Marry Happy]"; mes "So you'd like to get married?"; mes "As a groom, you need to prepare"; if (.@covenant) { mes "^3377FF1 Tuxedo^000000 and give me your ^3377FF1 Marriage Covenant^000000."; mes "Brides have to provide their own Wedding Dresses and pay a fee"; mes "of 1,200,000 zeny or also bring a Marriage Covenant."; } else { mes "^3377FF1 Tuxedo^000000 and pay ^3377FF1,300,000 zeny^000000."; mes "Brides have to provide their own Wedding Dresses and pay a fee"; mes "of 1,200,000 zeny."; } } else { mes "[Marry Happy]"; mes "So you'd like to get married?"; mes "As a bride, you need to prepare"; if (.@covenant) { mes "^3377FF1 Wedding Dress^000000 and give me your ^3377FFMarriage Covenant^000000."; mes "Grooms must bring a Tuxedo and pay"; mes "1,300,000 zeny or also bring a Marriage Covenant."; } else { mes "^3377FF1 Wedding Dress^000000 and pay a fee of 1,200,000 zeny. Grooms must"; mes "bring a Tuxedo and pay 1,300,000 zeny to get married."; } } next; mes "[Marry Happy]"; mes "Brides and grooms also need"; mes "to have ^3377FF1 Diamond Ring^000000 to be"; mes "exchanged with their partners."; mes "You'll need all of these items"; mes "prepared when you submit your"; mes "wedding ceremony application."; next; mes "[Marry Happy]"; mes "The prospective bride and"; mes "groom must both complete"; mes "application process before"; mes "the wedding can take place."; mes "Now, would you like to"; mes "apply for marriage?"; next; if (select("Yes:No") == 1) { if (getpartnerid()) { cutin "wedding_marry02",2; mes "[Marry Happy]"; mes "I'm sorry, but you can't"; mes "apply for another marriage!"; mes "I can't allow you to betray"; mes "your spouse like that, and"; mes "besides, polygamy isn't"; mes "legal here in Rune-Midgarts."; break; } else if (wedding_sign == 1) { mes "[Marry Happy]"; mes "Didn't you already"; mes "complete the application?"; mes "Hmm, make sure that your"; mes "partner also finished the"; mes "application process, and"; mes "then talk to Bishop Vomars."; break; } else if (BaseLevel < 45) { mes "[Marry Happy]"; mes "Hmm, you need to be"; mes "strong enough to protect"; mes "the one that you love before"; mes "you can consider marriage."; mes "After you grow stronger,"; mes "come and talk to me again."; goto L_End; } else if (countitem(2613) < 1) { mes "[Marry Happy]"; mes "Mm? Did you forget to"; mes "bring the Diamond Ring"; mes "to exchange with your partner"; mes "during the wedding ceremony?"; mes "Look for it carefully and come"; mes "back after you find it, okay?"; goto L_End; } else if (Sex == SEX_FEMALE) { if (countitem(6026) == 0 && Zeny < 1200000) { mes "[Marry Happy]"; mes "I'm sorry, but all brides"; mes "must pay the 1,200,000"; mes "zeny fee or bring a Marriage"; mes "Covenant to proceed with the"; mes "wedding ceremony. Perhaps"; mes "you could ask your partner"; mes "to help you with the funds?"; goto L_End; } else if (countitem(2338) < 1) { mes "[Marry Happy]"; mes "Oh dear, did you forget"; mes "your Wedding Dress?"; mes "Hurry and find it, then"; mes "bring it to me-- you"; mes "absolutely need it"; mes "for the wedding!"; goto L_End; } } else if (Sex == SEX_MALE) { if (countitem(6026) == 0 && Zeny < 1300000) { mes "[Marry Happy]"; mes "I'm sorry, but you don't"; mes "have the 1,300,000 zeny"; mes "or the Marriage Covenant"; mes "that all grooms must pay"; mes "for the wedding ceremony."; mes "Did you misplace your money?"; goto L_End; } else if (countitem(7170) < 1) { mes "[Marry Happy]"; mes "Where's your Tuxedo?"; mes "You absolutely have to"; mes "wear it during the wedding"; mes "ceremony! Find it, bring it"; mes "to me, and then we can finally"; mes "begin the wedding, okay?"; goto L_End; } } mes "[Marry Happy]"; mes "Well, it looks like you"; mes "have everything ready."; mes "Although I'm not sure who"; mes "your partner is, let me be"; mes "the first to congratulate you"; mes "on your upcoming wedding~"; next; mes "[Marry Happy]"; mes "Now, let's begin the"; mes "application. Please write"; mes "down your exact name here."; next; while(1) { input .@name$; if (.@name$ != strcharinfo(0)) { mes "[Marry Happy]"; mes "Hmmm, you have to write"; mes "down your name exactly as"; mes "it is displayed. Maybe you"; mes "need to copy and paste it?"; mes "Anyway, let's try it again."; next; } else break; } mes "[Marry Happy]"; mes "Great, it looks like we"; mes "finished your application."; mes "Remember that you'll need"; mes "to tell Bishop Vomars your"; mes "partner's exact name when"; mes "you talk to him later, okay?"; next; mes "[Marry Happy]"; mes "When your partner is"; mes "finished with the application"; mes "process, both of you should"; mes "speak to the Bishop to begin"; mes "the wedding ceremony."; emotion e_lv; next; mes "[Marry Happy]"; if (Sex == SEX_FEMALE) { mes "Since you're the bride,"; mes "you need to wait for the"; mes "groom to speak to Bishop"; mes "Vomars first. When he's"; mes "finished, it'll be your turn"; mes "to speak to Bishop Vomars."; if (.@covenant) delitem 6026,1; //Marriage_Covenant else set Zeny, Zeny-1200000; delitem 2338,1; //Wedding_Dress } else { mes "Since you're the groom,"; mes "you need to speak to the"; mes "Bishop first. When you're"; mes "finished, it will be your"; mes "bride's turn to speak to"; mes "Bishop Vomars."; if (.@covenant) delitem 6026,1; //Marriage_Covenant else set Zeny, Zeny-1300000; delitem 7170,1; //Tuxedo } delitem 2613,1; //Diamond_Ring set wedding_sign,1; goto L_End; } mes "[Marry Happy]"; mes "No...?"; mes "Well, when you're"; mes "ready for marriage,"; mes "feel free to come back to"; mes "me so that you can apply,"; mes "okay? Have a good day~"; break; case 4: cutin "wedding_marry02",2; donpcevent "Single Army#Prontera::OnEnable"; donpcevent "Single Army#Geffen::OnEnable"; donpcevent "Single Army#Morocc::OnEnable"; donpcevent "Single Army#Payon::OnEnable"; donpcevent "Single Army#Amatsu::OnEnable"; donpcevent "Single Army#Gonryun::OnEnable"; emotion e_omg; mes "[Single Army]"; mes "^CC9933You have to refine"; mes "items on your own to"; mes "make great equipment!^000000"; emotion e_rock,0,"Single Army#Prontera"; next; mes "[Single Army]"; mes "^330099It's a waste to"; mes "form parties in"; mes "dungeons! I can"; mes "make it on my own!^000000"; emotion e_rock,0,"Single Army#Geffen"; next; mes "[Single Army]"; mes "^666666Hell, I've trained"; mes "all by myself since"; mes "birth, all the way"; mes "to my job change!^000000"; emotion e_rock,0,"Single Army#Morocc"; next; mes "[Single Army]"; mes "^666600I CHOOSE to spend"; mes "Christmas alone..."; mes "playing Solitaire and"; mes "doing crossword puzzles!^000000"; emotion e_rock,0,"Single Army#Payon"; next; mes "[Single Army]"; mes "^CC9966Women may break my"; mes "spirit, but they'll never"; mes "take... my FREEDOM!^000000"; emotion e_rock,0,"Single Army#Amatsu"; next; mes "[Single Army]"; mes "^669900...We're the free! We're"; mes "the Invincible Single Army!^000000"; emotion e_rock,0,"Single Army#Gonryun"; close2; cutin "wedding_marry01",255; emotion e_swt; donpcevent "Single Army#Prontera::OnInit"; donpcevent "Single Army#Geffen::OnInit"; donpcevent "Single Army#Morocc::OnInit"; donpcevent "Single Army#Payon::OnInit"; donpcevent "Single Army#Amatsu::OnInit"; donpcevent "Single Army#Gonryun::OnInit"; end; } close2; cutin "wedding_marry01",255; end; L_End: close2; cutin "",255; end; } prt_church,97,102,0 script Single Army#Prontera 105,{ mes "[Single Army]"; mes "^CC9933You have to refine"; mes "items on your own to"; mes "make great equipment!^000000"; close; OnInit: hideonnpc "Single Army#Prontera"; end; OnEnable: hideoffnpc "Single Army#Prontera"; emotion e_go; end; } prt_church,98,102,0 script Single Army#Geffen 705,{ mes "[Single Army]"; mes "^330099It's a waste to"; mes "form parties in"; mes "dungeons! I can"; mes "make it on my own!^000000"; close; OnInit: hideonnpc "Single Army#Geffen"; end; OnEnable: hideoffnpc "Single Army#Geffen"; emotion e_go; end; } prt_church,99,102,0 script Single Army#Morocc 707,{ mes "[Single Army]"; mes "^666666Hell, I've trained"; mes "all by myself since"; mes "birth, all the way"; mes "to my job change!^000000"; close; OnInit: hideonnpc "Single Army#Morocc"; end; OnEnable: hideoffnpc "Single Army#Morocc"; emotion e_go; end; } prt_church,100,102,0 script Single Army#Payon 708,{ mes "[Single Army]"; mes "^666600I CHOOSE to spend"; mes "Christmas alone..."; mes "playing Solitaire and"; mes "doing crossword puzzles!^000000"; close; OnInit: hideonnpc "Single Army#Payon"; end; OnEnable: hideoffnpc "Single Army#Payon"; emotion e_go; end; } prt_church,101,102,0 script Single Army#Amatsu 767,{ mes "[Single Army]"; mes "^CC9966Women may break my"; mes " spirit, but they'll never"; mes "take... my FREEDOM!^000000"; close; OnInit: hideonnpc "Single Army#Amatsu"; end; OnEnable: hideoffnpc "Single Army#Amatsu"; emotion e_go; end; } prt_church,102,102,0 script Single Army#Gonryun 780,{ mes "[Single Army]"; mes "^669900...We're the free! We're"; mes "the Invincible Single Army!^000000"; close; OnInit: hideonnpc "Single Army#Gonryun"; end; OnEnable: hideoffnpc "Single Army#Gonryun"; emotion e_go; end; } prt_church,100,128,4 script Bishop#w 60,{ cutin "wedding_bomars01",2; if (Upper == 2) { mes "[Vomars]"; mes "Greetings, child."; mes "Are you lost? Hmmm."; mes "Do you know where your"; mes "mommy and daddy are?"; close2; cutin "wedding_bomars01",255; end; } if (!getpartnerid()) { if (!$@wedding) { if (wedding_sign == 1) { getpartymember(getcharid(1)); set .@partymembercount,$@partymembercount; if (.@partymembercount == 2) { if (Sex == SEX_MALE) { set $@wedding,1; initnpctimer; mes "[Vomars]"; mes "Young lovers, please"; mes "remember this moment for"; mes "the rest of your lives. May your future be blessed with peace"; mes "and joy. May the love you share"; mes "grow with each passing day."; next; mapannounce "prt_church","It's the marriage proposal from the groom, Mr. " + strcharinfo(0) + "...",bc_map; mes "[Vomars]"; mes "Until the end of the"; mes "world, may you stand"; mes "by the side of the one"; mes "whom you love, to support"; mes "her and protect her. Now, may"; mes "I know the name of your bride?"; next; input $@wed_bride$; mes "[Vomars]"; mes "Mr. " + strcharinfo(0) + "..."; mes "Do you swear on your life"; mes "that you will forever cherish"; mes "and care for your bride,"; mes "Miss " + $@wed_bride$ + "?"; next; select("I do."); set $@wed_groom$,strcharinfo(0); mes "[Vomars]"; mes "Now, it is time for"; mes "your bride to make"; mes "her wedding vows."; mes "If she will come forward..."; close2; mapannounce "prt_church","The groom, Mr. " + strcharinfo(0) + ", has made his vows to Miss " + $@wed_bride$ + "...",bc_map; cutin "",255; end; } mes "[Vomars]"; mes "I'm sorry, but the groom"; mes "must speak to me first in"; mes "order to begin the wedding."; mes "It's old fashioned protocol,"; mes "but I'll admit that it does"; mes "keep things running smoothly."; goto L_End; } mes "[Vomars]"; mes "Before you can be"; mes "married, you must"; mes "first form a party of"; mes "two with your partner."; mes "Then, we can proceed"; mes "with the ceremony."; goto L_End; } mes "[Vomars]"; mes "You must apply for"; mes "marriage with Happy Marry"; mes "before you can get married."; mes "Happy Marry will let you know"; mes "what else you'll need to do"; mes "to prepare for marriage."; goto L_End; } else if ($@wedding == 1) { if (wedding_sign == 1) { getpartymember(getcharid(1)); set .@partymembercount,$@partymembercount; if (.@partymembercount == 2) { if (Sex == SEX_FEMALE) { if (strcharinfo(0) == $@wed_bride$) { mes "[Vomars]"; mes "Young lovers, please"; mes "remember this moment for"; mes "the rest of your lives. May your future be blessed with peace"; mes "and joy. May the love you share"; mes "grow with each passing day."; next; mapannounce "prt_church","Let's hear what the bride, Miss "+$@wed_bride$+", has to say...",bc_map; mes "[Vomars]"; mes "Miss "+$@wed_bride$+"..."; mes "Do you swear to stay"; mes "true to "+$@wed_groom$+","; mes "to be by his side, no matter"; mes "what the dangers may be?"; next; if (select("^FF0000No.^000000:I do.") == 1) { cutin "wedding_bomars03",2; mapannounce "prt_church","Next couple, please proceed...",bc_map; mes "[Vomars]"; mes "So "+$@wed_groom$; mes "isn't the one you"; mes "want to marry? Hmm."; mes "I'm truly sorry for this"; mes "misunderstanding..."; set $@wedding,0; close2; stopnpctimer; cutin "",255; end; } mes "[Vomars]"; mes "Do you truly swear"; mes "fidelity and patience?"; mes "Will you marry "+$@wed_groom$+"?"; next; if (select("Yes, I do.:^FF0000No.^000000") == 1) { if (isloggedin(getcharid(3,$@wed_groom$))) { if (marriage($@wed_groom$)) { //Call Wedding effect wedding; //Give ring to Bride, and change to wedding sprite. sc_start SC_Wedding,3600000,1; getitem 2635,1; //Bride_Ring //Give ring to Groom, and change to wedding sprite. attachrid(getcharid(3,$@wed_groom$)); sc_start SC_Wedding,3600000,1; getitem 2634,1; //Bridegroom_Ring detachrid; //Switch Script progression back to Bride attachrid(getcharid(3,$@wed_bride$)); cutin "wedding_bomars02",2; mapannounce "prt_church","I now pronounce you, "+$@wed_groom$+" and "+$@wed_bride$+", husband and wife.",bc_map; mes "[Vomars]"; mes "By the power invested"; mes "in me as Royal Bishop of"; mes "the Rune-Midgarts Kingdom,"; mes "I now pronounce you husband"; mes "and wife. May your future be"; mes "blessed with many great joys."; next; mes "[Vomars]"; mes "And lastly..."; mes "Always be happy,"; mes "dear "+$@wed_bride$+"..."; set $@wed_groom$,""; set $@wed_bride$,""; set $@wedding,0; close2; stopnpctimer; cutin "",255; detachrid; end; } } cutin "wedding_bomars03",2; mes "[Vomars]"; mes "Hm. It seems that"; mes "your groom left before"; mes "the ceremony has finished"; mes "Please try again once he's"; mes "returned."; goto L_End; } else { cutin "wedding_bomars03",2; mapannounce "prt_church","Alas! "+$@wed_bride$+" has rejected "+$@wed_groom$+"'s marriage proposal!",bc_map; mes "[Vomars]"; mes "Hm. It seems that"; mes "you've changed your"; mes "mind. Although I feel"; mes "sorry for the groom, you"; mes "must do what your heart"; mes "tells you is right. Now, run!"; } set $@wed_groom$,""; set $@wed_bride$,""; set $@wedding,0; close2; stopnpctimer; cutin "",255; end; } callsub S_Busy; } callsub S_Busy; } callsub S_Busy; } if (strcharinfo(0) == $@wed_bride$) { mes "[Vomars]"; mes "Hm? It appears that"; mes "Happy Marry still hasn't"; mes "received your marriage"; mes "application. Please speak"; mes "to her so that we can begin"; mes "the wedding ceremony."; goto L_End; } callsub S_Busy; } callsub S_Busy; } mes "[Vomars]"; mes "I wish you eternal"; mes "happiness. No matter"; mes "how dark the present may"; mes "be, always stand by your"; mes "loved one's side and look"; mes "to the future with hope."; L_End: close2; cutin "",255; end; S_Busy: if ($@wed_groom$ != "" && $@wed_bride$ != "") { mes "[Vomars]"; mes "The wedding of"; mes "Miss "+ $@wed_bride$ +" and"; mes "Mister "+ $@wed_groom$; mes "is currently in progress."; mes "Please keep your voice down."; goto L_End; } mes "[Vomars]"; mes "I'm conducting a wedding"; mes "for another couple now, so"; mes "please wait patiently for your"; mes "turn. Thanks for understanding..."; goto L_End; OnStop: stopnpctimer; end; OnReset: set $@wed_groom$,""; set $@wed_bride$,""; set $@wedding,0; end; OnTimer180000: mapannounce "prt_church","You've responded too slowly... Next couple, please proceed.",bc_map; donpcevent "Bishop#w::OnReset"; stopnpctimer; end; } prt_church,28,178,4 script The King of Midgart 108,{ callfunc "F_GM_NPC"; mes "[Vomars]"; mes "Wh-who are you?"; mes "You must know the"; mes "password to invoke"; mes "my awesome powers."; next; if (callfunc("F_GM_NPC",1854,0) < 1) { mes "[Vomars]"; mes "This is"; mes "no place for"; mes "fooling around."; close2; warp "prt_church",101,102; end; } mes "[Wedding Switch]"; mes "Is there a problem with"; mes "the wedding ceremony?"; mes "I can reset the Bishop"; mes "Vomars NPC if you like."; next; switch(select("No, thanks:RESET")) { case 1: mes "[Wedding Switch]"; mes "Alright, then."; mes "However, if the"; mes "Bishop Vomars"; mes "NPC is stuck, it may"; mes "be best to reset it."; close; case 2: donpcevent "Bishop#w::OnStop"; donpcevent "Bishop#w::OnReset"; mapannounce "prt_church","You've responded too slowly... Next couple, please proceed.",bc_map; mes "[Wedding Switch]"; mes "The Bishop Vomars NPC"; mes "has now been reactivated."; mes "It should now be possible"; mes "to proceed with weddings."; close; } } prt_church,20,179,4 script Divorce Staff 71,{ callfunc "F_GM_NPC"; mes "[Bad Ending]"; mes "Uh oh..."; mes "You know I can't"; mes "do anything for you."; next; if (callfunc("F_GM_NPC",1854,0) < 1) { mes "[Bad Ending]"; mes "Hmm..."; mes "You really"; mes "shouldn't be"; mes "in this place..."; close; } mes "[Bad Ending]"; mes "Great, you know the"; mes "password! Now, did you"; mes "want me to remove the"; mes "Wedding Ring in your"; mes "inventory?"; next; switch(select("Drop 1 Wedding Ring.:Keep it.")) { case 1: set .@ring, (Sex == SEX_MALE)?2634:2635; //Bridegroom_Ring, Bride_Ring if (countitem(.@ring)) { delitem .@ring,1; mes "[Bad Ending]"; mes "It's done!"; } else { mes "[Bad Ending]"; mes "I couldn't find"; mes "the Wedding Ring..."; mes "Please make sure"; mes "that it's not equipped."; } close; case 2: mes "[Bad Ending]"; mes "You sure you want"; mes "to keep that ring?"; mes "Alright, but if it becomes"; mes "a problem, you come to me."; close; } } prt_church,22,179,4 script Remarry Staff 71,{ callfunc "F_GM_NPC"; mes "[Wedding Again]"; mes "Hmm...?"; mes "What exactly are"; mes "you doing here?"; next; if (callfunc("F_GM_NPC",1854,0) < 1) { mes "[Wedding Again]"; mes "Ahk!"; mes "An adventurer"; mes "like you shouldn't"; mes "be in this place!"; close; } if (getpartnerid()) { mes "[Wedding Again]"; mes "Hmm..."; mes "I can only create"; mes "a Wedding Ring if the"; mes "character is married."; close; } mes "[Wedding Again]"; mes "Ah, I see that you"; mes "know the password."; mes "Alright, if you somehow"; mes "lost your Wedding Ring,"; mes "I can make you a new one."; next; switch(select("Make new Wedding Ring.:Cancel.")) { case 1: set .@ring, (Sex == SEX_MALE)?2634:2635; //Bridegroom_Ring, Bride_Ring if (countitem(.@ring) || isequipped(.@ring)) { mes "[Wedding Again]"; mes "Wait, wait..."; mes "You're wearing your"; mes "Wedding Ring. I better"; mes "not make you another since"; mes "you don't need more than one."; } else { getitem .@ring,1; mes "[Wedding Again]"; mes "Here you go~"; mes "It's your brand"; mes "new Wedding Ring!"; } close; case 2: mes "[Wedding Again]"; mes "Alright. If you ever"; mes "lose your Wedding Ring,"; mes "come to me if you happen"; mes "to need a new one, okay?"; close; } } here my friend -
Get_var fatal error player not attach help
Quesooo replied to Quesooo's question in Scripting Support
oh thank you idint notice it cant find where to fix the problem also -
Get_var fatal error player not attach help
Quesooo replied to Quesooo's question in Scripting Support
actually i dont know where it came from -
-
im trying to add a custom items and already follow all guides here at rathena related to adding custom items but all i try is failed 1st i notice on all guides said lua files but when i view my grf i dont see any lua files in there only lub files is there any clear latest guide how to add custom items with lub files informations thank you so much to those people who help me out god bless all
-
anyone can help this is my instance db 1,Endless Tower,14400,300,1@tower,50,355,2@tower,3@tower,4@tower,5@tower,6@tower 2,Sealed Catacomb,7200,300,1@cata,100,224,2@cata 3,Orc's Memory,3600,300,1@orcs,179,15,2@orcs 4,Nidhoggur's Nest,14400,300,1@nyd,32,36,2@nyd 5,Mistwood Maze,7200,300,1@mist,89,29 6,Culvert,3600,300,1@pump,63,98,2@pump 7,Octopus Cave,3600,300,1@cash,199,99 8,Bangungot Hospital 2F,3600,300,1@ma_h,40,157 9,Buwaya Cave,3600,300,1@ma_c,35,57 10,Bakonawa Lake,7200,300,1@ma_b,64,51 11,Wolfchev's Laboratory,14400,300,1@lhz,45,148 12,Old Glast Heim,3600,300,1@gl_k,150,20,2@gl_k 13,Eclage Interior,1200,300,1@ecl,60,50 14,Sara's Memories,3600,300,1@sara,250,155 15,Geffen Magic Tournament,7200,300,1@gef,119,209,1@gef_in,1@ge_st 16,Horror Toy Factory,3600,300,1@xm_d,111,22 17,Faceworm's Nest,3600,300,1@face,112,374 19,Ghost Palace,3600,300,1@spa,198,188 20,Bios Island,7200,300,1@dth1,19,94,1@dth2,1@dth3 21,CharlestonCrisis,3600,300,1@mcd,127,273 22,Charleston Crisis,7200,300,1@mcd,127,282,1@mcd 23,Central Laboratory,3600,300,1@lab,120,30 24,Infinite Space,7200,300,1@infi,30,5 25,Nightmarish Jitterbug,3300,300,1@jtb,16,18 30,Devils Tower,14400,300,1@tnml,50,104,1@tnml2,1@tnml3 Questdb mobdb mobskilldb mercenarydb is same as the above given
-
yeah at db > mercenary_db,txt
-
already recompled my server
-
-
already added that sir also i follow the guide carefully i dont know what missing
-
22679,Death_Bin,Death Bin,18,10,,0,,,,0,0xFFFFFFFF,63,2,,,170,,,{ /*TODO*/ },{},{} hi can i ask a complete file for this thank you so much