-
Публикаций
1 977 -
Зарегистрирован
-
Посещение
-
Победитель дней
2
Тип контента
Профили
Форумы
Блоги
Календарь
Новости
Моды
Весь контент denis2000
-
RomaL23 Значит по стандарту для статической геометрии: 1. Спавн в редакторе 2. Привязка к секторам 3. Билд локации 4. Компиляция локации 5. Перенос скомпилированной локации в папу игры. Pavel2000 Тогда задача понятнее, для этого применяют спавн при помощи SDK и story_ids (наследие ТЧ и ЧН): 1. Объект спавнится и точно позиционируется в SDK. 2. Ему в настройках назначается story_ids из внесенных в файл game_story_ids.ltx 3. Также эти объекты вносятся в файл game_spawn_story_ids.ltx 4. В начале игры удаляем объекты из списка файла game_spawn_story_ids.ltx 5. По мере необходимости спавним их командой alife():create(alife():spawn_id(ID)) Смысл всей этой движухи назначить динамическому объекту конкретный идентификатор (16-битный цифровой параметр с которым движок и работает), а не позволить ему выбрать рандомный свободный. Тогда зная его можно манипулировать объектом как нам нужно.
-
RomaL23 Build.prj в папке уровня появился? стрелок_2009 В секции ствола: silencer_status = 1. Внимание! Глушитель должен быть нарисован на 3D моделях и привязан к соответствующему суставу, а в конфиге должны присутствовать параметры описывающие глушитель. Теоретически - да, если придумаете как получать ваш партикл как объект, то к нему можно применить метод stop().
-
стрелок_2009 Пробуйте: if (db.actor:item_in_slot(7) ~= nil) and (db.actor:item_in_slot(7):section() == "имя_секции_брони") and (not actor_in_dolg()) then sim_board.get_sim_board():set_actor_community("actor_dolg") end function actor_in_dolg() for k,v in pairs(sim_board.get_sim_board().players) do if v.community_player == true and v.player_name == "actor_dolg" then return true end end return false end actor_dolg - специально под ГГ сделанная группировка Долг, включать в группировку для НПС не рекомендуется. Pavel2000 С правками движка - да.
-
Значит 100% это косяки оригинала.
-
Pavel2000 Тут нет - это в оригинале вы имеете ввиду? Дополнено 1 минуту спустя Если вставлять то так: function sim_squad_scripted:show() if self.show_disabled then self:hide() return end if(level.map_has_object_spot(self:commander_id(), "ui_pda2_trader_location")~=0) or (level.map_has_object_spot(self:commander_id(), "ui_pda2_mechanic_location")~=0) or (level.map_has_object_spot(self:commander_id(), "ui_pda2_scout_location")~=0) or (level.map_has_object_spot(self:commander_id(), "ui_pda2_quest_npc_location")~=0) or (level.map_has_object_spot(self:commander_id(), "ui_pda2_medic_location")~=0) then self.show_disabled = true return end if self.current_spot_id ~= self:commander_id() then self:hide() self.current_spot_id = self:commander_id() self:show() return end
-
Я это и имел ввиду, но оказывается на одном объекте могут одновременно висеть несколько меток, а не одна последняя. На вашем НПС есть еще метка командира сквада нейтралов. Попробуйте открыть файл sim_squad_scripted.script там в функции sim_squad_scripted:show есть строки: if(level.map_has_object_spot(self:commander_id(), "ui_pda2_trader_location")~=0) or (level.map_has_object_spot(self:commander_id(), "ui_pda2_mechanic_location")~=0) or (level.map_has_object_spot(self:commander_id(), "ui_pda2_scout_location")~=0) or (level.map_has_object_spot(self:commander_id(), "ui_pda2_quest_npc_location")~=0) or (level.map_has_object_spot(self:commander_id(), "ui_pda2_medic_location")~=0) then self.show_disabled = true return end Добавьте свою метку по аналогии.