sergej5500 0 Опубликовано 26 Октября 2015 Добрый день. Для Зова Припяти нужна функция в xr_conditions. Функция вызывается их логики объекта inventiory_box. Функция должна выдать true, если ближе 10 метров к этому inventory_box окажется любой сталкер или монстр. Какой функцией можно воспользоваться? Или как её правильно составить? Поделиться этим сообщением Ссылка на сообщение
sergej5500 0 Опубликовано 28 Октября 2015 Добрый вечер. Я пытаюсь добавить в Зов Припяти мины, которые мог бы устанавливать игрок. Мины должны реагировать на монстров и сталкеров. Базовый элемент мины - объект класса inventory_box. Спавнится объект под ногами игрока при юзании бустера (мины) в инвентаре ГГ. Логика мины [logic]active = ph_idle [ph_idle]nonscript_usable = falseon_info = {=dist_to_actor_ge(45)}ph_idle@1 [ph_idle@1]nonscript_usable = falseon_game_timer = 30 | ph_idle@2 [ph_idle@2]nonscript_usable = falseon_info = ph_idle@1%=mine_control% Функция подрыва function mine_control(obj1,obj)for i = 1,65534 do local obj1 =alife():object(i) if obj1 then if (obj1==IsStalker orobj1==IsMonster) then if distance_between(obj1,obj)<15then alife():create("remote_explosive_bomb_1",vector():set(obj:position()),obj:level_vertex_id(),obj:game_vertex_id()) level.add_call( function() ifget_story_object("remote_explosive_bomb_1") ~= nilthen returntrue end end, function() expl_obj =get_story_object("remote_explosive_bomb_1") expl_obj:explode(0) end ) local sobj =alife():object(obj:id()) if sobjthen alife():release(sobj,true) end end end endendend Функция подрыва должна проверить, не находится ли ближе 15 метров к мине монстр или сталкер. Если ближе есть живой объект, то заспавнить заряд взрывчатки и взорвать его. Функция не срабатывает. Где я допустил ошибку? Поделиться этим сообщением Ссылка на сообщение