Столкнулся с проблемой: не могу активировать телефон. Чтобы не впадать в длительную полемику сразу скажу, что все игровые условия выполнены. Полез копаться в файлах. Проблема в файле \HardLife\lua\items\phones.lua
function onPhonePatch(itemPayCard, itemPhone) local monster = GetCurrentMerc() local similar_item = PhoneItems[itemPhone:GetName()] if CanDrag(itemPayCard) and similar_item ~= nil then itemPhone:ChangeItemType(similar_item) if itemPayCard:GetInfo():GetOtherInfo():GetSubType() == oisStackable and itemPayCard:GetOtherData():GetStackSize() > 1 then if itemPayCard:DecSubCount() then return nil, true end end return itemPhone, true end return nil, false end
function onBatteryChange(itemBattery, itemReciever) local monster = GetCurrentMerc() local condition_bat = itemBattery:GetCondition() local condition_rec = itemReciever:GetCondition() local modified = false
if CanDrag(itemBattery) then itemReciever:SetCondition(condition_bat) itemBattery:SetCondition(condition_rec) modified = true end return nil, modified end
-- тоже можно бы вынести в конфиг AddItemCombineHandler("PayCard_mobile", "PhoneBrick0", onPhonePatch) AddItemCombineHandler("PayCard_mobile", "PhoneMoto0", onPhonePatch) AddItemCombineHandler("RadioBatt", "PhoneBrick", onBatteryChange) AddItemCombineHandler("RadioBatt", "LRS900", onBatteryChange) AddItemCombineHandler("RadioBatt", "Notebook", onBatteryChange) AddItemCombineHandler("RadioBatt", "Mine_detector", onBatteryChange) AddItemCombineHandler("RadioBatt", "portable_radio", onBatteryChange)
Конкретнее - в точке проверки CanDrag (выделено жирным). С самой функцией все в порядке, просто файл phones.lua каким-то образом ее "забыл", там что замена батареи тоже перестала работать. Проблема решена дублированием фунции CanDrag из файла common.lua в начало файла phones.lua
function CanDrag(item) local monster = GetCurrentMerc() -- проверяем что данный итем можно совмещать с другим путем drag'n'drop return HUDState() ~= 5 and not item:IsShopItem() end
Сообщение отредактировал Krenon - Воскресенье, 04.01.2015, 13:27