////////////////////////////////////////// // AOS HOUSE SYSTEM // // // // Created by Coruja // // coruja747 @ sphereserver.net forum // // Script Version: 3.6 // // Last update: 20/04/2008 // // Plase don't remove this header // // // ////////////////////////////////////////// // // // INSTALL NOTES // // // // This script is "drag & drop", just // // set the defnames below and put it in // // your scripts folder. // // Works only on Sphere 056b // // // // To enable the auto-decay of invalid // // houses (houses without owners, duo // // account delection), just put: // // SERV.remove_invalid_houses // // on the "sphere_serv_triggers.scp" // // script, at the sections: // // "f_onaccount_delete" // // "f_onchar_delete" // // // // To enable the House Placement Tools // // just place the item // // "i_house_placement_tool" // // on your architect npc stock, on the // // script "sphere_template_vend.scp" // // at the VENDOR_S_DEED_TEMPLATE list // // // // This script works with Custom Vendor // // system as default. If you have // // problems on interactivity with your // // vendors, just modify the function // // "ISVENDOR" in this script. // // // ////////////////////////////////////////// [DEFNAME HOUSE_SYSTEM] PLAYER_CAN_USE_BANK 1 //Can open bankbox from the house sign? (1=On / 0=Off) HOUSE_DOOR_ACCESS 1 //Owner of the house can change the door access? (1=On / 0=Off) HOUSE_USE_DEEDS 1 //When a house got demolished, you want get back your house deed or the house value in gold? (0=House Value in Gold / 1=House Deed) HOUSE_USE_VENDORS 1 //Enable interactivity with vendors (1=On / 0=Off) HOUSE_DECAY_TIMER 20 //House decay timer, in days (0=Decay Off) DEMOLITION_PEND_DECAY 7 //House decay timer for Demolition Pending houses, in days (Houses can only be pended to demolition by a Game Master) USE_GLOBAL_STORAGE 0 //Use Global Storage Limit value for houses or calculate storage limit by the house area? (0=Calculate by House Area / 1=Global Value) GLOBAL_SECURE_STORAGE 600 //Global max secured storage allowed per house (secure containers + items inside secure containers) GLOBAL_LOCKDOWNS 100 //Global max locked items allowed per house (this value will cont on Secure Storage Limit) MAX_HOUSE_COOWNERS 4 //Max number of co-owners allowed per house MAX_HOUSE_FRIENDS 6 //Max number of friends allowed per house MAX_HOUSE_BANS 6 //Max number of bans allowed per house MAX_ACCOUNT_HOUSES 2 //Max number of houses allowed per account USE_NOTICE_SYSTEM 1 //Notice player using dialog when your house decay or when it removed from the house access list (0=Off / 1=On) ACCOUNT_OWNERSHIP 0 //All character of the house owner account will get owner access in the house (0=Off / 1=On) ALLOW_CUSTOMIZE 1 //Enable AOS Custom House system? MAX_NEAR_HOUSE_DIST 3 //Max distance allowed between placed houses ////////////////////////////////////////////////////////////////////////////////// [ITEMDEF 0bd1] DEFNAME=i_sign_brass TYPE=t_sign_gump CAN=CAN_I_DCIGNORELOS CATEGORY=Decoration - Signs SUBSECTION=Blank DESCRIPTION=Brass Blank DUPELIST=0bd2 ON=@Create TIMERF 1,f_house_place_ownership TIMERF 1,LINK.f_house_check_near_dist TIMERF 1,f_remove_moongates ON=@DClick IF () IF () SDIALOG d_house_information return 1 ELIF (>) || (>) || (>) SRC.SYSMESSAGE @,,1 Welcome back, . IF ( > 0) && (>) TIMER=*24*60*60> ENDIF SDIALOG d_house_information return 1 ENDIF TAG0.VISITS += 1 SDIALOG d_house_visitor return 1 ENDIF ON=@ClientToolTip SRC.ADDCLILOC 1042971,A House Sign SRC.ADDCLILOC 1061639, SRC.ADDCLILOC 1061640,.NAME> SRC.ADDCLILOC )? 1061641:1061642> return 1 ON=@ContextMenuRequest IF () IF () SRC.AddContextEntry 747,6211 ENDIF ENDIF ON=@ContextMenuSelect IF (==747) CLEARTAGS vendor REF1= FORCHARS 30 IF (==) IF () REF1.TAG0.VENDORS += 1 TRY REF1.TAG.VENDOR= ENDIF ENDIF ENDFOR IF () SDIALOG d_house_features 1 ENDIF ENDIF ON=@Timer IF (( > 0) || ()) TRY UID..NOTICE=Your house '' was decayed on // > because )? you didn't remove it in a period of days(s) determined by the Staff to remove this house.:your house has inactive for days>. FOR 1 TRY UID.>.NOTICE=You got removed from the Co-Owner access list of the house '' because it was decayed on // >. ENDFOR FOR 1 TRY UID.>.NOTICE=You got removed from the Friend access list of the house '' because it was decayed on // >. ENDFOR LINK.f_house_demolish 1 LINK.REMOVE ENDIF [ITEMDEF 0100e] DEFNAME=i_key_copper WEIGHT=0.1 TYPE=T_KEY CATEGORY=Provisions - Miscellaneous SUBSECTION=Keys DESCRIPTION=Copper Key ON=@Click MESSAGE () ON=@DClick return 1 [FUNCTION f_house_place_ownership] REF1=.MORE1>> MORE2= TAG.BUILTON=-- > NAME= LINK.REGION.EVENTS=+r_house_system TRY UID..MORE2= TRY UID..MORE2>.TAG.STORAGE_LIMIT= REF1.f_remove_keys RESENDTOOLTIP [FUNCTION f_house_check_near_dist] REF1= //House owner IF () REF1.SYSMESSAGE @,,1 You can't place this house too close from another one. UID..f_house_demolish ELSE IF ( > 0) UID..TIMER=*24*60*60> REF1.SYSMESSAGE @,,1 This house is now yours, it will decay in days if you don't use it. ELSE REF1.SYSMESSAGE @,,1 This house is now yours. ENDIF ENDIF UID..TAG.PLACEMENT_TOOL= [FUNCTION f_remove_keys] FOR 0 IF ().DISPID>==i_key_copper) IF STRMATCH("t_multi*",").LINK.TYPE>") TRY UID.).UID>.REMOVE ENDIF ENDIF ENDFOR FOR 0 IF ().DISPID>==i_key_copper) IF STRMATCH("t_multi*",").LINK.TYPE>") TRY UID.).UID>.REMOVE ENDIF ENDIF ENDFOR [FUNCTION f_remove_moongates] REF1= FORITEMS 40 IF (==) IF STRMATCH("*telepad*","") || STRMATCH("*gate*","") IF ( != 04fffffff) TIMER=0 ENDIF ENDIF ENDIF ENDFOR ////////////////////////////////////////////////////////////////////////////////// [DIALOG d_house_information] 110,35 page 0 resizepic 0 0 5054 420 440 gumppictiled 10 10 400 100 2624 checkertrans 10 10 400 100 gumppictiled 10 120 400 260 2624 checkertrans 10 120 400 260 gumppictiled 10 390 400 40 2624 checkertrans 10 390 400 40 button 250 410 4005 4007 1 0 0 dtext 285 410 1152 CLOSE gumppic 10 10 100 dhtmlgump 30 43 105 40 0 0 button 150 10 4006 4007 1 0 1 dtext 195 10 5 INFORMATION button 150 30 4005 4007 1 0 2 dtext 195 30 1152 SECURITY button 150 50 4005 4007 1 0 3 dtext 195 50 1152 STORAGE button 150 70 4005 4007 1 0 4 dtext 195 70 1152 CUSTOMIZE button 150 90 4005 4007 1 0 5 dtext 195 90 1152 OWNERSHIP IF (==1) button 250 390 4005 4007 1 0 8 dtext 285 390 1152 Open Bank Box ENDIF dtext 20 130 1152 Owned By: dtext 210 130 1152 .NAME> dtext 20 170 )? 37 This house is NOT:5 This house is> properly placed. dtext 20 190 5 This house is of modern design. dtext 20 210 5 This is a != t_multi_custom)? pre:custom>-built house. IF () dtext 20 230 5 This house is open to the public. ELSE dtext 20 230 5 This house is private. ENDIF IF () dtext 20 250 37 This house is Pended to Demolition. dtext 20 270 37 This house will decay in: /86400> days, %86400)/3600> hours and %86400)%3600)/60> minutes. ELIF ( > 0) && ( > 0) dtext 20 250 5 This house will decay in: /86400> days, %86400)/3600> hours and %86400)%3600)/60> minutes. ELSE dtext 20 250 5 This house is Automatically refreshed. ENDIF dtext 20 290 5 Built On: dtext 250 290 1152 IF () dtext 20 310 5 Last Traded: dtext 250 310 1152 ENDIF dtext 20 330 5 House Value: dtext 250 330 1152 gps dtext 20 360 5 Number of visits this building has had: dtext 350 360 1152 [DIALOG d_house_information BUTTON] ON=1 DIALOG d_house_information ON=2 DIALOG d_house_security ON=3 DIALOG d_house_storage ON=4 DIALOG d_house_customize ON=5 DIALOG d_house_ownership ON=6 SRC.SYSMESSAGE @03b2,,1, Target the individual to ban from this house. SRC.TARGETF f_house_banish ON=7 DIALOG d_house_security 7 ON=8 IF ( < 15) SRC.BANKSELF ELSE SRC.SYSMESSAGE @,,1 You are too far away from the house sign. ENDIF ////////////////////////////////////////////////////////////////////////////////// [DIALOG d_house_security] 110,35 page 0 resizepic 0 0 5054 420 440 gumppictiled 10 10 400 100 2624 checkertrans 10 10 400 100 gumppictiled 10 120 400 260 2624 checkertrans 10 120 400 260 gumppictiled 10 390 400 40 2624 checkertrans 10 390 400 40 button 250 410 4005 4007 1 0 0 dtext 285 410 1152 CLOSE gumppic 10 10 100 dhtmlgump 30 43 105 40 0 0 button 10 390 4005 4007 1 0 6 dtext 45 390 1152 Banish button 10 410 4005 4007 0 7 0 dtext 45 410 1152 Lift a Ban button 150 10 4005 4007 1 0 1 dtext 195 10 1152 INFORMATION button 150 30 4006 4007 1 0 2 dtext 195 30 5 SECURITY button 150 50 4005 4007 1 0 3 dtext 195 50 1152 STORAGE button 150 70 4005 4007 1 0 4 dtext 195 70 1152 CUSTOMIZE button 150 90 4005 4007 1 0 5 dtext 195 90 1152 OWNERSHIP IF (==1) button 250 390 4005 4007 1 0 8 dtext 285 390 1152 Open Bank Box ENDIF page 1 button 10 130 4005 4007 0 2 0 dtext 45 130 1152 View Co-Owner List IF (>) button 10 150 4005 4007 1 0 11 dtext 45 150 1152 Add a Co-Owner button 10 170 4005 4007 0 3 0 dtext 45 170 1152 Remove a Co-Owner button 10 190 4005 4007 1 0 12 dtext 45 190 1152 Clear Co-Owner List ELSE dtext 45 150 998 Add a Co-Owner dtext 45 170 998 Remove a Co-Owner dtext 45 190 998 Clear Co-Owner List ENDIF button 10 220 4005 4007 0 4 0 dtext 45 220 1152 View Friends List IF (>) || (>) button 10 240 4005 4007 1 0 21 dtext 45 240 1152 Add a Friend button 10 260 4005 4007 0 5 0 dtext 45 260 1152 Remove a Friend button 10 280 4005 4007 1 0 22 dtext 45 280 1152 Clear Friend List ELSE dtext 45 240 998 Add a Friend dtext 45 260 998 Remove a Friend dtext 45 280 998 Clear Friend List ENDIF button 10 310 4005 4007 0 6 0 dtext 45 310 1152 View Ban List IF (>) || (>) button 10 330 4005 4007 1 0 31 dtext 45 330 1152 Clear Ban List ELSE dtext 45 330 998 Clear Ban List ENDIF IF (>) IF !() dtext 245 130 5 Change to Private dtext 245 150 1152 Change to Public button 210 150 4005 4007 1 0 41 ELSE dtext 245 130 1152 Change to Private dtext 245 150 5 Change to Public button 210 130 4005 4007 1 0 41 ENDIF ELSE dtext 245 130 998 Change to Private dtext 245 150 998 Change to Public ENDIF page 2 dtext 159 120 1152 CO-OWNER LIST FOR 1 LOCAL.LIST2 += 20 IF (>) DTEXT 20 +120> 1152 >.NAME> ENDIF ENDFOR page 3 dtext 159 120 1152 CO-OWNER LIST BUTTON 175 360 2463 2464 1 0 51 FOR 1 LOCAL.LIST3 += 20 IF (>) DTEXT 20 +120> 1152 >.NAME> DTEXT 345 +120> 1152 Remove CHECKBOX 320 +120> 210 211 0 ENDIF ENDFOR page 4 dtext 167 120 1152 FRIENDS LIST FOR 1 LOCAL.LIST4 += 20 IF (>) DTEXT 20 +120> 1152 >.NAME> ENDIF ENDFOR page 5 dtext 167 120 1152 FRIENDS LIST BUTTON 175 360 2463 2464 1 0 52 FOR 1 LOCAL.LIST5 += 20 IF (>) DTEXT 20 +120> 1152 >.NAME> DTEXT 345 +120> 1152 Remove CHECKBOX 320 +120> 210 211 0 ENDIF ENDFOR page 6 dtext 178 120 1152 BAN LIST FOR 1 LOCAL.LIST6 += 20 IF (>) DTEXT 20 +120> 1152 >.NAME> ENDIF ENDFOR page 7 dtext 178 120 1152 BAN LIST BUTTON 175 360 2463 2464 1 0 53 FOR 1 LOCAL.LIST7 += 20 IF (>) DTEXT 20 +120> 1152 >.NAME> DTEXT 345 +120> 1152 Remove CHECKBOX 320 +120> 210 211 0 ENDIF ENDFOR [DIALOG d_house_security BUTTON] ON=1 DIALOG d_house_information ON=2 DIALOG d_house_security ON=3 DIALOG d_house_storage ON=4 DIALOG d_house_customize ON=5 DIALOG d_house_ownership ON=6 SRC.SYSMESSAGE @03b2,,1, Target the individual to ban from this house. SRC.TARGETF f_house_banish ON=8 IF ( < 15) SRC.BANKSELF ELSE SRC.SYSMESSAGE @,,1 You are too far away from the house sign. ENDIF ON=11 SRC.SYSMESSAGE @03b2,,1, Target the person you wish to name a co-owner of your household. SRC.TARGETF f_house_add_coowner ON=12 SDIALOG d_house_clear_coowners ON=21 SRC.SYSMESSAGE @03b2,,1, Target the person you wish to name a friend of your household. SRC.TARGETF f_house_add_friend ON=22 DIALOG d_house_clear_friends ON=31 DIALOG d_house_clear_bans ON=41 IF !() HOUSE_DECLARE_PUBLIC DIALOG d_house_type 1 ELSE HOUSE_DECLARE_PRIVATE DIALOG d_house_type 2 ENDIF ON=51 FOR 1 IF (]>==1) SRC.SYSMESSAGE @03b2,,1, Co-owner removed from list. TRY UID.>.NOTICE=You got removed from the Co-Owner access list of the house '' on // >. TRYP 0 SRC.TARG.TAG.CO_OWNER_= ENDIF ENDFOR SRC.DIALOG d_house_security 3 ON=52 FOR 1 IF (]>==1) SRC.SYSMESSAGE @03b2,,1, Friend removed from list. TRY UID.>.NOTICE=You got removed from the Friend access list of the house '' on // >. TRYP 0 SRC.TARG.TAG.FRIEND_= ENDIF ENDFOR SRC.DIALOG d_house_security 5 ON=53 FOR 1 IF (]>==1) SRC.SYSMESSAGE @03b2,,1, Ban removed from list. TRY UID.>.NOTICE=You got removed from the Banned access list of the house '' on // >. TRYP 0 SRC.TARG.TAG.BAN_= ENDIF ENDFOR SRC.DIALOG d_house_security 7 ////////////////////////////////////////////////////////////////////////////////// [DIALOG d_house_storage] 110,35 page 0 resizepic 0 0 5054 420 440 gumppictiled 10 10 400 100 2624 checkertrans 10 10 400 100 gumppictiled 10 120 400 260 2624 checkertrans 10 120 400 260 gumppictiled 10 390 400 40 2624 checkertrans 10 390 400 40 button 250 410 4005 4007 1 0 0 dtext 285 410 1152 CLOSE gumppic 10 10 100 dhtmlgump 30 43 105 40 0 0 button 150 10 4005 4007 1 0 1 dtext 195 10 1152 INFORMATION button 150 30 4005 4007 1 0 2 dtext 195 30 1152 SECURITY button 150 50 4006 4007 1 0 3 dtext 195 50 5 STORAGE button 150 70 4005 4007 1 0 4 dtext 195 70 1152 CUSTOMIZE button 150 90 4005 4007 1 0 5 dtext 195 90 1152 OWNERSHIP button 10 390 4005 4007 1 0 6 dtext 45 390 1152 Banish button 10 410 4005 4007 1 0 7 dtext 45 410 1152 Lift a Ban IF (==1) button 250 390 4005 4007 1 0 8 dtext 285 390 1152 Open Bank Box ENDIF page 1 dtext 123 130 1152 HOUSE STORAGE SUMMARY //dtext 10 150 998 Increased Storage //dtext 310 150 1152 0% dtext 10 170 1152 Maximum Secure Storage IF (==1) dtext 310 170 1152 ELSE dtext 310 170 1152 ENDIF //dtext 10 190 998 Used by Moving Crate //dtext 310 190 1152 0 dtext 10 210 1152 Used by Lockdowns dtext 310 210 1152 dtext 10 230 1152 Used by Secure Containers dtext 310 230 1152 dtext 10 250 1152 Available Storage IF (==1) dtext 310 250 1152 - ((+)+)> dtext 310 290 1152 dtext 310 310 1152 -> ELSE dtext 310 250 1152 - ((+)+)> dtext 310 290 1152 /2> dtext 310 310 1152 /2)-> ENDIF dtext 10 290 1152 Maximum Lockdowns dtext 10 310 1152 Available Lockdowns IF () dtext 10 350 1152 Vendor Count dtext 310 350 1152 ENDIF [DIALOG d_house_storage BUTTON] ON=1 DIALOG d_house_information ON=2 DIALOG d_house_security ON=3 DIALOG d_house_storage ON=4 DIALOG d_house_customize ON=5 DIALOG d_house_ownership ON=6 SRC.SYSMESSAGE @03b2,,1, Target the individual to ban from this house. SRC.TARGETF f_house_banish ON=7 DIALOG d_house_security 7 ON=8 IF ( < 15) SRC.BANKSELF ELSE SRC.SYSMESSAGE @,,1 You are too far away from the house sign. ENDIF ////////////////////////////////////////////////////////////////////////////////// [DIALOG d_house_customize] 110,35 page 0 resizepic 0 0 5054 420 440 gumppictiled 10 10 400 100 2624 checkertrans 10 10 400 100 gumppictiled 10 120 400 260 2624 checkertrans 10 120 400 260 gumppictiled 10 390 400 40 2624 checkertrans 10 390 400 40 button 250 410 4005 4007 1 0 0 dtext 285 410 1152 CLOSE gumppic 10 10 100 dhtmlgump 30 43 105 40 0 0 button 150 10 4005 4007 1 0 1 dtext 195 10 1152 INFORMATION button 150 30 4005 4007 1 0 2 dtext 195 30 1152 SECURITY button 150 50 4005 4007 1 0 3 dtext 195 50 1152 STORAGE button 150 70 4006 4007 1 0 4 dtext 195 70 5 CUSTOMIZE button 150 90 4005 4007 1 0 5 dtext 195 90 1152 OWNERSHIP button 10 390 4005 4007 1 0 6 dtext 45 390 1152 Banish button 10 410 4005 4007 1 0 7 dtext 45 410 1152 Lift a Ban IF (==1) button 250 390 4005 4007 1 0 8 dtext 285 390 1152 Open Bank Box ENDIF page 1 //dtext 45 120 998 Convert Into Customizable House //dtext 45 180 998 Relocate Moving Crate dtext 45 280 998 Change Foundation Style IF (>) IF () && (==t_multi_custom) dtext 45 160 1152 Customize This House button 10 160 4005 4007 1 0 20 dtext 45 230 1152 Change House Sign Hanger button 10 230 4005 4007 1 0 22 dtext 45 250 1152 Change Signpost button 10 250 4005 4007 1 0 23 ELSE dtext 45 160 998 Customize This House dtext 45 230 998 Change House Sign Hanger dtext 45 250 998 Change Signpost ENDIF button 10 210 4005 4007 1 0 21 dtext 45 210 1152 Change House Sign button 10 310 4005 4007 1 0 24 dtext 45 310 1152 Rename House ELSE dtext 45 160 998 Customize This House dtext 45 210 998 Change House Sign dtext 45 230 998 Change House Sign Hanger dtext 45 250 998 Change Signpost dtext 45 310 998 Rename House ENDIF [DIALOG d_house_customize BUTTON] ON=1 DIALOG d_house_information ON=2 DIALOG d_house_security ON=3 DIALOG d_house_storage ON=4 DIALOG d_house_customize ON=5 DIALOG d_house_ownership ON=6 SRC.SYSMESSAGE @03b2,,1, Target the individual to ban from this house. SRC.TARGETF f_house_banish ON=7 DIALOG d_house_security 7 ON=8 IF ( < 15) SRC.BANKSELF ELSE SRC.SYSMESSAGE @,,1 You are too far away from the house sign. ENDIF ON=20 24 IF ( > 15) SRC.SYSMESSAGE @,,1 You are too far away from the house sign. return 1 ELIF (>) IF (==20) IF () && ( == t_multi_custom) IF ( < 3) SRC.SYSMESSAGE @,,1 Sorry, your account must have the Age of Shadows update to do this. return 1 ELIF () SRC.SYSMESSAGE @,,1 You are already designing ==)? this:another> building. return 1 ELIF () SRC.SYSMESSAGE @,,1 .NAME> is designing this house. return 1 ELIF !() SRC.EVENTS +e_house_customize SRC.DSPEECH +spk_house_customize ENDIF SRC.GO .P> LINK.CUSTOMIZE ENDIF ELIF (==21) SDIALOG d_house_features 2 //Change House Sign ELIF (==22) IF (==t_multi_custom) SDIALOG d_house_features 5 //Change House Sign Hanger ENDIF ELIF (==23) IF (==t_multi_custom) SDIALOG d_house_features 6 //Change Signpost ENDIF ELIF (==24) SRC.SYSMESSAGE @,,1 What dost thou wish the sign to say? SRC.PROMPTCONSOLE f_change_house_name ENDIF ENDIF [FUNCTION f_change_house_name] IF (==t_sign_gump) IF !(>) IF STRMATCH("[a-z]*","") SYSMESSAGE @,,1 Sign changed. TARG.NAME= TARG.RESENDTOOLTIP ELSE SYSMESSAGE @,,1 Invalid name. ENDIF ELSE SYSMESSAGE @,,1 Cancelled. ENDIF TARG.DIALOG d_house_customize ELSE SYSMESSAGE @,,1 An error has found, please try again. ENDIF ////////////////////////////////////////////////////////////////////////////////// [DIALOG d_house_ownership] 110,35 page 0 resizepic 0 0 5054 420 440 gumppictiled 10 10 400 100 2624 checkertrans 10 10 400 100 gumppictiled 10 120 400 260 2624 checkertrans 10 120 400 260 gumppictiled 10 390 400 40 2624 checkertrans 10 390 400 40 button 250 410 4005 4007 1 0 0 dtext 285 410 1152 CLOSE gumppic 10 10 100 dhtmlgump 30 43 105 40 0 0 button 150 10 4005 4007 1 0 1 dtext 195 10 1152 INFORMATION button 150 30 4005 4007 1 0 2 dtext 195 30 1152 SECURITY button 150 50 4005 4007 1 0 3 dtext 195 50 1152 STORAGE button 150 70 4005 4007 1 0 4 dtext 195 70 1152 CUSTOMIZE button 150 90 4006 4007 1 0 5 dtext 195 90 5 OWNERSHIP button 10 390 4005 4007 1 0 6 dtext 45 390 1152 Banish button 10 410 4005 4007 1 0 7 dtext 45 410 1152 Lift a Ban IF (==1) button 250 390 4005 4007 1 0 8 dtext 285 390 1152 Open Bank Box ENDIF IF (>) button 10 130 4005 4007 1 0 21 dtext 45 130 1152 Demolish House button 10 150 4005 4007 1 0 22 dtext 45 150 1152 Trade House ELSE dtext 45 130 998 Demolish House dtext 45 150 998 Trade House ENDIF //dtext 45 190 998 Make Primary IF () dtext 125 250 1152 GAME MASTER OPTIONS IF (>) button 10 280 4005 4007 1 0 31 dtext 45 280 1152 Pend this house for Demolition on __ day(s) dtextentry 253 280 15 20 1152 0 ELSE button 10 280 4005 4007 1 0 32 dtext 45 280 5 Cancel Demolition Pending State ENDIF ENDIF IF () dtext 125 250 1152 OPCOES DE GAME MASTER dtext 45 300 1152 Motivo: gumppictiled 90 300 310 36 9264 checkertrans 90 300 310 36 IF (>) button 10 280 4005 4007 1 0 31 dtext 45 280 1152 Condenar esta casa por __ dia(s) dtextentry 193 280 15 20 1152 0 dtextentry 93 300 300 36 1152 1 ELSE button 10 280 4005 4007 1 0 32 dtext 45 280 5 Remover estado de Condenacao dtext 45 300 1152 Motivo: dhtmlgump 93 300 300 36 0 0 >>)? Nao especificado:>> ENDIF ENDIF [DIALOG d_house_ownership BUTTON] ON=1 DIALOG d_house_information ON=2 DIALOG d_house_security ON=3 DIALOG d_house_storage ON=4 DIALOG d_house_customize ON=5 DIALOG d_house_ownership ON=6 SRC.SYSMESSAGE @03b2,,1, Target the individual to ban from this house. SRC.TARGETF f_house_banish ON=7 DIALOG d_house_security 7 ON=8 IF ( < 15) SRC.BANKSELF ELSE SRC.SYSMESSAGE @,,1 You are too far away from the house sign. ENDIF ON=21 IF (>) SDIALOG d_house_demolish ENDIF ON=22 SRC.DIALOGCLOSE d_house_ownership SRC.SYSMESSAGE @,,1 Target the person to whom you wish to give this house. SRC.TARGETF f_house_transfer ON=31 IF (>) IF ( < 100) SRC.SYSMESSAGE @,,1 This house is now Pended for Demolition. It will decay automatically in days if the Owner not demolish it. TIMER=*24*60*60 TAG.DEMOLITION_PENDING= SDIALOG d_house_ownership TRY UID..NOTICE=Your house '' was Pended for Demolition on // > and it will decay in days if you not demolish it manually. ENDIF ENDIF ON=32 SRC.SYSMESSAGE @,,1 You cancel the Demolition Pending state of this house. TAG.DEMOLITION_PENDING= SDIALOG d_house_ownership TRY UID..NOTICE=Your house Demolition Pending state for '' was canceled on // > and it will not be condemned anymore. IF ( > 0) TIMER=*24*60*60> ELSE TIMER=-1 ENDIF [FUNCTION house_find_guild] LOCAL.REGION= FORITEMS 40 IF (==) IF (==t_stone_guild) return 1 ENDIF ENDIF ENDFOR return 0 [FUNCTION house_find_vendor] LOCAL.REGION= FORCHARS 40 IF (==) IF () return 1 ENDIF ENDIF ENDFOR return 0 ////////////////////////////////////////////////////////////////////////////////// [DIALOG d_house_features] 110,35 page 0 resizepic 0 0 5054 420 420 gumppictiled 10 10 400 100 2624 checkertrans 10 10 400 100 gumppictiled 10 120 400 260 2624 checkertrans 10 120 400 260 gumppictiled 10 390 400 20 2624 checkertrans 10 390 400 20 button 250 410 4005 4007 1 0 0 dtext 285 410 1152 CLOSE gumppic 10 10 100 dhtmlgump 30 43 105 40 0 0 button 150 10 4005 4007 1 0 1 dtext 195 10 1152 INFORMATION button 150 30 4005 4007 1 0 2 dtext 195 30 1152 SECURITY button 150 50 4005 4007 1 0 3 dtext 195 50 1152 STORAGE button 150 70 4005 4007 1 0 4 dtext 195 70 1152 CUSTOMIZE button 150 90 4005 4007 1 0 5 dtext 195 90 1152 OWNERSHIP IF (==1) button 250 390 4005 4007 1 0 8 dtext 285 390 1152 Open Bank Box ENDIF page 1 //Show Custom Vendors dtext 185 120 1152 SHOPS LOCAL.Y=150 FOR dtext 45 5 >.TAG.NAMESHOP> button 10 4005 4007 1 0 +100> LOCAL.Y += 20 ENDFOR page 2 //Change House Sign 1/3 button 10 360 4005 4007 0 3 0 button 30 130 4005 4007 1 0 10 tilepic 50 130 2980 button 90 130 4005 4007 1 0 11 tilepic 110 130 2982 button 150 130 4005 4007 1 0 12 tilepic 170 130 2984 button 210 130 4005 4007 1 0 13 tilepic 230 130 2986 button 270 130 4005 4007 1 0 14 tilepic 290 130 2988 button 330 130 4005 4007 1 0 15 tilepic 350 130 2990 button 30 190 4005 4007 1 0 16 tilepic 50 190 2992 button 90 190 4005 4007 1 0 17 tilepic 110 190 2994 button 150 190 4005 4007 1 0 18 tilepic 170 190 2996 button 210 190 4005 4007 1 0 19 tilepic 230 190 2998 button 270 190 4005 4007 1 0 20 tilepic 290 190 3000 button 330 190 4005 4007 1 0 21 tilepic 350 190 3002 button 30 250 4005 4007 1 0 22 tilepic 50 250 3004 button 90 250 4005 4007 1 0 23 tilepic 110 250 3006 button 150 250 4005 4007 1 0 24 tilepic 170 250 3008 button 210 250 4005 4007 1 0 25 tilepic 230 250 3010 button 270 250 4005 4007 1 0 26 tilepic 290 250 3012 button 330 250 4005 4007 1 0 27 tilepic 350 250 3014 page 3 //Change House Sign 2/3 button 10 360 4005 4007 0 4 0 button 30 130 4005 4007 1 0 28 tilepic 50 130 3016 button 90 130 4005 4007 1 0 29 tilepic 110 130 3018 button 150 130 4005 4007 1 0 30 tilepic 170 130 3020 button 210 130 4005 4007 1 0 31 tilepic 230 130 3022 button 270 130 4005 4007 1 0 32 tilepic 290 130 3024 button 330 130 4005 4007 1 0 33 tilepic 350 130 3026 button 30 190 4005 4007 1 0 34 tilepic 50 190 3028 button 90 190 4005 4007 1 0 35 tilepic 110 190 3030 button 150 190 4005 4007 1 0 36 tilepic 170 190 3032 button 210 190 4005 4007 1 0 37 tilepic 230 190 3034 button 270 190 4005 4007 1 0 38 tilepic 290 190 3036 button 330 190 4005 4007 1 0 39 tilepic 350 190 3038 button 30 250 4005 4007 1 0 40 tilepic 50 250 3040 button 90 250 4005 4007 1 0 41 tilepic 110 250 3042 button 150 250 4005 4007 1 0 42 tilepic 170 250 3044 button 210 250 4005 4007 1 0 43 tilepic 230 250 3046 button 270 250 4005 4007 1 0 44 tilepic 290 250 3048 button 330 250 4005 4007 1 0 45 tilepic 350 250 3050 page 4 //Change House Sign 3/3 button 10 360 4005 4007 0 2 0 button 30 130 4005 4007 1 0 46 tilepic 50 130 3052 button 90 130 4005 4007 1 0 47 tilepic 110 130 3054 button 150 130 4005 4007 1 0 48 tilepic 170 130 3056 button 210 130 4005 4007 1 0 49 tilepic 230 130 3058 button 270 130 4005 4007 1 0 50 tilepic 290 130 3060 button 330 130 4005 4007 1 0 51 tilepic 350 130 3062 button 30 190 4005 4007 1 0 52 tilepic 50 190 3064 button 90 190 4005 4007 1 0 53 tilepic 110 190 3066 button 150 190 4005 4007 1 0 54 tilepic 170 190 3068 button 210 190 4005 4007 1 0 55 tilepic 230 190 3070 button 270 190 4005 4007 1 0 56 tilepic 290 190 3072 button 330 190 4005 4007 1 0 57 tilepic 350 190 3074 button 30 250 4005 4007 1 0 58 tilepic 50 250 3076 button 90 250 4005 4007 1 0 59 tilepic 110 250 3078 button 150 250 4005 4007 1 0 60 tilepic 170 250 3080 button 210 250 4005 4007 1 0 61 tilepic 230 250 3082 button 270 250 4005 4007 1 0 62 tilepic 290 250 3084 button 330 250 4005 4007 1 0 63 tilepic 350 250 3086 page 5 //Change House Sign Hanger button 50 180 4005 4007 1 0 70 tilepic 70 180 2968 button 150 180 4005 4007 1 0 71 tilepic 170 180 2970 button 250 180 4005 4007 1 0 72 tilepic 270 180 2972 button 50 260 4005 4007 1 0 73 tilepic 70 260 2974 button 150 260 4005 4007 1 0 74 tilepic 170 260 2976 button 250 260 4005 4007 1 0 75 tilepic 270 260 2978 page 6 //Change Signpost 1/2 button 10 360 4005 4007 0 7 0 button 15 130 4005 4007 1 0 80 tilepic 25 130 9 button 65 130 4005 4007 1 0 81 tilepic 75 130 29 button 115 130 4005 4007 1 0 82 tilepic 125 130 54 button 165 130 4005 4007 1 0 83 tilepic 175 130 90 button 215 130 4005 4007 1 0 84 tilepic 225 130 147 button 265 130 4005 4007 1 0 85 tilepic 275 130 169 button 315 130 4005 4007 1 0 86 tilepic 325 130 177 button 365 130 4005 4007 1 0 87 tilepic 375 130 204 button 15 240 4005 4007 1 0 88 tilepic 25 240 251 button 65 240 4005 4007 1 0 89 tilepic 75 240 257 button 115 240 4005 4007 1 0 90 tilepic 125 240 263 button 165 240 4005 4007 1 0 91 tilepic 175 240 298 button 215 240 4005 4007 1 0 92 tilepic 225 240 347 button 265 240 4005 4007 1 0 93 tilepic 275 240 424 button 315 240 4005 4007 1 0 94 tilepic 325 240 441 button 365 240 4005 4007 1 0 95 tilepic 375 240 466 page 7 //Change Signpost 2/2 button 10 360 4005 4007 0 6 0 button 15 130 4005 4007 1 0 96 tilepic 25 130 514 button 65 130 4005 4007 1 0 97 tilepic 75 130 600 button 115 130 4005 4007 1 0 98 tilepic 125 130 601 button 165 130 4005 4007 1 0 99 tilepic 175 130 602 button 215 130 4005 4007 1 0 100 tilepic 225 130 603 button 265 130 4005 4007 1 0 101 tilepic 275 130 660 button 315 130 4005 4007 1 0 102 tilepic 325 130 666 button 365 130 4005 4007 1 0 103 tilepic 375 130 672 button 15 240 4005 4007 1 0 104 tilepic 25 240 898 button 65 240 4005 4007 1 0 105 tilepic 75 240 970 button 115 240 4005 4007 1 0 106 tilepic 125 240 974 button 165 240 4005 4007 1 0 107 tilepic 175 240 982 [DIALOG d_house_features BUTTON] ON=1 DIALOG d_house_information ON=2 DIALOG d_house_security ON=3 DIALOG d_house_storage ON=4 DIALOG d_house_customize ON=5 DIALOG d_house_ownership ON=6 IF ( > /2>) SRC.SYSMESSAGE @,,1 Selecione quem voce deseja banir desta casa. SRC.TARGETF f_house_banish ELSE SRC.SYSMESSAGE @,,1 Voce deve estar com no minimo metade de seu life para banir alguem. ENDIF ON=7 DIALOG d_house_security 7 ON=8 IF ( < 15) SRC.BANKSELF ELSE SRC.SYSMESSAGE @,,1 Voce esta muito longe da placa da casa. ENDIF ON=10 63 LOCAL.SIGN=2980 LOCAL.SIGN += -10)*2> DISPID= UPDATEX SDIALOG d_house_customize ON=70 75 LOCAL.SIGN=2968 LOCAL.SIGN += -70)*2> REF1= FORITEMS 30 IF (==) IF ( >= 2968) && ( <= 2978) && (==) DISPID= UPDATEX ENDIF ENDIF ENDFOR SDIALOG d_house_customize ON=80 107 IF (==80) LOCAL.SIGN=9 ELIF (==81) LOCAL.SIGN=29 ELIF (==82) LOCAL.SIGN=54 ELIF (==83) LOCAL.SIGN=90 ELIF (==84) LOCAL.SIGN=147 ELIF (==85) LOCAL.SIGN=169 ELIF (==86) LOCAL.SIGN=177 ELIF (==87) LOCAL.SIGN=204 ELIF (==88) LOCAL.SIGN=251 ELIF (==89) LOCAL.SIGN=257 ELIF (==90) LOCAL.SIGN=263 ELIF (==91) LOCAL.SIGN=298 ELIF (==92) LOCAL.SIGN=347 ELIF (==93) LOCAL.SIGN=424 ELIF (==94) LOCAL.SIGN=441 ELIF (==95) LOCAL.SIGN=466 ELIF (==96) LOCAL.SIGN=514 ELIF (==97) LOCAL.SIGN=600 ELIF (==98) LOCAL.SIGN=601 ELIF (==99) LOCAL.SIGN=602 ELIF (==100) LOCAL.SIGN=603 ELIF (==101) LOCAL.SIGN=660 ELIF (==102) LOCAL.SIGN=666 ELIF (==103) LOCAL.SIGN=672 ELIF (==104) LOCAL.SIGN=898 ELIF (==105) LOCAL.SIGN=970 ELIF (==106) LOCAL.SIGN=974 ELIF (==107) LOCAL.SIGN=982 ENDIF REF1= FORITEMS 30 IF (==) IF (==t_wall) && ( < 1000) && (==) DISPID= UPDATEX ENDIF ENDIF ENDFOR SDIALOG d_house_customize ON=100 130 SRC.DCLICK -100>> ////////////////////////////////////////////////////////////////////////////////// [DIALOG d_house_visitor] 200,200 gumppic 10 10 100 dhtmlgump 30 43 105 40 0 0 [DIALOG d_house_type] 160,150 noclose page 0 resizepic 0 0 5054 320 180 gumppictiled 10 10 300 20 2624 checkertrans 10 10 300 20 dtext 137 10 026 NOTICIA gumppictiled 10 40 300 100 2624 checkertrans 10 40 300 100 gumppictiled 10 150 300 20 2624 checkertrans 10 150 300 20 button 10 150 4005 4007 1 0 1 dtext 40 150 1152 OKAY page 1 dhtmlgump 10 40 300 100 0 1 This house is now public. page 2 dhtmlgump 10 40 300 100 0 1 This house is now private. [DIALOG d_house_type BUTTON] ON=1 SDIALOG d_house_security [DIALOG d_house_clear_coowners] 110,100 noclose resizepic 0 0 5054 420 280 gumppictiled 10 10 400 20 2624 checkertrans 10 10 400 20 dtext 180 10 026 WARNING gumppictiled 10 40 400 200 2624 checkertrans 10 40 400 200 dhtmlgump 10 40 400 200 0 1 You are about to remove ALL co-owners from your house. Are you certain you wish to clear the co-owner list? gumppictiled 10 250 400 20 2624 checkertrans 10 250 400 20 button 10 250 4005 4007 1 0 1 dtext 40 250 1152 OKAY button 210 250 4005 4007 1 0 0 dtext 240 250 1152 CANCEL [DIALOG d_house_clear_coowners BUTTON] ON=0 SDIALOG d_house_security ON=1 FOR 1 TRY UID.>.NOTICE=You got removed from the Co-Owner access list of the house '' on // >. TRYP 0 TAG0.CO_OWNER_= ENDFOR SDIALOG d_house_security SRC.SYSMESSAGE @,,1 All co-owners have been removed from this house. [DIALOG d_house_clear_friends] 110,100 noclose resizepic 0 0 5054 420 280 gumppictiled 10 10 400 20 2624 checkertrans 10 10 400 20 dtext 180 10 026 WARNING gumppictiled 10 40 400 200 2624 checkertrans 10 40 400 200 dhtmlgump 10 40 400 200 0 1 If you go ahead with this option, all of the current friendships will be removed from the house. Are you sure you want to do this? gumppictiled 10 250 400 20 2624 checkertrans 10 250 400 20 button 10 250 4005 4007 1 0 1 dtext 40 250 1152 OKAY button 210 250 4005 4007 1 0 0 dtext 240 250 1152 CANCEL [DIALOG d_house_clear_friends BUTTON] ON=0 SDIALOG d_house_security ON=1 FOR 1 TRY UID.>.NOTICE=You got removed from the Friend access list of the house '' on // >. TRYP 0 TAG0.FRIEND_= ENDFOR SDIALOG d_house_security SRC.SYSMESSAGE @,,1 All friends have been removed from this house. [DIALOG d_house_clear_bans] 110,100 noclose resizepic 0 0 5054 420 280 gumppictiled 10 10 400 20 2624 checkertrans 10 10 400 20 dtext 180 10 026 WARNING gumppictiled 10 40 400 200 2624 checkertrans 10 40 400 200 dhtmlgump 10 40 400 200 0 1 Are you about to lift all bans for this house. Are you sure you wish to do this? gumppictiled 10 250 400 20 2624 checkertrans 10 250 400 20 button 10 250 4005 4007 1 0 1 dtext 40 250 1152 OKAY button 210 250 4005 4007 1 0 0 dtext 240 250 1152 CANCEL [DIALOG d_house_clear_bans BUTTON] ON=0 SDIALOG d_house_security ON=1 FOR 1 TRYP 0 TAG0.BAN_= ENDFOR SDIALOG d_house_security SRC.SYSMESSAGE @,,1 All bans for this house have been lifted. [DIALOG d_house_demolish] 110,100 noclose resizepic 0 0 5054 420 280 gumppictiled 10 10 400 20 2624 checkertrans 10 10 400 20 dtext 180 10 026 WARNING gumppictiled 10 40 400 200 2624 checkertrans 10 40 400 200 dhtmlgump 10 40 400 200 0 1 You are about to demolish your house. You will be refunded the house's value directly to your bank box. All items in the house will remain behind and can be freely picked up by anyone until decay. Once the house is demolished, anyone can attempt to place a new house on the vacant. Are you sure you wish to continue? gumppictiled 10 250 400 20 2624 checkertrans 10 250 400 20 button 10 250 4005 4007 1 0 1 dtext 40 250 1152 OKAY button 210 250 4005 4007 1 0 0 dtext 240 250 1152 CANCEL [DIALOG d_house_demolish BUTTON] ON=0 SDIALOG d_house_ownership ON=1 IF () SRC.SYSMESSAGE @,,1 You cannot demolish a house with a guildstone inside. ELIF () SRC.SYSMESSAGE @,,1 You cannot demolish a house with a vendor inside. ELSE IF ( < 15) SRC.P=

SRC.UPDATEX FOR 1 TRY UID.>.NOTICE=You got removed from the Co-Owner access list of the house '' because it was demolished on // >. ENDFOR FOR 1 TRY UID.>.NOTICE=You got removed from the Friend access list of the house '' because it was demolished on // >. ENDFOR LINK.f_house_demolish ELSE SRC.SYSMESSAGE @,,1 You are too far away from the house sign. ENDIF ENDIF [FUNCTION f_house_demolish] IF (>) REF1=)? :> IF ((==1) && !STRMATCH("*foundation*","") && !(.TAG0.PLACEMENT_TOOL>)) SERV.NEWITEM i_deed_> NEW.CONT= REF1.SYSMESSAGE @,,1 You put the house deed on your backpack. ELSE REF1.addgold_bank REF1.SYSMESSAGE @,,1 gps gold has been deposited into your bank box. ENDIF ENDIF LOCAL.REGION= FORCHARS 40 IF (==) P=.MORE2>.P> FIX UPDATE ENDIF ENDFOR FORPLAYERS 40 IF (==) P=.MORE2>.P> FIX UPDATE ENDIF ENDFOR FORITEMS 40 IF (==) && !((==t_door) || (==t_door_locked)) TIMER=*60> IF () ATTR=&~attr_move_never EVENTS -t_locked_down EVENTS -t_access_owner EVENTS -t_access_coowner EVENTS -t_access_friend EVENTS -t_access_guild TAG.ALWAYSSEND= UPDATE ENDIF ATTR=|attr_decay ENDIF ENDFOR REMOVE [DIALOG d_house_access] 50,50 REF1=.MORE2> REF2=.MORE1> resizepic 0 0 5054 220 180 gumppictiled 10 10 200 20 5124 gumppictiled 10 40 200 20 5124 gumppictiled 10 70 200 100 5124 checkertrans 10 10 200 140 dhtmlgump 10 10 200 20 0 0 SET ACCESS dtext 15 40 1152 Dono: IF (>) button 10 70 )? 4006 4007:4005 4007> 1 0 1 dhtmlgump 45 70 200 20 0 0 )? :>Owner Only ENDIF button 10 90 )? 4006 4007:4005 4007> 1 0 2 dhtmlgump 45 90 200 20 0 0 )? :>Co-Owners button 10 110 )? 4006 4007:4005 4007> 1 0 3 dhtmlgump 45 110 200 20 0 0 )? :>Friends IF () IF (>) button 10 130 )? 4006 4007:4005 4007> 1 0 4 dhtmlgump 45 130 200 20 0 0 )? :>Guild Members ENDIF ENDIF button 10 150 )? 4006 4007:4005 4007> 1 0 5 dhtmlgump 45 150 200 20 0 0 )? :>Anyone [DIALOG d_house_access BUTTON] ON=1 REF1=.MORE2> IF !(>) return 1 ENDIF IF (==t_container) && ( != 2) IF ((==1) && ( < )) || ( < /2>) && ( < -(+)> REF1.TAG0.SECURE_CONT = +> ELSE SRC.SYSMESSAGE @,,1 You can't change the access for this container because you will reach the Maximum Secure Storage of this house. return 1 ENDIF ENDIF EVENTS +t_access_owner EVENTS -t_access_coowner EVENTS -t_access_friend EVENTS -t_access_guild EVENTS -t_locked_down TIMER=-1 UPDATE SRC.SYSMESSAGE @,,1 New access level set. ON=2 REF1=.MORE2> IF (==t_container) && ( != 2) IF ((==1) && ( < )) || ( < /2>) && ( < -(+)> REF1.TAG0.SECURE_CONT = +> ELSE SRC.SYSMESSAGE @,,1 You can't change the access for this container because you will reach the Maximum Secure Storage of this house. return 1 ENDIF ENDIF EVENTS -t_access_owner EVENTS +t_access_coowner EVENTS -t_access_friend EVENTS -t_access_guild EVENTS -t_locked_down TIMER=-1 UPDATE SRC.SYSMESSAGE @,,1 New access level set. ON=3 REF1=.MORE2> IF (==t_container) && ( != 2) IF ((==1) && ( < )) || ( < /2>) && ( < -(+)> REF1.TAG0.SECURE_CONT = +> ELSE SRC.SYSMESSAGE @,,1 You can't change the access for this container because you will reach the Maximum Secure Storage of this house. return 1 ENDIF ENDIF EVENTS -t_access_owner EVENTS -t_access_coowner EVENTS +t_access_friend EVENTS -t_access_guild EVENTS -t_locked_down TIMER=-1 UPDATE SRC.SYSMESSAGE @,,1 New access level set. ON=4 REF1=.MORE2> IF (==t_container) && ( != 2) IF ((==1) && ( < )) || ( < /2>) && ( < -(+)> REF1.TAG0.SECURE_CONT = +> ELSE SRC.SYSMESSAGE @,,1 You can't change the access for this container because you will reach the Maximum Secure Storage of this house. return 1 ENDIF ENDIF EVENTS -t_access_owner EVENTS -t_access_coowner EVENTS -t_access_friend EVENTS +t_access_guild EVENTS -t_locked_down TIMER=-1 UPDATE SRC.SYSMESSAGE @,,1 New access level set. ON=5 REF1=.MORE2> IF ( == 2) SAY (inseguro) REF1.TAG0.SECURE_CONT = -> ENDIF EVENTS -t_access_owner EVENTS -t_access_coowner EVENTS -t_access_friend EVENTS -t_access_guild EVENTS +t_locked_down TIMER=-1 UPDATE SRC.SYSMESSAGE @,,1 New access level set. ////////////////////////////////////////////////////////////////////////////////// [REGIONTYPE r_house_system] ON=@Enter IF () IF !() IF (.MORE2>.ISBANNED >) SRC.SYSMESSAGE @,,1 You are banned from this house! SRC.UPDATE return 1 ELIF (.TYPE>==t_multi_custom) IF (.DESIGNER> > 0) SRC.SYSMESSAGE @,,1 Someone is customizing this house. SRC.UPDATE return 1 ENDIF ENDIF ENDIF ELSE IF () UID..MORE2>.TAG0.VENDORS += 1 ENDIF ENDIF [FUNCTION isowner] IF ((==1) && !STRCMP(".ACCOUNT>",".ACCOUNT>")) || (==) || (.ISGM>) return 1 ENDIF return 0 [FUNCTION iscoowner] FOR 1 IF (>==) return 1 ENDIF ENDFOR return 0 [FUNCTION isfriend] FOR 1 IF (>==) return 1 ENDIF ENDFOR return 0 [FUNCTION isbanned] FOR 1 IF (>==) return 1 ENDIF ENDFOR return 0 [FUNCTION isstorage] IF (==t_door_locked) || (==t_door) || (==t_sign_gump) || (==t_corpse) || (==t_spell) return 0 ELIF () return 1 ELIF (() || () || () || ()) return 2 ELSE return 0 ENDIF [FUNCTION isvendor] IF (==brain_vendor) && () return 1 ELSE return 0 ENDIF [FUNCTION house_declare_public] REF1= FORITEMS 40 IF (==) IF (==t_door_locked) TYPE=t_door EVENTS -t_access_owner EVENTS -t_access_coowner EVENTS -t_access_friend EVENTS -t_access_guild ENDIF ENDIF ENDFOR TAG.PUBLIC=1 RESENDTOOLTIP [FUNCTION house_declare_private] REF1= FORITEMS 40 IF (==) IF (==t_door) TYPE=t_door_locked ENDIF ENDIF ENDFOR TAG.PUBLIC= RESENDTOOLTIP [FUNCTION f_house_add_coowner] IF () IF (.ISOWNER >) SRC.SYSMESSAGE @,,1 This person is already the house owner! RETURN 1 ELIF (.ISCOOWNER >) SRC.SYSMESSAGE @,,1 This person is already a house co-owner! RETURN 1 ELIF (.ISFRIEND >) SRC.SYSMESSAGE @,,1 This person is already a house friend! RETURN 1 ENDIF FOR 1 IF !(.TAG0.CO_OWNER_>) TRY UID..TAG.CO_OWNER_= SRC.SYSMESSAGE @,,1 You made a co-owner of the house. TRY UID..SYSMESSAGE @,,1 You have been maded a co-owner of 's house. RETURN 1 ENDIF ENDFOR SRC.SYSMESSAGE @,,1 You can add at least Co-Owners in this house. RETURN 1 ELSE SRC.SYSMESSAGE @,,1 That can't be the co-owner of the house. ENDIF [FUNCTION f_house_add_friend] IF () IF (.ISOWNER >) SRC.SYSMESSAGE @,,1 This person is already the house owner! RETURN 1 ELIF (.ISCOOWNER >) SRC.SYSMESSAGE @,,1 This person is already a house co-owner! RETURN 1 ELIF (.ISFRIEND >) SRC.SYSMESSAGE @,,1 This person is already a house friend! RETURN 1 ENDIF FOR 1 IF !(.TAG0.FRIEND_>) TRY UID..TAG.FRIEND_= SRC.SYSMESSAGE @,,1 You made a friend of the house. TRY UID..SYSMESSAGE @,,1 You have been maded a friend of 's house. RETURN 1 ENDIF ENDFOR SRC.SYSMESSAGE @,,1 You can add at least Friends in this house. RETURN 1 ELSE SRC.SYSMESSAGE @,,1 That can't be a friend of the house. ENDIF [FUNCTION f_house_banish] IF () IF (==) SRC.SYSMESSAGE @,,1 You can't ban yourself! RETURN 1 ELIF (.ISBANNED >) SRC.SYSMESSAGE @,,1 is already banned from this house! RETURN 1 ELIF (.ISOWNER >) SRC.SYSMESSAGE @,,1 You can't ban the house owner! RETURN 1 ELIF (.ISCOOWNER >) SRC.SYSMESSAGE @,,1 You can't ban a house co-owner! RETURN 1 ELIF (.ISFRIEND >) SRC.SYSMESSAGE @,,1 You can't ban a house friend! RETURN 1 ENDIF FOR 1 IF !(.TAG0.BAN_>) TRY UID..TAG.BAN_= IF (==.REGION.UID>) ARGO.GO=.P.X>,.P.Y>+1>,.P.Z>,.P.M> IF () ARGO.MOVE S ENDIF ARGO.UPDATE ENDIF SRC.SYSMESSAGE @,,1 You banned from the house. TRY UID..SYSMESSAGE @,,1 You have been banned from 's house. RETURN 1 ENDIF ENDFOR SRC.SYSMESSAGE @,,1 You can ban at least players from this house. RETURN 1 ELSE SRC.SYSMESSAGE @,,1 You cannot ban that from the house! ENDIF [FUNCTION f_house_eject] IF () IF (!=.REGION.UID>) SRC.SYSMESSAGE @,,1 is not in your house. RETURN 1 ELIF (==) SRC.SYSMESSAGE @,,1 You can't eject yourself! RETURN 1 ELIF (.ISOWNER >) SRC.SYSMESSAGE @,,1 You can't eject the house owner! RETURN 1 ELIF (.ISCOOWNER >) SRC.SYSMESSAGE @,,1 You can't eject a house co-owner! RETURN 1 ELIF (.ISFRIEND >) SRC.SYSMESSAGE @,,1 You can't eject a house friend! RETURN 1 ENDIF ARGO.GO=.P> ARGO.FIX SRC.SYSMESSAGE @,,1 You eject from the house. TRY UID..SYSMESSAGE @,,1 You have been ejected from 's house. RETURN 1 ELSE SRC.SYSMESSAGE @,,1 You cannot eject that from the house! ENDIF [FUNCTION f_house_lock] IF () IF (==t_door_locked) || (==t_door) || (==t_sign_gump) || (==t_corpse) || (==t_spell) SRC.SYSMESSAGE @,,1 You cannot lock that down! return 1 ELIF !() IF (==.REGION.UID>) IF ( & attr_move_never) SRC.SYSMESSAGE @,,1 This is already locked down. ELIF ((==1) && (.TAG0.LOCKED_ITEMS> >= )) || (.TAG0.LOCKED_ITEMS> >= .TAG0.STORAGE_LIMIT>) SRC.SYSMESSAGE @,,1 You cannot lock that down because it will exced the house storage limit. ELSE IF ( & can_i_block) ARGO.TAG.ALWAYSSEND=1 ENDIF ARGO.ATTR=&~attr_decay ARGO.ATTR=|attr_move_never ARGO.SAY=(locked down) ARGO.EVENTS +t_locked_down ARGO.TIMER=-1 ARGO.UPDATE TRY UID..TAG0.LOCKED_ITEMS=.TAG0.LOCKED_ITEMS>+1> return 1 ENDIF ELSE SRC.SYSMESSAGE @,,1 This is not in your house. ENDIF ENDIF ELSE SRC.SYSMESSAGE @,,1 You cannot lock that down! ENDIF [FUNCTION f_house_release] IF () IF !() SRC.SYSMESSAGE @,,1 You cannot release this. return 1 ELIF (.ISCOOWNER >) && (() || ()) SRC.SYSMESSAGE @,,1 You lack privilege to release this. return 1 ELIF !() IF (==.REGION.UID>) IF (==t_container) LOCAL.RESCOUNT= ENDIF IF () || () || () || () ARGO.ATTR=&~attr_move_never ARGO.SAY=(no longer secure) ARGO.EVENTS -t_access_owner ARGO.EVENTS -t_access_coowner ARGO.EVENTS -t_access_friend ARGO.EVENTS -t_access_guild ARGO.TAG.ALWAYSSEND= ARGO.UPDATE TRY UID..TAG0.LOCKED_ITEMS=.TAG0.LOCKED_ITEMS>-1> TRY UID..TAG0.SECURE_CONT=.TAG0.SECURE_CONT>-> IF !( & region_flag_nodecay) ARGO.ATTR=|attr_decay ARGO.TIMER=*60> ENDIF ELIF ( & attr_move_never) ARGO.ATTR=&~attr_move_never ARGO.SAY=(no longer locked down) ARGO.EVENTS -t_locked_down ARGO.TAG.ALWAYSSEND= ARGO.UPDATE TRY UID..TAG0.LOCKED_ITEMS=.TAG0.LOCKED_ITEMS>-1> IF !( & region_flag_nodecay) ARGO.ATTR=|attr_decay ARGO.TIMER=*60> ENDIF ELSE SRC.SYSMESSAGE @,,1 This isn't locked down... ENDIF ELSE SRC.SYSMESSAGE @,,1 This is not in your house. ENDIF ENDIF ENDIF [FUNCTION f_house_secure] IF () IF (==t_door_locked) || (==t_door) || (==t_sign_gump) || (==t_corpse) || (==t_spell) SRC.SYSMESSAGE @,,1 You cannot secure this. return 1 ELIF (.ISCOOWNER >) && (() || ()) SRC.SYSMESSAGE @,,1 You cannot change the access for this. return 1 ELIF !() IF (==.REGION.UID>) IF ( & attr_move_never) && ( != t_container) SRC.SYSMESSAGE @,,1 This is already locked down and cannot be secured. return 1 ELIF ((==1) && (.TAG0.LOCKED_ITEMS> >= )) || (.TAG0.LOCKED_ITEMS> >= .TAG0.STORAGE_LIMIT>) SRC.SYSMESSAGE @,,1 You cannot secure this because it will exced the house storage limit. return 1 ELIF STRMATCH("t_access_*","") ARGO.SDIALOG d_house_access return 1 ENDIF IF ( & can_i_block) ARGO.TAG.ALWAYSSEND=1 ENDIF IF !() ARGO.ATTR=&~attr_decay ARGO.ATTR=|attr_move_never ARGO.EVENTS +t_locked_down ARGO.TIMER=-1 ARGO.UPDATE TRY UID..TAG0.LOCKED_ITEMS=.TAG0.LOCKED_ITEMS>+1> ENDIF IF ( == t_container) ARGO.SDIALOG d_house_access ELSE ARGO.SAY=(locked down) ENDIF ELSE SRC.SYSMESSAGE @,,1 This is not in your house. ENDIF ELSE SRC.SYSMESSAGE @,,1 This is not in your house. ENDIF ENDIF [FUNCTION f_house_transfer] IF () IF (==) SRC.SYSMESSAGE @,,1 You cannot transfer a house to yourself, silly. return 1 ELIF (.ISOWNER >) SRC.SYSMESSAGE @,,1 is already the house owner! return 1 ELIF ( >= ) SRC.SYSMESSAGE @,,1 already have houses and can't own another one! return 1 ENDIF SRC.DIALOGCLOSE d_house_demolish TRY UID..TAG.LASTTRADED=-- > TRY UID..MORE2= TRY UID..LINK.MORE1= FOR 0 IF (.LINK>==.LINK>) SRC.FINDCONT..CONT= ENDIF ENDFOR FOR 1 TRY UID..TAG0.CO_OWNER_>.NOTICE=You got removed from the Co-Owner access list of the house '' because it was been traded to a new owner on // >. TRY UID..TAG0.CO_OWNER_= ENDFOR FOR 1 TRY UID..TAG0.FRIEND_>.NOTICE=You got removed from the Friend access list of the house '' because it was been traded to a new owner on // >. TRY UID..TAG0.FRIEND_= ENDFOR FOR 1 TRY UID..TAG0.BAN_= ENDFOR SRC.SYSMESSAGE @,,1 You transfered the house to . ARGO.SYSMESSAGE @,,1 transfer the house to you. return 1 ELSE SRC.SYSMESSAGE @,,1 Only players can own a house! return 1 ENDIF [FUNCTION addgold_bank] SERV.NEWITEM i_bag NEW.COLOR=032 NEW.CONT= NEW.f_add_gold [FUNCTION f_add_gold] IF ( > 0) SERV.NEWITEM i_gold IF ( > 65000) NEW.AMOUNT=65000 NEW.CONT= f_add_gold -> ELSE NEW.AMOUNT= NEW.CONT= ENDIF ENDIF [FUNCTION remove_invalid_houses] SERV.NEWITEM i_gold FOR 0 3 NEW.P 1,1,0, NEW.invalid_house_remove NEW.invalid_boat_remove ENDFOR NEW.REMOVE [FUNCTION invalid_house_remove] FORITEMS 6144 IF (==i_sign_brass) IF ( != 04fffffff) IF !(>) TAG.DEMOLITION_PENDING=1 TIMER=5 ENDIF ENDIF ENDIF ENDFOR [FUNCTION invalid_boat_remove] FORITEMS 6144 IF (==t_ship) IF !(.ISPLAYER>) REMOVE ENDIF ENDIF ENDFOR [FUNCTION check_account_typedef] FOR LOCAL.RETURN=+-1>.f_check_typedefs >> ENDFOR return [FUNCTION f_check_typedefs] FOR 0 -1> IF ().LINK>.ISITEM>) IF STRMATCH("*",").LINK>.TYPE>") LOCAL.TYPE += 1 ENDIF ENDIF ENDFOR return [FUNCTION area] IF (.MULTIREGION>) ARGS=.MULTIREGION> return *-1)++1)*((*-1)+)> ELIF (.MULTIREGION>) ARGS=.MULTIREGION> return *-1)++1)*((*-1)+)> ENDIF [FUNCTION area.x] IF (.MULTIREGION>) ARGS=.MULTIREGION> return *-1)++1> ELIF (.MULTIREGION>) ARGS=.MULTIREGION> return *-1)++1> ENDIF [FUNCTION area.y] IF (.MULTIREGION>) ARGS=.MULTIREGION> return *-1)+> ELIF (.MULTIREGION>) ARGS=.MULTIREGION> return *-1)+> ENDIF [FUNCTION isnearhouse] IF !(.MULTIREGION>) return -1 ENDIF LOCAL.NEAR=>)? :> LOCAL.DIR=W,N,E,S ARGS=.MULTIREGION> SERV.NEWITEM i_plant_hedge_1 NEW.ATTR=attr_invis FOR 0 3 IF (]> < 0) LOCAL.MOVE=]>*-1)+> ELSE LOCAL.MOVE=]>)+> ENDIF NEW.P=

NEW.MOVE > LOCAL.DIR=> IF STRMATCH("t_multi*",".TYPE>") NEW.REMOVE return 1 ENDIF ENDFOR NEW.REMOVE return 0 [FUNCTION house.value] IF ( != t_multi_custom) return ELSE return -(-2))*500> ENDIF ////////////////////////////////////////////////////////////////////////////////// [SPEECH spk_house_cmds] ON=I wish to lock* IF (.MORE2>.ISOWNER >) || (.MORE2>.ISCOOWNER >) IF ((==1) && (.MORE2>.TAG0.LOCKED_ITEMS> < ) && (+)+)> < )) || (.MORE2>.TAG0.LOCKED_ITEMS> < .MORE2>.TAG0.STORAGE_LIMIT>/2>) && (+)+)> < .MORE2>.TAG0.STORAGE_LIMIT>/2>) SRC.TARGETF f_house_lock .MORE2> SRC.SYSMESSAGE @,,1 Lock what down? ELSE SRC.SYSMESSAGE @,,1 You can't lock more items because you reach the House Storage limit. ENDIF ENDIF ON=I wish to secure* IF (.MORE2>.ISOWNER >) || (.MORE2>.ISCOOWNER >) IF ((==1) && (.MORE2>.TAG0.LOCKED_ITEMS> < ) && (+)+)> < )) || (.MORE2>.TAG0.LOCKED_ITEMS> < .MORE2>.TAG0.STORAGE_LIMIT>/2>) && (+)+)> < .MORE2>.TAG0.STORAGE_LIMIT>/2>) SRC.TARGETF f_house_secure .MORE2> SRC.SYSMESSAGE @,,1 Choose the item you wish to secure ELSE SRC.SYSMESSAGE @,,1 You can't secure more items because you reach the House Storage limit. ENDIF ENDIF ON=I wish to release* IF (.MORE2>.ISOWNER >) || (.MORE2>.ISCOOWNER >) SRC.TARGETF f_house_release .MORE2> SRC.SYSMESSAGE @,,1 Choose the item you wish to release ENDIF ON=I ban thee* IF (.MORE2>.ISOWNER >) || (.MORE2>.ISCOOWNER >) SRC.TARGETF f_house_banish .MORE2> SRC.SYSMESSAGE @,,1 Select the individual to ban from this house. ENDIF ON=Remove thyself IF (.MORE2>.ISOWNER >) || (.MORE2>.ISCOOWNER >) SRC.TARGETF f_house_eject .MORE2> SRC.SYSMESSAGE @,,1 Select the individual to eject from this house. ENDIF ////////////////////////////////////////////////////////////////////////////////// [TYPEDEF t_door_locked] ON=@Click IF (==1) IF ( < 2) IF (.MORE2>.ISOWNER >) SDIALOG d_house_access ENDIF ENDIF ENDIF ON=@ContextMenuRequest IF (==1) IF (.MORE2>.ISOWNER >) SRC.AddContextEntry 101,6203 ENDIF ENDIF ON=@ContextMenuSelect SDIALOG d_house_access ON=@Dclick REF1=.MORE2> IF ((>) || (>) || (>)) TIMER 0 return 1 ENDIF [TYPEDEF t_access_owner] ON=@ClientToolTip IF ( != t_door_locked) SRC.ADDCLILOC 501644 ENDIF ON=@Click IF ( != t_door_locked) MESSAGE (Locked Down & Secure) ENDIF ON=@DropOn_Self IF ((==1) && (.MORE2>.TAG0.SECURE_ITEMS>+.MORE2>.TAG0.SECURE_CONT>)+.MORE2>.TAG0.LOCKED_ITEMS>)> < )) || (.MORE2>.TAG0.SECURE_ITEMS>+.MORE2>.TAG0.SECURE_CONT>)+.MORE2>.TAG0.LOCKED_ITEMS>)> < .MORE2>.TAG0.STORAGE_LIMIT>) TIMERF 1,update_rescount ELSE SRC.SYSMESSAGE @,,1 You reach the House Storage Limit. return 1 ENDIF ON=@PickUp_Self TRY UID..MORE2>.TAG0.SECURE_CONT = .MORE2>.TAG0.SECURE_CONT>-1> ON=@DClick IF !() IF !(.MORE2>.ISOWNER >) SRC.SYSMESSAGE @,,1 Only the owner of this house can use this. return 1 ENDIF ENDIF [TYPEDEF t_access_coowner] ON=@ClientToolTip IF ( != t_door_locked) SRC.ADDCLILOC 501644 ENDIF ON=@Click IF ( != t_door_locked) MESSAGE (Locked Down & Secure) ENDIF ON=@DropOn_Self IF ((==1) && (.MORE2>.TAG0.SECURE_ITEMS>+.MORE2>.TAG0.SECURE_CONT>)+.MORE2>.TAG0.LOCKED_ITEMS>)> < )) || (.MORE2>.TAG0.SECURE_ITEMS>+.MORE2>.TAG0.SECURE_CONT>)+.MORE2>.TAG0.LOCKED_ITEMS>)> < .MORE2>.TAG0.STORAGE_LIMIT>) TIMERF 1,update_rescount ELSE SRC.SYSMESSAGE @,,1 You reach the House Storage Limit. return 1 ENDIF ON=@PickUp_Self TRY UID..MORE2>.TAG0.SECURE_CONT = .MORE2>.TAG0.SECURE_CONT>-1> ON=@DClick IF !() IF ((.MORE2>.ISCOOWNER >) || (.MORE2>.ISOWNER >)) return 0 ELSE SRC.SYSMESSAGE @,,1 Only co-owners of this house can use this. return 1 ENDIF ENDIF [TYPEDEF t_access_friend] ON=@ClientToolTip IF ( != t_door_locked) SRC.ADDCLILOC 501644 ENDIF ON=@Click IF ( != t_door_locked) MESSAGE (Locked Down & Secure) ENDIF ON=@DropOn_Self IF ((==1) && (.MORE2>.TAG0.SECURE_ITEMS>+.MORE2>.TAG0.SECURE_CONT>)+.MORE2>.TAG0.LOCKED_ITEMS>)> < )) || (.MORE2>.TAG0.SECURE_ITEMS>+.MORE2>.TAG0.SECURE_CONT>)+.MORE2>.TAG0.LOCKED_ITEMS>)> < .MORE2>.TAG0.STORAGE_LIMIT>) TIMERF 1,update_rescount ELSE SRC.SYSMESSAGE @,,1 You reach the House Storage Limit. return 1 ENDIF ON=@PickUp_Self TRY UID..MORE2>.TAG0.SECURE_CONT = .MORE2>.TAG0.SECURE_CONT>-1> ON=@DClick IF !() IF ((.MORE2>.ISFRIEND >) || (.MORE2>.ISCOOWNER >) || (.MORE2>.ISOWNER >)) return 0 ELSE SRC.SYSMESSAGE @,,1 Only friends of this house can use this. return 1 ENDIF ENDIF [TYPEDEF t_access_guild] ON=@ClientToolTip IF ( != t_door_locked) SRC.ADDCLILOC 501644 ENDIF ON=@Click IF ( != t_door_locked) MESSAGE (Locked Down & Secure) ENDIF ON=@DropOn_Self IF ((==1) && (.MORE2>.TAG0.SECURE_ITEMS>+.MORE2>.TAG0.SECURE_CONT>)+.MORE2>.TAG0.LOCKED_ITEMS>)> < )) || (.MORE2>.TAG0.SECURE_ITEMS>+.MORE2>.TAG0.SECURE_CONT>)+.MORE2>.TAG0.LOCKED_ITEMS>)> < .MORE2>.TAG0.STORAGE_LIMIT>) TIMERF 1,update_rescount ELSE SRC.SYSMESSAGE @,,1 You reach the House Storage Limit. return 1 ENDIF ON=@PickUp_Self TRY UID..MORE2>.TAG0.SECURE_CONT = .MORE2>.TAG0.SECURE_CONT>-1> ON=@DClick IF !() IF (==.MORE1>.GUILD>) IF (.PRIV> > ) IF ( != t_container) TIMER=0 ELSE OPEN ENDIF ELSE SRC.SYSMESSAGE @,,1 Only official members of guild "" can use this. ENDIF return 1 ELIF !(.MORE1>.GUILD>) EVENTS -t_access_guild EVENTS +t_access_owner return 1 ELSE SRC.SYSMESSAGE @,,1 Only members of the guild ".MORE1>.GUILD.ABBREV>" can use this. return 1 ENDIF ENDIF [TYPEDEF t_locked_down] ON=@ClientToolTip SRC.ADDCLILOC 501643 ON=@Click MESSAGE (Locked Down) ON=@DClick IF (STRMATCH("t_weapon_*","")) SRC.SYSMESSAGE @,,1 The item is locked on structure. return 1 ENDIF [FUNCTION update_rescount] REF1=.MORE2> IF ( != ) REF1.TAG0.SECURE_CONT += 1 ENDIF return 1 ////////////////////////////////////////////////////////////////////////////////// [FUNCTION notice] IF () IF (==1) TAG.NOTICE= EVENTS +e_notice IF () TIMERF 1,SDIALOG d_notice ENDIF ELSE IF () SYSMESSAGE @,,1 ENDIF ENDIF ENDIF [EVENTS e_notice] ON=@Login SDIALOG d_notice [DIALOG d_notice] 160,150 noclose resizepic 0 0 5054 320 180 gumppictiled 10 10 300 20 2624 checkertrans 10 10 300 20 dtext 135 10 026 NOTICE gumppictiled 10 40 300 100 2624 checkertrans 10 40 300 100 gumppictiled 10 150 300 20 2624 checkertrans 10 150 300 20 button 10 150 4005 4007 1 0 0 dtext 40 150 1152 OK dhtmlgump 10 40 300 100 0 1 [DIALOG d_notice BUTTON] ON=0 TAG.NOTICE= EVENTS -e_notice ////////////////////////////////////////////////////////////////////////////////// [ITEMDEF i_house_placement_tool] ID=014f6 NAME=House Placement Tool VALUE=600 DUPELIST=014f5 ON=@Create ATTR=attr_newbie ON=@DClick SDIALOG d_house_placement return 1 [DIALOG d_house_placement] 50,50 page 0 resizepic 0 0 5054 270 145 gumppictiled 10 10 250 125 2624 checkertrans 10 10 250 125 dhtmlgump 10 10 250 20 0 0 HOUSE PLACEMENT TOOL button 10 110 4017 4019 1 0 0 dtext 45 110 1152 Close button 10 40 4005 4007 1 0 1 dtext 45 40 1152 Classic Houses button 10 60 4005 4007 1 0 2 dtext 45 60 1152 2-Story Customizable Houses //button 10 80 4005 4007 1 0 3 dtext 45 80 998 3-Story Customizable Houses [DIALOG d_house_placement BUTTON] ON=1 SDIALOG d_house_placement_classic ON=2 SDIALOG d_house_placement_custom_2s [DIALOG d_house_placement_classic] 50,50 page 0 resizepic 0 0 5054 520 420 gumppictiled 10 10 500 20 2624 checkertrans 10 10 500 20 dhtmlgump 10 10 500 20 0 0 HOUSE PLACEMENT TOOL gumppictiled 10 40 500 20 2624 checkertrans 10 40 500 20 dtext 50 40 1152 House Description dtext 275 40 1152 Storage dtext 350 40 1152 Lockdowns dtext 425 40 1152 Cost gumppictiled 10 70 500 280 2624 checkertrans 10 70 500 280 gumppictiled 10 360 500 20 2624 checkertrans 10 360 500 20 dtext 10 360 1152 Bank Balance: dtext 250 360 1152 gumppictiled 10 390 500 20 2624 checkertrans 10 390 500 20 button 10 390 4017 4019 1 0 0 dtext 50 390 1152 Close page 1 FOR 1 14 button 10 *20))> 4005 4007 1 0 dtext 50 *20))> 1152 >.NAME> dtext 275 *20))> 1152 >>)> dtext 350 *20))> 1152 >>)/2> dtext 425 *20))> 1152 >.VALUE> ENDFOR button 450 390 4005 4007 0 2 0 dtext 400 390 1152 Next page 2 FOR 15 20 button 10 -14)*20))> 4005 4007 1 0 dtext 50 -14)*20))> 1152 >.NAME> dtext 275 -14)*20))> 1152 >>)> dtext 350 -14)*20))> 1152 >>)/2> dtext 425 -14)*20))> 1152 >.VALUE> ENDFOR button 200 390 4014 4016 0 1 0 dtext 250 390 1152 Previous [DIALOG d_house_placement_classic BUTTON] ON=0 SDIALOG d_house_placement ON=1 20 SRC.f_house_placement > [DIALOG d_house_placement_custom_2s] 50,50 page 0 resizepic 0 0 5054 520 420 gumppictiled 10 10 500 20 2624 checkertrans 10 10 500 20 dhtmlgump 10 10 500 20 0 0 HOUSE PLACEMENT TOOL gumppictiled 10 40 500 20 2624 checkertrans 10 40 500 20 dtext 50 40 1152 House Description dtext 275 40 1152 Storage dtext 350 40 1152 Lockdowns dtext 425 40 1152 Cost gumppictiled 10 70 500 280 2624 checkertrans 10 70 500 280 gumppictiled 10 360 500 20 2624 checkertrans 10 360 500 20 dtext 10 360 1152 Bank Balance: dtext 250 360 1152 gumppictiled 10 390 500 20 2624 checkertrans 10 390 500 20 button 10 390 4017 4019 1 0 0 dtext 50 390 1152 Close page 1 FOR 1 6 button 10 *20))> 4005 4007 1 0 dtext 50 *20))> 1152 >.NAME> dtext 275 *20))> 1152 >>)> dtext 350 *20))> 1152 >>)/2> dtext 425 *20))> 1152 >.VALUE> ENDFOR //button 450 390 4005 4007 0 2 0 //dtext 400 390 1152 Next [DIALOG d_house_placement_custom_2s BUTTON] ON=0 SDIALOG d_house_placement ON=1 20 SRC.f_house_placement > //////////////////////////////////////// [FUNCTION f_house_placement] SERV.NEWITEM i_gold NEW.TYPE=t_deed NEW.MORE1= NEW.CONT NEW.REMOVEFROMVIEW NEW.USE [TYPEDEF t_deed] ON=@DClick IF ( != ) SRC.SYSMESSAGE @,,1 The item must be on your backpack. return 1 ELIF !() IF STRMATCH("t_multi*",".TYPE>") IF ( >= ) SRC.SYSMESSAGE @,,1 You can't have more than houses on this account! return 1 ENDIF ENDIF ENDIF ON=@TargOn_Ground IF (==i_gold) IF ( < .VALUE>) SRC.SYSMESSAGE @,,1 You do not have the funds avaible in your bankbox to purchase this house. Try placing a smaller house, or adding gold to your bankbox. REMOVE return 1 ELSE SRC.TIMERF 1,f_check_placement TIMERF 1,REMOVE ENDIF ENDIF ON=@TargOn_Char SRC.SYSMESSAGE @,,1 You must place your house on ground. return 1 ON=@TargOn_Item SRC.SYSMESSAGE @,,1 You must place your house on ground. return 1 ON=@TargOn_Cancel IF (==i_gold) SDIALOG d_house_placement_classic REMOVE ENDIF [FUNCTION f_check_placement] SERV.NEWITEM i_gold NEW.P > NEW.REMOVEFROMVIEW IF ( > 0) IF ( < >.VALUE>) FORITEMS 1 REMOVE ENDFOR ELSE SRC.FINDLAYER.layer_bank.CONTCONSUME i_gold SRC.SYSMESSAGE @,,1 gold has been withdrawn from your bank box. UID..TAG.PLACEMENT_TOOL=1 ENDIF ENDIF NEW.REMOVE [FUNCTION f_check_multi] FORITEMS 1 IF STRMATCH("t_multi*","") return ENDIF ENDFOR return 0 ////////////////////////////////////////////////////////////////////////////////// [DEFNAME house_placement] house_classic_1 "i_multi_house_stone_plaster_small" house_classic_2 "i_multi_house_stone_small" house_classic_3 "i_multi_house_stone_brick_small" house_classic_4 "i_multi_house_stone_wood_small" house_classic_5 "i_multi_house_wood_plaster_small" house_classic_6 "i_multi_house_wood_thatched_small" house_classic_7 "i_multi_shop_stone_small" house_classic_8 "i_multi_shop_marble_small" house_classic_9 "i_multi_tower_wizard" house_classic_10 "i_multi_house_patio_sand" house_classic_11 "i_multi_villa_2story" house_classic_12 "i_multi_cabin_log_2story" house_classic_13 "i_multi_house_3room" house_classic_14 "i_multi_house_wood_plaster_2story" house_classic_15 "i_multi_house_stone_plaster_2story" house_classic_16 "i_multi_shop_blacksmithy_large" house_classic_17 "i_multi_house_patio_marble" house_classic_18 "i_multi_tower" house_classic_19 "i_multi_keep" house_classic_20 "i_multi_castle" house_custom_1 "i_multi_foundation_7x7" house_custom_2 "i_multi_foundation_7x8" house_custom_3 "i_multi_foundation_7x9" house_custom_4 "i_multi_foundation_7x10" house_custom_5 "i_multi_foundation_7x11" house_custom_6 "i_multi_foundation_7x12" ////////////////////////////////////////////////////////////////////////////////// [EVENTS e_house_customize] ON=@SkillStart IF !() return 2 ENDIF SYSMESSAGE You cannot do this whilst designing a house. return 1 ON=@SkillUseQuick IF !() return 2 ENDIF return 1 ON=@GetHit return 1 ON=@DClick return 1 ON=@ItemDClick return 1 ON=@HouseDesignCommit TIMERF 1,UID..MORE2>.f_fix_customized_doors_type IF () SYSMESSAGE @,,1 Your new house design has been committed. return 2 ENDIF LOCAL.OLDCOST = * 500)> LOCAL.NEWCOST = * 500)> LOCAL.CURCOST = - )> IF ( < ) SYSMESSAGE @,,1 You cannot afford this house design. return 1 ENDIF SYSMESSAGE @,,1 Your new house design has been committed. IF ( == 0) SYSMESSAGE @,,1 As the new design costs the same as the previous one, no gold has been taken out of your account. ELSEIF ( < 0) LOCAL.CURCOST = )> GOLD += SYSMESSAGE @,,1 As the new design is cheaper than the previous one, gold has been returned to you. ELSE GOLD -= SYSMESSAGE @,,1 gold has been taken out of your account to pay for the construction. ENDIF return 2 ON=@HouseDesignExit EVENTS -e_house_customize DSPEECH -spk_house_customize SYSMESSAGE @,,1 You have left house design mode. TIMERF 1,UPDATE return 2 [SPEECH spk_house_customize] ON=* return 1 [FUNCTION f_fix_customized_doors_type] IF !() REF1= FORITEMS 20 IF (==) IF (==t_door) TYPE=t_door_locked ENDIF ENDIF ENDFOR ENDIF [EOF]