tank144 1 Опубликовано 5 Ноября 2014 (изменено) Добавил в свою сборку,всё работает, но не обрабатывается смерть напарника, счётчик количества смертей не пополняется, отметка его местоположения остаётся на карте и сообщения об этом не появляются. Может кто подскажет куда копать или исправит? Просмотрел нескалько раз всё через WinMerge, но не понятно где проблемма. Версия игры 1.0006 Изменено 5 Ноября 2014 пользователем tank144 Поделиться этим сообщением Ссылка на сообщение
tank144 1 Опубликовано 7 Ноября 2014 (изменено) Очень благодарен за помощь. Не первый раз пытаюсь склеивать моды и каждый раз застревал на этом. Возможно будет полезно кому-то. xrs_ai из ai пака для амк мешал выполняться xr_companion'у. function motivator_binder:death_callback(victim, who) if xrs_ai then xrs_ai.npc_death_callback(self.object) end if self.object == nil then return end if who:id() == db.actor:id() then xr_statistic.addKillCount(self.object) end if self.st.death then xr_logic.issue_event(self.object, self.st.death, "death_callback", victim, who) end if self.st.active_section then xr_logic.issue_event(self.object, self.st[self.st.active_scheme], "death_callback", victim, who) end sr_territory.issue_event(self.object, "death_callback", victim, who) sr_light.check_light(self.object) smart_terrain.on_death( self.object:id() ) -- added by xStream for AMK miniSDK amk.on_death(victim, who) -- end of addition death_manager.drop_manager(self.object):create_release_item() self:clear_callbacks() -- Наносим небольшой импульс вперед. local h = hit() h.draftsman = self.object h.type = hit.fire_wound h.direction = db.actor:position():sub(self.object:position()) h:bone("pelvis") h.power = 1 h.impulse = 10 self.object:hit(h) if table.getn(self.particles)>0 then for kk,vv in pairs(self.particles) do vv:on_death() end end if(actor_stats.remove_from_ranking~=nil)then local community = self.object:character_community() if community == "zombied" or community == "monolith" or community == "arena_enemy" then return end actor_stats.remove_from_ranking(self.object:id()) end sk_trups.death_callback(victim) --// xr_companion xr_companion.companion_death(self.object) end Переместил сюда, стало работать. function motivator_binder:death_callback(victim, who) if xrs_ai then xrs_ai.npc_death_callback(self.object) end if self.object == nil then return end if who:id() == db.actor:id() then xr_statistic.addKillCount(self.object) end --// xr_companion xr_companion.companion_death(self.object) if self.st.death then xr_logic.issue_event(self.object, self.st.death, "death_callback", victim, who) end if self.st.active_section then xr_logic.issue_event(self.object, self.st[self.st.active_scheme], "death_callback", victim, who) end sr_territory.issue_event(self.object, "death_callback", victim, who) sr_light.check_light(self.object) smart_terrain.on_death( self.object:id() ) -- added by xStream for AMK miniSDK amk.on_death(victim, who) -- end of addition death_manager.drop_manager(self.object):create_release_item() self:clear_callbacks() -- Наносим небольшой импульс вперед. local h = hit() h.draftsman = self.object h.type = hit.fire_wound h.direction = db.actor:position():sub(self.object:position()) h:bone("pelvis") h.power = 1 h.impulse = 10 self.object:hit(h) if table.getn(self.particles)>0 then for kk,vv in pairs(self.particles) do vv:on_death() end end if(actor_stats.remove_from_ranking~=nil)then local community = self.object:character_community() if community == "zombied" or community == "monolith" or community == "arena_enemy" then return end actor_stats.remove_from_ranking(self.object:id()) end sk_trups.death_callback(victim) end Изменено 7 Ноября 2014 пользователем tank144 1 Поделиться этим сообщением Ссылка на сообщение