From e50b0365c987d68f6a1a0cbfe59e9f258af10a2e Mon Sep 17 00:00:00 2001 From: Jhobean Date: Sat, 13 Apr 2024 12:08:01 -0400 Subject: [PATCH 1/2] Optimized housing system --- housing/house_defs.scp | 644 +++++-- housing/house_dialogs.scp | 3179 ++++++++++++++++++++--------------- housing/house_functions.scp | 1506 +++++++++-------- housing/house_speech.scp | 103 +- housing/house_tools.scp | 224 ++- housing/house_typedefs.scp | 995 ++++++----- housing/house_unused.scp | 328 ++++ housing/other_function.scp | 194 +++ 8 files changed, 4485 insertions(+), 2688 deletions(-) create mode 100644 housing/house_unused.scp create mode 100644 housing/other_function.scp diff --git a/housing/house_defs.scp b/housing/house_defs.scp index 3680fe2..12611af 100644 --- a/housing/house_defs.scp +++ b/housing/house_defs.scp @@ -26,113 +26,533 @@ VERSION=X1 [DEFNAME housing_control] //general settings -hs_can_bank 1 // set to 1 to allow players to bank from home. (verbal command)(owner, co-owners & friends only) -hs_allow_custom 1 // Allow players to convert to custom houses 0 to disable -hs_wipe_switch_lists 1 // if set to 1 access/ban lists are wiped when house is switched between private/public (helps reduce server memory) -hs_allow_sign_color 1 // Allow player to change the color of their house signs. -hs_hs_secure_locks_limit 1 // Lockdowns & Secures Zero to turn off limitations -hs_secure_locks_limit 0 // Overwrite hardcoded placement check. (Doesnt work right now) -hs_placement_check_roads 1 -hs_redeed_crate 1 // house items to crate on redeed +hs_can_bank 1 // set to 1 to allow players to bank from home. (verbal command)(owner, co-owners & friends only) +hs_allow_custom 1 // Allow players to convert to custom houses 0 to disable +hs_wipe_switch_lists 1 // if set to 1 access/ban lists are wiped when house is switched between private/public (helps reduce server memory) + +hs_allow_sign_color 0 // Allow player to change the color of their house signs. +hs_allow_sign_post 1 // Allow player to change the post of their house signs. +hs_allow_sign_hanger 1 // Allow player to change the hanger of their house signs. +hs_allow_foundation 0 // Allow player to change the foundantion of their house. (Doesnt work right now) + +hs_hs_secure_locks_limit 1 // Lockdowns & Secures Zero to turn off limitations +hs_secure_locks_limit 0 // Overwrite hardcoded placement check. (Doesnt work right now) +hs_placement_check_roads 1 // +hs_redeed_crate 1 // house items to crate on redeed + +hs_placement_delay 3 // Number of days until you can place another house after build previous +// hs_placement_ilshenar_facet 0 // Place house in Inhenar + +hs_door_acces_key 0 //Is set this and ( == 1) - doors open with keys //vendor settings -house_list_vendors 0 // set to 1 to allow players on house list to place vendors, 0 = owner only -house_sell 1 //set to 0 if you dont want to allow sell houses. +house_list_vendors 0 // set to 1 to allow players on house list to place vendors, 0 = owner only +house_sell 1 //set to 0 if you dont want to allow sell houses. //Set these to the body types for vendors in your script -vendor_deed_id i_deed_vendor -vendor_obody_male c_vendor -vendor_obody_female c_vendor_f +vendor_deed_id i_deed_vendor +vendor_obody_male c_vendor +vendor_obody_female c_vendor_f //Taxes & Fees -hs_redeed_fee 10 // Cost to redeed a house % of house value, zero disables. -hs_demolish_fee 5 // Cost to demolish a house % of house value, zero disables. -hs_can_decay 30 // set to number of days for a house to decay, or set to 0 to disable -hs_property_tax 10 // Set to % figure of house value to pay for maintenance on houses, WORKS ONLY WHEN hs_can_decay IS ON! zero disables. -hs_PlaceMinDistFront 5 // Minimum front distance allowed between placed houses. Default = 5 -hs_PlaceMinDistArea 1 // Minimum area distance allowed between placed houses. Default = 1 +hs_redeed_fee 10 // Cost to redeed a house % of house value, zero disables. +hs_demolish_fee 5 // Cost to demolish a house % of house value, zero disables. +hs_can_decay 30 // set to number of days for a house to decay, or set to 0 to disable +hs_property_tax 10 // Set to % figure of house value to pay for maintenance on houses, WORKS ONLY WHEN hs_can_decay IS ON! zero disables. +hs_PlaceMinDistFront 5 // Minimum front distance allowed between placed houses. Default = 5 +hs_PlaceMinDistArea 1 // Minimum area distance allowed between placed houses. Default = 1 -hs_estate_tax 2 // Extra charges for player with MORE than this many houses. 0 disables -hs_estate_rate 10 // % per house over the hs_estate_tax -hs_estate_calc 1 // 1 = flat % rate 2 = linear charge increase per house (1 over = + premium rate, 2 over = + premium rate*2, 3 over = + premium rate*3 e.t.c..) +hs_estate_tax 2 // Extra charges for player with MORE than this many houses. 0 disables +hs_estate_rate 10 // % per house over the hs_estate_tax +hs_estate_calc 2 // 1 = flat % rate 2 = linear charge increase per house (1 over = + premium rate, 2 over = + premium rate*2, 3 over = + premium rate*3 e.t.c..) -hs_buy_storage 1 // if set to 1 allows players to increase secure storage by up to 100% via house sign, 0 to disable +hs_buy_storage 1 // if set to 1 allows players to increase secure storage by up to 100% via house sign, 0 to disable //DO NOT ALTER THE FOLLOWING AFTER INITIAL SETUP!!! - - Doing so could cause problems when players go over these limits. -hs_max_friends 20 // DO NOT SET THIS ONE ABOVE 20 Dialog doesn't have extra pages for above that amount (actual number is set from building size) -hs_max_co_owners 10 // DO NOT SET THIS ONE ABOVE 10 Dialog is not set up for more than that amount (actual number is set from building size) +hs_max_friends 20 // DO NOT SET THIS ONE ABOVE 20 Dialog doesn't have extra pages for above that amount (actual number is set from building size) +hs_max_co_owners 10 // DO NOT SET THIS ONE ABOVE 10 Dialog is not set up for more than that amount (actual number is set from building size) +hs_max_ban 10 // DO NOT SET THIS ONE ABOVE 10 Dialog is not set up for more than that amount (actual number is set from building size) +hs_max_access 10 // DO NOT SET THIS ONE ABOVE 10 Dialog is not set up for more than that amount (actual number is set from building size) // Dialog Settings -dialog_hs_bg 5054 // small dialogs background (resizepic) -bfont_hs_title // strong purple -bfont_hs_text1 // white -bfont_hs_text2 // light yellow -bfont_hs_text3 // lgray -bfont_hs_red // light red -bfont_hs_gray // gray +dialog_hs_bg 5054 // small dialogs background (resizepic) +bfont_hs_title // orange +bfont_hs_text1 // white +bfont_hs_text2 // light yellow +bfont_hs_text3 // lgray +bfont_hs_red // light red +bfont_hs_gray // gray + +// TextColor Settings +fail 32 + + +// Dialog Language Settings +HouseCtrl_ENG_INFORMATION INFORMATION +HouseCtrl_ENG_SECURITY SECURITY +HouseCtrl_ENG_STORAGE STORAGE +HouseCtrl_ENG_CUSTOMIZE CUSTOMIZE +HouseCtrl_ENG_OWNERSHIP OWNERSHIP +//// +HouseCtrl_ENG_GrantAccess Grant Access +HouseCtrl_ENG_Banish Banish +HouseCtrl_ENG_Revoke Revoke Access +HouseCtrl_ENG_LiftBan Lift a Ban +HouseCtrl_ENG_Eject Eject Person +//// +HouseCtrl_ENG_Owned Owned By +HouseCtrl_ENG_IncorrPlace This house is improperly placed. +HouseCtrl_ENG_Headquarter This house is the headquarters of +HouseCtrl_ENG_Guild guild +HouseCtrl_ENG_BuildOn Build On +HouseCtrl_ENG_SalePrice This house is currently for sale at +HouseCtrl_ENG_Value House Value +HouseCtrl_ENG_VisitCnt Visit Count + +HouseCtrl_ENG_LstPrice List Price +HouseCtrl_ENG_HouseIsOf This house is of +HouseCtrl_ENG_HouseIs This house is +HouseCtrl_ENG_Custom custom +HouseCtrl_ENG_Prebuilt prebuilt +HouseCtrl_ENG_Design design. +HouseCtrl_ENG_PrivProp private property +HouseCtrl_ENG_PublOpen open to the public +HouseCtrl_ENG_DecayProtect This house has been made exempt from decay. +HouseCtrl_ENG_ThisHouse This house +HouseCtrl_ENG_WillDemol will be demolished +HouseCtrl_ENG_WillDecay будет снесён +HouseCtrl_ENG_SayIn In +HouseCtrl_ENG_MsgShedDemol This house is improperly placed and has been scheduled for demolition in +HouseCtrl_ENG_MsgDemolRefund Unless you redeed it yourself before that time the house and all items within will be lost without refund +HouseCtrl_ENG_FORSALE FOR SALE +HouseCtrl_ENG_BuyHouse Buy this house for +HouseCtrl_ENG_TaxCover Propery Tax covered for +HouseCtrl_ENG_TaxIs Property Tax for this house is + +HouseCtrl_ENG_DemolProceed You are about to demolish +HouseCtrl_ENG_DemolProceed2 this property +HouseCtrl_ENG_DemolProceed3 Do you wish to proceed? +HouseCtrl_ENG_DemolAndDestr Demolish & Destroy Contents +HouseCtrl_ENG_Refund Refund +HouseCtrl_ENG_Charge Charge +HouseCtrl_ENG_GMFree FREE FOR GM +HouseCtrl_ENG_RedeedBank Redeed & Bank Contents +HouseCtrl_ENG_ClrList You are about to clear your +HouseCtrl_ENG_ClrConfirm Сonfirm clearing the list + +HouseCtrl_ENG_Access Acces +HouseCtrl_ENG_Owner Owner +HouseCtrl_ENG_OwnerOnly Owner Only +HouseCtrl_ENG_CoOwners Co-owners +HouseCtrl_ENG_Friends Friends +HouseCtrl_ENG_GuildMemb Guild Members +HouseCtrl_ENG_Anyone Anyone + +HouseCtrl_ENG_Refreshed This house is Automatically refreshed. +HouseCtrl_ENG_LastTraded Last Traded: +HouseCtrl_ENG_PayTax Pay Property Tax +HouseCtrl_ENG_TradeHouse Trade House +HouseCtrl_ENG_HouseRemoval House Removal +HouseCtrl_ENG_RemoveEnsure Please ensure that your house is empty before you put it on the market. All lists will be wiped and all doors will be unlocked. Your house will be open to viewing, however you will retain control over it, until it is bought. +HouseCtrl_ENG_PutForSale Put this house up for sale +HouseCtrl_ENG_TakeOffSale Take this house off the market + +HouseCtrl_ENG_AdmOptions Administrative Options +HouseCtrl_ENG_SetDecay Allow decay on this property +HouseCtrl_ENG_SetEternal Make this property exempt from decay +HouseCtrl_ENG_SchedDemol Schedule this property for demolition +HouseCtrl_ENG_NumDayDemol Number of days until demolition (between 7 & 30) +HouseCtrl_ENG_DemolitDays days +HouseCtrl_ENG_CancelDemol Cancel scheduled demolition +HouseCtrl_ENG_StartDemol Demolish this propery in + +HouseCtrl_ENG_SellHouse Sell This House +HouseCtrl_ENG_AskPrice Enter your asking price +HouseCtrl_ENG_CurForSale This house is currently for sale for +HouseCtrl_ENG_StorageSumm House Storage Summary +HouseCtrl_ENG_StorageIncr Increased Storage +HouseCtrl_ENG_StorageBuy Buy Storage +HouseCtrl_ENG_Unlimited Unlimited +HouseCtrl_ENG_StorageMax Maximum Storage +HouseCtrl_ENG_StorageMax2 Maximum Storage +HouseCtrl_ENG_StorageAvb Available Storage +HouseCtrl_ENG_LockdownUse Used by Lockdowns +HouseCtrl_ENG_LockdownMax Maximum Lockdowns +HouseCtrl_ENG_LockdownMax2 Maximum Lockdowns +HouseCtrl_ENG_LockdownAvb Available Lockdowns +HouseCtrl_ENG_SecureUse Used by Secure Storage +HouseCtrl_ENG_MaxLockdown Maximum Lockdowns +HouseCtrl_ENG_UseMoveCont Used by Moving Crate +HouseCtrl_ENG_Vendors Vendors + +HouseCtrl_ENG_IncreaseStor Increase Storage +HouseCtrl_ENG_IncrStorInf You may buy up to a 100% increase in storage space. The value listed for this property will be adjusted to reflect your investment. The price for a 100% upgrade should not cost more than 50% of the property price, however you buy it. +HouseCtrl_ENG_IncrStorInf2 The value of purchased storage will be refunded to your bankbox upon redeeding. +HouseCtrl_ENG_IncrStorAdd Add +HouseCtrl_ENG_IncrStorFor for + +HouseCtrl_ENG_ConvCustomize Convert into Customizable House +HouseCtrl_ENG_CustomizeH Customize This House +HouseCtrl_ENG_RelMoveCrate Relocate Moving Crate +HouseCtrl_ENG_CngSignID Change House Sign +HouseCtrl_ENG_CngSignCol Change House Sign Color +HouseCtrl_ENG_CngSignHng Change House Sign Hanger +HouseCtrl_ENG_CngSignPst Change House Signpost +HouseCtrl_ENG_CngFoundat Change Foundation Style +HouseCtrl_ENG_RenameHouse Rename House + + + +HouseCtrl_ENG_ListAccess Access List +HouseCtrl_ENG_ListBan Ban List +HouseCtrl_ENG_ListCoowner Coowner List +HouseCtrl_ENG_ListFriend Friend List +///// +HouseCtrl_ENG_ViewCoOwn View Co-Owners List +HouseCtrl_ENG_AddCoOwn Add a Co-Owner +HouseCtrl_ENG_RemCoOwn Remove a Co-Owner +HouseCtrl_ENG_ClrCoOwn Clear Co-Owner List +///// +HouseCtrl_ENG_ViewFriend View House Friends +HouseCtrl_ENG_AddFriend Add a Friend +HouseCtrl_ENG_RemFriend Remove a Friend +HouseCtrl_ENG_ClrFriend Clear Friend List +///// +HouseCtrl_ENG_ViewAccess View Access List +HouseCtrl_ENG_ClrAccess Clear Access List +///// +HouseCtrl_ENG_ViewBanList View Ban List +HouseCtrl_ENG_ClrBanList Clear Ban List +///// +HouseCtrl_ENG_RemGldhouse Remove Guild Declaration +HouseCtrl_ENG_SetGldhouse Declare Guildhouse +///// +HouseCtrl_ENG_RecodeDoor Recode Doors, Boxes +HouseCtrl_ENG_OrTelepads or Telepads +HouseCtrl_ENG_Public Public +HouseCtrl_ENG_Private Private +HouseCtrl_ENG_ChangeTo Change to +// HouseCtrl_END_RecodeBox Boxes +///// + + +HouseCtrl_ENG_Houses Houses +HouseCtrl_ENG_PropExempt This property has been made exempt from decay. +HouseCtrl_ENG_PropNoTax As such you have no Property Tax to pay. +HouseCtrl_ENG_PropRefl This exemption is reflected on the main page of this menu. +HouseCtrl_ENG_PropLost If this house is put for sale or moved the exemption will be lost. +HouseCtrl_ENG_EstateTax Estate Tax applies for +HouseCtrl_ENG_House-s house(s) +HouseCtrl_ENG_PLUS PLUS +HouseCtrl_ENG_Addit Additional +HouseCtrl_ENG_FlatRate of house value (flat rate) +HouseCtrl_ENG_ResetDec Reset your house's decay timer to +HouseCtrl_ENG_TaxIsDue Property Tax may be paid whenever any is due. +HouseCtrl_ENG_TaxPrice The price of your Property Tax per + +HouseCtrl_ENG_TaxOf of +HouseCtrl_ENG_TaxIs is +HouseCtrl_ENG_HouseVal House Value +HouseCtrl_ENG_HouseVal2 house value +HouseCtrl_ENG_TaxRegRate region rate +HouseCtrl_ENG_UpStdAllow for each house over standard allowance +HouseCtrl_ENG_Pay Pay +HouseCtrl_ENG_ToAdd to add +HouseCtrl_ENG_ToQTS qts. +HouseCtrl_ENG_NoPropTax No Property Tax is due on this building. +HouseCtrl_ENG_StaffOver Staff Override +HouseCtrl_ENG_ResDecTmr Reset decay timer to + +HouseCtrl_ENG_WARNING WARNING +HouseCtrl_ENG_Condemn You are about to place a new house. Placing this house will condemn any and all of your other houses that you may have.In addition, you will not be able to place another house or have one transferred to you for one (1) real-life week.Once you accept these terms, these effects cannot be reversed. Re-deeding or transferring your new house will not uncondemn your other house(s) nor will the one week timer be removed.If you are absolutely certain you wish to proceed, click the button next to OKAY below. If you do not wish to trade for this house, click CANCEL. + +HouseCtrl_ENG_DecorFlip Flip +HouseCtrl_ENG_DecorUp Up +HouseCtrl_ENG_DecorDown Down +HouseCtrl_ENG_HousePTools HOUSE PLACEMENT TOOL +HouseCtrl_ENG_HouseClass Classic Houses +HouseCtrl_ENG_House2Story 2-Story Customizable Houses +HouseCtrl_ENG_House3Story 3-Story Customizable Houses +HouseCtrl_ENG_UnablePlace You are currently unable to place a new house or receive a house in trade because you have become the owner of a house within the last +HouseCtrl_ENG_TestPlacem You can test for house placement right now, but you cannot currently create a permanent house. +HouseCtrl_ENG_HouseDescr House Description +HouseCtrl_ENG_Storages Storage +HouseCtrl_ENG_Lockdowns Lockdowns +HouseCtrl_ENG_Costs Cost +HouseCtrl_ENG_BankBal Bank Balance +HouseCtrl_ENG_Close Close +HouseCtrl_ENG_Next Next +HouseCtrl_ENG_Prev Previous + +HouseCtrl_ENG_Cancel Cancel +HouseCtrl_ENG_Confirm Confirm + + +HouseCtrl_ENG_InvalTrg Invalid Target. + +///////////////////////////////////////////////////////////// + +HouseCtrl_RUS_INFORMATION ИНФОРМАЦИЯ +HouseCtrl_RUS_SECURITY БЕЗОПАСНОСТЬ +HouseCtrl_RUS_STORAGE ХРАНИЛИЩЕ +HouseCtrl_RUS_CUSTOMIZE НАСТРОЙКИ +HouseCtrl_RUS_OWNERSHIP СОБСТВЕННОСТЬ +//// +HouseCtrl_RUS_GrantAccess Даровать доступ +HouseCtrl_RUS_Banish Изгнать +HouseCtrl_RUS_Revoke Отозвать доступ +HouseCtrl_RUS_LiftBan Снять запрет +HouseCtrl_RUS_Eject Прогнать +//// +HouseCtrl_RUS_Owned Владелец: +HouseCtrl_RUS_IncorrPlace Этот дом неправильно расположен. +HouseCtrl_RUS_Headquarter Это здание является штаб-квартирой +HouseCtrl_RUS_Guild гильдии +HouseCtrl_RUS_BuildOn Построен: +HouseCtrl_RUS_SalePrice Это здание продается за +HouseCtrl_RUS_Value Стоимость: +HouseCtrl_RUS_VisitCnt Счетчик визитов: + +HouseCtrl_RUS_LstPrice Заявленная Цена: +HouseCtrl_RUS_HouseIsOf Этот дом построен по +HouseCtrl_RUS_HouseIs и находится в +HouseCtrl_RUS_Custom индивидуальному +HouseCtrl_RUS_Prebuilt стандартному +HouseCtrl_RUS_Design проекту +HouseCtrl_RUS_PrivProp частной собственности +HouseCtrl_RUS_PublOpen в публичном доступе +HouseCtrl_RUS_DecayProtect Этот дом защищен от разрушения. +HouseCtrl_RUS_ThisHouse Этот дом +HouseCtrl_RUS_WillDemol будет снесён +HouseCtrl_RUS_WillDecay разрушится +HouseCtrl_RUS_SayIn через +HouseCtrl_RUS_MsgShedDemol Этот дом расположен в неправильном месте и будет снесён через +HouseCtrl_RUS_MsgDemolRefund Если вы сами не демонтируете здание, то оно вместе с находящимися на его территории предметами будет удалено +HouseCtrl_RUS_FORSALE ПРОДАЁТСЯ +HouseCtrl_RUS_BuyHouse Купите этот дом за +HouseCtrl_RUS_TaxCover Налог на имущество оплачен на +HouseCtrl_RUS_TaxIs Налог на имущество составляет + +HouseCtrl_RUS_DemolProceed Вы собираетесь снести +HouseCtrl_RUS_DemolProceed2 этот объект недвижимости +HouseCtrl_RUS_DemolProceed3 Желаете продолжить? +HouseCtrl_RUS_DemolAndDestr Снести и утилизировать +HouseCtrl_RUS_Refund Возврат +HouseCtrl_RUS_Charge Заплатите +HouseCtrl_RUS_GMFree Бесплатно для ГМа +HouseCtrl_RUS_RedeedBank Свернуть и сложить в банк +HouseCtrl_RUS_ClrList Вы собираетесь очистить +HouseCtrl_RUS_ClrConfirm Подтведить очистку списка + +HouseCtrl_RUS_Access Доступ +HouseCtrl_RUS_Owner Владелец +HouseCtrl_RUS_OwnerOnly Только владелец +HouseCtrl_RUS_CoOwners Совладельцы +HouseCtrl_RUS_Friends Друзья +HouseCtrl_RUS_GuildMemb Согильдийцы +HouseCtrl_RUS_Anyone Кто угодно + +HouseCtrl_RUS_Refreshed Дом автоматически обновлен. +HouseCtrl_RUS_LastTraded Куплен: +HouseCtrl_RUS_PayTax Оплатить налог на собственность +HouseCtrl_RUS_TradeHouse Продать дом +HouseCtrl_RUS_HouseRemoval Удаление дома +HouseCtrl_RUS_RemoveEnsure Пожалуйста, убедитесь, что ваш дом пуст, прежде чем выставлять его на продажу. Все списки будут удалены и все двери будут открыты. Ваш дом будет открыт для просмотра, однако вы сохраните за собой контроль над ним до тех пор, пока он не будет куплен. +HouseCtrl_RUS_PutForSale Выставить дом на продажу +HouseCtrl_RUS_TakeOffSale Снять дом с продажи + +HouseCtrl_RUS_AdmOptions Административные Возможности +HouseCtrl_RUS_SetDecay Вернуть разрушаемость дома от ветхости +HouseCtrl_RUS_SetEternal Установить защиту дома от ветхости +HouseCtrl_RUS_SchedDemol Запланировать снос этого дома +HouseCtrl_RUS_NumDayDemol Количество дней до сноса (от 7 до 30) +HouseCtrl_RUS_DemolitDays дней +HouseCtrl_RUS_CancelDemol Отменить плановый снос +HouseCtrl_RUS_StartDemol Снести дом через + +HouseCtrl_RUS_SellHouse Продажа дома +HouseCtrl_RUS_AskPrice Введите запрашиваемую цену +HouseCtrl_RUS_CurForSale Это здание выставлено на продажу +HouseCtrl_RUS_StorageSumm Описание Хранилища +HouseCtrl_RUS_StorageIncr Улучшение Склада +HouseCtrl_RUS_StorageBuy Увеличить размер склада +HouseCtrl_RUS_Unlimited Бесконечно +HouseCtrl_RUS_StorageMax Предельный размер склада +HouseCtrl_RUS_StorageMax2 Лимит Склада +HouseCtrl_RUS_StorageAvb Доступный объем склада +HouseCtrl_RUS_LockdownUse Закреплено предметов +HouseCtrl_RUS_LockdownMax Максимум закреплений +HouseCtrl_RUS_LockdownMax2 Лимит Закреплений +HouseCtrl_RUS_LockdownAvb Доступно закреплений +HouseCtrl_RUS_SecureUse Использовано от объема склада +HouseCtrl_RUS_UseMoveCont Закреплено контейнеров +HouseCtrl_RUS_Vendors Торговцы + +HouseCtrl_RUS_IncreaseStor Улучшить хранилище +HouseCtrl_RUS_IncrStorInf Вы можете улучшить размер склада до 100% от начального объема. Стоимость здания, будет скорректирована, но не более чем на 50% от изначальной стоимости объекта. +HouseCtrl_RUS_IncrStorInf2 Стоимость улучшений будет полностью возмещена в случае демонтажа здания. +HouseCtrl_RUS_IncrStorAdd Купить +HouseCtrl_RUS_IncrStorFor за + +HouseCtrl_RUS_ConvCustomize Преобразовать в "Строительную площадку" //Construction site +HouseCtrl_RUS_CustomizeH Перейти в режим "Стройки" +HouseCtrl_RUS_RelMoveCrate Переместить ящик +HouseCtrl_RUS_CngSignID Поменять вид вывески +HouseCtrl_RUS_CngSignCol Поменять цвет вывески +HouseCtrl_RUS_CngSignHng Поменять кронштейн вывески +HouseCtrl_RUS_CngSignPst Поменять опору вывески +HouseCtrl_RUS_CngFoundat Поменять вид фундамента +HouseCtrl_RUS_RenameHouse Переименовать дом + + +HouseCtrl_RUS_ListAccess Список Доступа +HouseCtrl_RUS_ListBan Список Изгнания +HouseCtrl_RUS_ListCoowner Список Хозяев +HouseCtrl_RUS_ListFriend Список Друзей +///// +HouseCtrl_RUS_ViewCoOwn Список Хозяев +HouseCtrl_RUS_AddCoOwn Добавить Хозяина +HouseCtrl_RUS_RemCoOwn Удалить Хозяина +HouseCtrl_RUS_ClrCoOwn Очистить Хозяев +///// +HouseCtrl_RUS_ViewFriend Список Друзей +HouseCtrl_RUS_AddFriend Добавить Друга +HouseCtrl_RUS_RemFriend Удалить Друга +HouseCtrl_RUS_ClrFriend Очистить Друзей +///// +HouseCtrl_RUS_ViewAccess Список Доступа +HouseCtrl_RUS_ClrAccess Очистить Доступ +///// +HouseCtrl_RUS_ViewBanList Список Изгнания +HouseCtrl_RUS_ClrBanList Очистить Изгнание +///// +HouseCtrl_RUS_RemGldhouse Распустить Штаб +HouseCtrl_RUS_SetGldhouse Объявить Штабом +///// +HouseCtrl_RUS_RecodeDoor Кодировать двери, +HouseCtrl_RUS_OrTelepads ящики, порталы +HouseCtrl_RUS_Public Публичный +HouseCtrl_RUS_Private Частный +HouseCtrl_RUS_ChangeTo Режим +// HouseCtrl_RUS_RecodeBox Boxes +///// + +HouseCtrl_RUS_Houses Кол-во домов +HouseCtrl_RUS_PropExempt Это здание защищено от разрушения. +HouseCtrl_RUS_PropNoTax Поэтому вам не нужно платить налог на имущество. +HouseCtrl_RUS_PropRefl Это исключение отражено на главной странице данного меню. +HouseCtrl_RUS_PropLost Если этот дом будет выставлен на продажу или переедет, льгота будет утрачена. +HouseCtrl_RUS_EstateTax Налог на недвижимость для +HouseCtrl_RUS_House-s дома(ов) +HouseCtrl_RUS_PLUS ПЛЮС +HouseCtrl_RUS_Addit Дополнительно +HouseCtrl_RUS_FlatRate от стоимости дома (фикс.ставка) +HouseCtrl_RUS_ResetDec Обновить таймер разрушения до +HouseCtrl_RUS_TaxIsDue Налог может быть уплачен в любое время. +HouseCtrl_RUS_TaxPrice Размер налога на недвижимость за + +HouseCtrl_RUS_TaxOf от +HouseCtrl_RUS_TaxIs составляет +HouseCtrl_RUS_HouseVal стоимости дома +HouseCtrl_RUS_HouseVal2 от стоимости дома +HouseCtrl_RUS_TaxRegRate регионально +HouseCtrl_RUS_UpStdAllow за каждый дом сверх станд.кол-ва +HouseCtrl_RUS_Pay Оплатите +HouseCtrl_RUS_ToAdd за +HouseCtrl_RUS_ToQTS шт. +HouseCtrl_RUS_NoPropTax Это здание не облагается налогом. +HouseCtrl_RUS_StaffOver Административные Возможности +HouseCtrl_RUS_ResDecTmr Уст-ть таймер разрушения на + +HouseCtrl_RUS_WARNING ВНИМАНИЕ +HouseCtrl_RUS_Condemn Вы собираетесь построить новый дом. Размещение этого дома приведет к тому, что уничтожитвсе остальные ваши дома, которые у вас могут быть.Кроме того, вы не сможете разместить другой дом или передать его вам на один (1) срок неделя реальной жизни.После того, как вы примете эти условия, эти последствия не могут быть отменены. Переоформление или перенос вашего нового дома не повлияет на другие ваши дома, а также не отменит действие недельного таймера.Если вы абсолютно уверены, что хотите продолжить, нажмите кнопку "Далее" ниже нажмите "ОК". Если вы не хотите торговать этим домом, нажмите кнопку ОТМЕНА. + +HouseCtrl_RUS_DecorFlip Flip +HouseCtrl_RUS_DecorUp Up +HouseCtrl_RUS_DecorDown Down +HouseCtrl_RUS_HousePTools МАСТЕР УСТАНОВКИ ДОМОВ +HouseCtrl_RUS_HouseClass Классические дома +HouseCtrl_RUS_House2Story 2-х этажные Проектируемые дома +HouseCtrl_RUS_House3Story 3-х этажные Проектируемые дома +HouseCtrl_RUS_UnablePlace Вы не можете установить или купить новый дом, поскольку вы стали владельцем другого дома в течении последних +HouseCtrl_RUS_TestPlacem Вы можете протестировать систему размещения дома прямо сейчас, но не сможете установить постоянный дом. +HouseCtrl_RUS_HouseDescr Описание дома +HouseCtrl_RUS_Storages Склад +HouseCtrl_RUS_Lockdowns Закреп. +HouseCtrl_RUS_Costs Цена +HouseCtrl_RUS_BankBal Банковский баланс +HouseCtrl_RUS_Close Закрыть +HouseCtrl_RUS_Next Следующий +HouseCtrl_RUS_Prev Предыдущий + +HouseCtrl_RUS_Cancel Отменить +HouseCtrl_RUS_Confirm Подтвердить + +HouseCtrl_RUS_InvalTrg Неправильная цель. + //Available sign colors - Test colors only, set to suit your hues and tastes. -sign_color_1 06d6 -sign_color_2 07ad -sign_color_3 0641 -sign_color_4 0975 -sign_color_5 07a1 -sign_color_6 0770 -sign_color_7 079c -sign_color_8 0455 -sign_color_9 0796 -sign_color_10 0665 -sign_color_11 07d1 -sign_color_12 0400 -sign_color_13 0750 -sign_color_14 0515 -sign_color_15 04de -sign_color_16 0538 -sign_color_17 079b -sign_color_18 04ab -sign_color_19 04a9 -sign_color_20 04aa -sign_color_21 0157 -sign_color_22 0676 -sign_color_23 0157 -sign_color_24 0235 -sign_color_25 06c0 -sign_color_26 04ac -sign_color_27 0473 -sign_color_28 02e9 -sign_color_29 04a8 -sign_color_30 0490 - -[DEFNAME signs] -sign_1 9 -sign_2 29 -sign_3 54 -sign_4 90 -sign_5 147 -sign_6 169 -sign_7 177 -sign_8 204 -sign_9 251 -sign_10 257 -sign_11 263 -sign_12 298 -sign_13 347 -sign_14 424 -sign_15 441 -sign_16 466 -sign_17 514 -sign_18 600 -sign_19 601 -sign_20 602 -sign_21 603 -sign_22 660 -sign_23 666 -sign_24 672 -sign_25 898 -sign_26 970 -sign_27 974 -sign_28 982 +sign_color_1 06d6 +sign_color_2 07ad +sign_color_3 0641 +sign_color_4 0975 +sign_color_5 07a1 +sign_color_6 0770 +sign_color_7 079c +sign_color_8 0455 +sign_color_9 0796 +sign_color_10 0665 +sign_color_11 07d1 +sign_color_12 0400 +sign_color_13 0750 +sign_color_14 0515 +sign_color_15 04de +sign_color_16 0538 +sign_color_17 079b +sign_color_18 04ab +sign_color_19 04a9 +sign_color_20 04aa +sign_color_21 0157 +sign_color_22 0676 +sign_color_23 0157 +sign_color_24 0235 +sign_color_25 06c0 +sign_color_26 04ac +sign_color_27 0473 +sign_color_28 02e9 +sign_color_29 04a8 +sign_color_30 0490 + +[DEFNAME signposts] +signpost_1 9 +signpost_2 29 +signpost_3 54 +signpost_4 90 +signpost_5 147 +signpost_6 169 +signpost_7 177 +signpost_8 204 +signpost_9 251 +signpost_10 257 +signpost_11 263 +signpost_12 298 +signpost_13 347 +signpost_14 424 +signpost_15 441 +signpost_16 466 +signpost_17 514 +signpost_18 600 +signpost_19 601 +signpost_20 602 +signpost_21 603 +signpost_22 660 +signpost_23 666 +signpost_24 672 +signpost_25 898 +signpost_26 970 +signpost_27 974 +signpost_28 982 [DEFNAME Avaible_Houses] //Avaible houses on House Placement Tool house_classic_1 "m_stone_and_plaster_house" @@ -260,28 +680,28 @@ house_custom_3story_53 "m_foundation_18x16" house_custom_3story_54 "m_foundation_18x17" house_custom_3story_55 "m_foundation_18x18" -[defname house_access_level] -house_access_none = 0 -house_access_owner = 1 -house_access_coowner = 2 -house_access_friend = 3 -house_access_guild = 4 -house_access_all = 5 +[DEFNAME house_access_level] +house_access_none 0 +house_access_owner 1 +house_access_coowner 2 +house_access_friend 3 +house_access_guild 4 +house_access_all 5 -[defname house_container_access_level] -house_container_access_all = 0 -house_container_access_friend = 1 -house_container_access_coowner = 2 -house_container_access_owner = 3 +[DEFNAME house_container_access_level] +house_container_access_all 0 +house_container_access_friend 1 +house_container_access_coowner 2 +house_container_access_owner 3 [DEFNAME house_privs] -hp_none = 0 -hp_owner = 1 -hp_coowner = 2 -hp_friend = 3 -hp_accessonly = 4 -hp_ban = 5 -hp_vendor = 6 -hp_guild = 7 +hp_none 0 +hp_owner 1 +hp_coowner 2 +hp_friend 3 +hp_accessonly 4 +hp_ban 5 +hp_vendor 6 +hp_guild 7 [EOF] diff --git a/housing/house_dialogs.scp b/housing/house_dialogs.scp index 850fa79..7c0ee5c 100644 --- a/housing/house_dialogs.scp +++ b/housing/house_dialogs.scp @@ -4,55 +4,7 @@ //**************************************************************************** VERSION=X1 - -[DIALOG d_house_placement] -100,100 -noclose -f_house_dialog 0,0,420,280 -dhtmlgump 10 11 400 24 0 0 !!! WARNING !!! -dhtmlgump 10 37 404 200 1 1 You are about to place a new house. Placing this house will condemn any and all of your other houses that you may have.In addition, you will not be able to place another house or have one transferred to you for one (1) real-life week.Once you accept these terms, these effects cannot be reversed. Re-deeding or transferring your new house will not uncondemn your other house(s) nor will the one week timer be removed.If you are absolutely certain you wish to proceed, click the button next to OKAY below. If you do not wish to trade for this house, click CANCEL. -button 110 247 4005 4007 1 0 0 -dhtmlgump 143 250 100 20 0 0 CANCEL -button 240 247 4005 4007 1 0 1 -dhtmlgump 273 250 100 20 0 0 OKAY - - -[DIALOG d_house_placement BUTTON] -ON=0 -IF ( != i_gold) - LINK.REDEED - return -endif -LINK.REMOVE - -ON=1 -IF ( == i_gold) - IF () - SRC.SYSMESSAGE @,,1 gold would have been withdrawn from your bank if you were not a GM. - ELIF ( < ) - 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. - LINK.REMOVE - return 1 - ELSE - SRC.GOLD -= - SRC.UPDATE - SRC.SYSMESSAGE @,,1 gold has been withdrawn from your bank box. - ENDIF -ENDIF -if && ! - attr=02|010 - timer=60*60*24* -else - timer =-1 - attr=010 -endif -name -link.tag.buildon= -link.tag.lasttransfer= -REGION.EVENTS=+r_house_system - - -//Begin main menu +//Begin main menu [DIALOG d_house_menu] 100,100 page 0 @@ -60,307 +12,467 @@ resizepic 0 0 5054 399 455 gumppictiled 150 8 240 102 2624 //top box checkertrans 150 8 240 102 //top box gumppictiled 7 116 383 283 2624 //middle box -checkertrans 7 116 383 283 //middle box +checkertrans 7 116 383 283 //middle box gumppictiled 7 406 383 41 2624 //bottom box checkertrans 7 406 383 41 //bottom box gumppic 7 8 100 //brass sign gump -dhtmlgump 25 38 106 60 0 0 -if == - dhtmlgump 25 22 106 20 0 0 [.abbrev>] + +ref1 = //sign +ref2 = //house +ref3 = //owner +ref4 = +if + ref5 = + if + local.abbrev = >?[None]:> + endif +endif + +dhtmlgump 25 38 106 60 0 0 + +if ( == ) + dhtmlgump 25 22 106 20 0 0 [] endif + +dorigin 0 -9 + +local.menutxt1 = _INFORMATION> +dhtmlgump 190 *20 120 20 0 0 button 150 8 4005 4007 0 1 0 -dhtmlgump 190 11 100 20 0 0 INFORMATION + +local.menutxt2 = _SECURITY> +dhtmlgump 190 *20 120 20 0 0 button 150 28 4005 4007 0 2 0 -dhtmlgump 190 31 100 20 0 0 SECURITY + +local.menutxt3 = _STORAGE> +dhtmlgump 190 *20 120 20 0 0 button 150 48 4005 4007 0 3 0 -dhtmlgump 190 51 100 20 0 0 STORAGE + +local.menutxt4 = _CUSTOMIZE> +dhtmlgump 190 *20 120 20 0 0 button 150 68 4005 4007 0 4 0 -dhtmlgump 190 71 100 20 0 0 CUSTOMIZE + +local.menutxt5 = _OWNERSHIP> +dhtmlgump 190 *20 120 20 0 0 button 150 88 4005 4007 0 5 0 -dhtmlgump 190 91 100 20 0 0 OWNERSHIP + +dorigin 7 405 if (>) || (> >= 0) || (> >= 0) || () - button 7 405 4005 4007 1 0 ==)? 14:15> - dhtmlgump 44 408 100 20 0 0 ==)?Grant Access:Banish> - button 7 425 4005 4007 1 0 ==)? 12:13> - dhtmlgump 44 428 100 20 0 0 ==)?Revoke Access:Lift a Ban> + button - - 4005 4007 1 0 ==)? 14:15> + dhtmlgump 44 +3 150 20 0 0 ==)?_GrantAccess>:_Banish>> + + button 7 +20 4005 4007 1 0 ==)? 12:13> + dhtmlgump 44 +23 150 20 0 0 ==)?_Revoke>:_LiftBan>> else - dhtmlgump 44 408 100 20 0 0 ==)?Grant Access:Banish> - dhtmlgump 44 428 100 20 0 0 ==)?Revoke Access:Lift a Ban> + dhtmlgump 44 +3 150 20 0 0 ==)?_GrantAccess>:_Banish>> + dhtmlgump 44 +23 150 20 0 0 ==)?_Revoke>:_LiftBan>> endif -button 250 425 4005 4007 1 0 29 -dhtmlgump 287 428 100 20 0 0 Eject Person +doswitch + begin + button 360 +20 4005 4007 1 0 29 + dhtmlgump 277 +23 100 20 0 0 _Eject> + end + begin + button 360 +20 4005 4007 1 0 29 + dhtmlgump 280 +23 100 20 0 0 _Eject> + end +enddo page 1 +dhtmlgump 190 11 120 20 0 0 //INFORMATION button 150 8 4006 4006 0 1 0 -dhtmlgump 190 11 100 20 0 0 INFORMATION -dhtmlgump 20 130 120 20 0 0 Owned By -dhtmlgump 120 130 120 20 0 0 -if (==) - dhtmlgump 20 150 240 20 0 0 This house is designated as the [.abbrev>] guild house. + +dorigin 20 110 + +dhtmlgump 20 *20 120 20 0 0 _Owned> +dhtmlgump 120 - 120 20 0 0 + +if ( == ) + if + ref5 = + if + local.abbrev = >?[None]:> + endif + endif + dhtmlgump 20 *20 370 40 0 0 _Headquarter>?_Guild> []:[] _Guild>>. endif -dhtmlgump 20 170 220 20 0 0 )?This house is improperly placed.:This house is properly placed.> -dhtmlgump 20 190 220 20 0 0 This house is of ==t_multi_custom)? custom:prebuilt> design. -dhtmlgump 20 210 220 20 0 0 This house is ==)? private property.:open to the public.> -if - dhtmlgump 20 250 220 20 0 0 This house is currently for sale for gp + +if + dhtmlgump 20 *40 370 20 0 0 _IncorrPlace> +endif + +dhtmlgump 20 *40 370 20 0 0 _HouseIsOf> ==t_multi_custom)? _Custom>:_Prebuilt>> _Design> +dhtmlgump 20 *20 370 20 0 0 _HouseIs> ==)? _PrivProp>:_PublOpen>>. + +if + dhtmlgump 20 *20 320 20 0 0 _SalePrice> gp. endif -local.value=++> + +local.value = +)+)> if && - if - local.maint=,,100> - else - local.maint=,,100> - endif + if + local.maint = ,,100> + else + local.maint = ,,100> + endif endif + if - if (==1) - dhtmlgump 20 270 360 20 0 0 This house has been made exempt from decay. - else - if ! - dhtmlgump 20 270 360 20 0 0 This house )? will be demolished:will decay> in /86400> < 1)? %86400)/3600> hours and %86400)%3600)/60> minutes.:/86400> days.> - else - dhtmlgump 20 240 360 20 0 0 Propery Tax covered for /86400> < 1)?%86400)/3600> hours and %86400)%3600)/60> minutes:/86400> days>. - dhtmlgump 20 260 360 20 0 0 Property Tax for this house is gp every days. - endif - endif + if ( == 1) + dhtmlgump 20 *30 360 20 0 0 _DecayProtect> + else + + call f_return_timeleft + doswitch + begin + doswitch - 1)> + local.decaymsg = days hours minutes //1 + local.decaymsg = hours minutes //2 + local.decaymsg = 0 hours minutes //3 + local.decaymsg = for less than 1 minute //4 + enddo + end + begin + call f_days_name //local.day_name + call f_hour_name //local.hour_name + call f_minutes_name //local.min_name + call f_sec_name //local.sec_name + doswitch - 1)> + local.decaymsg = //1 + local.decaymsg = //2 + local.decaymsg = 0 //3 + local.decaymsg = менее чем на 1 минуту //4 + enddo + end + enddo + + if ! + dhtmlgump 20 *30 360 40 0 0 _ThisHouse> )? _WillDemol>:_WillDecay>> _SayIn>. + else + doswitch + begin + dhtmlgump 20 *30 360 50 0 0 _TaxCover> + dhtmlgump 20 *20 360 20 0 0 _TaxIs> gp every days. + end + begin + dhtmlgump 20 *30 360 40 0 0 _TaxCover> + dhtmlgump 20 *40 360 40 0 0 _TaxIs> gpна дней. + end + enddo + endif + endif else - dhtmlgump 20 270 220 20 0 0 This house is Automatically refreshed. + dhtmlgump 20 *20 220 20 0 0 _Refreshed> endif -if - dhtmlgump 20 300 100 20 0 0 Last Traded: - dhtmlgump 120 300 120 20 0 0 +// dorigin 20 280 +dtext - *40 0 +if !> + call f_return_todate + dhtmlgump 20 *20 100 20 0 0 _LastTraded> + dhtmlgump 120 - 120 20 0 0 .. endif -dhtmlgump 20 320 100 20 0 0 Build On -dhtmlgump 20 340 100 20 0 0 House Value -dhtmlgump 20 360 220 20 0 0 Visit Count +call f_return_todate +dhtmlgump 20 *20 100 20 0 0 _BuildOn> +dhtmlgump 120 - 120 20 0 0 .. -dhtmlgump 120 320 120 20 0 0 -dhtmlgump 120 340 120 20 0 0 gp -dhtmlgump 120 360 120 20 0 0 +dhtmlgump 20 *20 100 20 0 0 _Value> +dhtmlgump 120 - 120 20 0 0 gp + +// dhtmlgump 20 *20 220 20 0 0 _VisitCnt> +// dhtmlgump 120 - 120 20 0 0 page 2 button 150 28 4006 4006 0 2 0 -dhtmlgump 190 31 100 20 0 0 SECURITY +dhtmlgump 190 31 120 20 0 0 //SECURITY if (>) || () - button 7 140 4005 4007 1 0 9 - dhtmlgump 44 143 150 20 0 0 View Co-Owners List - button 7 160 4005 4007 1 0 17 - dhtmlgump 44 163 150 20 0 0 Add a Co-Owner - button 7 180 4005 4007 1 0 16 - dhtmlgump 44 183 150 20 0 0 Remove a Co-Owner - button 7 200 4005 4007 1 0 18 - dhtmlgump 44 203 150 20 0 0 Clear Co-Owner List + dhtmlgump 44 143 180 20 0 0 _ViewCoOwn> + button 7 140 4005 4007 1 0 9 + + dhtmlgump 44 163 180 20 0 0 _AddCoOwn> + button 7 160 4005 4007 1 0 17 + + dhtmlgump 44 183 180 20 0 0 _RemCoOwn> + button 7 180 4005 4007 1 0 16 + + dhtmlgump 44 203 180 20 0 0 _ClrCoOwn> + button 7 200 4005 4007 1 0 18 else - dhtmlgump 44 163 180 20 0 0 Add a Co-Owner - if (> >= 0) || (> >= 0) - button 7 140 4005 4007 1 0 9 - dhtmlgump 44 143 150 20 0 0 View House Co-Owners - button 7 240 4005 4007 1 0 11 - endif - dhtmlgump 44 143 150 20 0 0 View House Co-Owners - dhtmlgump 44 183 180 20 0 0 Remove a Co-Owner - dhtmlgump 44 203 180 20 0 0 Clear Co-Owner List + if (> >= 0) || (> >= 0) + dhtmlgump 44 143 180 20 0 0 _ViewCoOwn> + button 7 140 4005 4007 1 0 9 //View House Co-Owners + button 7 240 4005 4007 1 0 11 //View House Friends + endif + dhtmlgump 44 143 180 20 0 0 _ViewCoOwn> + dhtmlgump 44 163 180 20 0 0 _AddCoOwn> + dhtmlgump 44 183 180 20 0 0 _RemCoOwn> + dhtmlgump 44 203 180 20 0 0 _ClrCoOwn> endif if (>) || (> >= 0) || () - button 7 240 4005 4007 1 0 11 - dhtmlgump 44 243 120 20 0 0 View House Friends - button 7 260 4005 4007 1 0 19 - dhtmlgump 44 263 120 20 0 0 Add a Friend - button 7 280 4005 4007 0 18 0 - dhtmlgump 44 283 120 20 0 0 Remove a Friend - button 7 300 4005 4007 1 0 20 - dhtmlgump 44 303 120 20 0 0 Clear Friends List + dhtmlgump 44 243 180 20 0 0 _ViewFriend> + button 7 240 4005 4007 1 0 11 + + dhtmlgump 44 263 180 20 0 0 _AddFriend> + button 7 260 4005 4007 1 0 19 + + dhtmlgump 44 283 180 20 0 0 _RemFriend> + button 7 280 4005 4007 0 18 0 + + dhtmlgump 44 303 180 20 0 0 _ClrFriend> + button 7 300 4005 4007 1 0 20 else - dhtmlgump 44 263 120 20 0 0 Add a Friend - dhtmlgump 44 243 120 20 0 0 View House Friends - dhtmlgump 44 283 120 20 0 0 Remove a Friend - dhtmlgump 44 303 120 20 0 0 Clear Friends List + dhtmlgump 44 263 180 20 0 0 _AddFriend> + dhtmlgump 44 243 180 20 0 0 _ViewFriend> + dhtmlgump 44 283 180 20 0 0 _RemFriend> + dhtmlgump 44 303 180 20 0 0 _ClrFriend> endif -if == - button 7 340 4005 4007 1 0 12 - dhtmlgump 44 343 120 20 0 0 View Access List - if (>) || (> >= 0) || (> >= 0) || () - button 7 360 4005 4007 1 0 21 - dhtmlgump 44 363 120 20 0 0 Clear Access List - else - dhtmlgump 44 363 120 20 0 0 Clear Access List - endif +if ( == ) + button 7 340 4005 4007 1 0 12 + dhtmlgump 44 343 180 20 0 0 _ViewAccess> + if (>) || (> >= 0) || (> >= 0) || () + button 7 360 4005 4007 1 0 21 + dhtmlgump 44 363 180 20 0 0 _ClrAccess> + else + dhtmlgump 44 363 180 20 0 0 _ClrAccess> + endif else - button 7 340 4005 4007 1 0 13 - dhtmlgump 44 343 120 20 0 0 View Ban List - if (>) || (> >= 0) || (> >= 0) || () - button 7 360 4005 4007 1 0 22 - dhtmlgump 44 363 180 20 0 0 Clear Ban List - else - dhtmlgump 44 363 180 20 0 0 Clear Ban List - endif + button 7 340 4005 4007 1 0 13 + dhtmlgump 44 343 180 20 0 0 _ViewBanList> + if (>) || (> >= 0) || (> >= 0) || () + button 7 360 4005 4007 1 0 22 + dhtmlgump 44 363 180 20 0 0 _ClrBanList> + else + dhtmlgump 44 363 180 20 0 0 _ClrBanList> + endif endif if (>) || () - dhtmlgump 237 183 180 20 0 0 ==)? Remove Guild Declaration:Declare Guildhouse> - button 200 180 4005 4007 1 0 50 - button 200 140 4005 4007 1 0 23 //private-public - button 200 200 4005 4007 1 0 26 - dhtmlgump 237 203 180 20 0 0 Recode Doors, Boxes - dhtmlgump 237 223 120 20 0 0 or Telepads - dhtmlgump 237 143 180 20 0 0 Change to == )? Public:Private> - // dhtmlgump 237 143 180 20 0 0 Change to == )? Public:Private> + dhtmlgump 237 143 180 20 0 0 _ChangeTo> == )?"_Public>":"_Private>"> + // dhtmlgump 237 143 180 20 0 0 _ChangeTo> == )?"_Public>":"_Private>"> + button 200 140 4005 4007 1 0 23 //private-public + + dhtmlgump 237 183 180 20 0 0 ==)? _RemGldhouse>:_SetGldhouse>> + button 200 180 4005 4007 1 0 50 //guild declaration + + dhtmlgump 237 203 180 20 0 0 _RecodeDoor> + dhtmlgump 237 223 120 20 0 0 _OrTelepads> + button 200 200 4005 4007 1 0 26 //recode doors else - dhtmlgump 237 183 180 20 0 0 ==)?Remove Guild Declaration:Declare Guildhouse> - dhtmlgump 237 223 120 20 0 0 Recode Doors - dhtmlgump 237 253 180 20 0 0 Change to == )?Public:Private> + dhtmlgump 237 143 180 20 0 0 _ChangeTo> == )?"_Public>":"_Private>"> + dhtmlgump 237 183 180 20 0 0 ==)?_RemGldhouse>:_SetGldhouse>> + dhtmlgump 237 203 180 20 0 0 _RecodeDoor> + dhtmlgump 237 223 120 20 0 0 _OrTelepads> endif page 3 button 150 48 4006 4006 0 3 0 -dhtmlgump 190 51 100 20 0 0 STORAGE -dhtmlgump 88 125 220 20 0 0 House Storage Summary +dhtmlgump 190 51 120 20 0 0 //STORAGE +dhtmlgump 18 125 360 20 0 0 _StorageSumm> + +local.storIncr = _StorageIncr> +local.storBuy = _StorageBuy> if && - if (>) || () - dhtmlgump 11 160 120 20 0 0 Increased Storage - dhtmlgump 200 160 120 20 0 0 % - if < 100 - button 7 357 4005 4007 0 11 0 - dhtmlgump 44 360 120 20 0 0 Buy Storage - endif - else - dhtmlgump 11 160 120 20 0 0 Increased Storage - dhtmlgump 200 160 120 20 0 0 % - if < 100 - dhtmlgump 44 360 120 20 0 0 Buy Storage - endif - endif + if (>) || () + dhtmlgump 11 160 250 20 0 0 + dhtmlgump 290 160 120 20 0 0 % + if ( < 100) + dhtmlgump 44 380 250 20 0 0 + button 7 377 4005 4007 0 11 0 + endif + else + dhtmlgump 11 160 250 20 0 0 + dhtmlgump 290 160 120 20 0 0 % + if ( < 100) + dhtmlgump 44 380 250 20 0 0 + endif + endif endif -dhtmlgump 11 180 140 20 0 0 Maximum Storage -dhtmlgump 200 180 140 20 0 0 )?Unlimited:> -dhtmlgump 11 200 140 20 0 0 Used by Moving Crate -dhtmlgump 200 200 140 20 0 0 )?Unlimited:)?.count>:0>> -dhtmlgump 11 220 140 20 0 0 Used by Lockdowns -dhtmlgump 200 220 140 20 0 0 )?Unlimited:> -dhtmlgump 11 240 140 20 0 0 Used by Secure Storage -dhtmlgump 200 240 140 20 0 0 )?Unlimited:> -dhtmlgump 11 260 140 20 0 0 Available Storage -dhtmlgump 200 260 140 20 0 0 )?Unlimited:-(+))>> -dhtmlgump 11 290 140 20 0 0 Maximum Lockdowns -dhtmlgump 200 290 140 20 0 0 )?Unlimited:> -dhtmlgump 11 310 140 20 0 0 Available Lockdowns -dhtmlgump 200 310 140 20 0 0 )?Unlimited:-)>> -dhtmlgump 11 330 140 20 0 0 Vendors -dhtmlgump 200 330 140 20 0 0 / + +local.unlim = _Unlimited> +// dorigin 11 200 +dorigin 11 160 + +dhtmlgump 11 *20 250 20 0 0 _StorageMax> +dhtmlgump 290 - 140 20 0 0 )?:> + +dhtmlgump 11 *20 250 20 0 0 _UseMoveCont> //my line +dhtmlgump 290 - 140 20 0 0 )?:)?.count>:0>> //my line + +// dhtmlgump 11 *20 250 20 0 0 _StorageMax> //my line +// dhtmlgump 290 - 140 20 0 0 )?:-(+))> / > //my line + +dhtmlgump 11 *20 250 20 0 0 _LockdownUse> +dhtmlgump 290 - 140 20 0 0 )?:> + +dhtmlgump 11 *20 250 20 0 0 _SecureUse> +dhtmlgump 290 - 140 20 0 0 )?:> + +dhtmlgump 11 *20 250 20 0 0 _StorageAvb> +dhtmlgump 290 - 140 20 0 0 )?:-(+))>> + +dhtmlgump 11 *30 250 20 0 0 _LockdownMax> +dhtmlgump 290 - 140 20 0 0 )?:> + +// dhtmlgump 11 *20 250 20 0 0 _LockdownMax> //my line +// dhtmlgump 290 - 150 20 0 0 )?:-)> / > //my line + +dhtmlgump 11 *20 250 20 0 0 _LockdownAvb> +dhtmlgump 290 - 140 20 0 0 )?:-)>> + +// if ( == t_multi_custom) //my line + // dhtmlgump 11 *35 250 20 0 0 _UseMoveCont> //my line + // dhtmlgump 290 - 140 20 0 0 )?:)?.count>:0>> //my line +// endif //my line + +dhtmlgump 11 *20 250 20 0 0 _Vendors> +dhtmlgump 290 - 140 20 0 0 / page 4 button 150 68 4006 4006 0 4 0 -dhtmlgump 190 71 100 20 0 0 CUSTOMIZE +dhtmlgump 190 71 120 20 0 0 //CUSTOMIZE + + +local.txt_ConvCustom = _ConvCustomize> +local.txt_Customize = _CustomizeH> +local.txt_reloc = _RelMoveCrate> +local.txt_signID = _CngSignID> +local.txt_signClr = _CngSignCol> +local.txt_signHng = _CngSignHng> +local.txt_signPst = _CngSignPst> +local.txt_Foundat = _CngFoundat> +local.txt_Rename = _RenameHouse> if (>) || () - if (==t_multi_custom) - dhtmlgump 44 143 240 20 0 0 Convert into Customizable House - button 7 160 4005 4007 1 0 35 - dhtmlgump 44 163 240 20 0 0 Customize This House - else - if (==m_small_stone_keep) || (==m_castle) || (==m_two_story_wood_and_plaster_house) || (=m_two_story_stone_and_plaster_house) - dhtmlgump 44 143 240 20 0 0 Convert Into Customizable House - dhtmlgump 44 163 240 20 0 0 Customize This House - else - if - button 7 140 4005 4007 1 0 53 - dhtmlgump 44 143 240 20 0 0 Convert Into Customizable House - else - dhtmlgump 44 143 240 20 0 0 Convert Into Customizable House - endif - dhtmlgump 44 163 240 20 0 0 Customize This House - endif - endif - - if - ref1= - if && (>) || () - button 7 180 4005 4007 1 0 57 - dhtmlgump 44 183 150 20 0 0 Relocate Moving Crate - else - dhtmlgump 44 183 180 20 0 0 Relocate Moving Crate - endif - endif - - - button 7 220 4005 4007 0 14 0 - dhtmlgump 44 223 120 20 0 0 Change House Sign - if - button 7 240 4005 4007 0 15 0 - dhtmlgump 44 243 180 20 0 0 Change House Sign Color - endif - - if (==t_multi_custom) - button 7 260 4005 4007 0 12 0 - endif - if (==t_multi_custom) - button 7 280 4005 4007 1 0 36 - endif - dhtmlgump 44 263 160 20 0 0 ==t_multi_custom)?Change House Sign Hanger:Change House Sign Hanger> - dhtmlgump 44 283 120 20 0 0 ==t_multi_custom)?Change Signpost:Change Signpost> + if ( == t_multi_custom) + dhtmlgump 44 143 360 20 0 0 + + dhtmlgump 44 163 270 20 0 0 + button 7 160 4005 4007 1 0 35 + else + if (==m_small_stone_keep) || (==m_castle) || (==m_two_story_wood_and_plaster_house) || (=m_two_story_stone_and_plaster_house) + dhtmlgump 44 143 360 20 0 0 + dhtmlgump 44 163 270 20 0 0 + else + if + dhtmlgump 44 143 360 20 0 0 + button 7 140 4005 4007 1 0 53 + else + dhtmlgump 44 143 360 20 0 0 + endif + dhtmlgump 44 163 270 20 0 0 + endif + endif + + if + ref11 = + if () && (>) || () + dhtmlgump 44 183 270 20 0 0 + button 7 180 4005 4007 1 0 57 + else + dhtmlgump 44 183 270 20 0 0 + endif + else + dhtmlgump 44 183 270 20 0 0 + endif + + dhtmlgump 44 223 270 20 0 0 + button 7 220 4005 4007 0 14 0 + + if + button 7 240 4005 4007 0 15 0 + dhtmlgump 44 243 270 20 0 0 + else + dhtmlgump 44 243 270 20 0 0 + endif + + if ( == t_multi_custom) && () + button 7 260 4005 4007 0 12 0 + local.change_signhanger = 1 + endif + if ( == t_multi_custom) && () + button 7 280 4005 4007 1 0 36 + local.change_signpost = 1 + endif + if () && () + dhtmlgump 44 263 270 20 0 0 )?:> + else + dhtmlgump 44 263 270 20 0 0 + endif + if () && () + dhtmlgump 44 283 270 20 0 0 )?:> + else + dhtmlgump 44 283 270 20 0 0 + endif else - dhtmlgump 44 143 180 20 0 0 Convert Into Customizable House - dhtmlgump 44 163 180 20 0 0 Customize This House - dhtmlgump 44 163 180 20 0 0 Relocate Moving Crate - dhtmlgump 44 223 180 20 0 0 Change House Sign - dhtmlgump 44 243 180 20 0 0 Change Sign Color - dhtmlgump 44 263 180 20 0 0 Change House Sign Hanger - dhtmlgump 44 283 120 20 0 0 Change Signpost - dhtmlgump 44 313 160 20 0 0 Change Foundation Style - dhtmlgump 44 363 120 20 0 0 Rename House + dhtmlgump 44 143 300 20 0 0 + dhtmlgump 44 163 270 20 0 0 + dhtmlgump 44 183 270 20 0 0 + dhtmlgump 44 223 270 20 0 0 + dhtmlgump 44 243 270 20 0 0 + dhtmlgump 44 263 270 20 0 0 + dhtmlgump 44 283 270 20 0 0 + dhtmlgump 44 313 270 20 0 0 + dhtmlgump 44 363 270 20 0 0 +endif + +if () + button 7 310 4005 4007 1 0 58 + dhtmlgump 44 313 270 20 0 0 endif -//button 7 310 4005 4007 1 0 57 -dhtmlgump 44 313 120 20 0 0 Change Foundation Style + if (>) || (> >= 0) || () - button 7 360 4005 4007 1 0 24 - dhtmlgump 44 363 120 20 0 0 Rename House + button 7 360 4005 4007 1 0 24 + dhtmlgump 44 363 270 20 0 0 +else + dhtmlgump 44 363 270 20 0 0 endif page 5 button 150 88 4006 4006 0 5 0 -dhtmlgump 190 91 100 20 0 0 OWNERSHIP +dhtmlgump 190 91 120 20 0 0 //OWNERSHIP if && - if (>) || (> >= 0) || (> >= 0) || () - button 7 140 4005 4007 0 16 0 - dhtmlgump 44 143 150 20 0 0 Pay Property Tax - endif + if (>) || (> >= 0) || (> >= 0) || () + button 7 140 4005 4007 0 16 0 + dhtmlgump 44 143 270 20 0 0 _PayTax> + endif endif if (>) || () - button 7 160 4005 4007 1 0 27 - dhtmlgump 44 163 150 20 0 0 Trade House - if - button 7 180 4005 4007 0 10 0 - dhtmlgump 44 183 220 20 0 0 )? Take this house off the market:Put this house up for sale> - endif - button 7 200 4005 4007 1 0 28 - dhtmlgump 44 203 150 20 0 0 House Removal + button 7 160 4005 4007 1 0 27 + dhtmlgump 44 163 270 20 0 0 _TradeHouse> + if + dhtmlgump 44 183 270 20 0 0 )? _TakeOffSale>:_PutForSale>> + button 7 180 4005 4007 0 10 0 + endif + button 7 200 4005 4007 1 0 28 + dhtmlgump 44 203 270 20 0 0 _HouseRemoval> else - dhtmlgump 44 163 180 20 0 0 Trade House - dhtmlgump 44 183 180 20 0 0 Put this house up for sale - dhtmlgump 44 183 180 20 0 0 House Removal + dhtmlgump 44 163 270 20 0 0 _TradeHouse> + dhtmlgump 44 183 270 20 0 0 _PutForSale> + dhtmlgump 44 183 270 20 0 0 _HouseRemoval> endif if () - dhtmlgump 88 240 220 20 0 0 Administrative Options - button 7 270 4005 4007 1 0 ==1>? 88:87> - dhtmlgump 44 273 260 20 0 0 ==1>?Allow decay on this property:Make this property exempt from decay> - if !() - dhtmlgump 46 304 318 20 0 0 Schedule this property for demolition - dhtmlgump 46 320 318 20 0 0 Number of days until demolition (between 7 & 30) - gumppictiled 196 352 30 20 2624 - dtextentrylimited 200 353 32 20 55 1 2 7 - dhtmlgump 230 353 120 20 0 0 days - endif - dhtmlgump 44 353 220 20 0 0 )? Cancel scheduled demolition:Demolish this propery in> - button 7 350 4023 4025 1 0 75 + dhtmlgump 18 240 360 20 0 0 _AdmOptions> + + dhtmlgump 44 273 320 20 0 0 ==1>?_SetDecay>:_SetEternal>> + button 7 270 4005 4007 1 0 ==1>? 88:87> + + if !() + dhtmlgump 46 304 318 20 0 0 _SchedDemol> + dhtmlgump 46 320 318 20 0 0 _NumDayDemol> + gumppictiled 196 352 30 20 2624 + dtextentrylimited 200 353 32 20 55 1 2 7 + dhtmlgump 235 353 120 20 0 0 _DemolitDays> + endif + dhtmlgump 44 353 270 20 0 0 )? _CancelDemol>:_StartDemol>> + button 7 350 4023 4025 1 0 75 endif page 6 -if (== ) - f_house_render_list Access,1 +if ( == ) + f_house_render_list Access,1 else - f_house_render_list Ban,1 + f_house_render_list Ban,1 endif page 7 @@ -370,179 +482,191 @@ page 8 f_house_render_list Friend page 10 -dhtmlgump 38 134 316 100 0 0 Sell This House -if ! - gumppic 124 169 2501 - dtextentrylimited 165 170 100 20 1152 0 10 ++> - dhtmlgump 40 230 316 100 0 0 Please ensure that your house is empty before you put it on the market. All lists will be wiped and all doors will be unlocked. Your house will be open to viewing, however you will retain control over it, until it is bought. - dhtmlgump 40 196 316 20 0 0 Enter your asking price - dhtmlgump 108 343 220 20 0 0 Put this house on the market +dhtmlgump 38 134 316 100 0 0 _SellHouse> +if ! + gumppic 124 169 2501 + local.price = +)+)> + if strlen() == 5 + endif + dtextentrylimited 155 170 100 20 1152 0 10 + dhtmlgump 40 230 316 130 0 0 _RemoveEnsure> + dhtmlgump 40 196 316 20 0 0 _AskPrice> + dhtmlgump 108 363 220 20 0 0 _PutForSale> else - dhtmlgump 40 196 316 20 0 0 This house is currently for sale for gp - dhtmlgump 108 343 220 20 0 0 Take my house off the market + dhtmlgump 18 196 366 46 0 0 _CurForSale>_ToAdd> gp + dhtmlgump 108 363 220 20 0 0 _TakeOffSale> endif -button 72 340 4023 4025 1 0 30 +button 72 360 4023 4025 1 0 30 page 11 -dhtmlgump 38 130 320 20 0 0 Increase Storage -dhtmlgump 38 158 320 100 0 0 You may buy up to a 100% increase in storage space. The value listed for this property will be adjusted to reflect your investment. The price for a 100% upgrade should not cost more than 50% of the property price, however you buy it. -dhtmlgump 38 254 320 40 0 0 The value of purchased storage will be refunded to your bankbox upon redeeding. -if ! - button 94 360 4023 4025 1 0 34 - dhtmlgump 130 363 180 20 0 0 Add 100% for )? /2>:/2>> gp +dhtmlgump 18 130 360 20 0 0 _IncreaseStor> + +dhtmlgump 38 158 320 100 0 0 _IncrStorInf> +dhtmlgump 38 254 320 40 0 0 _IncrStorInf2> + +local.IncAdd = _IncrStorAdd> +local.IncFor = _IncrStorFor> +dorigin 84 283 +if ( < 76) + dhtmlgump +36 *20 180 20 0 0 25% )? /8)>:/8)>> gp + button - 300 4023 4025 1 0 31 else - dhtmlgump 130 363 120 20 0 0 Add 100% + dhtmlgump +36 *20 120 20 0 0 25% endif -if ( < 26) - button 94 340 4023 4025 1 0 33 - dhtmlgump 130 343 180 20 0 0 Add 75% for )? /8)*3)>:/8)*3)>> gp +if ( < 51) + dhtmlgump +36 *20 180 20 0 0 50% )? /4>:/4>> gp + button - 320 4023 4025 1 0 32 else - dhtmlgump 130 343 120 20 0 0 Add 75% + dhtmlgump +36 *20 120 20 0 0 50% endif -if ( < 51) - button 94 320 4023 4025 1 0 32 - dhtmlgump 130 323 180 20 0 0 Add 50% for )? /4>:/4>> gp +if ( < 26) + dhtmlgump +36 *20 180 20 0 0 75% )? /8)*3)>:/8)*3)>> gp + button - 340 4023 4025 1 0 33 else - dhtmlgump 130 323 120 20 0 0 Add 50% + dhtmlgump +36 *20 120 20 0 0 75% endif -if ( < 76) - button 94 300 4023 4025 1 0 31 - dhtmlgump 130 303 180 20 0 0 Add 25% for )? /8)>:/8)>> gp +if ! + dhtmlgump +36 *20 180 20 0 0 100% )? /2>:/2>> gp + button - 360 4023 4025 1 0 34 else - dhtmlgump 130 303 120 20 0 0 Add 25% + dhtmlgump +36 *20 120 20 0 0 100% endif page 12 -local.number -if (/2>*2>==) - button 30 180 4005 4007 1 0 12968 - tilepic 70 180 2968 - button 150 180 4005 4007 1 0 12970 - tilepic 190 180 2970 - button 280 180 4005 4007 1 0 12972 - tilepic 320 180 2972 - button 30 280 4005 4007 1 0 12974 - tilepic 70 280 2974 - button 150 280 4005 4007 1 0 12976 - tilepic 190 280 2976 - button 280 280 4005 4007 1 0 12978 - tilepic 320 280 2978 +local.number +if (/2>*2)>==) + button 30 180 4005 4007 1 0 12968 + tilepic 70 180 2968 + button 150 180 4005 4007 1 0 12970 + tilepic 190 180 2970 + button 280 180 4005 4007 1 0 12972 + tilepic 320 180 2972 + button 30 280 4005 4007 1 0 12974 + tilepic 70 280 2974 + button 150 280 4005 4007 1 0 12976 + tilepic 190 280 2976 + button 280 280 4005 4007 1 0 12978 + tilepic 320 280 2978 else - button 30 180 4005 4007 1 0 12967 - tilepic 70 180 2967 - button 150 180 4005 4007 1 0 12969 - tilepic 190 180 2969 - button 280 180 4005 4007 1 0 12971 - tilepic 320 180 2971 - button 30 280 4005 4007 1 0 12973 - tilepic 70 280 2973 - button 150 280 4005 4007 1 0 12975 - tilepic 190 280 2975 - button 280 280 4005 4007 1 0 12977 - tilepic 320 280 2977 + button 30 180 4005 4007 1 0 12967 + tilepic 70 180 2967 + button 150 180 4005 4007 1 0 12969 + tilepic 190 180 2969 + button 280 180 4005 4007 1 0 12971 + tilepic 320 180 2971 + button 30 280 4005 4007 1 0 12973 + tilepic 70 280 2973 + button 150 280 4005 4007 1 0 12975 + tilepic 190 280 2975 + button 280 280 4005 4007 1 0 12977 + tilepic 320 280 2977 endif page 14 -//sign change -f_house_render_signs +//sign change //ref1 - sign +call f_house_render_signs page 15 -//sign color +//sign color //ref1 - sign dhtmlgump 88 125 220 20 0 0 Sign Color -button 300 250 4017 4019 1 0 86 + dhtmlgump 337 253 100 20 0 0 Reset -local.x=40 -local.y=190 +button 300 250 4017 4019 1 0 86 + +local.x = 40 +local.y = 190 for 1 30 -if ( > 351) - local.y=190 - local.x += 50 -endif -buttontileart 07588 07588 1 0 +5000> > -10 -5 -local.y += 30 + if ( > 351) + local.y = 190 + local.x += 50 + endif + buttontileart 07588 07588 1 0 + 5000)> > -10 -5 + local.y += 30 endfor page 16 //Property tax -ref2= -if !(strmatch(*Britannic Realtors*,)) - if - dhtmlgump 310 130 120 20 0 0 Houses - endif +ref2 = +if !(strmatch(*Britannic Realtors*,)) + if + dhtmlgump 250 130 120 20 0 0 _Houses> _ToQTS> + endif endif if (!) - if (==1) - dhtmlgump 20 180 180 20 0 0 This property has been made exempt from decay. - dhtmlgump 20 200 180 20 0 0 As such you have no Property Tax to pay. - dhtmlgump 20 220 180 20 0 0 This exemption is reflected on the main page of this menu. - dhtmlgump 20 260 180 20 0 0 If this house is put for sale or moved the exemption will be lost. - else - local.daysleft /60)/60)/24)> - local.days -)> - local.value ++)> - if - if - if ( > ) - dhtmlgump 100 210 240 20 0 0 Estate Tax applies for -> house(s) - dhtmlgump 180 280 240 20 0 0 PLUS - if (==1) - dhtmlgump 24 300 350 20 0 0 Additional ?:>% of house value (flat rate) - if - local.rate=*2> - local.maint=,,100> - else - local.rate=+> - local.maint=,,100> - endif - elif (==2) - dhtmlgump 24 300 350 20 0 0 Additional ?:>% house value - dhtmlgump 24 320 350 20 0 0 for each house over standard allowance ( - >) - local.overage= -> - if - local.rate=*> - local.rate =+> - local.maint=,,100> - else - local.rate=*> - local.rate +def.hs_property_tax>> - local.maint=,,100> - endif - endif - else - if - local.maint=,,100> - else - local.maint=,,100> - endif - endif - endif - else - if - local.maint=,,100> - else - local.maint=,,100> - endif - endif - local.maintenance= /30> - local.maintpay = *)> - dhtmlgump 24 160 350 20 0 0 Reset your house's decay timer to days - dhtmlgump 24 180 350 20 0 0 Property Tax may be paid whenever any is due. - dhtmlgump 24 240 350 20 0 0 The price of your Property Tax per days - dhtmlgump 24 260 350 20 0 0 is ? :>% of ? house value [ rate]:House Value ().> - - if < (-1)> - if && - button 90 340 4005 4007 1 0 85 - dhtmlgump 125 343 180 20 0 0 Pay gp to add days - endif - else - dhtmlgump 24 343 350 20 0 0 No Property Tax is due on this building. - endif - endif + if ( == 1) + dhtmlgump 20 180 360 20 0 0 _PropExempt> + dhtmlgump 20 200 360 20 0 0 _PropNoTax> + dhtmlgump 20 220 360 20 0 0 _PropRefl> + dhtmlgump 20 260 360 20 0 0 _PropLost> + else + local.daysleft = /60)/60)/24)> + local.days = -)> + local.value = +)+)> + if + if + local.houses = + if ( > ) + dhtmlgump 18 210 360 20 0 0 _EstateTax> -)> _House-s> + dhtmlgump 180 280 240 20 0 0 _PLUS> + if ( == 1) + dhtmlgump 18 300 370 34 0 0 _Addit> ?:>% _FlatRate> + if + local.rate = *2)> + local.maint = ,,100> + else + local.rate = +> + local.maint = ,,100> + endif + elseif ( == 2) + dhtmlgump 24 300 350 34 0 0 _Addit> ?:>% _HouseVal2> + dhtmlgump 24 320 350 20 0 0 _UpStdAllow> [ - )>] _ToQTS> + local.overage = -)> + if + local.rate = *)> + local.rate = +)> + local.maint = ,,100> + else + local.rate = *)> + local.rate = +)> + local.maint = ,,100> + endif + endif + else + if + local.maint = ,,100> + else + local.maint = ,,100> + endif + endif + endif + else + if + local.maint = ,,100> + else + local.maint = ,,100> + endif + endif + local.maintenance = /30)> + local.maintpay = *)> + dhtmlgump 18 160 370 20 0 0 _ResetDec> _DemolitDays>. + dhtmlgump 18 180 370 20 0 0 _TaxIsDue> + dhtmlgump 18 240 370 20 0 0 _TaxPrice> _DemolitDays> + // dhtmlgump 18 260 370 20 0 0 _TaxIs> ? :>% _TaxOf> ? _HouseVal> [ rate]:_HouseVal> ().> + dhtmlgump 18 260 370 20 0 0 _TaxIs> ? :>% _TaxOf> ? _HouseVal> [_TaxRegRate>]:_HouseVal> ().> + + if ( < -1)>) + if && + dhtmlgump 44 363 370 20 0 0 _Pay> gp _ToAdd> _DemolitDays> + button 7 360 4005 4007 1 0 85 + endif + else + dhtmlgump 24 363 350 20 0 0 _NoPropTax> + endif + endif else - dhtmlgump 140 230 180 20 0 0 Staff Override - dhtmlgump 140 343 180 20 0 0 Reset decay timer to days - button 100 340 4005 4007 1 0 85 + dhtmlgump 18 240 360 20 0 0 _StaffOver> + dhtmlgump 44 343 360 20 0 0 _ResDecTmr> _DemolitDays> + button 7 340 4005 4007 1 0 85 endif page 17 @@ -551,780 +675,997 @@ f_house_render_list Coowner,1 page 18 f_house_render_list Friend,1 - [DIALOG d_house_menu button] -ON=0 88 - if (==6) - src.ctag0.list=access - sdialog d_house_menu 6 - elif (==9) - src.ctag0.list=coowner - sdialog d_house_menu 7 - elif (==11) - src.ctag0.list=friend - sdialog d_house_menu 8 - elif (==12) - src.ctag.list=access - sdialog d_house_menu 6 - elif (==13) - src.ctag0.list=ban - sdialog d_house_menu 6 - elif (==14) //grant access - targetf f_house_add_list 4 - elif (==15)//ban - targetf f_house_add_list 3 - elif (==16) //remove coowner - src.ctag0.list=coowner - sdialog d_house_menu 17 - elif (==17) //add coowner - targetf f_house_add_list 1 - elif (==18) //clear coowner - src.ctag0.list=coowner - sdialog d_house_list_clear - elif (==19) //add friend - targetf f_house_add_list 2 - elif (==20) //clear friend - src.ctag0.list=friend - sdialog d_house_list_clear - elif (==21) //clear access - src.ctag0.list=access - sdialog d_house_list_clear - elif (==22) //clear bans - src.ctag0.list=ban - sdialog d_house_list_clear - elif (==23) //private/public toggle - if (==) - housetype= - resendtooltip - if - if - delaccess -1 - endif - endif - src.sysmessage @,,1 This property is now to the public (shop setting), only those on the banned list may not enter. - src.sysmessage @,,1 You should recode any doors you do not wish the general public to be able to open. - else - housetype= - ref1.resendtooltip - if - if - delban -1 - endif - endif - src.sysmessage @,,1 This propery is now private & may only be accessed by co-owners/friends & those on the access list - endif - sdialog d_house_menu - elif (==24)//rename house - dialog d_house_rename - //elif (==25) // -------------------------- reserved change sign page - elif (==26)//recode doors - src.targetf f_d_house_secure - return 1 - elif (==27)//transfer ownership - if () - src.sysmessage @32,,1 This house is scheduled for demolition and cannot be traded. - return 1 - endif - SRC.TARGETF f_house_transfer - src.sysmessage @,,1 To whom do you wish to transfer full ownership of this property? - return 1 - elif (==28)//demolish - sdialog d_house_demolish - return 1 - elif (==29)// eject - targetf f_house_eject - return 1 - elif (==30)// price/take off market - if () - src.sysmessage @32,,1 This house is scheduled for demolition and cannot be sold. - return 1 - endif - if () - region.tag0.forsale= - tag0.price= - src.sysmessage @,,1 You have taken this house off the market - src.sysmessage @,,1 Don't forget to reset the house settings to your preferences. - resendtooltip - return 1 - else - if () || () - src.sysmessage @,,1 You still have lockdowns/secure containers within the house. - return 1 - else - if (>) && (> > 0) - tag0.price= - region.tag0.forsale=1 - f_house_open - tag0.private= - delfriend -1 - delcoowner -1 - delaccess -1 - delban -1 - src.sysmessage @,,1 Your house is now on the market for gp - if () - tag0.decay_exempt= - link.attr |= 02 - endif - resendtooltip - return 1 - else - src.sysmessage @32,,1 Only positive numeric values are valid. - return 1 - endif - endif - endif - elif (==31) // add 25% storage - local.value=)? /8)>:8)>> - f_house_hs_buy_storage - return 1 - elif (==32) //add 50% storage - local.value=)? /4>:/4>> - f_house_hs_buy_storage - return 1 - elif (==33) // add 75% storage - local.value=)? /8)*3)>:/8)*3)>> - f_house_hs_buy_storage - return 1 - elif (==34) //add 100% storage - local.value=)? /2>:/2>> - f_house_hs_buy_storage - return 1 - elif (==35) //custom builder - if () - src.sysmessage @32,,1 This house is scheduled for demolition and cannot be customized. - return 1 - endif - if ( != ) - return 2 - elif () - src.sysmessage @32,,1 You are already designing == )? this:another> building. - return 1 - elif !() - src.events +e_house_customize - endif - customize - return 1 - elif (==36) //sign post menu - link.dialog d_house_sign_post - return 1 - elif (==50) //guild declaration FIX ME - if (==) - ref1.tag0.is_guild= - resendtooltip - src.sysmessage @,,1 This building is no longer a guildhouse. - return 1 - else - src.targetf f_house_declare_guild - src.sysmessage @,,1 Target your guildstone - return 1 - endif - elif (==53)// convert - if () - src.sysmessage @32,,1 This house is scheduled for demolition and cannot be converted. - return 1 - endif - f_house_swap - //elif (==54) // ------------------------------------ unused - elif (==55) //admin, value and market - dialog d_house_static_pricing - return 1 - elif (==57) // relocate moving crate - if - ref1 = - ref1.p = - ref1.attr &= ~attr_invis - src.update - src.events +e_moving_crate - endif - elif (==58) //change foundation style - - elif (==59) //create/remove hanger - - elif (==75) //schedule demolition GM only - if !() - if () - region.tag.forsale= - tag.price= - src.sysmessage @,,1 Property has been removed from housing market. - endif - if (>) - if (> < 31) - if (> > 6) - tag0.demolition=> - link.timer=60*60*24*> - src.sysmessage @,,1 You have scheduled this house to be demolished in > days. - resendtooltip - return 1 - else - src.sysmessage @,,1 The minimum notice period before demolition can occur is 7 days. - return 1 - endif - else - src.sysmessage @,,1 Demolition must occur within 30 days - return 1 - endif - else - src.sysmessage @32,,1 Invalid entry, days must be numeric & < 30 - return 1 - endif - else - tag.demolition= - resendtooltip - src.sysmessage @,,1 The scheduled demolition has been cancelled. - endif - // 83 = sign colorizer - // 84 = property tax - elif (==85) - - local.daysleft /60)/60)/24)> - local.days -)> - local.value +++)> - ref2= - if ! - if - if - if ( > ) - if (==1) - if - local.rate=*2> - local.maintenance=,,100> - else - local.rate=+> - local.maintenance=,,100> - endif - elif (==2) - local.overage= -> - if - local.rate=*> - local.rate =+> - local.maintenance=,,100> - else - local.rate=*> - local.rate +def.hs_property_tax>> - local.maintenance=,,100> - endif - endif - else - if - local.maintenance=,,100> - else - local.maintenance=,,100> - endif - endif - else - if - local.maintenance=,,100> - else - local.maintenance=,,100> - endif - endif - else - if - local.maintenance=,,100> - else - local.maintenance=,,100> - endif - endif - local.maintenance= /30> - local.maintpay = *)> - if (/60)/60)/24)> < ) - if ( >= ) - src.gold -= - link.timer += -1)*60)*60)*24)> - src.sysmessage @,,1 gp has been paid to cover days. - src.sysmessage @,,1 Your property tax is now paid for the next days. - else - src.sysmessage @32,,1 You lack the funds to pay the property tax - return 1 - endif - else - src.sysmessage @32,,1 You cannot pay more property tax yet - return 1 - endif - else - link.timer=*24) *60) *60)> - ref1= - serv.log used staff refresh override on a house owned by (account: ) - src.sysmessage @,,1 Property refreshed. - endif - - elif (==86) - link.color=00 - dialog d_house_menu 15 - return 1 - elif (==87) //exempt - tag0.decay_exempt = 1 - link.attr &~ 02 - elif (==88) //normal - tag.decay_exempt= - link.attr |= 02 - link.timer=60*60*24* - endif - -ON=100 299 // rmv person from (x) list - local.list - local.button -100> - if <))?es:s>> - if (<..uid>==) - ref1= - src.sysmessage @,,1 You have removed yourself from the list. - else - ref1=<..uid> - src.sysmessage @,,1 <..name> has been removed from the list. - endif - if (== && ==) - ref1.go - ref1.sysmessage @32,,1 This is private property, you no longer have permission to enter. - endif - if (<))?es:s>> < 2 ) - del -1 - else - del <..uid> - endif - endif - -ON=2965 3140 // sign dispid - link.dispid=> - link.update - return 1 - -ON=12967 12978 // sign hanger - for 0 -1> - if (.comp.2> == ) - ref1=.comp.0> - endif - endfor - ref1.dispid=-10000> - ref1.update - -ON=5000 9000 // sign coloring - link.color=-5000>> - dialog d_house_menu 15 - return 1 +ONBUTTON=0,88 + ref1 = //sign + ref2 = //house + ref3 = //owner + ref4 = + + if ( == 6) + src.ctag0.list = access + sdialog d_house_menu 6 + elseif ( == 9) + src.ctag0.list = coowner + sdialog d_house_menu 7 + elseif ( == 11) + src.ctag0.list = friend + sdialog d_house_menu 8 + elseif ( == 12) + src.ctag0.list = access + sdialog d_house_menu 6 + elseif ( == 13) + src.ctag0.list = ban + sdialog d_house_menu 6 + elseif ( == 14) //grant access + targetf, f_house_add_list 4 + elseif ( == 15)//ban + targetf, f_house_add_list 3 + elseif ( == 16) //remove coowner + src.ctag0.list = coowner + sdialog d_house_menu 17 + elseif ( == 17) //add coowner + targetf, f_house_add_list 1 + elseif ( == 18) //clear coowner + src.ctag0.list = coowner + sdialog d_house_list_clear + elseif ( == 19) //add friend + targetf, f_house_add_list 2 + elseif ( == 20) //clear friend + src.ctag0.list = friend + sdialog d_house_list_clear + elseif ( == 21) //clear access + src.ctag0.list = access + sdialog d_house_list_clear + elseif ( == 22) //clear bans + src.ctag0.list = ban + sdialog d_house_list_clear + elseif ( == 23) //private/public toggle + if ( == ) + housetype = + resendtooltip + if + if + delaccess -1 + endif + endif + + doswitch + begin + src.sysmessage @,,1 This property is now to the public (shop setting), only those on the banned list may not enter. + if (() && ()) // If keys are used, let the server check them. + src.sysmessage @,,1 Don't forget to set security level and lock the doors if areas are/need to be restricted. + else + src.sysmessage @,,1 Don't forget to set security level if areas are/need to be restricted. + endif + end + begin + src.sysmessage @,,1 Теперь этот дом в публичном доступе. Только те, кто внесен в список изгнанных лиц, не могут войти на территорию. + if (() && ()) // If keys are used, let the server check them. + src.sysmessage @,,1 Не забудьте установить уровни доступа и запереть двери, если хотите ограничить доступ. + else + src.sysmessage @,,1 Не забудьте установить уровни доступа, если хотите ограничить доступ. + endif + end + enddo + else + housetype = + resendtooltip + if + if + delban -1 + endif + endif + doswitch + src.sysmessage @,,1 This propery is now private & may only be accessed by co-owners/friends & those on the access list + src.sysmessage @,,1 Теперь это частная собственность, и доступ к ней могут получить только совладельцы и друзья, а также те, кто включен в списки доступа. + enddo + endif + sdialog d_house_menu + elseif ( == 24)//rename house + dialog d_house_rename + //elseif ( == 25) // -------------------------- reserved change sign page + elseif ( == 26)//recode doors + src.targetf f_d_house_secure + return 1 + elseif ( == 27)//transfer ownership + if () + doswitch + src.sysmessage @,,1 This house is scheduled for demolition and cannot be traded. + src.sysmessage @,,1 Этот дом запланирован к сносу и по этой причине не может быть продан. + enddo + return 1 + endif + src.targetf f_house_transfer + src.sysmessage @,,1 To whom do you wish to transfer full ownership of this property? + return 1 + elseif ( == 28)//demolish + sdialog d_house_demolish + return 1 + elseif ( == 29)// eject + targetf, f_house_eject + return 1 + elseif ( == 30)// price/take off market + if () + doswitch + src.sysmessage @,,1 This house is scheduled for demolition and cannot be sold. + src.sysmessage @,,1 Этот дом запланирован к сносу и по этой причине не может быть выставлен на продажу. + enddo + sdialog d_house_menu + return 1 + endif + if () + ref4.tag.forsale = + tag0.price = + doswitch + begin + src.sysmessage @,,1 You have taken this house off the market + src.sysmessage @,,1 Don't forget to reset the house settings to your preferences. + end + begin + src.sysmessage @,,1 Вы сняли этот дом с продажи. + src.sysmessage @,,1 Не забудьте установить настройки дома в соответствии с вашими предпочтениями. + end + enddo + sdialog d_house_menu + resendtooltip + return 1 + else + if () || () + doswitch + src.sysmessage @,,1 You can't put a house on the market as long it has lockdowns/secure containers. + src.sysmessage @,,1 Вы не можете выставить дом на продажу, пока в нем есть закрепленные предметы и надежные контейнеры. + enddo + sdialog d_house_menu + return 1 + else + if !(>) || (> <= 0) + doswitch + src.sysmessage @,,1 Only positive numeric values are valid. + src.sysmessage @,,1 Допустимы только положительные числовые значения. + enddo + sdialog d_house_menu 10 + return 1 + endif + tag0.price = + ref4.tag0.forsale = 1 + f_house_open + // housetype = + doswitch + src.sysmessage @,,1 Your house is now on the market for gp. + src.sysmessage @,,1 Ваш дом теперь выставлен на продажу за gp. + enddo + if () + tag0.decay_exempt = + ref1.attr |= 02 + endif + resendtooltip + sdialog d_house_menu + return 1 + endif + endif + elseif ( == 31) // add 25% storage + local.value = )? /8)>:8)>> + f_house_hs_buy_storage + return 1 + elseif ( == 32) //add 50% storage + local.value = )? /4>:/4>> + f_house_hs_buy_storage + return 1 + elseif ( == 33) // add 75% storage + local.value = )? /8)*3)>:/8)*3)>> + f_house_hs_buy_storage + return 1 + elseif ( == 34) //add 100% storage + local.value = )? /2>:/2>> + f_house_hs_buy_storage + return 1 + elseif ( == 35) //custom builder + if () + doswitch + src.sysmessage @,,1 This house is scheduled for demolition and cannot be customized + src.sysmessage @,,1 Этот дом запланирован к сносу и по этой причине не может проектироваться. + enddo + return 1 + endif + if ( != ) + return 2 + elseif () + doswitch + src.sysmessage @,,1 You are already designing == )? this:another> building. + src.sysmessage @,,1 Вы уже проектируете == )? это:другое> здание. + enddo + return 1 + elseif !() + src.events +e_house_customize + endif + customize + return 1 + elseif ( == 36) //sign post menu + if + ref1.dialog d_house_sign_post + endif + return 1 + elseif ( == 50) //guild declaration FIX ME + if ( == ) + housetype = + ref7 = + local.abbrev = >?[None]:> + tag0.is_guild = + resendtooltip + doswitch + src.sysmessage @,,1 This building is no longer a guildhouse []. + src.sysmessage @,,1 Это здание больше не является штаб-квартирой гильдии []. + enddo + return 1 + else + src.targetf, f_house_declare_guild + doswitch + src.sysmessage @,,1 Target your guildstone + src.sysmessage @,,1 Укажите гильдийный камень. + enddo + return 1 + endif + elseif ( == 53)// convert + if () + doswitch + src.sysmessage @,,1 This house is scheduled for demolition and cannot be converted. + src.sysmessage @,,1 Этот дом запланирован к сносу и по этой причине не может быть модернизирован. + enddo + return 1 + endif + f_house_swap + //elseif ( == 54) // ------------------------------------ unused + elseif ( == 55) //admin, value and market ------------------------------------ unused + sdialog d_house_static_pricing + return 1 + elseif ( == 57) // relocate moving crate + if + ref11 = + ref11.p = + ref11.attr &= ~attr_invis + src.update + src.events +e_moving_crate + endif + elseif ( == 58) //change foundation style + doswitch + src.sysmessage @,,1 Not implemented at the moment. + src.sysmessage @,,1 На данный момент не реализовано. + enddo + sdialog d_house_menu + return 1 + elseif ( == 59) //create/remove hanger + doswitch + src.sysmessage @,,1 Not implemented at the moment. + src.sysmessage @,,1 На данный момент не реализовано. + enddo + sdialog d_house_menu + return 1 + elseif ( == 75) //schedule demolition GM only + if !() + if () + ref4.tag.forsale = + // tag.forsale = + tag.price = + doswitch + src.sysmessage @,,1 Property has been removed from housing market. + src.sysmessage @,,1 Теперь этот дом снят с продажи. + enddo + endif + if !(>) + doswitch + src.sysmessage @,,1 Invalid entry, days must be numeric (7-30) + src.sysmessage @,,1 Нужно указать число от 7 до 30. + enddo + local.closedialog = 1 + elseif (> > 30) + doswitch + src.sysmessage @,,1 Demolition must occur within 30 days. + src.sysmessage @,,1 Максимальный период предупреждения перед сносом не может больше 30 дней. + enddo + local.closedialog = 1 + elseif (> < 7) + doswitch + src.sysmessage @,,1 The minimum notice period before demolition can occur is 7 days. + src.sysmessage @,,1 Минимальный период предупреждения перед сносом не может менее 7 дней. + enddo + local.closedialog = 1 + endif + if + sdialog d_house_menu + return 1 + endif + tag0.demolition = )> + ref1.timer = 60*60*24*)> + doswitch + src.sysmessage @,,1 You have scheduled this house to be demolished in days. + src.sysmessage @,,1 Вы запланировали снос этого дома через дней. + enddo + resendtooltip + sdialog d_house_menu + return 1 + else + tag.demolition = + resendtooltip + doswitch + src.sysmessage @,,1 The scheduled demolition has been cancelled. + src.sysmessage @,,1 Запланированный снос был отменен. + enddo + sdialog d_house_menu + return 1 + endif + // 83 = sign colorizer + // 84 = property tax + elseif ( == 85) + local.daysleft = /60)/60)/24)> + local.days = -)> + local.value = +)+)+)> + ref2 = + if ! + if + if + if ( > ) + if ( == 1) + if + local.rate = *2)> + local.maintenance = ,,100> + else + local.rate = +)> + local.maintenance = ,,100> + endif + elseif ( == 2) + local.overage = -)> + if + local.rate = *)> + local.rate = +)> + local.maintenance = ,,100> + else + local.rate = *)> + local.rate = +)> + local.maintenance = ,,100> + endif + endif + else + if + local.maintenance = ,,100> + else + local.maintenance = ,,100> + endif + endif + else + if + local.maintenance = ,,100> + else + local.maintenance = ,,100> + endif + endif + else + if + local.maintenance = ,,100> + else + local.maintenance = ,,100> + endif + endif + local.maintenance = /30)> + local.maintpay = *)> + if (/60)/60)/24)> < ) + if ( < ) + doswitch + src.sysmessage @,,1 You lack the funds to pay the property tax. + src.sysmessage @,,1 У вас нет денежных средств, чтобы оплатить налог на недвижимость. + enddo + return 1 + endif + src.gold -= + ref1.timer += -1)*60)*60)*24)> + doswitch + begin + src.sysmessage @,,1 gp has been paid to cover days. + src.sysmessage @,,1 Your property tax is now paid for the next days. + end + begin + call f_days_name //local.day_name + src.sysmessage @,,1 Уплачено gp за предыдущие . + src.sysmessage @,,1 Ваша недвижимость оплачена на следующие дней. + end + enddo + else + doswitch + src.sysmessage @,,1 You cannot pay more property tax yet. + src.sysmessage @,,1 В данный момент оплата налога на недвижимость не требуется. + enddo + return 1 + endif + else + ref1.timer = *24) *60) *60)> + serv.log ()[] update house ()[] decay timer of owner ()[] + doswitch + src.sysmessage @,,1 The house decay timer has been updated by a staff. + src.sysmessage @,,1 Таймер разрушения дома обновлен представителем персонала. + enddo + endif + elseif ( == 86) + ref1.color = 00 + sdialog d_house_menu 15 + return 1 + elseif ( == 87) //exempt + tag0.decay_exempt = 1 + ref1.attr &= ~02 + sdialog d_house_menu + elseif ( == 88) //normal + tag.decay_exempt = + ref1.attr |= 02 + ref1.timer = 60*60*24* + sdialog d_house_menu + endif + +ONBUTTON=100,299 // rmv person from (x) list + ref1 = //sign + local.list = + local.button -100> + if <))?es:s>> + if (<..uid>==) + ref5 = + doswitch + src.sysmessage @,,1 You have removed yourself from the list. + src.sysmessage @,,1 Вы удалили себя из перечня "_List>". + enddo + else + ref5 = <..uid> + doswitch + src.sysmessage @,,1 <..name> has been removed from the list. + src.sysmessage @,,1 <..name> был удален из перечня "_List>". + enddo + endif + if ( == ) && ( == ) + ref5.go + doswitch + ref5.sysmessage @,,1 This is private property, you no longer have permission to enter. + ref5.sysmessage @,,1 Это частная собственность, у вас больше нет разрешения на вход. + enddo + endif + if (<))?es:s>> < 2 ) + del -1 + else + del <..uid> + endif + endif + +ONBUTTON=2965,3140 // sign dispid + ref1 = //sign + ref1.dispid = > + ref1.update + return 1 + +ONBUTTON=12967,12978 //sign hanger + ref1 = //sign + for 0 - 1)> + if (.comp.2> == ) + ref1 = .comp.0> + endif + endfor + ref1.dispid = -10000)> + ref1.update + +ONBUTTON=5000,9000 // sign coloring + if + ref1 = //sign + ref1.color = -5000)>> + endif + sdialog d_house_menu 15 //-------------------------------------------------------------------------------End main menu--------------------------------------------------------------------// [DIALOG d_house_demolish] 100,100 -f_house_dialog 0,0,230,224 +f_house_dialog 0,0,260,224 button 207 10 3 4 1 0 0 // close/cancel -gumppictiled 4 108 221 42 +4> -checkertrans 4 108 221 42 -gumppictiled 4 160 221 42 +4> -checkertrans 4 160 221 42 +gumppictiled 4 108 251 42 +4)> +checkertrans 4 108 251 42 +gumppictiled 4 160 251 42 +4)> +checkertrans 4 160 251 42 -dhtmlgump 10 10 210 20 0 0 !!! WARNING !!! -resizepic 13 32 3000 203 64 -dhtmlgump 10 36 210 20 0 0 You are about to demolish -dhtmlgump 10 51 210 20 0 0 this property. -dhtmlgump 10 70 210 20 0 0 Do you wish to proceed? +dhtmlgump 10 10 240 20 0 0 !!! _WARNING> !!! +resizepic 13 32 3000 233 64 +dhtmlgump 10 36 240 60 0 0 _DemolProceed>_DemolProceed2>_DemolProceed3> // Demolish button 6 118 4005 4007 1 0 1 -local.total=++> +local.total = +)+)> if - local.demolishfee ,,100> - local.total -= + local.demolishfee = ,,100> + local.total -= endif -dhtmlgump 42 111 240 20 0 0 Demolish & Destroy Contents -dhtmlgump 42 131 240 20 0 0 Refund gp +dhtmlgump 42 111 240 20 0 0 _DemolAndDestr> +dhtmlgump 42 131 240 20 0 0 _Refund> gp // Redeed -if ( && (==t_multi)) // (==t_multi_custom) || - if ! - local.total=++> - local.refund=+> - local.redeedfee ,,100> - if ( > ) - local.refund -= - dhtmlgump 42 184 180 20 0 0 Refund gp - else - local.redeedfee -= - dhtmlgump 42 184 180 20 0 0 Charge gp - endif - else - dhtmlgump 42 184 180 20 0 0 FREE FOR GM - endif - dhtmlgump 42 164 180 20 0 0 Redeed & Bank Contents - button 6 170 4005 4007 1 0 2 -elif (==t_multi) - button 6 170 4005 4007 1 0 2 - dhtmlgump 42 164 180 20 0 0 Redeed & Bank Contents - local.refund=+> - dhtmlgump 42 184 180 20 0 0 )?Refund gp:> +if ( && ( == t_multi)) // ( == t_multi_custom) || + if ! + local.total = +)+)> + local.refund = +)> + local.redeedfee = ,,100> + if ( > ) + local.refund -= + dhtmlgump 42 184 220 20 0 0 _Refund> gp + else + local.redeedfee -= + dhtmlgump 42 184 220 20 0 0 _Charge> gp + endif + else + dhtmlgump 42 184 220 20 0 0 _GMFree> + endif + dhtmlgump 42 164 220 20 0 0 _RedeedBank> + button 6 170 4005 4007 1 0 2 +elseif ( == t_multi) + button 6 170 4005 4007 1 0 2 + dhtmlgump 42 164 220 20 0 0 _RedeedBank> + local.refund = +)> + dhtmlgump 42 184 220 20 0 0 )?_Refund> gp:> else - dhtmlgump 42 164 180 20 0 0 Redeed & Bank Contents + dhtmlgump 42 164 220 20 0 0 _RedeedBank> endif - [DIALOG d_house_demolish button] -ON=0 - src.sysmessage @,,1 Aborted - src.dialogclose d_house_menu - dialog d_house_menu 5 - return 1 - -ON=1 // demolish - ref1= - if (==) - src.sysmessage @32,,1 This house is a guild house. - src.sysmessage @,,1 You must remove the guild declaration and move the guildstone before you can demolish the building. - src.dialogclose d_house_menu - dialog d_house_menu 5 - return 1 - endif - local.total=++> - src.sysmessage @,,1 You spent gp on this property. - if - local.demolishfee ,,100> - local.total -= - src.sysmessage @,,1 Your demolish fee of gp was deducted from refund. - endif - if > - src.gold += - src.sysmessage @,,1 You have been refunded gp. - else - ref2= - ref2.gold += - src.sysmessage @,,1 was refunded gp. - endif - src.f_house_remove_allitems - remove - src.sysmessage @,,1 The number of houses you own is now . - region.allclients.update - -ON=2 - ref1= - if (==) - src.sysmessage @32,,1 This house is a guild house. - src.sysmessage @,,1 You must remove the guild declaration and move the guildstone before you can redeed the building. - src.dialogclose d_house_menu - dialog d_house_menu 5 - return 1 - endif - if (==t_multi_custom) - local.total=++> - src.sysmessage @,,1 You spent gp for upgrades on this property. - if - local.redeedfee ,,100> - local.total -= - src.sysmessage @,,1 Your redeed fee was gp. - endif - src.gold += - remove - src.sysmessage @,,1 You have been refunded gp. - elif (==t_multi) - local.total=+> - local.redeedfee ,,100> - local.refund = - if - if ( > ) - src.sysmessage @,,1 You spent gp for upgrades on this property. - local.refund -= - src.gold += - src.sysmessage @,,1 Your redeed fee of gp was deducted from refund. - src.sysmessage @,,1 You have been refunded gp. - else - local.redeedfee -= - if ( < ) - src.sysmessage @32,,1 You lack the funds to redeed this property. - dialog d_house_menu 5 - return 1 - else - src.gold -= - src.sysmessage @,,1 gold has been deducted from your balance to pay for this redeed. - endif - endif - else - src.gold += - src.sysmessage @,,1 You have been refunded gp for this property. - endif - if ==1 - src.f_house_box - endif - redeed - src.sysmessage @,,1 The number of houses you own is now . - endif - region.allclients.update +ONBUTTON=0 + src.sysmessage @,,1 Aborted + src.dialogclose d_house_menu + sdialog d_house_menu 5 + return 1 + +ONBUTTON=1 // demolish + ref1 = + if ( == ) + local.abbrev = [None] + if + ref5 = + if + local.abbrev = >?[None]:> + endif + endif + doswitch + begin + src.sysmessage @,,1 This house is a guild house. + src.sysmessage @,,1 You must remove the guild declaration and move the guildstone before you can demolish the building. + end + begin + src.sysmessage @,,1 Это здание является штаб-квартирой гильдии [] + src.sysmessage @,,1 Вы должны распустить штаб гильдии и переместить гильдийный камень, прежде чем сможете снести здание. + end + enddo + src.dialogclose d_house_menu + sdialog d_house_menu 5 + return 1 + endif + local.total = +)+)> + doswitch + src.sysmessage @,,1 You spent gp for upgrades on this property. + src.sysmessage @,,1 Вы потратили gp на оборудование этого дома. + enddo + if + local.demolishfee = ,,100> + local.total -= + doswitch + src.sysmessage @,,1 Your demolish fee of gp was deducted from refund. + src.sysmessage @,,1 Плата за демонтаж в размере gp будет вычтена из суммы возмещения. + enddo + endif + if > + src.gold += + doswitch + src.sysmessage @,,1 You have been refunded gp. + src.sysmessage @,,1 Вам было возвращено gp. + enddo + else + ref2 = + ref2.gold += + doswitch + src.sysmessage @,,1 was refunded gp. + src.sysmessage @,,1 получил gp. + enddo + endif + src.f_house_remove_allitems + remove + doswitch + src.sysmessage @,,1 The number of houses you own is now . + src.sysmessage @,,1 Количество домов, которыми вы владеете, теперь равно . + enddo + region.allclients.update + +ONBUTTON=2 + ref1 = + if ( == ) + doswitch + begin + src.sysmessage @,,1 This house is a guild house. + src.sysmessage @,,1 You must remove the guild declaration and move the guildstone before you can redeed the building. + end + begin + src.sysmessage @,,1 Это здание является штаб-квартирой гильдии [] + src.sysmessage @,,1 Вы должны распустить штаб гильдии и переместить гильдийный камень, прежде чем сможете снести здание. + end + enddo + src.dialogclose d_house_menu + sdialog d_house_menu 5 + return 1 + endif + if ( == t_multi_custom) + local.total = +)+)> + doswitch + src.sysmessage @,,1 You spent gp for upgrades on this property. + src.sysmessage @,,1 Вы потратили gp на оборудование этого дома. + enddo + if + local.redeedfee = ,,100> + local.total -= + doswitch + src.sysmessage @,,1 Your redeed fee was gp. + src.sysmessage @,,1 Плата за возврат свитка установки дома составила gp. + enddo + endif + src.gold += + remove + doswitch + src.sysmessage @,,1 You have been refunded gp. + src.sysmessage @,,1 Вам было возвращено gp. + enddo + elseif ( == t_multi) + local.total = +)> + local.redeedfee = ,,100> + local.refund = + if + if ( > ) + doswitch + src.sysmessage @,,1 You spent gp for upgrades on this property. + src.sysmessage @,,1 Вы потратили gp на оборудование этого дома. + enddo + local.refund -= + src.gold += + doswitch + begin + src.sysmessage @,,1 Your redeed fee of gp was deducted from refund. + src.sysmessage @,,1 You have been refunded gp. + end + begin + src.sysmessage @,,1 Плата за возврат свитка установки дома в размере gp будет вычтена из суммы возмещения. + src.sysmessage @,,1 Вам было возвращено gp. + end + enddo + else + local.redeedfee -= + if ( < ) + doswitch + src.sysmessage @,,1 You lack the funds to redeed this property. + src.sysmessage @,,1 У вас нет денежных средств, чтобы оплатить возврат свитка установки дома. + enddo + sdialog d_house_menu 5 + return 1 + else + src.gold -= + doswitch + src.sysmessage @,,1 gp has been deducted from your balance to pay for this redeed. + src.sysmessage @,,1 gp были списаны с вашего баланса для оплаты возврата свитка установки дома. + enddo + endif + endif + else + src.gold += + doswitch + src.sysmessage @,,1 You have been refunded gp. + src.sysmessage @,,1 Вам было возвращено gp. + enddo + endif + if ( == 1) + src.f_house_box + endif + redeed + doswitch + src.sysmessage @,,1 The number of houses you own is now . + src.sysmessage @,,1 Количество домов, которыми вы владеете, теперь равно . + enddo + endif + region.allclients.update [DIALOG d_house_forsale] 100,100 page 0 -f_house_dialog 0,106,398,250 - -local.x=242 -local.y=120 -gumppic 100 //brass sign gump -dhtmlgump +18> +16> 106 20 0 0 FOR SALE -dhtmlgump +18> +34> 106 60 0 0 - -local.x=20 -local.y=130 -dhtmlgump 120 20 0 0 Owned By -dhtmlgump +80> 140 20 0 0 -local.y += 20 -dhtmlgump 180 20 0 0 List Price -dhtmlgump +148> 120 20 0 0 gp -local.y += 20 -dhtmlgump 180 20 0 0 House Value -dhtmlgump +148> 180 20 0 0 ++> gp -local.y += 20 -dhtmlgump 180 20 0 0 Maximum Lockdowns -dhtmlgump +148> 180 20 0 0 )?:Unlimited> -local.y += 20 -dhtmlgump 180 20 0 0 Maximum Storage -dhtmlgump +148> 180 20 0 0 )? :Unlimited> -local.y += 20 +f_house_dialog 0,106,428,250 + +dorigin 272 120 +gumppic - - 100 //brass sign gump +dhtmlgump +18 +16 106 20 0 0 _FORSALE> +dhtmlgump +18 +34 106 60 0 0 + +dorigin 20 110 +dhtmlgump - *20 120 20 0 0 _Owned> +dhtmlgump +168 - 120 20 0 0 +dhtmlgump - *20 180 20 0 0 _LstPrice> +dhtmlgump +168 - 120 20 0 0 gp +dhtmlgump - *20 180 20 0 0 _Value> +dhtmlgump +168 - 180 20 0 0 +)+)> gp +dhtmlgump - *20 180 20 0 0 _LockdownMax2> +dhtmlgump +168 - 180 20 0 0 )?:_Unlimited>> +dhtmlgump - *20 180 20 0 0 _StorageMax2> +dhtmlgump +168 - 180 20 0 0 )? :_Unlimited>> +ref1 = //sign if - dhtmlgump 180 20 0 0 This house )? will be demolished:will decay> in /86400> < 1)? %86400)/3600> hours and %86400)%3600)/60> minutes:/86400> days>. - local.y += 20 + call f_return_timeleft + doswitch + begin + doswitch - 1)> + local.decaymsg = days hours minutes //1 + local.decaymsg = hours minutes //2 + local.decaymsg = 0 hours minutes //3 + local.decaymsg = for less than 1 minute //4 + enddo + end + begin + call f_days_name //local.day_name + call f_hour_name //local.hour_name + call f_minutes_name //local.min_name + call f_sec_name //local.sec_name + doswitch - 1)> + local.decaymsg = //1 + local.decaymsg = //2 + local.decaymsg = 0 //3 + local.decaymsg = менее чем на 1 минуту //4 + enddo + end + enddo + dhtmlgump - *20 370 40 0 0 _ThisHouse> )? _WillDemol>:_WillDecay>> _SayIn> . endif -dhtmlgump 220 20 0 0 Visit Count -dhtmlgump +148> 180 20 0 0 -local.y += 30 -dhtmlgump +62> 240 20 0 0 This house is for sale by the owner. -local.y += 30 -button +62> 4005 4007 1 0 1 -dhtmlgump +98> +3> 180 20 0 0 Buy this house for gp - - +// dhtmlgump 220 20 0 0 Visit Count +// dhtmlgump +148> 180 20 0 0 +// dhtmlgump +62 *50 240 20 0 0 This house is for sale by the owner. +button +77 *80 4005 4007 1 0 1 +dhtmlgump +113 +3 250 20 0 0 _BuyHouse> gp [DIALOG d_house_forsale button] -on=1 -local.total= -if !() - if - if ( < ) - if ( >= ) - src.gold -= - ref2= - if (strmatch(*Britannic Realtors*, )) - owner - ref2.remove - if - link.timer=60*60*24* - endif - else - if (ref2.isplayer) - owner - if - ref2.gold += - if - ref2.sysmessage @,,1 Your house has been sold, gp has been deposited in your bank box. - ref2.sysmessage @,,1 The number of houses you own is now . - endif - endif - endif - src.sysmessage @,,1 You are now the owner of this property. - src.sysmessage @,,1 This house is currently set to public (shop setting). - src.sysmessage @,,1 Do not forget to change the settings to your preferences. - src.sysmessage @,,1 The number of houses you own is now . - region.tag0.forsale= - tag0.price= - link.resendtooltip - else - src.sysmessage @32,,1 You do not have the funds to purchase this property. - return 1 - endif - else - src.sysmessage @32,,1 You already own the maximum number of houses permitable. - return 1 - endif - else - if ( >= ) - src.gold -= - ref2= - if (strmatch(*Britannic Realtors*, )) - owner - ref2.remove - if - link.timer=60*60*24* - endif - else - if (ref2.isplayer) - owner - ref2.gold += - if - ref2.sysmessage @,,1 Your house has been sold, gp has been deposited in your bank box. - ref2.sysmessage @,,1 The number of houses you own is now . - endif - endif - endif - src.sysmessage @,,1 You are now the owner of this property. - src.sysmessage @,,1 This house is currently set to public (shop setting). - src.sysmessage @,,1 Do not forget to change the settings to your preferences. - src.sysmessage @,,1 The number of houses you own is now . - region.tag0.forsale= - tag0.price= - link.resendtooltip - else - src.sysmessage @32,,1 You do not have the funds to purchase this property. - return 1 - endif - endif - else - if ( >= ) - src.gold -= - ref2= - if (strmatch(*Britannic Realtors*, )) - owner - ref2.remove - if - link.timer=60*60*24* - endif - else - if (ref2.isplayer) - owner - ref2.gold += - if - ref2.sysmessage @,,1 Your house has been sold, gp has been deposited in your bank box. - ref2.sysmessage @,,1 The number of houses you own is now . - endif - endif - endif - src.sysmessage @,,1 You are now the owner of this property. - src.sysmessage @,,1 This house is currently set to public (shop setting). - src.sysmessage @,,1 Do not forget to change the settings to your preferences. - src.sysmessage @,,1 The number of houses you own is now . - region.tag0.forsale= - tag0.price= - link.resendtooltip - else - src.sysmessage @32,,1 You do not have the funds to purchase this property. - return 1 - endif - endif +ONBUTTON=1 + ref1 = //sign + local.total = + if () + call f_dialog_housesale 01 + return 1 + endif + if ( < ) + doswitch + src.sysmessage @,,1 You lack the funds to purchase this property. + src.sysmessage @,,1 У вас нет денежных средств для покупки этого дома. + enddo + return 1 + endif + + if + if ( >= ) + doswitch + src.sysmessage @,,1 You already own the maximum number of houses permitable. + src.sysmessage @,,1 Вы владеет предельным количеством домов. + enddo + return 1 + endif + call f_dialog_housesale + else + call f_dialog_housesale + endif + +[FUNCTION f_dialog_housesale] +if !( & 01) + src.gold -= +endif +ref2 = +ref3 = +ref4 = +if (strmatch(*Britannic Realtors*, )) + owner + ref3.remove + if + ref1.timer = 60*60*24* + endif +else + if + owner + if !( & 02) + ref3.gold += + if + doswitch + begin + ref3.sysmessage @,,1 Your house has been sold, gp has been deposited in your bank box. + ref3.sysmessage @,,1 The number of houses you own is now + end + begin + ref3.sysmessage @,,1 Ваш дом был продан. gp были помещены в вашу банковскую ячейку. + ref3.sysmessage @,,1 Количество домов, которыми вы владеете, теперь равно . + end + enddo + endif + else + if + doswitch + begin + ref3.sysmessage @,,1 Your house has been transfered by GM . + ref3.sysmessage @,,1 The number of houses you own is now + end + begin + ref3.sysmessage @,,1 Представитель персонала переписал ваш дом на себя. + ref3.sysmessage @,,1 Количество домов, которыми вы владеете, теперь равно . + end + enddo + endif + endif + endif endif +doswitch + begin + src.sysmessage @,,1 You are now the owner of this property. + src.sysmessage @,,1 This house is currently set to public (shop setting) + src.sysmessage @,,1 Do not forget to change the settings to your preferences. + src.sysmessage @,,1 The number of houses you own is now . + end + begin + src.sysmessage @,,1 Теперь вы являетесь собственником этой недвижимости. + src.sysmessage @,,1 В данный момент дом находится в публичном доступе. + src.sysmessage @,,1 Не забудьте установить уровни доступа согласно вашим предпочтениям. + src.sysmessage @,,1 Количество домов, которыми вы владеете, теперь равно . + end +enddo +ref4.tag0.forsale = +tag0.price = +call f_return_todate +tag.lasttransfer = +ref1.resendtooltip [DIALOG d_house_visitor] 100,100 gumppic 27 27 100 dhtmlgump 45 58 106 60 0 0 -if == - dhtmlgump 45 42 106 20 0 0 [.abbrev>] +if ( == ) + if + ref5 = + if + local.abbrev = >?[None]:> + endif + endif + dhtmlgump 45 42 106 20 0 0 [] endif - [DIALOG d_house_rename] 100,100 f_house_dialog 15,13,167,184 gumppic 27 27 100 dtextentrylimited 50 40 98 80 0 1 60 -button 50 132 4005 4007 1 0 1 -dhtmlgump 87 135 100 20 0 0 Confirm -button 50 160 4017 4018 1 0 0 -dhtmlgump 87 163 100 20 0 0 Cancel +doswitch + dorigin 50 130 + dorigin 35 130 +enddo +button - +2 4005 4007 1 0 1 +dhtmlgump +37 +5 100 20 0 0 _Confirm> +button - +30 4017 4018 1 0 0 +dhtmlgump +37 +33 100 20 0 0 _Cancel> [DIALOG d_house_rename BUTTON] -ON=0 - src.dialogclose d_house_menu - src.sysmessage @,,1 House renaming cancelled. - dialog d_house_menu 4 - return 1 -ON=1 - src.dialogclose d_house_menu - link.name= - region.name= - if - link.attr=02|010 - if < 0 - link.timer 60*60*24* - endif - else - link.timer =-1 - link.attr=010 - endif - resendtooltip 1,0 - dialog d_house_menu 4 - return 1 +ONBUTTON=0 + src.dialogclose d_house_menu + sdialog d_house_menu 4 + return 1 + +ONBUTTON=1 + src.dialogclose d_house_menu + ref1 = //sign + ref1.name = + region.name = + if + ref1.attr = 02|010 + if ( < 0) + ref1.timer = 60*60*24* + endif + else + ref1.timer = -1 + ref1.attr = 010 + endif + resendtooltip 1,0 + sdialog d_house_menu 4 + return 1 [DIALOG d_house_list_clear] 100,100 -f_house_dialog 15,13,169,174 -dhtmlgump 24 24 152 20 0 0 !!! WARNING !!! -dhtmlgump 24 50 152 40 0 0 You are about to clear your list -dhtmlgump 24 90 152 20 0 0 Do you wish to proceed? +f_house_dialog 0,0,260,174 +button 207 10 3 4 1 0 0 // close/cancel +gumppictiled 4 108 251 42 +4)> +checkertrans 4 108 251 42 +// gumppictiled 4 160 251 42 +4)> +// checkertrans 4 160 251 42 + +dhtmlgump 10 10 240 20 0 0 !!! _WARNING> !!! +resizepic 13 32 3000 233 64 +dhtmlgump 10 36 240 60 0 0 _ClrList> _List>_DemolProceed3> + if !(strcmpi("","COOWNER")) - button 60 120 4005 4007 1 0 1 + button 6 118 4005 4007 1 0 1 elif !(strcmpi("","FRIEND")) - button 60 120 4005 4007 1 0 2 + button 6 118 4005 4007 1 0 2 elif !(strcmpi("","ACCESS")) - button 60 120 4005 4007 1 0 3 + button 6 118 4005 4007 1 0 3 elif !(strcmpi("","BAN")) - button 60 120 4005 4007 1 0 4 + button 6 118 4005 4007 1 0 4 endif -dhtmlgump 94 123 100 20 0 0 Confirm -button 60 148 4017 4018 1 0 0 -dhtmlgump 94 151 100 20 0 0 Abort +dhtmlgump 42 121 240 20 0 0 _ClrConfirm> [DIALOG d_house_list_clear button] -ON=0 - src.dialogclose d_house_menu - src.ctag.list= - src.sysmessage @,,1 Aborted - dialog d_house_menu 2 - return 1 - -ON=1 4 - if (==1)//co-owner - delcoowner -1 - src.sysmessage @,,1 Coowner list has been cleared - elif (==2)//friend - delfriend -1 - src.sysmessage @,,1 Friend list has been cleared - elif (==3)//access - delaccess -1 - src.sysmessage @,,1 Access list has been cleared - elif (==4)//bans - delban -1 - src.sysmessage @,,1 Ban list has been cleared - endif - src.dialogclose d_house_menu - dialog d_house_menu 2 - return 1 +ONBUTTON=0 + src.dialogclose d_house_menu + src.ctag.list = + sdialog d_house_menu 2 + return 1 + +ONBUTTON=1,4 + if ( == 1)//co-owner + delcoowner -1 + elseif ( == 2)//friend + delfriend -1 + elseif ( == 3)//access + delaccess -1 + elseif ( == 4)//bans + delban -1 + endif + + doswitch - 1)> + local.list = Coowner + local.list = Friend + local.list = Ban + local.list = Access + enddo + doswitch + src.sysmessage @,,1 _List> has been cleared. + src.sysmessage @,,1 _List> был очищен. + enddo + + src.dialogclose d_house_menu + sdialog d_house_menu 2 + return 1 [DIALOG d_house_sign_post] 100,100 page 0 f_house_dialog 0,0,510,621 -dhtmlgump 110 10 300 20 0 0 Sign Post -local.x=20 -local.y=50 +dhtmlgump 110 10 300 20 0 0 Sign Post +local.x = 20 +local.y = 50 for 1 28 - gumppictiled -6> 48 130 2624 - button +10> 4005 4007 1 0 > - tilepic +24> > - local.x += 60 - if >= 480 - local.x = 20 - local.y += 140 - endif + gumppictiled - 6)> 48 130 2624 + button + 10)> 4005 4007 1 0 > + tilepic + 24)> > + local.x += 60 + if ( >= 480) + local.x = 20 + local.y += 140 + endif endfor button 380 520 4017 4019 1 0 0 dhtmlgump 416 523 100 20 0 0 Cancel [DIALOG d_house_sign_post button] -ON=0 - src.dialogclose d_house_menu - dialog d_house_menu 4 - return 1 - -ON=1 1000 - ref1= - foritems 2 - if (==i_wall_darkwood) && (==) - ref1= - ref1.dispid= - ref1.update - endif - endfor - src.dialogclose d_house_menu - dialog d_house_menu 4 - return 1 +ONBUTTON=0 + src.dialogclose d_house_menu + link.sdialog d_house_menu 4 + return 1 + +ONBUTTON=1,1000 + ref1 = + foritems 2 + if ( == i_wall_darkwood) && ( == ) + ref1 = + ref1.dispid = + ref1.update + endif + endfor + src.dialogclose d_house_menu + sdialog d_house_menu 4 + return 1 [DIALOG d_house_secure] 100,100 @@ -1333,175 +1674,292 @@ ref1 = f_house_dialog 0,0,200,180 gumppictiled 4 30 190 5 5058 // top line checkertrans 4 30 190 5 -dhtmlgump 14 10 176 20 0 0 Access -dhtmlgump 14 41 46 20 0 0 Owner: -dhtmlgump 60 41 130 20 0 0 .name> -dhtmlgump 47 73 180 20 0 0 ==)?:>Owner Only -dhtmlgump 47 93 180 20 0 0 ==)?:>Co-owners -dhtmlgump 47 113 180 20 0 0 ==)?:>Friends -dhtmlgump 47 133 180 20 0 0 ==)?==)?:>Guild Members:Guild members> -dhtmlgump 47 153 180 20 0 0 ==)?:>Anyone +dhtmlgump 14 10 176 20 0 0 _Access> +dhtmlgump 14 41 176 20 0 0 _Owner>: .name> +// dhtmlgump 80 41 130 20 0 0 .name> +dhtmlgump 47 73 180 20 0 0 ==)?:>_OwnerOnly> +dhtmlgump 47 93 180 20 0 0 ==)?:>_Coowners> +dhtmlgump 47 113 180 20 0 0 ==)?:>_Friends> +dhtmlgump 47 133 180 20 0 0 ==)?==)?:>:>_GuildMemb> +dhtmlgump 47 153 180 20 0 0 ==)?:>_Anyone> button 9 70 ==)? 4006 4006 0 0:4005 4007 1 0> 1 button 9 90 ==)? 4006 4006 0 0:4005 4007 1 0> 2 button 9 110 ==)? 4006 4006 0 0:4005 4007 1 0> 3 -if == - button 9 130 ==)? 4006 4006 0 0:4005 4007 1 0> 4 +if == + button 9 130 ==)? 4006 4006 0 0:4005 4007 1 0> 4 endif button 9 150 ==)? 4006 4006 0 0:4005 4007 1 0> 5 - [DIALOG d_house_secure button] -ON=0 - dialogclose - // sysmessage @,,2 1061281 // Access level unchanged. - -ON=1 5 - if (==1)//owner only - tag.access - resendtooltip 1 - src.sysmessage @,,1 Only the Owner & Co-owners may now open this . - return 1 - elif (==2)//co-owner only - tag.access - resendtooltip 1 - src.sysmessage @,,1 Only the Owner & Co-owners may now open this . - // src.sdialog d_house_secure - return 1 - elif (==3)//friend only - tag.access - resendtooltip 1 - src.sysmessage @,,1 Only the Owner, Co-owners & Friends of the house may now open this . - return 1 - elif (==4)//door guild only - tag.access - resendtooltip 1 - src.sysmessage @,,1 Only guild members may now open this . - return 1 - elif (==5)//door reset - tag.access - resendtooltip 1 - src.sysmessage @,,1 Everyone can open now. - // src.sdialog d_house_secure - return 1 - endif +ONBUTTON=0 + dialogclose + // sysmessage @,,2 1061281 // Access level unchanged. + +ONBUTTON=1,5 + doswitch - 1)> + tag.access = + tag.access = + tag.access = + tag.access = + tag.access = + enddo + resendtooltip 1 + doswitch - 1)> + doswitch + src.sysmessage @,,1 Only the Owner may now open this . + src.sysmessage @,,1 Только собственник может открыть . + enddo + doswitch + src.sysmessage @,,1 Only the Owner & Co-owners may now open this . + src.sysmessage @,,1 Только собственник и совладельцы могут открывать . + enddo + doswitch + src.sysmessage @,,1 Only the Owner, Co-owners & Friends of the house may now open this . + src.sysmessage @,,1 Только собственник, совладельцы и друзья могут открывать . + enddo + doswitch + src.sysmessage @,,1 Guild members may now open this . + src.sysmessage @,,1 Только члены гильдии могут открывать . + enddo + doswitch + src.sysmessage @,,1 Everyone can open now. + src.sysmessage @,,1 Кто угодно может открывать . + enddo + enddo + + link.sdialog d_house_menu [DIALOG d_house_commands] 100,100 page 0 -f_house_dialog 27,25,405,44 -button 398 28 4017 4018 1 0 0 -dhtmlgump 140 39 180 20 0 0 HOUSE VERBAL COMMANDS - -f_house_dialog 27,71,405,300 -dhtmlgump 60 84 120 20 0 0 COMMAND -dhtmlgump 60 110 120 20 0 0 Lock This -dhtmlgump 60 130 120 20 0 0 Release This -dhtmlgump 60 150 120 20 0 0 Secure This -dhtmlgump 60 170 120 20 0 0 Move North -dhtmlgump 60 190 120 20 0 0 Move South -dhtmlgump 60 210 120 20 0 0 Move East -dhtmlgump 60 230 120 20 0 0 Move West -dhtmlgump 60 250 120 20 0 0 Ban -dhtmlgump 60 270 120 20 0 0 Eject -dhtmlgump 60 290 120 20 0 0 Place Trashcan -dhtmlgump 60 310 120 20 0 0 Remove Trashcan - -dhtmlgump 220 84 120 20 0 0 DESCRIPTION -dhtmlgump 180 110 220 20 0 0 Locks an item down -dhtmlgump 180 130 220 20 0 0 Releases an item -dhtmlgump 180 150 220 20 0 0 Adds security to containers -dhtmlgump 180 170 220 20 0 0 Moves targeted item north -dhtmlgump 180 190 220 20 0 0 Moves targeted item south -dhtmlgump 180 210 220 20 0 0 Moves targeted item east -dhtmlgump 180 230 220 20 0 0 Moves targeted item west -dhtmlgump 180 250 220 20 0 0 Bans a player from your house -dhtmlgump 180 270 220 20 0 0 Removes a player from your house -dhtmlgump 180 290 220 20 0 0 Places a trashcan where you are standing -dhtmlgump 180 310 220 20 0 0 Removes a trashcan +f_house_dialog 27,25,445,44 +button 438 28 4017 4018 1 0 0 +doswitch + dhtmlgump 180 39 180 20 0 0 HOUSE VERBAL COMMANDS + dhtmlgump 180 39 180 20 0 0 Речевые Команды +enddo + +f_house_dialog 27,71,445,300 +doswitch + begin + dhtmlgump 60 84 120 20 0 0 COMMAND + dhtmlgump 220 84 120 20 0 0 DESCRIPTION + end + begin + dhtmlgump 60 84 120 20 0 0 Команда + dhtmlgump 220 84 160 20 0 0 Описание + end +enddo + +dorigin 60 90 +doswitch + begin + dhtmlgump - *20 120 20 0 0 Lock This + dhtmlgump +120 - 260 20 0 0 Locks an item down + end + begin + dhtmlgump - *20 120 20 0 0 Lock This + dhtmlgump +120 - 260 20 0 0 Закрепить предмет + end +enddo + +doswitch + begin + dhtmlgump - *20 120 20 0 0 Release This + dhtmlgump +120 - 260 20 0 0 Releases an item + end + begin + dhtmlgump - *20 120 20 0 0 Release This + dhtmlgump +120 - 260 20 0 0 Открепить предмет + end +enddo + +doswitch + begin + dhtmlgump - *20 120 20 0 0 Secure This + dhtmlgump +120 - 260 20 0 0 Adds security to containers + end + begin + dhtmlgump - *20 120 20 0 0 Secure This + dhtmlgump +120 - 260 20 0 0 Установите охрану на сундук + end +enddo + +doswitch + begin + dhtmlgump - *20 120 20 0 0 Move North + dhtmlgump +120 - 260 20 0 0 Moves targeted item north + end + begin + dhtmlgump - *20 120 20 0 0 Move North + dhtmlgump +120 - 260 20 0 0 Переместить предмет на Север + end +enddo + +doswitch + begin + dhtmlgump - *20 120 20 0 0 Move South + dhtmlgump +120 - 260 20 0 0 Moves targeted item south + end + begin + dhtmlgump - *20 120 20 0 0 Move South + dhtmlgump +120 - 260 20 0 0 Переместить предмет на Юг + end +enddo + +doswitch + begin + dhtmlgump - *20 120 20 0 0 Move East + dhtmlgump +120 - 260 20 0 0 Moves targeted item east + end + begin + dhtmlgump - *20 120 20 0 0 Move East + dhtmlgump +120 - 260 20 0 0 Переместить предмет на Восток + end +enddo + +doswitch + begin + dhtmlgump - *20 120 20 0 0 Move West + dhtmlgump +120 - 260 20 0 0 Moves targeted item west + end + begin + dhtmlgump - *20 120 20 0 0 Move West + dhtmlgump +120 - 260 20 0 0 Переместить предмет на Запад + end +enddo + +doswitch + begin + dhtmlgump - *20 120 20 0 0 Ban + dhtmlgump +120 - 260 20 0 0 Bans a player from your house + end + begin + dhtmlgump - *20 120 20 0 0 Ban + dhtmlgump +120 - 260 20 0 0 Запретить доступ на территорию + end +enddo + +doswitch + begin + dhtmlgump - *20 120 20 0 0 Eject + dhtmlgump +120 - 260 20 0 0 Removes a player from your house + end + begin + dhtmlgump - *20 120 20 0 0 Eject + dhtmlgump +120 - 260 20 0 0 Удалите игрока с территории + end +enddo + +doswitch + begin + dhtmlgump - *20 120 20 0 0 Place Trashcan + dhtmlgump +120 - 260 20 0 0 Places a trashcan where you are standing + end + begin + dhtmlgump - *20 120 20 0 0 Place Trashcan + dhtmlgump +120 - 260 20 0 0 Установить мусорный контейнер + end +enddo + +doswitch + begin + dhtmlgump - *20 120 20 0 0 Remove Trashcan + dhtmlgump +120 - 260 20 0 0 Removes a trashcan + end + begin + dhtmlgump - *20 120 20 0 0 Remove Trashcan + dhtmlgump +120 - 260 20 0 0 Удалить мусорный контейнер + end +enddo + if -dhtmlgump 60 330 120 20 0 0 Bank -dhtmlgump 180 330 220 20 0 0 Opens your bank box + doswitch + begin + dhtmlgump - *20 120 20 0 0 Bank + dhtmlgump +120 - 260 20 0 0 Opens your bank box + end + begin + dhtmlgump - *20 120 20 0 0 Bank + dhtmlgump +120 - 260 20 0 0 Открыть банковскую ячейку + end + enddo endif [DIALOG d_house_commands button] -[DIALOG d_house_static_pricing] -100,100 -page 0 -f_house_dialog 0,123,280,160 -dhtmlgump 20 132 240 20 0 0 Static Building Pricing -dhtmlgump 20 154 240 20 0 0 Building footprint -gumppic 70 178 2501 -dtextentrylimited 100 179 100 20 90 0 10 -dhtmlgump 20 204 240 20 0 0 Enter this property's value -button 30 230 4023 4025 1 0 1 -dhtmlgump 67 233 190 20 0 0 Put this house on the market - -[DIALOG d_house_static_pricing button] -on=1 - tag0.value= - tag0.price= - region.tag0.forsale=1 - tag0.private= - link.timer=1 - - [DIALOG d_house_interior_decorator] 150,50 resizepic 0 12 2600 190 190 button 52 45 2152 2154 1 0 1 -dhtmlgump 90 50 70 40 0 0 Flip +dhtmlgump 90 50 70 40 0 0 _DecorFlip> button 52 95 2152 2154 1 0 2 -dhtmlgump 90 100 70 40 0 0 Up +dhtmlgump 90 100 70 40 0 0 _DecorUp> button 52 145 2152 2154 1 0 3 -dhtmlgump 90 150 70 40 0 0 Down +dhtmlgump 90 150 70 40 0 0 _DecorDown> [DIALOG d_house_interior_decorator BUTTON] -ON=1 3 -TAG.Mode= -DClick +ONBUTTON=1,3 + TAG.Mode = + DClick [DIALOG d_house_placement_tool] 50,50 -page 0 -IF !() && () && ( > ) - LOCAL.X=330 - LOCAL.Y=220 -ELSE - LOCAL.X=250 - LOCAL.Y=125 -ENDIF -resizepic 0 3 5054 +12> +13> -gumppictiled 5 10 2624 -checkertrans 5 10 -dhtmlgump 10 11 20 0 0 HOUSE PLACEMENT TOOL -button 10 40 4005 4007 1 0 1 -dhtmlgump 45 43 120 20 0 0 Classic Houses -button 10 60 4005 4007 1 0 2 -dhtmlgump 45 63 120 20 0 0 2-Story Customizable Houses -button 10 80 4005 4007 1 0 3 -dhtmlgump 45 83 120 20 0 0 3-Story Customizable Houses -IF !() && () && ( > ) - dhtmlgump 10 105 330 90 0 0 You are currently unable to place a new house or receive a house in trade because you have become the owner of a house within the last days. You can test for house placement right now, but you cannot currently create a permanent house. - LOCAL.Y=205 -ELSE - LOCAL.Y=110 -ENDIF -button 10 4017 4019 1 0 0 -dhtmlgump 45 +3> 80 20 0 0 Close + +if !() && () && ( > ) + local.x = 306 + local.y = 266 +else + local.x = 250 + local.y = 126 +endif +f_house_dialog 0,3,+12)>,+13)> +button -12)> 15 3 4 1 0 0 // close/cancel + +dhtmlgump 10 15 20 0 0 _HousePTools> + +dorigin 45 43 + +gumppictiled 4 40 +3)> 28 +4)> +checkertrans 4 40 +3)> 28 +dhtmlgump 45 45 280 20 0 0 _HouseClass> +button 10 42 4005 4007 1 0 1 + +gumppictiled 4 70 +3)> 28 +4)> +checkertrans 4 70 +3)> 28 +dhtmlgump 45 75 280 20 0 0 _House2Story> +button 10 72 4005 4007 1 0 2 + +gumppictiled 4 100 +3)> 28 +4)> +checkertrans 4 100 +3)> 28 +dhtmlgump 45 105 280 20 0 0 _House3Story> +button 10 102 4005 4007 1 0 3 + +if !() && () && ( > ) + dorigin 14 140 + doswitch + local.day_name = days + local.day_name = дней + enddo + resizepic -4 -3 3000 298 134 + doswitch + dhtmlgump - - 290 130 0 0 _UnablePlace> ._TestPlacem> + dhtmlgump - - 290 130 0 0 _UnablePlace> ._TestPlacem> + enddo +endif [DIALOG d_house_placement_tool BUTTON] -ON=1 -SDIALOG d_house_placement_tool_classic +ONBUTTON=1 + sdialog d_house_placement_tool_classic -ON=2 -SDIALOG d_house_placement_tool_custom_2story +ONBUTTON=2 + sdialog d_house_placement_tool_custom_2story -ON=3 -SDIALOG d_house_placement_tool_custom_3story +ONBUTTON=3 + sdialog d_house_placement_tool_custom_3story [FUNCTION f_house_RenderPlacementToolDlgBackground] @@ -1509,38 +1967,38 @@ resizepic 5 2 5054 481 420 gumppictiled 10 10 470 20 2624 checkertrans 10 10 470 20 -dhtmlgump 10 11 470 20 0 0 HOUSE PLACEMENT TOOL +dhtmlgump 10 11 470 20 0 0 _HousePTools> gumppictiled 10 40 470 20 2624 checkertrans 10 40 470 20 -dhtmlgump 50 41 120 20 0 0 House Description -dhtmlgump 265 41 120 20 0 0 Storage -dhtmlgump 330 41 120 20 0 0 Lockdowns -dhtmlgump 430 41 120 20 0 0 Cost +dhtmlgump 50 41 120 20 0 0 _HouseDescr> +dhtmlgump 265 41 120 20 0 0 _Storages> +dhtmlgump 330 41 120 20 0 0 _Lockdowns> +dhtmlgump 430 41 120 20 0 0 _Costs> gumppictiled 10 70 470 279 2624 checkertrans 10 70 470 279 gumppictiled 10 359 470 20 2624 checkertrans 10 359 470 20 -dhtmlgump 20 360 240 20 0 0 Bank Balance: +dhtmlgump 20 360 240 20 0 0 _BankBal>: > gp gumppictiled 10 389 470 20 2624 checkertrans 10 389 470 20 button 10 389 4017 4019 1 0 0 -dhtmlgump 47 392 120 20 0 0 Close +dhtmlgump 47 392 120 20 0 0 _Close> [FUNCTION f_house_RenderPlacementToolDlgPage] -IF ( > 340) - button 450 389 4005 4007 0 +1> 0 - dhtmlgump 416 392 120 20 0 0 Next - LOCAL.PAGE ++ - page - button 200 389 4014 4016 0 -1> 0 - dhtmlgump 238 392 120 20 0 0 Previous - LOCAL.Y=70 -ENDIF +if ( > 340) + button 450 389 4005 4007 0 + 1)> 0 + dhtmlgump 326 392 120 20 0 0 _Next> + local.page ++ + page + button 200 389 4014 4016 0 - 1)> 0 + dhtmlgump 238 392 120 20 0 0 _Prev> + local.y = 70 +endif [DIALOG d_house_placement_tool_classic] @@ -1550,33 +2008,36 @@ page 0 f_house_RenderPlacementToolDlgBackground page 1 -LOCAL.PAGE=1 -LOCAL.Y=70 -FOR 1 20 - IF (>>) - LOCAL.STORAGE=>.basestorage> - button 10 -3> 4005 4007 1 0 - dhtmlgump 47 120 20 0 0 >.NAME> - dhtmlgump 275 120 20 0 0 - dhtmlgump 350 120 20 0 0 /2> - dhtmlgump 425 120 20 0 0 >.VALUE> - LOCAL.Y += 20 - CALL f_house_RenderPlacementToolDlgPage - ENDIF -ENDFOR +local.page = 1 +local.y = 70 +for 1 20 + if (>>) + local.Storage = >.basestorage> + button 10 -3)> 4005 4007 1 0 + dhtmlgump 47 120 20 0 0 >.name> + dhtmlgump 275 120 20 0 0 + dhtmlgump 350 120 20 0 0 /2)> + dhtmlgump 425 120 20 0 0 >.value> + local.y += 20 + call f_house_RenderPlacementToolDlgPage + endif +endfor [DIALOG d_house_placement_tool_classic BUTTON] -ON=0 -SDIALOG d_house_placement_tool - -ON=1 20 -local.item=> -if ( < .VALUE>) - src.sysmessage @,,1 You cannot afford that. - return 1 -endif -SRC.f_house_placement +ONBUTTON=0 + sdialog d_house_placement_tool + +ONBUTTON=1,20 + local.item = > + if ( < .value>) + doswitch + src.sysmessage @,,1 You lack the funds avaible in your bankbox to purchase this house. Try placing a smaller house, or adding gold to your bankbox. + src.sysmessage @,,1 У вас нет денежных средств для покупки этого дома. Попробуйте построить дом поменьше или пополните свой банковский счет. + enddo + return 1 + endif + src.f_house_placement [DIALOG d_house_placement_tool_custom_2story] @@ -1586,33 +2047,35 @@ page 0 f_house_RenderPlacementToolDlgBackground page 1 -LOCAL.PAGE=1 -LOCAL.Y=70 -FOR 1 47 - IF (>>) - LOCAL.STORAGE=>.basestorage> - button 10 -3> 4005 4007 1 0 - dhtmlgump 47 120 20 0 0 >.NAME> - dhtmlgump 275 120 20 0 0 - dhtmlgump 350 120 20 0 0 /2> - dhtmlgump 425 120 20 0 0 >.VALUE> - LOCAL.Y += 20 - CALL f_house_RenderPlacementToolDlgPage - ENDIF -ENDFOR - +local.page = 1 +local.y = 70 +for 1 47 + if (>>) + local.Storage = >.basestorage> + button 10 -3)> 4005 4007 1 0 + dhtmlgump 47 120 20 0 0 >.name> + dhtmlgump 275 120 20 0 0 + dhtmlgump 350 120 20 0 0 /2)> + dhtmlgump 425 120 20 0 0 >.value> + local.y += 20 + call f_house_RenderPlacementToolDlgPage + endif +endfor [DIALOG d_house_placement_tool_custom_2story BUTTON] -ON=0 -SDIALOG d_house_placement_tool - -ON=1 47 -local.item=> -if ( < .VALUE>) - src.sysmessage @,,1 You cannot afford that. - return 1 -endif -SRC.f_house_placement +ONBUTTON=0 + sdialog d_house_placement_tool + +ONBUTTON=1,47 + local.item = > + if ( < .value>) + doswitch + src.sysmessage @,,1 You lack the funds avaible in your bankbox to purchase this house. Try placing a smaller house, or adding gold to your bankbox. + src.sysmessage @,,1 У вас нет денежных средств для покупки этого дома. Попробуйте построить дом поменьше или пополните свой банковский счет. + enddo + return 1 + endif + src.f_house_placement [DIALOG d_house_placement_tool_custom_3story] @@ -1622,33 +2085,35 @@ page 0 f_house_RenderPlacementToolDlgBackground page 1 -LOCAL.PAGE=1 -LOCAL.Y=70 -FOR 1 55 - IF (>>) - LOCAL.STORAGE=>.basestorage> - button 10 -3> 4005 4007 1 0 - dhtmlgump 47 120 20 0 0 >.NAME> - dhtmlgump 275 120 20 0 0 - dhtmlgump 350 120 20 0 0 /2> - dhtmlgump 425 120 20 0 0 >.VALUE> - LOCAL.Y += 20 - CALL f_house_RenderPlacementToolDlgPage - ENDIF -ENDFOR - +local.page = 1 +local.y = 70 +for 1 55 + if (>>) + local.storage = >.basestorage> + button 10 -3)> 4005 4007 1 0 + dhtmlgump 47 120 20 0 0 >.name> + dhtmlgump 275 120 20 0 0 + dhtmlgump 350 120 20 0 0 /2)> + dhtmlgump 425 120 20 0 0 >.value> + local.y += 20 + call f_house_RenderPlacementToolDlgPage + endif +endfor [DIALOG d_house_placement_tool_custom_3story BUTTON] -ON=0 -SDIALOG d_house_placement_tool - -ON=1 55 -local.item=> -if ( < .VALUE>) - src.sysmessage @,,1 You cannot afford that. - return 1 -endif -SRC.f_house_placement +ONBUTTON=0 + sdialog d_house_placement_tool + +ONBUTTON=1,55 + local.item = > + if ( < .value>) + doswitch + src.sysmessage @,,1 You lack the funds avaible in your bankbox to purchase this house. Try placing a smaller house, or adding gold to your bankbox. + src.sysmessage @,,1 У вас нет денежных средств для покупки этого дома. Попробуйте построить дом поменьше или пополните свой банковский счет. + enddo + return 1 + endif + src.f_house_placement [EOF] \ No newline at end of file diff --git a/housing/house_functions.scp b/housing/house_functions.scp index ce0f300..a755966 100644 --- a/housing/house_functions.scp +++ b/housing/house_functions.scp @@ -4,93 +4,110 @@ //**************************************************************************** VERSION=X1 -[function f_house_timer_reset_all] -local.p -for 0 254 - if (>) - src.p=0,0,0, - serv.log processing map - src.f_house_timer_activate - endif -endfor -src.p - [FUNCTION f_house_placement] -SERV.NEWITEM i_gold -NEW.TYPE=t_deed -NEW.MORE1= -NEW.CONT -NEW.REMOVEFROMVIEW -NEW.USE +serv.newitem i_gold +new.type = t_deed +new.more1 = +new.cont = +new.removefromview +new.use [FUNCTION f_house_isPlaced] -SERV.NEWITEM i_gold -NEW.P >> -NEW.REMOVEFROMVIEW -REF1= -IF && (==>) - REF1.TAG.PLACEMENT=>> -ENDIF -NEW.REMOVE - -[function f_house_timer_activate] -foritems 7168 - if (==t_multi) || (==t_multi_custom) - ref1 - ref1.timer=60*60*24* +serv.newitem i_gold +new.p = >> +new.removefromview +ref1 = +if () && ( == >) + ref1.tag.placement = >> + if () + TAG0.House_PlacementDelay = + *864000)> endif -endfor +endif +new.remove -[function f_house_can_access] +[FUNCTION f_house_can_access] ref1 = -if (== || ) - return 1 +if ( == || ) + return 1 endif local.AccessLevel = > -if (==) - if ( <= ) - return 1 - endif -elseif (==) - if ( <= ) - return 1 - endif -elseif (==) - if ( == ) - return 1 - endif -elseif (==) - if (( == )) - return 1 - endif +if ( == 0) + return 0 +elseif ( == ) + if ( <= ) + return 1 + endif +elseif ( == ) + if ( <= ) + return 1 + endif +elseif ( == ) + if ( == ) + return 1 + endif +elseif ( == ) + if (( == )) + return 1 + endif endif return 0 - -[function f_house_get_priv] -if (>) - return -elseif (> >= 0) - return -elseif (> >= 0) - return + +[FUNCTION f_house_msg_access] +if ( == house_access_owner) + doswitch + message @,,1 Owner Only + message @,,1 Только собственник + enddo +elseif ( == house_access_coowner) + doswitch + message @,,1 Co-Owners Only + message @,,1 Только совладельцы + enddo +elseif ( == house_access_friend) + doswitch + message @,,1 Friends Only + message @,,1 Только друзья + enddo +elseif ( == house_access_guild) + if + ref5 = + if + local.abbrev = >?[None]:> + endif + endif + doswitch + message @,,1 [] Members Only + message @,,1 Только члены гильдии [] + enddo +endif + +[FUNCTION f_house_get_priv] +ref1 = +if (>) + return +elseif (> >= 0) + return +elseif (> >= 0) + return elseif () - if ( == ) - local.priv=.priv> - if ((==1) || (==2)) // 1 = member, 2 = master - return - endif - endif + if ( == ) + local.priv = .priv> + if (( == 1) || ( == 2)) // 1 = member, 2 = master + return + endif + endif endif return [FUNCTION f_house_render_list] ref1 = local.list = -dhtmlgump 88 125 220 20 0 0 List <))?es:s>> / +// dhtmlgump 88 125 220 20 0 0 List <))?es:s>> / +dhtmlgump 88 125 220 20 0 0 _List> <))?es:s>> / if (strmatch(*ban*,)) local.fontcolor = -elif (strmatch(*access*,)) - local.fontcolor = +elseif (strmatch(*access*,)) + local.fontcolor = else local.fontcolor = endif @@ -99,18 +116,18 @@ local.y=170 if <))?es:s>> for 0 ))?es:s>>-1> if ((>) || (pos > >= 0) || ()) && ((strmatch(*coowner*,)) || (strmatch(*friend*,))) - if (<.>==) || (>) || () - dhtmlgump +36> +3> 120 20 0 0 <..name> + if (<.> == ) || (>) || () + dhtmlgump +36)> +3)> 120 20 0 0 <..name> if - button 4017 4018 1 0 )> + button 4017 4018 1 0 )> endif else - dhtmlgump +36> +3> 120 20 0 0 <..name> + dhtmlgump +36)> +3)> 120 20 0 0 <..name> endif elif ((>) || (> >= 0) || ()) && ((strmatch(*friend*,)) || (strmatch(*access*,)) ||(strmatch(*ban*,))) - dhtmlgump +36> +3> 120 20 0 0 <..name> + dhtmlgump +36)> +3)> 120 20 0 0 <..name> if - button 4017 4018 1 0 )> + button 4017 4018 1 0 )> endif endif local.y += 20 @@ -121,120 +138,244 @@ if <))?es:s>> endfor endif -[function f_house_render_signs] -local.y=157 -local.btn1 = 20 -local.btn2 = 50 -local.sign=2979 -buttontileart 20 132 07588 07588 1 0 2965 2965 0 -10 -5 -buttontileart 50 132 07588 07588 1 0 2966 2966 0 -10 -5 -for 1 112 - if ( > 360) - local.y=132 - local.btn1 += 60 - local.btn2 += 60 +[FUNCTION f_house_render_signs] +local.sign = + +if ! + ref1.tag.sign_dispid = & ~0a8f00000)> +endif + +dorigin 20 107 + +for 1 114 + local.c += 1 + if ( / 21) * )> == ) + local.x += 1 + local.c = 1 + dorigin * 60))> 107 + endif + local.sign += 1 + local.signid = + if ( == 2977) + local.signid = 2965 + elseif ( == 2978) + local.signid = 2966 + local.sign = + endif + + if > && ( == 0bd2) + buttontileart - *25 07588 07588 1 0 0 -10 -5 + elseif ( == 0bd1) + buttontileart +30 +25 07588 07588 1 0 0 -10 -5 endif - buttontileart 07588 07588 1 0 0 -10 -5 - local.sign +=1 - buttontileart 07588 07588 1 0 0 -10 -5 - local.sign +=1 - local._for +=1 - local.y += 25 - if ( == 3087) - local.sign = 3139 - elif ( > 3140) - return + + if ( == 3086) + local.sign = 3138 + elseif ( > 3139) + return 0 endif endfor [FUNCTION f_house_add_list] -ref1= +if ! + src.sysmessage @,,1 _InvalTrg> + return 1 +endif +ref1 = ref2 = if - if (==) - src.sysmessage @32,,1 You cannot add yourself to the list. - ref1.dialog d_house_menu + if ( == ) + doswitch - 1)> + local.list = Coowner + local.list = Friend + local.list = Ban + local.list = Access + enddo + doswitch + src.sysmessage @,,1 You cannot add yourself to the _List>. + src.sysmessage @,,1 Вы не можете добавить самого себя в _List>. + enddo + ref1.sdialog d_house_menu return 1 endif if (>) - src.sysmessage @32,,1 is the owner of this property. - ref1.dialog d_house_menu + doswitch + src.sysmessage @,,1 is the owner of this property. + src.sysmessage @,,1 имеет статус "Собственника" дома. + enddo + ref1.sdialog d_house_menu return 1 - elif (> >= 0) - src.sysmessage @32,,1 is a co-owner of this property. - src.sysmessage @32,,1 remove them from this list before adding them to another. - ref1.dialog d_house_menu + elseif (> >= 0) + doswitch + begin + src.sysmessage @,,1 is a co-owner of this property. + src.sysmessage @,,1 remove them from this list before adding them to another. + end + begin + src.sysmessage @,,1 имеет статус "Совладельца" дома. + src.sysmessage @,,1 сперва удалите его из списка совладельцев, прежде чем добавить в другой. + end + enddo + ref1.sdialog d_house_menu return 1 - elif (> >= 0) - src.sysmessage @32,,1 is a friend of this property. - src.sysmessage @32,,1 remove them from this list before adding them to another. - ref1.dialog d_house_menu + elseif (> >= 0) + doswitch + begin + src.sysmessage @,,1 is a friend of this property. + src.sysmessage @,,1 remove them from this list before adding them to another. + end + begin + src.sysmessage @,,1 имеет статус "Друга" дома. + src.sysmessage @,,1 сперва удалите его из списка друзей, прежде чем добавить в другой. + end + enddo + ref1.sdialog d_house_menu return 1 - elif (> >= 0) - src.sysmessage @32,,1 is on the access list. - src.sysmessage @32,,1 remove them from this list before adding them to another. - ref1.dialog d_house_menu + elseif (> >= 0) + doswitch + begin + src.sysmessage @,,1 is on the access list. + src.sysmessage @,,1 remove them from this list before adding them to another. + end + begin + src.sysmessage @,,1 входит в Список Доступа дома. + src.sysmessage @,,1 сперва удалите его из этого списка, прежде чем добавить в другой. + end + enddo + ref1.sdialog d_house_menu return 1 - elif (> >= 0) - src.sysmessage @32,,1 is on the bans list. - src.sysmessage @32,,1 remove them from this list before adding them to another. - ref1.dialog d_house_menu + elseif (> >= 0) + doswitch + begin + src.sysmessage @,,1 src.sysmessage @,,1 is on the bans list. + src.sysmessage @,,1 remove them from this list before adding them to another. + end + begin + src.sysmessage @,,1 входит в Список Изгнания дома. + src.sysmessage @,,1 сперва удалите его из этого списка, прежде чем добавить в другой. + end + enddo + ref1.sdialog d_house_menu return 1 - elseif == 1 - if <= - ref2.events=+e_house_count_block - ref1.AddCoowner= - src.sysmessage @52,,1 has been added as a Co-Owner for this property. - ref2.sysmessage @52,,1 You have been made a Co-Owner for this property. - ref2.events=-e_house_count_block - ref1.dialog d_house_menu + elseif ( == 1) + if ( <= ) + ref2.events +e_house_count_block + ref1.AddCoowner = + doswitch + begin + src.sysmessage @52,,1 has been added as a Co-Owner for this property. + ref2.sysmessage @52,,1 You have been made a Co-Owner for this property. + end + begin + src.sysmessage @52,,1 получил статус Совладельца дома. + ref2.sysmessage @52,,1 Вас сделали Совладельцем этого дома. + end + enddo + ref2.events -e_house_count_block + ref1.sdialog d_house_menu return 1 else - src.sysmessage @32,,1 You already have the maximum number of Co-Owners permitted for this property. () - src.sysmessage @32,,1 Remove someone from the list and try again. - ref1.dialog d_house_menu + doswitch + begin + src.sysmessage @,,1 You already have the maximum number of Co-Owners permitted for this property. () + src.sysmessage @,,1 Remove someone from the list and try again.. + end + begin + src.sysmessage @,,1 Достигнуто максимальное количество Совладельцев, разрешенное для этого типа здания. () + src.sysmessage @,,1 Удалите кого-нибудь из списка и попробуйте заново. + end + enddo + ref1.sdialog d_house_menu return 1 endif - elseif == 2 - if <= - ref2.events=+e_house_count_block - ref1.AddFriend= - src.sysmessage @52,,1 has been added as a Friend for this property. - ref2.sysmessage @52,,1 You have been made a Friend for this property. - ref2.events=-e_house_count_block - ref1.dialog d_house_menu + elseif ( == 2) + if ( <= ) + ref2.events +e_house_count_block + ref1.AddFriend = + doswitch + begin + src.sysmessage @52,,1 has been added as a Friend for this property. + ref2.sysmessage @52,,1 You have been made a Friend for this property. + end + begin + src.sysmessage @52,,1 получил статус Друга дома. + ref2.sysmessage @52,,1 Вас сделали Другом этого дома. + end + enddo + ref2.events -e_house_count_block + ref1.sdialog d_house_menu return 1 else - src.sysmessage @32,,1 You already have the maximum number of Friends permitted for this property. () - src.sysmessage @32,,1 Remove someone from the list and try again. - ref1.dialog d_house_menu + doswitch + begin + src.sysmessage @,,1 You already have the maximum number of Friends permitted for this property. () + src.sysmessage @,,1 Remove someone from the list and try again.. + end + begin + src.sysmessage @,,1 Достигнуто максимальное количество Друзей, разрешенное для этого типа здания. () + src.sysmessage @,,1 Удалите кого-нибудь из списка и попробуйте заново. + end + enddo + ref1.sdialog d_house_menu return 1 endif - elseif == 3 - if <= 10 - ref1.AddBan= - src.sysmessage @32,,1 has been banned from the property. - ref2.sysmessage @32,,1 You have been banned from this property. + elseif ( == 3) + if ( <= ) + ref1.AddBan = + doswitch + begin + src.sysmessage @,,1 has been banned from the property. + ref2.sysmessage @,,1 You have been banned from this property. + end + begin + src.sysmessage @52,,1 получил запрет нахождения на территории этого дома. + ref2.sysmessage @52,,1 Вам запретили находится на территории этого дома. + end + enddo ref2.go - ref1.dialog d_house_menu + ref1.sdialog d_house_menu return 1 else - src.sysmessage @32,,1 Your Ban list is full. - src.sysmessage @32,,1 Remove someone from the list and try again. - ref1.dialog d_house_menu + doswitch + begin + src.sysmessage @,,1 Your Ban list is full. + src.sysmessage @,,1 Remove someone from the list and try again. + end + begin + src.sysmessage @,,1 Список лиц, которым запрещено находится на территории дома, переполнен. + src.sysmessage @,,1 Удалите кого-нибудь из списка и попробуйте заново. + end + enddo + ref1.sdialog d_house_menu return 1 endif - elseif == 4 - if <= 10 - ref1.AddAccess= - src.sysmessage @52,,1 has been granted access to the property. + elseif ( == 4) + if ( <= ) + ref1.AddAccess = + doswitch + begin + src.sysmessage @52,,1 has been granted access to the property. ref2.sysmessage @52,,1 You have been granted access to the property. - ref1.dialog d_house_menu + end + begin + src.sysmessage @52,,1 был предоставлен доступ на территорию дома. + ref2.sysmessage @52,,1 Вам был предоставлен доступ на территорию дома. + end + enddo + ref1.sdialog d_house_menu return 1 else - src.sysmessage @32,,1 Your Access list is full. - src.sysmessage @32,,1 Remove someone from the list and try again. - ref1.dialog d_house_menu + doswitch + begin + src.sysmessage @,,1 Your Access list is full. + src.sysmessage @,,1 Remove someone from the list and try again. + end + begin + src.sysmessage @,,1 Список лиц, которым разрешено находится на территории дома, переполнен. + src.sysmessage @,,1 Удалите кого-нибудь из списка и попробуйте заново. + end + enddo + ref1.sdialog d_house_menu return 1 endif endif @@ -242,11 +383,11 @@ endif [FUNCTION f_house_open] args = -foritems +)> - if (==t_door) || (==t_door_locked) || (==t_telepad) - ref1= +foritems +)> + if ( == t_door) || ( == t_door_locked) || ( == t_telepad) + ref1 = if - ref1.tag.access= + ref1.tag.access = endif endif endfor @@ -256,693 +397,692 @@ delcoowner -1 delfriend -1 [FUNCTION f_house_hs_buy_storage] -ref1= +ref1 = local.value = if () - src.sysmessage @32,,1 This house is scheduled for demolition and cannot be upgraded. - return 1 -endif -if ( >= ) - src.gold -= - tag0.boughtstorage += - if (==)? /8)>:8)>>) - local.storage=25 - elif (==)? /4>:/4>>) - local.storage=50 - elif (==)? /8)*3)>:/8)*3)>>) - local.storage=75 - else - local.storage=100 - endif - IncreasedStorage += - src.sysmessage @,,1 gp has been deducted from your bank to pay for this upgrade. -else - src.sysmessage @32,,1 You do not have the funds to pay for this storage upgrade. + doswitch + src.sysmessage @,,1 This house is scheduled for demolition and cannot be upgraded. + src.sysmessage @,,1 Этот дом запланирован к сносу и по этой причине не может быть модернизирован. + enddo return 1 endif +if ( < ) + doswitch + src.sysmessage @,,1 You lack the funds to pay for this storage upgrade. + src.sysmessage @,,1 У вас нет денежных средств для оплаты данного улучшения Хранилища. + enddo + return 1 +endif +src.gold -= +tag0.boughtstorage += +if ( == )? /8)>:/8)>>) + local.storage = 25 +elseif ( == )? /4)>:/4)>>) + local.storage = 50 +elseif ( == )? /8)*3)>:/8)*3)>>) + local.storage = 75 +else + local.storage = 100 +endif +IncreasedStorage += +doswitch + src.sysmessage @,,1 gp has been deducted from your bank to pay for this upgrade. + src.sysmessage @,,1 gp были списана с вашего банковского счета для оплаты этого улучшения. +enddo -[function f_house_item_lock] -ref1= -if !(> || > >= 0 || > >= 0 || ) // Double check to prevent players to get the target on their house and use it on another. - sysmessage You must be in your house to do that. +[FUNCTION f_house_item_lock] +ref1 = +if !(> || (> >= 0) || (> >= 0) || ) // Double check to prevent players to get the target on their house and use it on another. return 1 endif if - if >= - sysmessage @32,,1 Your house reached its storage limit. + if ( >= ) + doswitch + sysmessage @,,1 Your house reached its storage limit. + sysmessage @,,1 В вашем доме закончился объем Хранилища. + enddo return 1 endif endif -if ( && ==) +if () && ( == ) if - argo.message @,,2 501719 // This is already locked down! + doswitch + argo.message @,,2 This is already locked down! + argo.message @,,1 Этот предмет уже закреплен! + enddo return 1 endif if - sysmessage @,,2 501729 // This item cannot be locked down. + doswitch + sysmessage @,,2 You cannot lockdown items inside other containers. + sysmessage @,,1 Предметы внутри контейнеров не могут быть закреплены. + enddo return 1 endif if - sysmessage @,,1 You cannot lockdown containers, use secure instead. + doswitch + sysmessage @,,1 You cannot lockdown containers, use secure instead. + sysmessage @,,1 Вы не можете закреплять контейнеры, вместо этого используйте функцию Secure. + enddo return 1 endif ref1.lockitem - argo.message @,,2 501721 // Locked down! - if ((&attr_decay) && ( >= 0)) - argo.tag.decay=1 - argo.timer -1 + doswitch + argo.message @,,2 501721 // Locked down! + argo.message @,,1 Предмет закреплен! + enddo + if (( & attr_decay) && ( >= 0)) + argo.tag.decay = 1 + argo.timer = -1 argo.attr &= ~attr_decay if (> >= 0) - argo.tag.lockedby + argo.tag.lockedby = endif endif argo.resendtooltip 1,0 endif - -[function f_house_item_unlock] -ref1= + +[FUNCTION f_house_item_unlock] +ref1 = if !(> || (> >= 0) || (> >= 0) || ) // Double check to prevent players to get the target on their house and use it on another. - return 1 + return 1 endif if (> = 0) && ((>) || ()) ref1.release - argo.tag.access= - argo.message @,,2 501718 // No longer secure! -elif ( && ==) + argo.tag.access = + doswitch + argo.message @,,2 501718 // No longer secure! + argo.message @,,1 Контейнер больше ненадежен! + enddo +elseif () && ( == ) if (> >= 0) && ( != ) - sysmessage @32,,1 Friends can only unlock items if they are locked them. + doswitch + sysmessage @,,1 Friends can only unlock items if they are locked them. + sysmessage @,,1 Друзья дома могут откреплять только те предметы, что сами же закрепили. + enddo return 1 endif ref1.unlockitem - tag.lockedby= - argo.message @,,2 501726 // No longer locked down! + tag.lockedby = + doswitch + argo.message @,,2 501726 // No longer locked down! + argo.message @,,1 Предмет больше не закреплен! + enddo endif if () - argo.tag.decay= - argo.timer *60> + argo.tag.decay = + argo.timer = *60)> argo.attr |= attr_decay endif argo.resendtooltip 1,0 -[function f_house_item_secure] -ref1= +[FUNCTION f_house_item_secure] +ref1 = if !(> || (> >= 0) || ) // Double check to prevent players to get the target on their house and use it on another. - sysmessage @32,,1 Only owner and co-owner can secure items. - return 1 + doswitch + sysmessage @,,1 Only owner and co-owner can secure items. + sysmessage @,,1 Только собственник и совладельцы могут обезопасить предметы + enddo + return 1 endif if - if ( >= ) || (+1> >= ) - sysmessage @32,,1 Your house reached its storage limit. + if ( >= ) || ( + 1)> >= ) + doswitch + sysmessage @,,1 Your house reached its storage limit. + sysmessage @,,1 В вашем доме закончился объем Хранилища. + enddo return 1 endif endif if ! + src.sysmessage @,,1 _InvalTrg> return 1 -endif -if ( && ==) - if () - ref1.secure - argo.tag.access = 1 - argo.message @,,2 501716 // Secure! - if ((&attr_decay) && ( >= 0)) - argo.tag.decay=1 - argo.timer -1 - argo.attr &= ~attr_decay - endif - argo.resendtooltip 1 - else - sysmessage @,,2 501712. // This isn't a container! - endif -endif - - -[function f_d_house_secure] -ref1= -if == - if (==t_door) || (==t_door_locked) || (==t_telepad) - if || - dialogclose d_house_secure - argo.sdialog d_house_secure - endif - elif () - if - dialogclose d_house_secure - argo.sdialog d_house_secure - else - src.sysmessage @32,,1 You can only modify containers which are secured. - return 1 - endif - endif -else - src.sysmessage @32,,1 You can only modify items which are in your house. +elseif !() + src.sysmessage @,,1 _InvalTrg> return 1 endif - -[FUNCTION f_house_eject] -ref1= -ref2= -if ! - src.sysmessage @32,,1 Invalid Target. - return 1 -elif == - src.sysmessage @32,,1 You cannot eject yourself from this property. - return 1 -elif != - src.sysmessage @32,,1 That person is not in your house. +if ( != ) + doswitch + sysmessage @,,1 You should be located in the region of the house. + sysmessage @,,1 Вы должны находится на территории дома. + enddo return 1 -elif (> || (> >= 0) || (> >= 0) || ) - src.sysmessage @32,,1 You cannot eject this person. +elseif !() + doswitch + sysmessage @,,2 501712. // This isn't a container! + sysmessage @,,1 Обезопасить можно только контейнеры. + enddo return 1 -else - argo.go .p> endif +ref1.secure +argo.tag.access = > +argo.message @,,2 501716 // Secure! +doswitch + argo.message @,,2 501716 // Secure! + argo.message @,,1 Контейнер теперь надёжен! +enddo +if (( & attr_decay) && ( >= 0)) + argo.tag.decay = 1 + argo.timer = -1 + argo.attr &= ~attr_decay +endif +argo.resendtooltip 1 -[FUNCTION f_house_declare_guild] -if () || () - src.sysmessage @32,,1 That is not allowed +[FUNCTION f_d_house_secure] +if ! + src.sysmessage @,,1 _InvalTrg> + return 1 +elseif !() + src.sysmessage @,,1 _InvalTrg> return 1 endif -if (!=t_stone_guild) - src.sysmessage @32,,1 That is not allowed +ref1 = +if ( != ) + doswitch + src.sysmessage @,,1 You can only modify items which are in your house. + src.sysmessage @,,1 Только собственник может модифицировать предметы в этом доме. + enddo return 1 endif -if (==t_stone_guild) && (==) - ref1.tag.is_guild= - ref1.resendtooltip - src.sysmessage @,,1 All .name> guild members now have access to this building. - src.sysmessage @,,1 Don't forget to set your door codes if areas are/need to be restricted. +if ( == t_door) || ( == t_door_locked) || ( == t_telepad) + if || + dialogclose d_house_secure + argo.sdialog d_house_secure + endif +elseif () + if + dialogclose d_house_secure + argo.sdialog d_house_secure + else + doswitch + src.sysmessage @,,1 You can only modify containers which are secured. + src.sysmessage @,,1 Можно модифицировать только надежные контейнеры. + enddo + return 1 + endif endif -[FUNCTION f_house_moven] -ref1= -if (==) || () - src.sysmessage @32,,1 You cannot move that. +[FUNCTION f_house_eject] +if ! + src.sysmessage @,,1 _InvalTrg> return 1 -elif (==) - src.sysmessage @32,,1 You cannot move that. +elseif ! + src.sysmessage @,,1 _InvalTrg> return 1 endif -if () - src.sysmessage @32,,1 That would be hillarious... but I am afraid we can't allow it. +ref1 = +ref2 = +if ( == ) + doswitch + src.sysmessage @,,1 You cannot eject yourself from this property. + src.sysmessage @,,1 Невозможно удалить с территории дома самого себя. + enddo + ref1.sdialog d_house_menu return 1 -endif -ref8= -if ( == ) - ref8.move 0,-1,0 - ref8.update +elseif ( != ) + doswitch + src.sysmessage @,,1 That person is not in your house. + src.sysmessage @,,1 Этот персонаж не находится на территории вашего дома. + enddo + ref1.sdialog d_house_menu return 1 -else - src.sysmessage @32,,1 You cannot move this any further. +elseif (> || (> >= 0) || (> >= 0) || ) + doswitch + src.sysmessage @,,1 You cannot eject person with this level of access. + src.sysmessage @,,1 Невозможно удалить персонажей с таким уровнем доступа. + enddo + ref1.sdialog d_house_menu return 1 +else + argo.go .p> endif -[FUNCTION f_house_moves] -ref1= -if (==) || () - src.sysmessage @32,,1 You cannot move that. +[FUNCTION f_house_declare_guild] +if ! + src.sysmessage @,,1 _InvalTrg> return 1 -elif (==) - src.sysmessage @32,,1 You cannot move that. +elseif !() + src.sysmessage @,,1 _InvalTrg> return 1 endif -if () - src.sysmessage @32,,1 That would be hillarious... but I am afraid we can't allow it. +if ( != t_stone_guild) + doswitch + sysmessage @,,1 A guildstone must be specified as the target. + sysmessage @,,1 В качестве цели нужно указать гильдийный камень. + enddo return 1 endif -ref8= -if ( == ) - ref8.move 0,1,0 - ref8.update - return 1 -else - src.sysmessage @32,,1 You cannot move this any further. +ref1 = +if ( != ) || ( != ) + doswitch + sysmessage @,,1 Guildstone should be located in the region of the house. + sysmessage @,,1 Гильдийный камень должен находится на территории дома. + enddo return 1 endif +if ( == t_stone_guild) + ref1.housetype = + ref1.tag.is_guild = + ref1.resendtooltip + doswitch + begin + src.sysmessage @,,1 All guild members now have access to this building. + if (() && ()) // If keys are used, let the server check them. + src.sysmessage @,,1 Don't forget to set security level and lock the doors if areas are/need to be restricted. + else + src.sysmessage @,,1 Don't forget to set security level if areas are/need to be restricted. + endif + end + begin + src.sysmessage @,,1 Все члены гильдии получают доступ на территорию дома. + if (() && ()) // If keys are used, let the server check them. + src.sysmessage @,,1 Не забудьте установить уровни доступа и запереть двери, если хотите ограничить доступ. + else + src.sysmessage @,,1 Не забудьте установить уровни доступа, если хотите ограничить доступ. + endif + end + enddo +endif -[FUNCTION f_house_movee] -ref1= -if (==) || () - src.sysmessage @32,,1 You cannot move that. - return 1 -elif (==) - src.sysmessage @32,,1 You cannot move that. + +[FUNCTION f_house_movecheck] +ref2 = +if ! + src.sysmessage @,,1 _InvalTrg> return 1 endif -if () - src.sysmessage @32,,1 That would be hillarious... but I am afraid we can't allow it. +ref1 = +if ( == ) || () + doswitch + src.sysmessage @,,1 You cannot move that. + src.sysmessage @,,1 Вы не можете передвинуть этот объект. + enddo + return 1 +elseif ( == ) + doswitch + src.sysmessage @,,1 You cannot move locked items. + src.sysmessage @,,1 Вы не можете передвигать закрепленные предметы. + enddo return 1 endif -ref8= -if ( == ) - ref8.move 1,0,0 - ref8.update +if () + doswitch + src.sysmessage @,,1 You cannot move items inside other containers. + src.sysmessage @,,1 Вы не можете передвигать предметы внутри других контейнеров. + enddo return 1 -else - src.sysmessage @32,,1 You cannot move this any further. +endif +if ( != ) + doswitch + src.sysmessage @,,1 You cannot move items located outside the house. + src.sysmessage @,,1 Вы не можете двигать предметы, расположенные вне территории дома. + enddo return 1 endif +return 0 -[FUNCTION f_house_movew] -ref1= -if (==) || () - src.sysmessage @32,,1 You cannot move that. - return 1 -elif (==) - src.sysmessage @32,,1 You cannot move that. +[FUNCTION f_house_moveN] +if > return 1 endif -if () - src.sysmessage @32,,1 That would be hillarious... but I am afraid we can't allow it. - return 1 +local.place = +argo.removefromview +argo.move 0,-1,0 +if ( != ) + argo.p = + doswitch + src.sysmessage @,,1 You cannot move items outside the house site. + src.sysmessage @,,1 Вы не можете передвигать предметы за пределы дома. + enddo endif -ref8= -if ( == ) - ref8.move -1,0,0 - ref8.update - return 1 -else - src.sysmessage @32,,1 You cannot move this any further. +argo.update + +[FUNCTION f_house_moveS] +if > return 1 endif +local.place = +argo.removefromview +argo.move 0,1,0 +if ( != ) + argo.p = + doswitch + src.sysmessage @,,1 You cannot move items outside the house site. + src.sysmessage @,,1 Вы не можете передвигать предметы за пределы дома. + enddo +endif +argo.update -[FUNCTION f_house_flip] // unused function? -ref1= -if (==) || () - src.sysmessage @32,,1 You cannot flip that. - return 1 -elif (==) - src.sysmessage @32,,1 You cannot flip that. +[FUNCTION f_house_moveE] +if > return 1 endif -if () - src.sysmessage @32,,1 That would be hillarious... but I am afraid we can't allow it. - return 1 +local.place = +argo.removefromview +argo.move 1,0,0 +if ( != ) + argo.p = + doswitch + src.sysmessage @,,1 You cannot move items outside the house site. + src.sysmessage @,,1 Вы не можете передвигать предметы за пределы дома. + enddo endif -ref8= -ref8.flip -return 1 +argo.update -[function f_house_visitor_count] -ref1 = -if && !(> || ) // > >= 0 || > >= 0 - uid..more2 += 1 +[FUNCTION f_house_moveW] +if > + return 1 +endif +local.place = +argo.removefromview +argo.move -1,0,0 +if ( != ) + argo.p = + doswitch + src.sysmessage @,,1 You cannot move items outside the house site. + src.sysmessage @,,1 Вы не можете передвигать предметы за пределы дома. + enddo endif +argo.update [FUNCTION f_house_transfer] -if ! || == - src.sysmessage @,,1 Invalid Target. +if ! + src.sysmessage @,,1 _InvalTrg> + return 1 +elseif ! + src.sysmessage @,,1 _InvalTrg> + return 1 +elseif ( == ) + doswitch + src.sysmessage @,,1 You cannot transfer house to yourself. + src.sysmessage @,,1 Вы не можете передать дом самому себе. + enddo return 1 endif -ref1= + if !( < ) - src.sysmessage @,,1 already has the maximum number of houses: + doswitch + src.sysmessage @,,1 already own the maximum number of houses permitable. + src.sysmessage @,,1 владеет предельным количеством домов. + enddo return 1 endif -src.sysmessage @,,1 Please wait until accept the trade. -if () - sysmessage @,,1 You already have a trade window open. +if () + doswitch + begin + src.sysmessage @,,1 have a trade window open. + argo.sysmessage @,,1 To continue the trade, you should close the trading window. + end + begin + src.sysmessage @,,1 Сперва должен закрыть окно торговли. + argo.sysmessage @,,1 Для продолжения сделки вы должны закрыть окно торговли. + end + enddo return 1 -elif () - src.sysmessage @,,1 You already have a trade window open. +elseif () + doswitch + src.sysmessage @,,1 You already have a trade window open. + src.sysmessage @,,1 Сперва закройте окно торговли. + enddo return 1 endif -src.events=+e_house_transfer -argo.events=+e_house_transfer -serv.newitem i_deed -new.attr=attr_move_never -new.color=0480 -new.link= -new.more1= -new.type=t_trade_house_deed +doswitch + src.sysmessage @,,1 Please wait until accept the trade. + src.sysmessage @,,1 Подождите пока подтвердит сделку. +enddo +ref1 = +src.events +e_house_transfer +argo.events +e_house_transfer +serv.newitem i_house_transfer +new.dispid = i_deed +new.attr = attr_move_never +new.color = 0480 +new.link = +new.type = t_trade_house_deed +new.more = new.timerf 2,trigger @Timer src.trysrc f_TradeWindow -[FUNCTION f_TradeWindow] //Credits to Terrikate for provide the function engine -REF1= -REF2= -REF3= -if (==) || !(() && ()) +[FUNCTION f_TradeWindow] +ref1 = +ref2 = +ref3 = +if ( == ) || !(() && ()) return 1 endif for 2 - SERV.NEWITEM i_bulletin_board - LOCAL.TRADE_WINDOW_= - NEW.TYPE t_eq_trade_window - REF.EQUIP + serv.newitem i_bulletin_board + local.trade_window_ = + new.type = t_eq_trade_window + ref.equip endfor -UID..LINK= -UID..LINK= -REF1.SENDPACKET 06F W02F B0 D D D 01 > -REF2.SENDPACKET 06F W02F B0 D D D 01 > -if () - REF3.CONT= +uid..link = +uid..link = +ref1.sendpacket 06f w02f b0 d d d 01 > +ref2.sendpacket 06f w02f b0 d d d 01 > +if () + ref3.cont = endif [FUNCTION f_TradeWindow_PacketSplit] -LOCAL.LENGTH=)> -ARGS=> -for )> +local.length = )> +args = > +for )> ARGS .= " 00" endfor return [FUNCTION f_house_swap] -ref2= -if (==m_tower) - local.xy=16x14 +ref2 = +if ( == m_tower) + local.xy = 16x14 else args = - local.left= - local.top= - local.right= - local.bottom= - local.x - ) + 1> - local.y - ) + 1> - local.x /= 2 - local.y /= 2 - local.x=> - local.y=> - local.x=> - local.y=> - local.xy x -endif -forchars +)/2)+2)> - if (==) - if (strmatch(,)) || (strmatch(,)) - src.sysmessage @32,,1 Warning! There are vendors in the building. - src.sysmessage @32,,1 To continue, remove them and select convert again. + local.left = + local.top = + local.right = + local.bottom = + local.x = - ) + 1)> + local.y = - ) + 1)> + local.x /= 2 + local.y /= 2 + local.x = > + local.y = > + local.x = > + local.y = > + local.xy = x +endif +FORCHARS +)/2)+2)> + if ( == ) + if (strmatch(,)) || (strmatch(,)) + doswitch + begin + src.sysmessage @,,1 Warning! There are vendors in the building. + src.sysmessage @,,1 To continue, remove them and select convert again. + end + begin + src.sysmessage @,,1 Внимание! На территории дома присутствуют продавцы. + src.sysmessage @,,1 Чтобы продолжить, удалите их и снова повторите запрос. + end + enddo return 1 endif endif -endfor -if (+> < .value>) - local.extra=.value>-+)>> - if ( >= ) +ENDFOR +if (+)> < .value>) + local.extra = .value>-(+))> + if ( >= ) ref2.gold -= ref2.sysmessage @,,1 gp has been deducted from your bank for this conversion. - local.p=

- local.buildon= - local.transfer= + local.p =

+ local.buildon = + local.transfer = remove serv.newitem m_foundation_ - new.p + new.p = new.multicreate new.owner - new.tag0.convert=1 - new.tag.buildon= - new.tag.lasttransfer= - ref2.sysmessage @,,1 The number of houses you own is now + new.tag0.convert = 1 + if ( > 0) + new.tag.buildon = + endif + if ( > 0) + new.tag.lasttransfer = + endif + doswitch + ref2.sysmessage @,,1 The number of houses you own is now + ref2.sysmessage @,,1 Количество домов, которыми вы владеете, теперь равно . + enddo else - src.sysmessage @32,,1 You lack the funds to convert this house. + doswitch + src.sysmessage @,,1 You lack the funds to convert this house. + src.sysmessage @,,1 У вас нет денежных средств, чтобы переоборудовать этот дом. + enddo return 1 endif else - local.total=+)-.value>)> + local.total = +)-.value>)> ref2.gold += - ref2.sysmessage @,,1 You have been refunded the difference of gp for this conversion. - local.p=

- local.buildon= - local.transfer= + doswitch + ref2.sysmessage @,,1 You have been refunded the difference of gp for this conversion. + ref2.sysmessage @,,1 Вам была возвращена разница в размере gp. + enddo + local.p =

+ local.buildon = + local.transfer = remove serv.newitem m_foundation_ new.p new.multicreate new.owner - new.tag0.convert=1 - new.tag.buildon= - new.tag.lasttransfer= - ref2.sysmessage @,,1 The number of houses you own is now + new.tag0.convert = 1 + if ( > 0) + new.tag.buildon = + endif + if ( > 0) + new.tag.lasttransfer = + endif + doswitch + ref2.sysmessage @,,1 The number of houses you own is now . + ref2.sysmessage @,,1 Количество домов, которыми вы владеете, теперь равно . + enddo endif [FUNCTION f_house_isInside] ref1 = -if ((==t_multi) || (==t_multi_custom)) - return 1 -endif -return 0 - -[FUNCTION f_house_checkPlacement] -REF1=//Owner -if ! - return 1 -endif -if - if () - REF1.SYSMESSAGE @,,1 Bu alana evi kuramassınız.. // FIXME: translate to english! - if !() - link.redeed - return 1 - endif - endif -endif -trysrc DIALOG d_house_placement - -//////////////////////////////////////////////////////////////////////////////////////////Custom Placement check//////////////////////////////////////////////////////////////////////////////////// -[FUNCTION f_house_checkNearArea] -return 0 -ref1= -ARGS= -SERV.NEWNPC c_pig -NEW.FLAGS=statf_invul|statf_insubstantial - -for 0 7 - NEW.P= - doswitch - NEW.MOVE - NEW.MOVE 0 - NEW.MOVE - NEW.MOVE 0 - NEW.MOVE - NEW.MOVE 0 - NEW.MOVE - NEW.MOVE 0 - enddo - doswitch - LOCAL.CLEAR= - LOCAL.CLEAR= - LOCAL.CLEAR= - LOCAL.CLEAR= - LOCAL.CLEAR= - LOCAL.CLEAR= - LOCAL.CLEAR= - LOCAL.CLEAR= - enddo - if () || !() - NEW.REMOVE - return 1 - endif -endfor - -for 0 7 - NEW.P=.P> - doswitch - NEW.MOVE +1> +1> - NEW.MOVE 0 +1> - NEW.MOVE -1> +1> - NEW.MOVE -1> 0 - NEW.MOVE -1> -1> - NEW.MOVE 0 -1> - NEW.MOVE +1> -1> - NEW.MOVE +1> 0 - enddo - if () - NEW.REMOVE - return 1 - endif -endfor - - LOCAL.AREA=3 // - for 0 7 - NEW.P=.P> - doswitch - NEW.MOVE +(*-1)> +(*-1)> - NEW.MOVE 0 +(*-1)> - NEW.MOVE +> +(*-1)> - NEW.MOVE +> 0 - NEW.MOVE +> +> - NEW.MOVE 0 +> - NEW.MOVE +(*-1)> +> - NEW.MOVE +(*-1)> 0 - enddo - if STRMATCH("t_multi*",".TYPE>") - NEW.REMOVE - return 2 - endif - endfor - LOCAL.FRONT= - for 0 5 - NEW.P=.P> - doswitch - NEW.MOVE +> - NEW.MOVE 0 +> - NEW.MOVE +> - NEW.MOVE +(*-1)> - NEW.MOVE 0 +(*-1)> - NEW.MOVE +(*-1)> - enddo - if STRMATCH("t_multi*",".TYPE>") - NEW.REMOVE - return 3 - endif - endfor -NEW.REMOVE -return 0 - - -[FUNCTION f_isOnRoad] -LOCAL.TERRAIN=,,).TERRAIN> -if ( >= 113) && ( <= 140) - return 1 -elif ( >= 232) && ( <= 235) - return 1 -elif ( >= 332) && ( <= 335) +if (( == t_multi) || ( == t_multi_custom)) return 1 -elif ( >= 353) && ( <= 372) - return 1 -elif ( >= 496) && ( <= 499) - return 1 -elif ( >= 622) && ( <= 633) - return 1 -elif ( >= 638) && ( <= 641) - return 1 -elif ( >= 804) && ( <= 940) - return 1 -elif ( >= 1351) && ( <= 1366) - return 1 -elif ( >= 1431) && ( <= 1446) - return 1 -elif ( >= 1966) && ( <= 1969) - return 1 -elif ( >= 1090) && ( <= 1145) // Sand stones - return 1 -elif ( >= 1281) && ( <= 1296) // Sand stones - return 1 -elif ( >= 9) && ( <= 21) // Furrows - return 1 -elif ( >= 336) && ( <= 348) // Furrows - return 1 -else - return 0 -endif - -[FUNCTION f_house_floor] -serv.log ---- ,,).TERRAIN.Z>+5> ---- ,,).TERRAIN.Z> ---- -,,).TERRAIN.Z>+5>)/20> -LOCAL.TERRAIN=,,).TERRAIN.Z>+7> -if ( > ) - return -)/20> endif return 0 -[FUNCTION f_multi_onplacement_check] -//local values = west, north, east, south -local.check_blockradius=-1,-1,1,1 -local.check_multiradius=0,-5,0,5 - -if () - args=.multiregion> - local.left= - local.top= - local.max_x= + > - local.max_y= + > - serv.newnpc=c_man_invisible - new.flags |= statf_invisible - new.p= - new.move , - - for py 1 - for px 1 - if () - new.remove - return 1 - endif - new.move 1 - endfor - new.move - 1 - endfor - new.remove -endif - - -// args = -// foritems - [FUNCTION f_house_box] // src.f_house_box -ref1= -args= -local.m=+)> +ref1 = +args = +local.m = +)> if > || - local.x=30 - ref3= - serv.newitem=i_crate_lg,1, - new.contp=,30 - ref2= - foritems - if == && > && !(=t_multi || =t_multi_custom) - if - ref1.release - tag.access= - endif - if - ref1.unlockitem - tag.lockedby= - tag.multilockdown= - endif - if - link=04fffffff - endif - if !> - tag.decay= - timer *60> - attr |= attr_decay - endif - if & 010 - if ==t_stone_guild - p= - else - if !> // custom house addons - serv.newitem=,1, + local.x = 30 + ref3 = + serv.newitem i_crate_lg,1, + new.contp = ,30 + ref2 = + FORITEMS + if ( == ) && (>) && !( == t_multi || == t_multi_custom) + if + ref1.release + tag.access = + endif + if + ref1.unlockitem + tag.lockedby = + tag.multilockdown = + endif + if + link = 04fffffff + endif + if !> + tag.decay = + timer = *60)> + attr |= attr_decay + endif + if ( == t_stone_guild) + p = + elseif ( & 010) + if !> // custom house addons + serv.newitem = ,1, endif remove + else + local.itemcount +=1 + cont = + endif + if ( >= 250) + local.x += 30 + serv.newitem = i_crate_lg,1, + new.contp = ,30 + ref2 = endif - else - cont= - endif - if >= 250 - local.x += 30 - serv.newitem=i_crate_lg,1, - new.contp=,30 - ref2= endif + ENDFOR + if ( == 0) + ref2.remove endif - endfor endif [FUNCTION f_house_remove_allitems] // src.f_house_remove_allitems -ref1= // -args= -local.m=+)> +ref1 = +args = +local.m = +)> if > || - foritems - if == && > && !(=t_multi || =t_multi_custom) - if - ref1.release // in case function is used without removing house, to not mess counters - endif - if - ref1.unlockitem - endif - if =t_stone_guild - p= - else - remove + FORITEMS + if ( == ) && (>) && !( == t_multi || == t_multi_custom) + if + ref1.release // in case function is used without removing house, to not mess counters + endif + if + ref1.unlockitem + endif + if ( == t_stone_guild) + p = + else + remove + endif endif - endif - endfor + ENDFOR endif [FUNCTION f_house_dialog] // f_house_dialog x,y,w,h resizepic -gumppictiled +4> +6> -9> -10> 2624 -checkertrans +4> +6> -9> -10> +gumppictiled +4)> +6)> -9)> -10)> 2624 +checkertrans +4)> +6)> -9)> -10)> +[FUNCTION f_house_init] //ref1 - sign //ref2 - house //ref3 - owner +// if ( == -1) + // timer = 3600 + // if ! + // if + // message @,,1 : таймер возобновлен + // endif + // endif +// endif +if !() + tag.region_name = + tag.kingdom = + tag.kingdom_name = + + call f_return_todate + ref2.tag.buildon = + if ( & 02) + ref2.tag.lasttransfer = + endif + + ref2.tag.sign = + tag.sign_dispid = & ~0a8f00000)> +endif +if !() + tag.update_time = +endif +if !() + tag.update_date = - (( - ) / 864000))> +endif -[EOF] \ No newline at end of file +[EOF] diff --git a/housing/house_speech.scp b/housing/house_speech.scp index 333522f..fbac130 100644 --- a/housing/house_speech.scp +++ b/housing/house_speech.scp @@ -11,7 +11,10 @@ ON=lock this* return 0 else src.targetf f_house_item_lock - src.message @,,1 What do you wish to lockdown? + doswitch + src.message @,,1 What do you wish to lockdown? + src.message @,,1 Укажите, что вы хотите закрепить? + enddo return 1 endif @@ -21,17 +24,36 @@ ON=release this* return 0 else src.targetf f_house_item_unlock - src.message @,,1 What do you wish to release? + doswitch + src.message @,,1 What do you wish to release? + src.message @,,1 Укажите, что вы хотите открепить? + enddo return 1 endif +// ON=flip this* + // ref1 = + // if !(> || > >= 0 || > >= 0 || ) + // return 0 + // else + // src.targetf f_house_item_flip + // doswitch + // src.message @,,1 What do you wish to flip? + // src.message @,,1 Укажите, что вы хотите повернуть? + // enddo + // return 1 + // endif + ON=secure this* ref1 = - if !(> || > >= 0 || > >= 0 || ) + if !(> || > >= 0 || ) //> >= 0 || return 0 else src.targetf f_house_item_secure - src.message @,,1 What do you wish to secure? + doswitch + src.message @,,1 What do you wish to secure? + src.message @,,1 Укажите, что вы хотите охранять? + enddo return 1 endif @@ -40,8 +62,11 @@ ON=move north* if !(> || > >= 0 || > >= 0 || ) return 0 else - src.targetf f_house_moven - src.message @,,1 What do you wish to move? + src.targetf f_house_moveN + doswitch + src.message @,,1 What do you wish to move? + src.message @,,1 Укажите, что вы хотите подвинуть? + enddo return 1 endif @@ -50,8 +75,11 @@ ON=move south* if !(> || > >= 0 || > >= 0 || ) return 0 else - src.targetf f_house_moves - src.message @,,1 What do you wish to move? + src.targetf f_house_moveS + doswitch + src.message @,,1 What do you wish to move? + src.message @,,1 Укажите, что вы хотите подвинуть? + enddo return 1 endif @@ -60,8 +88,11 @@ ON=move east* if !(> || > >= 0 || > >= 0 || ) return 0 else - src.targetf f_house_movee - src.message @,,1 What do you wish to move? + src.targetf f_house_moveE + doswitch + src.message @,,1 What do you wish to move? + src.message @,,1 Укажите, что вы хотите подвинуть? + enddo return 1 endif @@ -70,18 +101,11 @@ ON=move west* if !(> || > >= 0 || > >= 0 || ) return 0 else - src.targetf f_house_movew - src.message @,,1 What do you wish to move? - return 1 - endif - -ON=release this* - ref1 = - if !(> || > >= 0 || > >= 0 || ) - return 0 - else - targetf, f_release - src.message @,,1 What do you wish to release? + src.targetf f_house_moveW + doswitch + src.message @,,1 What do you wish to move? + src.message @,,1 Укажите, что вы хотите подвинуть? + enddo return 1 endif @@ -92,7 +116,10 @@ ON=bank* return 0 else src.bankself - src.sysmessage @,,1 You have gold in your Bank Box. + doswitch + src.sysmessage @,,1 You have > gold in your Bank Box. + src.sysmessage @,,1 На вашем банковском счету находится > gp + enddo return 1 endif endif @@ -103,7 +130,10 @@ ON=eject* return 0 else src.targetf f_house_eject - src.message @,,1 Select player to eject + doswitch + src.message @,,1 Select player to eject. + src.message @,,1 Укажите персонажа, которого вы хотите удалить с территории дома. + enddo return 1 endif @@ -113,7 +143,10 @@ ON=Ban Person* return 0 else src.targetf f_house_add_list ban - src.message @,,1 Select player to ban + doswitch + src.message @,,1 Select player to ban. + src.message @,,1 Укажите персонажа, которого вы хотите изгнать с территории дома. + enddo return 1 endif @@ -123,12 +156,15 @@ ON=Place trashcan* return 0 else if () - sysmessage @32,,1 You already have a trashcan. + doswitch + src.message @,,1 You already have a trashcan. + src.message @,,1 На территории дома уже установлена мусорная корзина. + enddo else serv.newitem i_trashcan - new.p=

- new.attr=attr_move_never - ref1.tag0.trashcan= + new.p = + new.attr = attr_move_never + ref1.tag0.trashcan = endif return 1 endif @@ -139,10 +175,13 @@ ON=Remove trashcan* return 0 else if () - try uid..remove - ref1.tag.trashcan + try uid..remove + ref1.tag.trashcan = else - sysmessage @32,,1 You have no trashcan to remove. + doswitch + src.message @,,1 You have no trashcan to remove. + src.message @,,1 На территории дома нет мусорной корзины. + enddo endif return 1 endif diff --git a/housing/house_tools.scp b/housing/house_tools.scp index 1c88b51..1475dfa 100644 --- a/housing/house_tools.scp +++ b/housing/house_tools.scp @@ -12,31 +12,33 @@ VALUE=600 DUPELIST=014f5 ON=@DClick -if ( != ) - src.sysmessage @,,1 The item must be in your backpack. - return 1 -endif -SDIALOG d_house_placement_tool -return 1 + if ( != ) + doswitch + src.sysmessage @,,1 The item must be on your backpack. + src.sysmessage @,,1 Предмет должен находится в вашем рюкзаке. + enddo + return 1 + endif + sdialog d_house_placement_tool + return 1 -[ITEMDEF i_trashcan] -NAME=trashcan -ID=i_barrel_open -TYPE=t_container +[ITEMDEF i_trashcan] +NAME=trashcan +ID=i_barrel_open +TYPE=t_container -//FIXME: better axis categorization? CATEGORY=Special Items SUBSECTION=Unequippable DESCRIPTION=Trashcan -ON=@CREATE -COLOR=0835 +On=@Create + COLOR=0835 -ON=@Dropon_Self -src.sound=011e -argo.remove -return 1 +On=@Dropon_Self + src.sound = 011e + argo.remove + return 1 [ITEMDEF i_house_interior_decorator] @@ -44,90 +46,130 @@ ID=0fc1 NAME=Interior Decorator VALUE=10000 -ON=@ClientToolTip -if () - addcliloc > -endif +On=@ClientToolTip + if () + addcliloc > + endif -ON=@Click -if (==1) - MESSAGE (turn) -elif (==2) - MESSAGE (up) -elif (==3) - MESSAGE (down) -endif +On=@Click + if ( == 1) + message (turn) + doswitch + message (turn) + message @,,1 (вращать) + enddo + elseif ( == 2) + doswitch + message (up) + message @,,1 (вверх) + enddo + elseif ( == 3) + doswitch + message (down) + message @,,1 (вниз) + enddo + endif -ON=@DClick -REF1= -if ( != ) - SRC.SYSMESSAGE @32,,1 That must be in your pack for you to use it. - return 1 -elif !((>) || (> >= 0) || ()) - SRC.SYSMESSAGE @32,,1 Only owner and co-owners can change items locations! - return 1 -elif !() - SDIALOG d_house_interior_decorator -else - TAG.House= - TARGET -endif -return 1 - -ON=@TargOn_Char -TAG.House= -return 1 - -ON=@TargOn_Cancel -TAG.House= - -ON=@TargOn_Item -if ( == ) - TAG.House= - TAG.Mode= - SDIALOG d_house_interior_decorator - return 1 -else - ref1 = - if ( != ) || !() - serv.log --- ---- - SRC.SYSMESSAGE @32,,1 You must be in your house to do this. +On=@DClick + ref1 = + if ( != ) + doswitch + src.sysmessage @,,1 The item must be on your backpack. + src.sysmessage @,,1 Предмет должен находится в вашем рюкзаке. + enddo return 1 - elif () || ( != ) || !() - SRC.SYSMESSAGE @32,,1 That must be in your house. + elseif !((>) || (> >= 0) || ()) + doswitch + src.sysmessage @,,1 Only owner and co-owners can change items locations! + src.sysmessage @,,1 Только собственник и совладельцы могут менять предметы. + enddo return 1 - elif !() - SRC.SYSMESSAGE @32,,1 That must be locked. + elseif !() + sdialog d_house_interior_decorator + else + TAG.House = + TARGET + endif + return 1 + +On=@TargOn_Char + TAG.House = + return 1 + +On=@TargOn_Cancel + TAG.House = + +On=@TargOn_Item + if ( == ) + TAG.House = + TAG.Mode = + sdialog d_house_interior_decorator return 1 - elif !( == ) - SRC.SYSMESSAGE @32,,1 That must be in your house. - return 1 else - TAG.House= - if (==1) - if !() - SRC.SYSMESSAGE @32,,1 You can not flip it! - else - ARGO.FLIP - endif + ref1 = + if ( != ) || !() + doswitch + src.sysmessage @,,1 You should be located in the region of the house. + src.sysmessage @,,1 Вы должны находится на территории дома. + enddo return 1 - elif (==2) - if (-> >= 15) - SRC.SYSMESSAGE @32,,1 This item can not go upper! - else - ARGO.NUDGEUP - endif + elseif () || ( != ) || !() + doswitch + src.sysmessage @,,1 The item should be located in the region of the house. + src.sysmessage @,,1 Предмет должен находится на территории дома. + enddo return 1 - elif (==3) - if (-> <= 0) - SRC.SYSMESSAGE @32,,1 This item can not go lower! - else - ARGO.NUDGEDOWN - endif + elseif !() + doswitch + src.sysmessage @,,1 The item should be locked. + src.sysmessage @,,1 Предмет должен быть закреплен. + enddo + return 1 + elseif !( == ) + doswitch + src.sysmessage @,,1 The item should be located in the region of your house. + src.sysmessage @,,1 Предмет должен находится на территории вашего дома. + enddo return 1 + else + TAG.House = + if ( == 1) + if !() + doswitch + src.sysmessage @,,1 You can not flip it! + src.sysmessage @,,1 Этот предмет невозможно повернуть. + enddo + else + argo.flip + endif + return 1 + elseif ( == 2) + if (-)> >= 15) + doswitch + src.sysmessage @,,1 This item can not go upper! + src.sysmessage @,,1 Этот предмет невозможно поднять выше. + enddo + else + argo.nudgeup + endif + return 1 + elseif ( == 3) + if (-)> <= 0) + doswitch + src.sysmessage @,,1 This item can not go lower! + src.sysmessage @,,1 Этот предмет невозможно опустить ниже. + enddo + else + argo.nudgedown + endif + return 1 + endif endif + return 1 endif - return 1 -endif + +[ITEMDEF i_house_transfer] +ID = i_memory +type = t_script [EOF] \ No newline at end of file diff --git a/housing/house_typedefs.scp b/housing/house_typedefs.scp index 99fe1eb..7bb4715 100644 --- a/housing/house_typedefs.scp +++ b/housing/house_typedefs.scp @@ -6,109 +6,167 @@ VERSION=X1 // House sign override [TYPEDEF ei_house_sign] -ON=@Create +On=@Create timerf 1, trigger @HouseSysInit // The LINK is automatically set immediately after placement and @Create -ON=@HouseSysInit +On=@HouseSysInit if && ! - attr=010 + attr = 010 timer = -1 else if - attr=02|010 - timer=60*60*24* + attr = 02|010 + timer = 60*60*24* else - attr=010 - timer =-1 + attr = 010 + timer = -1 endif endif if - name=New House - link.region.events=+r_house_system - link.region.flags=region_flag_nodecay|region_flag_nobuilding|region_antimagic_recall_in|region_flag_insta_logout - link.tag.buildon= + name = + link.region.events +r_house_system + link.region.flags = region_flag_nodecay|region_flag_nobuilding|region_antimagic_recall_in|region_flag_insta_logout + + ref1 = //sign + ref2 = //house + ref3 = //owner + + ref2.tag.sign = + tag.sign_dispid = & ~0a8f00000)> + ref2.tag.buildon = + resendtooltip 1,0 endif -ON=@Click - if ! - if == - message [.abbrev>] +On=@Click + ref4 = + if ! + if ( == ) + if + ref5 = + if + local.abbrev = >?[None]:> + endif + endif + message + message [] return 1 else return 0 endif else - message For Sale + message _FORSALE> message gp return 1 endif - -ON=@ClientToolTip - if (==) +On=@ClientToolTip + if ( == ) return 0 endif + ref4 = if - addcliloc 1070722, Demolition Scheduled in /86400> < 1)? %86400)/3600> hours and %86400)%3600)/60> minutes.:/86400> days> - elif - addcliloc 1070722, FOR SALE gp + call f_return_timeleft + doswitch + begin + doswitch - 1)> + local.decaymsg = days hours minutes //1 + local.decaymsg = hours minutes //2 + local.decaymsg = 0 hours minutes //3 + local.decaymsg = for less than 1 minute //4 + enddo + end + begin + call f_days_name //local.day_name + call f_hour_name //local.hour_name + call f_minutes_name //local.min_name + call f_sec_name //local.sec_name + doswitch - 1)> + local.decaymsg = //1 + local.decaymsg = //2 + local.decaymsg = 0 //3 + local.decaymsg = 1 //4 + enddo + end + enddo + doswitch + addcliloc 1070722, Demolition Scheduled in + addcliloc 1070722, + endif + elseif + addcliloc 1070722, _FORSALE> gp endif addcliloc 1042971, addcliloc 1061639, addcliloc 1061640, - if == - addcliloc 1042971,[.abbrev>] Guild House + if ( == ) + if + ref5 = + if + local.abbrev = >?[None]:> + endif + endif + addcliloc 1042971,[] Guild House endif addcliloc ==)? 1061642:1061641> return 1 - -ON=@DClick - if (!=) +On=@DClick + if ( != ) if !() - if (&02) - attr &=~ 02 - timer -1 + if ( & 02) + attr &= ~02 + timer = -1 endif else - if !(&02) + if !( & 02) attr |= 02 - if < 0 - timer=60*60*24* + if ( < 0) + timer = 60*60*24* endif endif endif endif if (>) || (> >= 0) || (> >= 0) || () - if (==) - link.dialog d_house_menu + if ( == ) + link.sdialog d_house_menu return 1 else - src.sysmessage @32,,1 You must be standing on your doorstep to access the house menu. + doswitch + src.sysmessage @,,1 You must be standing on your doorstep to access the house menu. + src.sysmessage @,,1 , . + enddo return 1 endif else - if ! - link.dialog d_house_visitor + ref4 = + if + link.sdialog d_house_forsale return 1 else - link.dialog d_house_forsale + link.sdialog d_house_visitor return 1 endif endif - -ON=@Timer - ref2= +On=@Timer + ref2 = if () - attr 012 + attr = 012 if () link.redeed endif if - ref2.sysmessage @,,1 Your in has collapsed - ref2.sysmessage @,,1 The number of houses you own is now + doswitch + begin + ref2.sysmessage @,,1 Your in has collapsed + ref2.sysmessage @,,1 The number of houses you own is now + end + begin + ref2.sysmessage @,,1 . + ref2.sysmessage @,,1 , , . + end + enddo endif else return 1 @@ -117,39 +175,39 @@ ON=@Timer // Event for locked down items. [TYPEDEF ei_house_lockdown] -ON=@ClientToolTip - ADDCLILOC 501643 +On=@ClientToolTip + addcliloc 501643 -ON=@ContextMenuRequest - ref1= - if == || == || +On=@ContextMenuRequest + ref1 = + if ( == ) || ( == ) || src.AddContextEntry 701,1015183 // Unlock endif -ON=@ContextMenuSelect - if > 3 +On=@ContextMenuSelect + if ( > 3) src.sysmessage @,,1 You can't reach . return 1 endif - if == 701 - ref1= + if ( == 701) + ref1 = ref1.unlockitem - tag.lockedby= + tag.lockedby = message @,,2 501726 // No longer locked down! if !> - tag.decay= - timer *60> + tag.decay = + timer *60)> attr |= attr_decay endif resendtooltip 1,0 endif -ON=@PickUp_Ground // Do not allow to move this item +On=@PickUp_Ground // Do not allow to move this item if (!) return 1 endif -ON=@PickUp_Self // For containers only, do not allow to pick up items +On=@PickUp_Self // For containers only, do not allow to pick up items if (!) return 1 endif @@ -159,91 +217,110 @@ ON=@PickUp_Self // For containers only, do not allow to pick up items // so they can't be moved from ground nor items can be dragged from them // but they can still be picked up from the moving crate and dropped on the ground or other containers // that's why some checks must be done to prevent malintentionated/unintended placements outside the multi. -ON=@DropOn_Ground +On=@DropOn_Ground if ( != ) return 1 endif -ON=@DropOn_Item +On=@DropOn_Item if ( != ) return 1 endif // Doors event [TYPEDEF ei_house_door] -ON=@ContextMenuRequest - ref1= - if == || +On=@Click + if !(() && ()) + f_house_msg_access + endif + +On=@ContextMenuRequest + ref1 = + if ( == ) || src.AddContextEntry 700,1078864 // Access endif -ON=@ContextMenuSelect - if == 700 - ref1= +On=@ContextMenuSelect + if ( == 700) + ref1 = dialogclose d_house_secure ref1.sdialog d_house_secure endif -ON=@Click - if (==house_access_owner) - message @,,1 Owner Only - elif (==house_access_coowner) - message @,,1 Co-Owners Only - elif (==house_access_friend) - message @,,1 Friends Only - elif (==house_access_guild) - message @,,1 [.abbrev>] Members Only - endif - message @,,1 - return 1 - -ON=@ClientToolTip - if (==house_access_owner) - addcliloc 1060658,Access,Owner Only - elif (==house_access_coowner) - addcliloc 1060658,Access,Co-Owners - elif (==house_access_friend) - addcliloc 1060658,Access,Friends - elif (==house_access_guild) - ref1= - if - addcliloc 1114773,[],Guild Members Only +On=@ClientToolTip + if !(() && ()) + if ( == house_access_owner) + addcliloc 1060658,Access,Owner Only + elseif ( == house_access_coowner) + addcliloc 1060658,Access,Co-Owners + elseif ( == house_access_friend) + addcliloc 1060658,Access,Friends + elseif ( == house_access_guild) + ref1 = + if + addcliloc 1114773,[],Guild Members Only + endif endif endif -ON=@DClick -ref1= -if - if () - ref1.link.timer=-1 - else - if ! - if (>) - if !() - ref1.link.timer=60*60*24* - else - src.sysmessage @32,,1 This house is improperly placed and has been scheduled for demolition in /86400> < 1)? %86400)/3600> hours and %86400)%3600)/60> minutes.:/86400> days.> - src.sysmessage @32,,1 Unless you redeed it yourself before that time the house and all items within will be lost without refund. - endif - endif +On=@DClick + ref1 = + if + if () + ref1.link.timer = -1 else - if () - src.sysmessage @32,,1 This house is improperly placed and has been scheduled for demolition in /86400> < 1)? %86400)/3600> hours and %86400)%3600)/60> minutes.:/86400> days.> - src.sysmessage @32,,1 Unless you redeed it yourself before that time the house and all items within will be lost without refund. + call f_return_timeleft + doswitch + begin + doswitch - 1)> + local.decaymsg = days hours minutes //1 + local.decaymsg = hours minutes //2 + local.decaymsg = 0 hours minutes //3 + local.decaymsg = for less than 1 minute //4 + enddo + end + begin + call f_days_name //local.day_name + call f_hour_name //local.hour_name + call f_minutes_name //local.min_name + call f_sec_name //local.sec_name + doswitch - 1)> + local.decaymsg = //1 + local.decaymsg = //2 + local.decaymsg = 0 //3 + local.decaymsg = 1 //4 + enddo + end + enddo + + if ! + if (>) + if !() + ref1.link.timer = 60*60*24* + else + src.sysmessage @32,,1 _MsgShedDemol> . + src.sysmessage @32,,1 _MsgDemolRefund>. + endif + endif + else + if () + src.sysmessage @32,,1 _MsgShedDemol> . + src.sysmessage @32,,1 _MsgDemolRefund>. + endif endif endif endif -endif -if () // If keys are used, let the server check them. - return 0 -endif -if ==t_door_locked - type=t_door -endif -if () - UseDoor + if (() && ()) // If keys are used, let the server check them. + return 0 + endif + if ( == t_door_locked) + type = t_door + endif + if () + UseDoor + return 1 + endif return 1 -endif // House container created from COMPONENTs from [MULTIDEF ] (this also have 'ei_house_component'). [TYPEDEF ei_house_container] @@ -257,405 +334,497 @@ endif // Moving Crates are automatically deleted when there are no items inside. // *More behaviour on player side event (e_moving_crate). [TYPEDEF ei_moving_crate] -if ! - return 1 -endif +On=@Create + attr |= -ON=@PickUp_Self -if <= 1 - remove -endif +On=@PickUp_Self + if ( <= 1) + remove + endif -ON=@Destroy +On=@Destroy ref1 = - if && + if ( && ) ref1.events -e_moving_crate endif -ON=@Create - attr |= - // Secured Containers. // Only allowed players can manage their storage (Refer to f_house_can_access to see the allowance). [TYPEDEF ei_house_secure] -ON=@Clienttooltip +On=@Click + f_house_msg_access + +On=@ClientToolTip addcliloc 501644 - if (==house_access_owner) + if ( == house_access_owner) addcliloc 1060658,Access,Owner Only - elif (==house_access_coowner) + elif ( == house_access_coowner) addcliloc 1060658,Access,Co-Owners - elif (==house_access_friend) + elif ( == house_access_friend) addcliloc 1060658,Access,Friends - elif (==house_access_guild) - ref1= + elseif ( == house_access_guild) + ref1 = if addcliloc 1114773,[],Guild Members Only endif endif -ON=@ContextMenuRequest - ref1= - if == || +On=@ContextMenuRequest + ref1 = + if ( == ) || () src.AddContextEntry 700,1078864 // Access src.AddContextEntry 701,1015183 // Unlock endif -ON=@ContextMenuSelect - if > 3 +On=@ContextMenuSelect + if ( > 3) src.sysmessage @,,1 You can't reach . return 1 endif - if == 700 + if ( == 700) dialogclose d_house_secure sdialog d_house_secure - elif == 701 - ref1= + elseif ( == 701) + ref1 = ref1.release message @,,2 501718 // No longer secure! if !> - tag.decay= - timer *60> + tag.decay = + timer = *60)> attr |= attr_decay endif resendtooltip 1,0 endif -ON=@PickUp_ground - if (!) - return 1 - endif - -ON=@DClick +On=@DClick if () return 0 endif return 1 -ON=@PickUp_Self +On=@PickUp_Ground + if (!) + return 1 + endif + +On=@PickUp_Self if () - return 0 + return 0 endif return 1 // Telepad for multis. -[typedef ei_house_telepad] -ON=@Click - if (==house_access_owner) - message @,,1 Owner Only - elif (==house_access_coowner) - message @,,1 Co-Owners Only - elif (==house_access_friend) - message @,,1 Friends Only - elif (==house_access_guild) - message @,,1 [.abbrev>] Members Only - endif - message @,,1 - return 1 +[TYPEDEF ei_house_telepad] +On=@Click + f_house_msg_access -ON=@ClientToolTip - if (==house_access_owner) +On=@ClientToolTip + if ( == house_access_owner) addcliloc 1060658,Access,Owner Only - elif (==house_access_coowner) + elseif ( == house_access_coowner) addcliloc 1060658,Access,Co-Owners - elif (==house_access_friend) + elseif ( == house_access_friend) addcliloc 1060658,Access,Friends - elif (==house_access_guild) - ref1= - if - addcliloc 1114773,[],Guild Members Only + elseif ( == house_access_guild) + if + ref5 = + if + local.abbrev = >?[None]:> + endif endif + addcliloc 1114773,[],Guild Members Only endif -ON=@step -if !(==) - if !() - if () - return 0 +On=@Step + if !( == ) + if !() + if () + return 0 + endif + return 1 endif - return 1 endif -endif // @Custom event for house transfers [TYPEDEF t_trade_house_deed] -ON=@Click -MESSAGE House Transfer Contract -MESSAGE House Name: -MESSAGE Owner: .NAME> -MESSAGE Location: // () -return 1 - -ON=@ClientToolTip -addcliloc 1061112, -addcliloc 1061113,.NAME> -addcliloc 1061114,> > - -ON=@Timer -if (==t_eq_trade_window) - TIMERF 2,trigger @Timer -else - UID..EVENTS=-e_house_transfer - REMOVE -endif -return 1 - -ON=@HouseTraded -REF1= //New Owner -REF2= //Old Owner -REF1.EVENTS=-e_house_transfer -ref2.events=-e_house_transfer -LINK.TAG.lasttransfer= -ref2.delhouse -LINK.owner= -for -1> 0 - if (.LINK>==) - REF2.FINDCONT..CONT= - endif -endfor -REF2.SYSMESSAGE @,,1 You transfer the property to -ref2.sysmessage @,,1 The number of houses you own is now . -REF1.SYSMESSAGE @,,1 has transferred ownership of this property to you. -ref1.sysmessage @,,1 The number of houses you own is now . -link.delban -1 -link.delcoowner -1 -link.delaccess -1 -link.delfriend -1 -link.resendtooltip 1 +On=@Click + doswitch + begin + message House Transfer Contract + message House Name: + message Owner: .name> + // message Location: // () + message Location: , + end + begin + message House Transfer Contract + message @,,1 : + message @,,1 : .name> + // message @,,1 : // () + message @,,1 : , + end + enddo + return 1 + +On=@ClientToolTip + addcliloc 1061112, + addcliloc 1061113,.name> + // addcliloc 1061114,> > + addcliloc 1061114, + +On=@Timer + if ( == t_eq_trade_window) + timerf 2,trigger @timer + else + uid..events -e_house_transfer + remove + endif + return 1 + +On=@HouseTraded + ref1 = //New Owner + ref2 = //Old Owner + ref1.events -e_house_transfer + ref2.events -e_house_transfer + call f_return_todate + link.tag.lasttransfer = + ref2.delhouse + link.owner = + for -1)> 0 + if (.link> == ) + ref2.findcont..cont = + endif + endfor + doswitch + begin + ref2.sysmessage @,,1 You transfer the property to . + ref2.sysmessage @,,1 The number of houses you own is now . + ref1.sysmessage @,,1 has transferred ownership of this property to you. + ref1.sysmessage @,,1 The number of houses you own is now . + end + begin + ref2.sysmessage @,,1 . + ref2.sysmessage @,,1 , , . + ref1.sysmessage @,,1 . + ref1.sysmessage @,,1 , , . + end + enddo + link.delban -1 + link.delcoowner -1 + link.delaccess -1 + link.delfriend -1 + link.resendtooltip 1 // @Override of t_deed typedef [TYPEDEF t_deed] -ON=@DClick -IF ( != ) - SRC.SYSMESSAGE @,,1 The item must be on your backpack. - return 1 -ENDIF -IF (==i_gold) - TIMERF 60,TRIGGER @TargOn_Cancel -ENDIF - -ON=@TargOn_Ground -IF !() - IF !STRMATCH("*ship*","") - IF ( > ) - SRC.SYSMESSAGE @,,1 Number of days until you can place another house: -)/864000> - return 1 - ELIF !() && (==2) - SRC.SYSMESSAGE @,,1 Housing cannot be created in this area. - TRIGGER @TargOn_Cancel - return 1 - ENDIF - ENDIF - SRC.TIMERF 1,f_house_isPlaced -ENDIF - -ON=@TargOn_Char -SRC.SYSMESSAGE @,,1 You must place your house on ground. -TRIGGER @TargOn_Cancel -return 1 - -ON=@TargOn_Item -SRC.SYSMESSAGE @,,1 You must place your house on ground. -TRIGGER @TargOn_Cancel -return 1 - -ON=@TargOn_Cancel -IF (==i_gold) - SRC.SDIALOG d_house_placement_tool - REMOVE -ENDIF +On=@DClick + if ( != ) + doswitch + src.sysmessage @,,1 The item must be on your backpack. + src.sysmessage @,,1 . + enddo + return 1 + endif + if ( == i_gold) && !strmatch("*ship*","") + timerf 60,trigger @TargOn_Cancel + endif + +On=@TargOn_Ground + if !() + if !strmatch("*ship*","") + if ( > ) && () + doswitch + src.sysmessage @,,1 Number of days until you can place another house: -)/864000)> + src.sysmessage @,,1 , : -)/864000)> + enddo + return 1 + elseif !() && ( == 2) + doswitch + src.sysmessage @,,1 Housing cannot be created in this area. + src.sysmessage @,,1 . + enddo + trigger @TargOn_Cancel + return 1 + endif + endif + src.timerf 1,f_house_isPlaced + endif + +On=@TargOn_Char + if + return 0 + endif + doswitch + src.sysmessage @,,1 You must place your house on ground. + src.sysmessage @,,1 . + enddo + trigger @TargOn_Cancel + return 1 + +On=@TargOn_Item + doswitch + src.sysmessage @,,1 You must place your house on ground. + src.sysmessage @,,1 . + enddo + trigger @TargOn_Cancel + return 1 + +On=@TargOn_Cancel + if ( == i_gold) && !strmatch("*ship*","") + src.sdialog d_house_placement_tool + remove + endif // @Custom region event for houses. [REGIONTYPE r_house_system] -ON=@Enter -if - src.events +e_house_player_events - src.timerf 1, f_house_visitor_count - ref1= - if ! - if == - if (>) || (> >= 0) || (> >= 0) || (> >= 0) || () - return 0 - elif (==) - if (==) +On=@Enter + if + src.events +e_house_player_events + // SRC.dSPEECH +spk_player_house + // src.timerf 1, f_house_visitor_count + ref1 = + if ! + if == + if (>) || (> >= 0) || (> >= 0) || (> >= 0) || () return 0 + elseif ( == ) + if ( == ) + return 0 + else + doswitch + src.sysmessage @,,1 You are not a member of this guild. + src.sysmessage @,,1 . + enddo + return 1 + endif else - src.sysmessage @32,,1 You are not a member of this guild. + doswitch + src.sysmessage @,,1 This is private property. You may not trespass. + src.sysmessage @,,1 . . + enddo return 1 endif else - src.sysmessage @32,,1 This is private property. - src.sysmessage @32,,1 You may not trespass. - return 1 - endif - else - if > >= 0 - src.sysmessage @32,,1 You are banned from this property. - return 1 - else - return 0 + if (> >= 0) + doswitch + src.sysmessage @,,1 You are banned from this property. + src.sysmessage @,,1 . + enddo + return 1 + else + return 0 + endif endif endif endif -endif -ON=@Exit - src.dialogclose d_house_menu +On=@Exit + src.dialogclose d_house_menu src.events -e_house_player_events //////////////////////////////////////////////////////////////////////////////////////events/////////////////////////////////////////////////// [EVENTS e_house_count_block] -ON=@AddMulti - if != - return 1 // Prevents this multi from being added to SRC's house storage - endif +On=@AddMulti + if ( != ) + return 1 // Prevents this multi from being added to SRC's house storage + endif [EVENTS e_house_transfer] -ON=@TradeAccepted -DIALOGCLOSE d_house_demolish -DIALOGCLOSE d_house_menu -if - for - if > - if (.TYPE>==t_trade_house_deed) - UID.>.TRIGGER @HouseTraded - UID.>.REMOVE +On=@TradeAccepted + dialogclose d_house_demolish + dialogclose d_house_menu + if + for + if > + if (.type> == t_trade_house_deed) + ref.trigger @HouseTraded + ref.remove + endif endif - endif - endfor -endif -EVENTS=-e_house_transfer + endfor + endif + EVENTS=-e_house_transfer [EVENTS e_house_player_events] -ON=@ItemDClick -if (==) - ref1= - if ! - if > || (==house_private - src.sysmessage @32,,1 You must set your building to public before you can place vendors here. +On=@ItemDClick + if ( == ) + ref1 = + if ! + if !(>) && !( + src.sysmessage @,,1 Only the home owner may place vendors here. + src.sysmessage @,,1 . + enddo return 1 else - if ( < ) - return 0 - else - sysmessage @32,,1 You have no available vendor slots - sysmessage @32,,1 You must remove an existing vendor before you can place a new one. + if ( == house_private) + doswitch + src.sysmessage @,,1 You must set your building to public before you can place vendors here. + src.sysmessage @,,1 . + enddo return 1 + else + if ( < ) + return 0 + else + doswitch + begin + src.sysmessage @,,1 You have no available vendor slots. + src.sysmessage @,,1 You must remove an existing vendor before you can place a new one. + end + begin + src.sysmessage @,,1 . + src.sysmessage @,,1 - . + end + enddo + return 1 + endif endif endif else - sysmessage @32,,1 Only the home owner may place vendors here. - return 1 - endif - else - if (>) || (> >= 0) || (> >= 0) || (==house_private - src.sysmessage @32,,1 You must set your building to public before you can place vendors here. - return 1 - else - if ( < ) - return 0 - else - sysmessage @32,,1 You have no available vendor slots - sysmessage @32,,1 You must remove an existing vendor before you can place a new one. + if (>) || (> >= 0) || (> >= 0) || ( == house_private) + doswitch + src.sysmessage @,,1 You must set your building to public before you can place vendors here. + src.sysmessage @,,1 . + enddo return 1 + else + if ( < ) + return 0 + else + doswitch + begin + src.sysmessage @,,1 You have no available vendor slots. + src.sysmessage @,,1 You must remove an existing vendor before you can place a new one. + end + begin + src.sysmessage @,,1 . + src.sysmessage @,,1 - . + end + enddo + return 1 + endif endif + else + doswitch + src.sysmessage @,,1 Only people on the home lists may place a vendor here. + src.sysmessage @,,1 . + enddo + return 1 endif - else - sysmessage @32,,1 Only people on the home lists may place a vendor here. - return 1 endif endif -endif -ON=@ContextMenuRequest -ref1 = -if == && - src.addcontextentry 101,3006207 -endif - -ON=@ContextMenuSelect -if ==101 +On=@ContextMenuRequest ref1 = - src.go .p> -endif + if ( == ) && + src.AddContextEntry 101,3006207 + endif + +On=@ContextMenuSelect + if ( == 101) + ref1 = + src.go .p> + endif [EVENTS e_house_customize] -ON=@SkillStart - IF !() - RETURN 2 - ENDIF - SYSMESSAGE @32,,1 You cannot do this whilst designing a house. - RETURN 1 - -ON=@SkillUseQuick - IF !() - RETURN 2 - ENDIF - RETURN 1 - -// ON=@HouseDesignCommitItem +On=@SkillStart + if !() + return 2 + endif + doswitch + src.sysmessage @,,1 You cannot do this whilst designing a house. + src.sysmessage @,,1 . + enddo + return 1 + +On=@SkillUseQuick + if !() + return 2 + endif + return 1 + +// On=@HouseDesignCommitItem // serv.log --- ---- ------ ------- -ON=@HouseDesignCommit - IF () - SYSMESSAGE @,,1 Your new house design has been committed. - RETURN 2 - ENDIF - LOCAL.OLDCOST = * 500)> - LOCAL.NEWCOST = * 500)> - LOCAL.CURCOST = - )> - IF ( < ) - SYSMESSAGE @32,,1 You cannot afford this house design. - RETURN 1 - ENDIF - argo.tag0.construction=-> - 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. - ELIF ( < 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 - SYSMESSAGE @,,1 You have left house design mode. +On=@HouseDesignCommit + if () + doswitch + src.sysmessage @,,1 You cannot do this whilst designing a house. + src.sysmessage @,,1 . + enddo + return 2 + endif + local.oldcost = * 500)> + local.newcost = * 500)> + local.curcost = - )> + if ( < ) + doswitch + src.sysmessage @,,1 You lack the funds to pay off this design. + src.sysmessage @,,1 . + enddo + return 1 + endif + argo.tag0.construction = -)> + doswitch + src.sysmessage @,,1 Your new house design has been committed. + src.sysmessage @,,1 . + enddo + if ( == 0) + doswitch + src.sysmessage @,,1 As the new design costs the same as the previous one, no gp has been taken out of your account. + src.sysmessage @,,1 , . + enddo + elif ( < 0) + local.curcost = )> + gold += + doswitch + src.sysmessage @,,1 As the new design is cheaper than the previous one, gp has been returned to you. + src.sysmessage @,,1 gp. + enddo + else + gold -= + doswitch + src.sysmessage @,,1 gp has been taken out of your account to pay for the construction. + src.sysmessage @,,1 gp . + enddo + endif + return 2 + +On=@HouseDesignExit + sysmessage @,,1 You have left house design mode. events -e_house_customize - if - ref1= + if + ref1 = ref1.attr |= attr_invis ref1.p = ref1.move 0,0,-20 endif - RETURN 2 + return 2 [EVENTS e_moving_crate] -ON=@logout -for 0 -1> - ref1=.MovingCrate> - if () - ref1.attr |= attr_invis - ref1.p - ref1.move 0 0 -20 - endif -endfor -events -e_moving_crate - -ON=@HouseDesignBegin -for 0 -1> - ref1=.MovingCrate> - if () - ref1.attr |= attr_invis - ref1.p - ref1.move 0 0 -20 - endif -endfor -events -e_moving_crate +On=@LogOut + for 0 -1)> + ref1 = .MovingCrate> + if () + ref1.attr |= attr_invis + ref1.p + ref1.move 0 0 -20 + endif + endfor + events -e_moving_crate + +On=@HouseDesignBegin + for 0 -1)> + ref1 = .MovingCrate> + if () + ref1.attr |= attr_invis + ref1.p + ref1.move 0 0 -20 + endif + endfor + events -e_moving_crate // Event applied when you are listed (with any privilege) on one or more houses. [EVENTS e_house_priv] diff --git a/housing/house_unused.scp b/housing/house_unused.scp new file mode 100644 index 0000000..0534961 --- /dev/null +++ b/housing/house_unused.scp @@ -0,0 +1,328 @@ +[EOF] + +[FUNCTION f_house_timer_reset_all] +local.p = +for 0 254 + if (>) + src.p = 0,0,0, + serv.log processing map + src.f_house_timer_activate + endif +endfor +src.p = + +[FUNCTION f_house_timer_activate] +FORITEMS 7168 + if ( == t_multi) || ( == t_multi_custom) + ref1 = + ref1.timer = 60*60*24* + endif +ENDFOR + +///////////////////////////// + +[FUNCTION f_house_visitor_count] +ref1 = +if && !(> || ) // > >= 0 || > >= 0 + uid..more2 += 1 +endif + +[FUNCTION f_house_item_flip2] // unused function? +if ! + src.sysmessage @32,,1 _InvalTrg> + return 1 +elseif ! + src.sysmessage @32,,1 _InvalTrg> + return 1 +endif + +ref1 = +if ( == ) + doswitch + src.sysmessage @,,1 You cannot flip that. + src.sysmessage @,,1 Предмет должен быть закреплен на территории вашего дома. + enddo + return 1 +endif +if ( != ) || ( != ) + doswitch + sysmessage @,,1 Item should be located in the region of the house. + sysmessage @,,1 Предмет должен находится на территории дома. + enddo + return 1 +endif +ref8 = +ref8.flip +return 1 + +//////////////////Custom Placement check////////////////// + +[FUNCTION f_house_checkPlacement] +serv.log f_house_checkPlacement +ref1 = //Owner +if ! + return 1 +endif +if + if () + ref1.sysmessage @,,1 You can't build a house in this area. + if !() + link.redeed + return 1 + endif + endif +endif +trysrc DIALOG d_house_placement + +[FUNCTION f_house_checkNearArea] +serv.log f_house_checkNearArea +return 0 +ref1 = +args = +serv.newnpc c_pig +new.flags = statf_invul|statf_insubstantial + +for 0 7 + new.p = + doswitch + new.move + new.move 0 + new.move + new.move 0 + new.move + new.move 0 + new.move + new.move 0 + enddo + doswitch + local.clear = + local.clear = + local.clear = + local.clear = + local.clear = + local.clear = + local.clear = + local.clear = + enddo + if () || !() + new.remove + return 1 + endif +endfor + +for 0 7 + new.p = .p> + doswitch + new.move +1)> +1)> + new.move 0 +1)> + new.move -1)> +1)> + new.move -1)> 0 + new.move -1)> -1)> + new.move 0 -1)> + new.move +1)> -1)> + new.move +1)> 0 + enddo + if () + new.remove + return 1 + endif +endfor + +local.area = 3 // +for 0 7 + new.p = .p> + doswitch + new.move +(*-1))> +(*-1))> + new.move 0 +(*-1))> + new.move +)> +(*-1))> + new.move +)> 0 + new.move +)> +)> + new.move 0 +)> + new.move +(*-1))> +)> + new.move +(*-1))> 0 + enddo + if strmatch("t_multi*",".type>") + new.remove + return 2 + endif +endfor +local.front = +for 0 5 + new.p = .p> + doswitch + new.move +)> + new.move 0 +)> + new.move +)> + new.move +(*-1))> + new.move 0 +(*-1))> + new.move +(*-1))> + enddo + if strmatch("t_multi*",".type>") + new.remove + return 3 + endif +endfor + +new.remove +return 0 + + +[FUNCTION f_isOnRoad] +local.terrain=,,).terrain> +if ( >= 113) && ( <= 140) + return 1 +elseif ( >= 232) && ( <= 235) + return 1 +elseif ( >= 332) && ( <= 335) + return 1 +elseif ( >= 353) && ( <= 372) + return 1 +elseif ( >= 496) && ( <= 499) + return 1 +elseif ( >= 622) && ( <= 633) + return 1 +elseif ( >= 638) && ( <= 641) + return 1 +elseif ( >= 804) && ( <= 940) + return 1 +elseif ( >= 1351) && ( <= 1366) + return 1 +elseif ( >= 1431) && ( <= 1446) + return 1 +elseif ( >= 1966) && ( <= 1969) + return 1 +elseif ( >= 1090) && ( <= 1145) // sand stones + return 1 +elseif ( >= 1281) && ( <= 1296) // sand stones + return 1 +elseif ( >= 9) && ( <= 21) // furrows + return 1 +elseif ( >= 336) && ( <= 348) // furrows + return 1 +else + return 0 +endif + +[FUNCTION f_house_floor] +// serv.log ---- ,,).terrain.z>+5> ---- ,,).terrain.z> ---- -,,).terrain.z>+5>)/20> +local.terrain = ,,).terrain.z>+7> +if ( > ) + return -)/20)> +endif +return 0 + +[FUNCTION f_multi_onplacement_check] +//local values = west, north, east, south +local.check_blockradius = -1,-1,1,1 +local.check_multiradius = 0,-5,0,5 + +if () + args = .multiregion> + local.left = + local.top = + local.max_x = + > + local.max_y = + > + serv.newnpc = c_man_invisible + new.flags |= statf_invisible + new.p = + new.move , + + for py 1 + for px 1 + if () + new.remove + return 1 + endif + new.move 1 + endfor + new.move - 1 + endfor + new.remove +endif + +// args = +// foritems + +////////////////////////////////////////////////////// + +[DIALOG d_house_static_pricing] //It is not used anywhere +100,100 +page 0 +f_house_dialog 0,123,280,160 +dhtmlgump 20 132 240 20 0 0 Static Building Pricing +dhtmlgump 20 154 240 20 0 0 Building footprint +gumppic 70 178 2501 +dtextentrylimited 100 179 100 20 90 0 10 +dhtmlgump 20 204 240 20 0 0 Enter this property's value +button 30 230 4023 4025 1 0 1 +dhtmlgump 67 233 190 20 0 0 Put this house on the market + +[DIALOG d_house_static_pricing button] +ONBUTTON=1 + ref2 = + ref4 = + tag0.value = + tag0.price = + ref4.tag0.forsale = 1 + ref2.housetype = + link.timer = 1 + +[DIALOG d_house_placement] +100,100 +noclose +f_house_dialog 0,0,420,280 +dhtmlgump 10 11 400 24 0 0 !!! _WARNING> !!! +doswitch + dhtmlgump 10 37 404 200 1 1 You are about to place a new house. Placing this house will condemn any and all of your other houses that you may have.In addition, you will not be able to place another house or have one transferred to you for one (1) real-life week.Once you accept these terms, these effects cannot be reversed. Re-deeding or transferring your new house will not uncondemn your other house(s) nor will the one week timer be removed.If you are absolutely certain you wish to proceed, click the button next to OKAY below. If you do not wish to trade for this house, click CANCEL. + dhtmlgump 10 37 404 200 1 1 Вы собираетесь построить новый дом. Установка этого дома приведет к тому, что вы.Кроме того, вы не сможете разместить другой дом или передать его вам на один (1) срок неделя реальной жизни.После того, как вы примете эти условия, эти последствия не могут быть отменены. Переоформление или перенос вашего нового дома не повлияет на другие ваши дома, а также не отменит действие недельного таймера.Если вы абсолютно уверены, что хотите продолжить, нажмите кнопку "Далее" ниже нажмите "ОК". Если вы не хотите торговать этим домом, нажмите кнопку ОТМЕНА. +enddo +button 110 247 4005 4007 1 0 0 +dhtmlgump 143 250 100 20 0 0 CANCEL +button 240 247 4005 4007 1 0 1 +dhtmlgump 273 250 100 20 0 0 OKAY + +[DIALOG d_house_placement BUTTON] +ONBUTTON=0 + if ( != i_gold) + link.redeed + return 1 + endif + link.remove + +ONBUTTON=1 + if && ( == i_gold) + if () + src.sysmessage @,,1 gp would have been withdrawn from your bank if you were not a GM. + elseif ( < ) + src.sysmessage @,,1 You lack the funds avaible in your bankbox to purchase this house. Try placing a smaller house, or adding gold to your bankbox. + link.remove + return 1 + else + src.gold -= + src.update + src.sysmessage @,,1 gp has been withdrawn from your bank box. + endif + endif + if && ! + attr = 02|010 + timer = 60*60*24* + else + attr = 010 + timer = -1 + endif + + if + name = + link.region.events +r_house_system + link.region.flags = region_flag_nodecay|region_flag_nobuilding|region_antimagic_recall_in|region_flag_insta_logout + + ref1 = //sign + ref2 = //house + ref3 = //owner + + ref2.tag.sign = + tag.sign_dispid = & ~0a8f00000)> + ref2.tag.buildon = + endif + +[EOF] diff --git a/housing/other_function.scp b/housing/other_function.scp new file mode 100644 index 0000000..d5f40be --- /dev/null +++ b/housing/other_function.scp @@ -0,0 +1,194 @@ +[FUNCTION f_math_cat] //делит число на разряды +if strlen() <= 3 + return +endif +local.lng = ))> +while ( > 3) + local.lng -= 3 + local.res = ". 3 >" +endwhile +local.leftover = " >" +if (!strcmp("-","") && strlen() == 1) + local.res = ")-2)> >" +else + local.res = ")-1)> >" +endif +return + +[FUNCTION f_return_odd] // четное ли число? 1 = да +return %2?0:1> + +////////////////////////////////////// + +[FUNCTION f_rtime_year] +if > + return +else + return ">)>" +endif + +[FUNCTION f_rtime_month] +if > + return +else + return > +endif + +[FUNCTION f_rtime_day] +if > + return +else + return > +endif + +[FUNCTION f_rtime_hours] +if > + return +else + return > +endif + +[FUNCTION f_rtime_minutes] +if > + return +else + return > +endif + +[FUNCTION f_rtime_second] +if > + return +else + return > +endif + + +[FUNCTION f_return_todate] +if > + local.year = ">" + local.month = ">" + local.day = ">" + local.todate = >_>_> +else + local.year = ">" + local.month = ">" + local.day = ">" + local.todate = >_>_> +endif + +[FUNCTION f_return_timeleft] +local.timer = +if ( <= 0) + local.hour = "0" + local.minutes = "0" + local.second = "0" + local.return = 4 +elseif ( >= 86400) + local.day = " / 86400)>" + // local.day = "/10)?:0>" + local.timer = - ( * 86400))> + local.hour = " / 3600)>" + local.timer = - ( * 3600))> + local.minutes = " / 60)>" + local.second = " - ( * 60))>" + local.return = 1 +elseif ( >= 3600) + local.hour = " / 3600)>" + local.timer = - ( * 3600))> + local.minutes = " / 60)>" + local.second = " - ( * 60))>" + local.return = 2 +elseif ( >= 60) + local.hour = "0" + local.minutes = " / 60)>" + local.second = " - ( * 60))>" + local.return = 3 +else + local.hour = "0" + local.minutes = "0" + local.second = "" + local.return = 4 +endif +local.hour = "/10)?:0>" +local.minutes = "/10)?:0>" +local.second = "/10)?:0>" + +[FUNCTION f_month_name] +local.last = )-1)> 1 > +if ( == 1) + local.month_name = месяц +elseif (( >= 2) && ( <= 4)) + local.month_name = месяца +else + local.month_name = месяцев +endif +// say @,,1 + +[FUNCTION f_days_name] +local.last = )-1)> 1 > +if ( == 1) + local.day_name = день +elseif (( >= 2) && ( <= 4)) + local.day_name = дня +else + local.day_name = дней +endif +// say @,,1 + +[FUNCTION f_hour_name] +local.last = )-1)> 1 > +if ( == 1) + local.hour_name = час +elseif (( >= 2) && ( <= 4)) + local.hour_name = часа +else + local.hour_name = часов +endif +// say @,,1 + +[FUNCTION f_minutes_name] +local.last = )-1)> 1 > +if ( == 1) + local.min_name = минуту +elseif (( >= 2) && ( <= 4)) + local.min_name = минуты +else + local.min_name = минут +endif +// say @,,1 + +[FUNCTION f_sec_name] +local.last = )-1)> 1 > +if ( == 1) + local.sec_name = секунду +elseif (( >= 2) && ( <= 4)) + local.sec_name = секунды +else + local.sec_name = секунд +endif +// say @,,1 + + +////////////////////////////////////// + +[FUNCTION f_LangChange] +if > + account.tag.LANG = ENG +endif +local.switch = >?ENG:RUS> +account.tag.LANG = +src.sysmessage @,,1 LANG = + +[FUNCTION f_LangShowNum] +if > + account.tag.LANG = ENG +endif +return > + +[FUNCTION f_LangShow] +if > + account.tag.LANG = ENG +endif +return + +[EOF] \ No newline at end of file From 771d5ec85fe9e3dde6d86bfbbc95a3e1cc4f2ca9 Mon Sep 17 00:00:00 2001 From: Jhobean Date: Sun, 14 Apr 2024 09:00:23 -0400 Subject: [PATCH 2/2] Version 2 --- housing/house_defs.scp | 4 -- housing/house_dialogs.scp | 29 ++++++++----- housing/house_functions.scp | 76 ++++++++++++-------------------- housing/house_typedefs.scp | 86 +++++++++++++++++++------------------ housing/house_unused.scp | 1 + housing/other_function.scp | 62 +++++++++++++++++++++++++- 6 files changed, 152 insertions(+), 106 deletions(-) diff --git a/housing/house_defs.scp b/housing/house_defs.scp index 12611af..5dca3c9 100644 --- a/housing/house_defs.scp +++ b/housing/house_defs.scp @@ -84,10 +84,6 @@ bfont_hs_text3 // lgray bfont_hs_red // light red bfont_hs_gray // gray -// TextColor Settings -fail 32 - - // Dialog Language Settings HouseCtrl_ENG_INFORMATION INFORMATION HouseCtrl_ENG_SECURITY SECURITY diff --git a/housing/house_dialogs.scp b/housing/house_dialogs.scp index 7c0ee5c..5aad787 100644 --- a/housing/house_dialogs.scp +++ b/housing/house_dialogs.scp @@ -173,9 +173,11 @@ if !> dhtmlgump 120 - 120 20 0 0 .. endif -call f_return_todate -dhtmlgump 20 *20 100 20 0 0 _BuildOn> -dhtmlgump 120 - 120 20 0 0 .. +if !> + call f_return_todate + dhtmlgump 20 *20 100 20 0 0 _BuildOn> + dhtmlgump 120 - 120 20 0 0 .. +endif dhtmlgump 20 *20 100 20 0 0 _Value> dhtmlgump 120 - 120 20 0 0 gp @@ -217,7 +219,7 @@ if (>) || (> >= 0) || () button 7 260 4005 4007 1 0 19 dhtmlgump 44 283 180 20 0 0 _RemFriend> - button 7 280 4005 4007 0 18 0 + button 7 280 4005 4007 1 0 25 dhtmlgump 44 303 180 20 0 0 _ClrFriend> button 7 300 4005 4007 1 0 20 @@ -295,8 +297,13 @@ dorigin 11 160 dhtmlgump 11 *20 250 20 0 0 _StorageMax> dhtmlgump 290 - 140 20 0 0 )?:> -dhtmlgump 11 *20 250 20 0 0 _UseMoveCont> //my line -dhtmlgump 290 - 140 20 0 0 )?:)?.count>:0>> //my line +if ( == t_multi_custom) + dhtmlgump 11 *20 250 20 0 0 _UseMoveCont> + dhtmlgump 290 - 140 20 0 0 )?:)?.count>:0>> //my line +else + dhtmlgump 11 *20 250 20 0 0 _UseMoveCont> + dhtmlgump 290 - 140 20 0 0 )?:)?.count>:0>> //my line +endif // dhtmlgump 11 *20 250 20 0 0 _StorageMax> //my line // dhtmlgump 290 - 140 20 0 0 )?:-(+))> / > //my line @@ -708,7 +715,7 @@ ONBUTTON=0,88 targetf, f_house_add_list 1 elseif ( == 18) //clear coowner src.ctag0.list = coowner - sdialog d_house_list_clear + sdialog d_house_list_clear elseif ( == 19) //add friend targetf, f_house_add_list 2 elseif ( == 20) //clear friend @@ -764,7 +771,9 @@ ONBUTTON=0,88 sdialog d_house_menu elseif ( == 24)//rename house dialog d_house_rename - //elseif ( == 25) // -------------------------- reserved change sign page + elseif ( == 25) //remove friend + src.ctag0.list = friend + sdialog d_house_menu 18 elseif ( == 26)//recode doors src.targetf f_d_house_secure return 1 @@ -1102,9 +1111,9 @@ ONBUTTON=0,88 ONBUTTON=100,299 // rmv person from (x) list ref1 = //sign local.list = - local.button -100> + local.button -100)> if <))?es:s>> - if (<..uid>==) + if (<..uid> == ) ref5 = doswitch src.sysmessage @,,1 You have removed yourself from the list. diff --git a/housing/house_functions.scp b/housing/house_functions.scp index a755966..513c261 100644 --- a/housing/house_functions.scp +++ b/housing/house_functions.scp @@ -27,10 +27,14 @@ new.remove [FUNCTION f_house_can_access] ref1 = +// if ( == ) + // return 1 +// endif if ( == || ) return 1 endif local.AccessLevel = > +say AccessLevel - if ( == 0) return 0 elseif ( == ) @@ -53,6 +57,13 @@ endif return 0 [FUNCTION f_house_msg_access] +if ( == house_access_none) + doswitch + message @,,1 Security Lvl unspecified + message @,,1 Уровень доступа не указан + enddo + return 1 +endif if ( == house_access_owner) doswitch message @,,1 Owner Only @@ -111,30 +122,30 @@ elseif (strmatch(*access*,)) else local.fontcolor = endif -local.x=7 -local.y=170 +local.x = 7 +local.y = 170 if <))?es:s>> - for 0 ))?es:s>>-1> - if ((>) || (pos > >= 0) || ()) && ((strmatch(*coowner*,)) || (strmatch(*friend*,))) - if (<.> == ) || (>) || () + for 0 ))?es:s>>-1> + if ((>) || (pos > >= 0) || ()) && ((strmatch(*coowner*,)) || (strmatch(*friend*,))) + if (<.> == ) || (>) || () + dhtmlgump +36)> +3)> 120 20 0 0 <..name> + if + button 4017 4018 1 0 )> + endif + else + dhtmlgump +36)> +3)> 120 20 0 0 <..name> + endif + elseif ((>) || (> >= 0) || ()) && ((strmatch(*friend*,)) || (strmatch(*access*,)) ||(strmatch(*ban*,))) dhtmlgump +36)> +3)> 120 20 0 0 <..name> if button 4017 4018 1 0 )> endif - else - dhtmlgump +36)> +3)> 120 20 0 0 <..name> endif - elif ((>) || (> >= 0) || ()) && ((strmatch(*friend*,)) || (strmatch(*access*,)) ||(strmatch(*ban*,))) - dhtmlgump +36)> +3)> 120 20 0 0 <..name> - if - button 4017 4018 1 0 )> + local.y += 20 + if ( >= 370) + local.x += 124 + local.y = 170 endif - endif - local.y += 20 - if >= 370 - local.x += 124 - local.y = 170 - endif endfor endif @@ -556,7 +567,6 @@ elseif !() endif ref1.secure argo.tag.access = > -argo.message @,,2 501716 // Secure! doswitch argo.message @,,2 501716 // Secure! argo.message @,,1 Контейнер теперь надёжен! @@ -1055,34 +1065,4 @@ resizepic gumppictiled +4)> +6)> -9)> -10)> 2624 checkertrans +4)> +6)> -9)> -10)> -[FUNCTION f_house_init] //ref1 - sign //ref2 - house //ref3 - owner -// if ( == -1) - // timer = 3600 - // if ! - // if - // message @,,1 : таймер возобновлен - // endif - // endif -// endif -if !() - tag.region_name = - tag.kingdom = - tag.kingdom_name = - - call f_return_todate - ref2.tag.buildon = - if ( & 02) - ref2.tag.lasttransfer = - endif - - ref2.tag.sign = - tag.sign_dispid = & ~0a8f00000)> -endif -if !() - tag.update_time = -endif -if !() - tag.update_date = - (( - ) / 864000))> -endif - [EOF] diff --git a/housing/house_typedefs.scp b/housing/house_typedefs.scp index 7bb4715..4bef818 100644 --- a/housing/house_typedefs.scp +++ b/housing/house_typedefs.scp @@ -1,4 +1,4 @@ -//**************************************************************************** +//**************************************************************************** // SphereServer by: SphereServer development team and Menasoft. // www.sphereserver.net //**************************************************************************** @@ -30,6 +30,7 @@ On=@HouseSysInit ref1 = //sign ref2 = //house ref3 = //owner + call f_return_todate ref2.tag.sign = tag.sign_dispid = & ~0a8f00000)> @@ -85,13 +86,13 @@ On=@ClientToolTip local.decaymsg = //1 local.decaymsg = //2 local.decaymsg = 0 //3 - local.decaymsg = 1 //4 + local.decaymsg = менее чем на 1 минуту //4 enddo end enddo doswitch addcliloc 1070722, Demolition Scheduled in - addcliloc 1070722, + addcliloc 1070722, Снос запланирован через endif elseif addcliloc 1070722, _FORSALE> gp @@ -134,7 +135,7 @@ On=@DClick else doswitch src.sysmessage @,,1 You must be standing on your doorstep to access the house menu. - src.sysmessage @,,1 , . + src.sysmessage @,,1 Вы должны находится на территории дома, чтобы получить доступ к меню. enddo return 1 endif @@ -163,8 +164,8 @@ On=@Timer ref2.sysmessage @,,1 The number of houses you own is now end begin - ref2.sysmessage @,,1 . - ref2.sysmessage @,,1 , , . + ref2.sysmessage @,,1 Ваш на территории разрушился. + ref2.sysmessage @,,1 Количество домов, которыми вы владеете, теперь равно . end enddo endif @@ -230,7 +231,8 @@ On=@DropOn_Item // Doors event [TYPEDEF ei_house_door] On=@Click - if !(() && ()) + if (() && ()) + else f_house_msg_access endif @@ -288,7 +290,7 @@ On=@DClick local.decaymsg = //1 local.decaymsg = //2 local.decaymsg = 0 //3 - local.decaymsg = 1 //4 + local.decaymsg = менее чем на 1 минуту //4 enddo end enddo @@ -458,10 +460,10 @@ On=@Click end begin message House Transfer Contract - message @,,1 : - message @,,1 : .name> - // message @,,1 : // () - message @,,1 : , + message @,,1 Дом: + message @,,1 Владелец: .name> + // message @,,1 Координаты: // () + message @,,1 Координаты: , end enddo return 1 @@ -474,7 +476,7 @@ On=@ClientToolTip On=@Timer if ( == t_eq_trade_window) - timerf 2,trigger @timer + timerf 2,trigger @Timer else uid..events -e_house_transfer remove @@ -503,10 +505,10 @@ On=@HouseTraded ref1.sysmessage @,,1 The number of houses you own is now . end begin - ref2.sysmessage @,,1 . - ref2.sysmessage @,,1 , , . - ref1.sysmessage @,,1 . - ref1.sysmessage @,,1 , , . + ref2.sysmessage @,,1 Вы передали этот дом . + ref2.sysmessage @,,1 Количество домов, которыми вы владеете, теперь равно . + ref1.sysmessage @,,1 перевел вам в собственность этот дом. + ref1.sysmessage @,,1 Количество домов, которыми вы владеете, теперь равно . end enddo link.delban -1 @@ -521,7 +523,7 @@ On=@DClick if ( != ) doswitch src.sysmessage @,,1 The item must be on your backpack. - src.sysmessage @,,1 . + src.sysmessage @,,1 Предмет должен находится в вашем рюкзаке. enddo return 1 endif @@ -535,13 +537,13 @@ On=@TargOn_Ground if ( > ) && () doswitch src.sysmessage @,,1 Number of days until you can place another house: -)/864000)> - src.sysmessage @,,1 , : -)/864000)> + src.sysmessage @,,1 Количество дней до того, как вы сможете установить новый дом: -)/864000)> enddo return 1 elseif !() && ( == 2) doswitch src.sysmessage @,,1 Housing cannot be created in this area. - src.sysmessage @,,1 . + src.sysmessage @,,1 Невозможно установить дом в этом регионе. enddo trigger @TargOn_Cancel return 1 @@ -556,7 +558,7 @@ On=@TargOn_Char endif doswitch src.sysmessage @,,1 You must place your house on ground. - src.sysmessage @,,1 . + src.sysmessage @,,1 Дом возможно установить только на земную поверхность. enddo trigger @TargOn_Cancel return 1 @@ -564,7 +566,7 @@ On=@TargOn_Char On=@TargOn_Item doswitch src.sysmessage @,,1 You must place your house on ground. - src.sysmessage @,,1 . + src.sysmessage @,,1 Дом возможно установить только на земную поверхность. enddo trigger @TargOn_Cancel return 1 @@ -593,14 +595,14 @@ On=@Enter else doswitch src.sysmessage @,,1 You are not a member of this guild. - src.sysmessage @,,1 . + src.sysmessage @,,1 Вы не являетесь членом данной гильдии. enddo return 1 endif else doswitch src.sysmessage @,,1 This is private property. You may not trespass. - src.sysmessage @,,1 . . + src.sysmessage @,,1 Это частная собсвтенность. Вы не можете пройти. enddo return 1 endif @@ -608,7 +610,7 @@ On=@Enter if (> >= 0) doswitch src.sysmessage @,,1 You are banned from this property. - src.sysmessage @,,1 . + src.sysmessage @,,1 Вам запретили находится на территории этого дома. enddo return 1 else @@ -653,14 +655,14 @@ On=@ItemDClick if !(>) && !( src.sysmessage @,,1 Only the home owner may place vendors here. - src.sysmessage @,,1 . + src.sysmessage @,,1 Только собственник дома может размещать торговцев. enddo return 1 else if ( == house_private) doswitch src.sysmessage @,,1 You must set your building to public before you can place vendors here. - src.sysmessage @,,1 . + src.sysmessage @,,1 Перед тем как разместить торговца нужно установить здание в публичный режим. enddo return 1 else @@ -673,8 +675,8 @@ On=@ItemDClick src.sysmessage @,,1 You must remove an existing vendor before you can place a new one. end begin - src.sysmessage @,,1 . - src.sysmessage @,,1 - . + src.sysmessage @,,1 У вас не хватает свободных мест для размещения торговца. + src.sysmessage @,,1 Вы можете уволить кого-то из ваших торговцев для размещения нового. end enddo return 1 @@ -686,7 +688,7 @@ On=@ItemDClick if ( == house_private) doswitch src.sysmessage @,,1 You must set your building to public before you can place vendors here. - src.sysmessage @,,1 . + src.sysmessage @,,1 Перед тем как разместить торговца нужно установить здание в публичный режим. enddo return 1 else @@ -699,8 +701,8 @@ On=@ItemDClick src.sysmessage @,,1 You must remove an existing vendor before you can place a new one. end begin - src.sysmessage @,,1 . - src.sysmessage @,,1 - . + src.sysmessage @,,1 У вас не хватает свободных мест для размещения торговца. + src.sysmessage @,,1 Вы можете уволить кого-то из ваших торговцев для размещения нового. end enddo return 1 @@ -709,7 +711,7 @@ On=@ItemDClick else doswitch src.sysmessage @,,1 Only people on the home lists may place a vendor here. - src.sysmessage @,,1 . + src.sysmessage @,,1 Только совладельцы и друзья могут размещать торговцев на территории дома. enddo return 1 endif @@ -735,7 +737,7 @@ On=@SkillStart endif doswitch src.sysmessage @,,1 You cannot do this whilst designing a house. - src.sysmessage @,,1 . + src.sysmessage @,,1 Вы не можете сделать этого во время проектирования дома. enddo return 1 @@ -752,7 +754,7 @@ On=@HouseDesignCommit if () doswitch src.sysmessage @,,1 You cannot do this whilst designing a house. - src.sysmessage @,,1 . + src.sysmessage @,,1 Вы не можете сделать этого во время проектирования дома. enddo return 2 endif @@ -762,32 +764,32 @@ On=@HouseDesignCommit if ( < ) doswitch src.sysmessage @,,1 You lack the funds to pay off this design. - src.sysmessage @,,1 . + src.sysmessage @,,1 У вас нет денежных средств для оплаты этого проекта. enddo return 1 endif argo.tag0.construction = -)> doswitch src.sysmessage @,,1 Your new house design has been committed. - src.sysmessage @,,1 . + src.sysmessage @,,1 Проект вашего нового дома успешно разработан. enddo if ( == 0) doswitch src.sysmessage @,,1 As the new design costs the same as the previous one, no gp has been taken out of your account. - src.sysmessage @,,1 , . + src.sysmessage @,,1 Поскольку общая стоимость вашего проекта не изменилась, денежные средства не списывались. enddo elif ( < 0) local.curcost = )> gold += doswitch src.sysmessage @,,1 As the new design is cheaper than the previous one, gp has been returned to you. - src.sysmessage @,,1 gp. + src.sysmessage @,,1 Поскольку новый проект оказался дешевле предыдущего на ваш банковский счет было возвращено gp. enddo else gold -= doswitch src.sysmessage @,,1 gp has been taken out of your account to pay for the construction. - src.sysmessage @,,1 gp . + src.sysmessage @,,1 gp были списаны с вашего банковского счета для оплаты строительства. enddo endif return 2 @@ -809,7 +811,7 @@ On=@LogOut ref1 = .MovingCrate> if () ref1.attr |= attr_invis - ref1.p + ref1.p = ref1.move 0 0 -20 endif endfor @@ -820,7 +822,7 @@ On=@HouseDesignBegin ref1 = .MovingCrate> if () ref1.attr |= attr_invis - ref1.p + ref1.p = ref1.move 0 0 -20 endif endfor diff --git a/housing/house_unused.scp b/housing/house_unused.scp index 0534961..3c19572 100644 --- a/housing/house_unused.scp +++ b/housing/house_unused.scp @@ -319,6 +319,7 @@ ONBUTTON=1 ref1 = //sign ref2 = //house ref3 = //owner + call f_return_todate ref2.tag.sign = tag.sign_dispid = & ~0a8f00000)> diff --git a/housing/other_function.scp b/housing/other_function.scp index d5f40be..6c4029a 100644 --- a/housing/other_function.scp +++ b/housing/other_function.scp @@ -1,3 +1,15 @@ +[DEFNAME LANGUAGE] +LANG_COUNT = 2 +LANG_0 = ENG +LANG_1 = RUS + +ENG = 0 +RUS = 1 + +[DEFNAME msg_types] +// TextColor Settings +fail 32 + [FUNCTION f_math_cat] //делит число на разряды if strlen() <= 3 return @@ -171,12 +183,23 @@ endif ////////////////////////////////////// +[PLEVEL 1] +LANGUAGE + +[FUNCTION LANGUAGE] +sdialog d_language +//f_LangChange + [FUNCTION f_LangChange] if > account.tag.LANG = ENG endif -local.switch = >?ENG:RUS> -account.tag.LANG = +local.lang = +local.lang += 1 +if ( > -1)>) + local.lang = 0 +endif +account.tag.LANG = > src.sysmessage @,,1 LANG = [FUNCTION f_LangShowNum] @@ -191,4 +214,39 @@ if > endif return + +[DIALOG d_language] +100,100 +// f_house_dialog 0,0,260, - 2)*50))> + +resizepic 0 0 260 - 2)*50))> +gumppictiled 4 6 251 - 2)*50))> 2624 +checkertrans 4 6 251 - 2)*50))> + +button 207 10 3 4 1 0 0 // close/cancel + +doswitch + dhtmlgump 10 10 240 20 0 0 LANGUAGE SELECTION + dhtmlgump 10 10 240 20 0 0 ВЫБОР ЯЗЫКА +enddo +resizepic 13 32 3000 233 64 +doswitch + dhtmlgump 10 36 240 60 0 0 In this menu, you can changethe language of messagesin the game. + dhtmlgump 10 36 240 60 0 0 В этом диалоговом окнеможно сменить языксообщений в игре. +enddo + +dorigin 4 60 +for 1 + gumppictiled - *50 251 36 +4)> + checkertrans - - 251 42 + dhtmlgump +38 +11 240 20 0 0 - 1)>> + button +2 +7 4005 4007 1 0 +enddo + +[DIALOG d_language button] +ONBUTTON=1,10 + argn -= 1 + src.account.tag.LANG = > + src.sysmessage @,,1 LANG = + [EOF] \ No newline at end of file