Старлей 88 Опубликовано 11 Сентября 2013 Поделиться Опубликовано 11 Сентября 2013 ShredderО и правда, я просто с телефона заходил Ray Of Hope - кооператив сталкера OldStory Ссылка на комментарий
VEX 23 Опубликовано 11 Сентября 2013 Поделиться Опубликовано 11 Сентября 2013 Старлей, спасибо за помощь, но заглушки ставить не самый лучший вариант, с той ошибкой я уже разобрался, как и сказал Shredder там не хватало параметра targets в смарте. Тестовая локация теперь грузится, работы для смарта тоже сделал (без них был вылет на path camp), но после загрузки не происходит спавн НПС(сквада), в логе нету ни каких ошибок. Не ужели ни кто не занимался смартами на ЧН? Урок по созданию смартов в ЗП, только частично подходит для ЧН, ибо не все файлы и функции которые используются для смарта ЗП есть в ЧН. Cоветы,по какому либо делу стоит давать только тогда, когда умеешь делать это дело лучше того, кого пытаешься наставлять. Ссылка на комментарий
vampirnik77 121 Опубликовано 29 Сентября 2013 Поделиться Опубликовано 29 Сентября 2013 (изменено) Возник вопрос, возможно ли сделать так что бы в названии предмета было имя НПС, хочу сделать так что бы у убитого нпс был КПК, например "Кпк сталкера по кличке Димка Туз" Изменено 29 Сентября 2013 пользователем vampirnik77 Официальная страница проекта Neof-One Crew Ссылка на комментарий
Malandrinus 615 Опубликовано 29 Сентября 2013 Поделиться Опубликовано 29 Сентября 2013 @vampirnik77, заведи отдельную секцию для твоего кпк, унаследуй её от существующей (через двоеточие). Измени описание предмета на нужное тебе. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
vampirnik77 121 Опубликовано 29 Сентября 2013 Поделиться Опубликовано 29 Сентября 2013 (изменено) Вы наверное не поняли, нужно чтобы при убийстве любого (не квестового) непися у него был кпк, как отследить имя НПС, ведь имя рандомное. Изменено 29 Сентября 2013 пользователем vampirnik77 Официальная страница проекта Neof-One Crew Ссылка на комментарий
Malandrinus 615 Опубликовано 29 Сентября 2013 Поделиться Опубликовано 29 Сентября 2013 Имя непися отследить не проблема, проблема прописать это имя произвольному кпк. Здесь решения нет. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
Старлей 88 Опубликовано 29 Сентября 2013 Поделиться Опубликовано 29 Сентября 2013 vampirnik77Проблема в именовании КПК, как сказал malandrinus, это по идее для каждого нпс придется создавать отдельный предмет(секцию), в свойствах которого inv_name будет с именем НПС, я кстати даже незнаю можно ли вообще как-нибудь через нет-пакеты поменять этот параметр Ray Of Hope - кооператив сталкера OldStory Ссылка на комментарий
Artos 99 Опубликовано 29 Сентября 2013 Поделиться Опубликовано 29 Сентября 2013 (изменено) Чтобы КПК получил имя владельца, в его (КПК) параметр 'original_owner' должен быть прописан игровой идентификатор (id) владельца, а в 'specific_character' - профиль владельца (это вторично). Тогда имя КПК будет персональным и соответствовать имени сталкера с этим идентификатором. Собственно этот параметр заполняется автоматом, когда сталкер спавнится в игру и следом ему его именной КПК. Но, можно и заменить или добавить (если отсутствует) сам КПК (обычный!) и перезаписью net-пакетом установить требуемые значения. Примечание: Секция для именных КПК должна быть ТОЛЬКО штатной, т.е. [device_pda], все остальное - по вкусу... Изменено 29 Сентября 2013 пользователем Artos 1 "Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени Ссылка на комментарий
Malandrinus 615 Опубликовано 29 Сентября 2013 Поделиться Опубликовано 29 Сентября 2013 @Artos, а ты это проверял? Поля то есть, вот только не похоже, чтобы это на самом деле работало. По крайней мере у меня сходу не заработало. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
Artos 99 Опубликовано 30 Сентября 2013 Поделиться Опубликовано 30 Сентября 2013 @Malandrinus, я практик, а не теоретик ;-), конечно же не только проверял, но и использую на практике (в SIMBION'e). Не проверял только такие случаи: - КПК спавнится, когда владельц уже мертв; - КПК спавнится, когда у владельца уже имеется имеется свой именной КПК; Во всех остальных случаях не было никаких проблем. В моде в модуле офф-лайн-алайф (аналог AMK'шного), в котором неписи занимаются собирательством и "подметают" все на локациях, при продаже хабара, не продают именно свой КПК, отличая его по метке 'original_owner'. Также, при сборе актором различных КПК, различаются безхозные и именные КПК, опять же по этой метке. Снятие метки снимало "персональность" найденного КПК. У игроков в мод бывали случаи, когда при попадании в аномалию актор терял свой КПК... Искал потерянное (скриптами) именно по метке, и возвращал. А при отсутствии - просто спавнил новый и метил - КПК становился: "КПК Меченный". (это в ТЧ). (к вечеру гляну непроверенные ситуации, и применительно с ЧН) "Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени Ссылка на комментарий
Malandrinus 615 Опубликовано 30 Сентября 2013 Поделиться Опубликовано 30 Сентября 2013 @Artos, ага, у меня не работало, поскольку спавнил в инвентарь. Я уже успел забыть, что при этом нетпакеты не работают. Однако, я это проверял на ТЧ. На ЧН не проверял, поэтому неизвестно, будет ли работать. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
Artos 99 Опубликовано 1 Октября 2013 Поделиться Опубликовано 1 Октября 2013 Вынужден признать свою ошибку относительно возможности отображения надписи для именных КПК в ЧН (CS) и ЗП (CoP) через параметры объекта. К сожалению, в ЧН/ЗП в движке напрочь вырезана эта возможность и надпись отображает только то, что прописано в к конфиге строкою 'inv_name'. Под ТЧ отображение именных надписей работает, но требуется спавнить КПК не сразу в тело, а вначале спавнить "на землю" и менять параметры и уже после этого вкладывать КПК владельцу (=>трансфер). В противном случае возникает двойная проблема: - сразу после спавна КПК не отображается "именным"; - после сэйв->лоад уже "именной" КПК как бы исчезает из трупа, т.е. невидим, хотя и находится в инвентаре (но это отдельная история). "Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени Ссылка на комментарий
Roma3094 0 Опубликовано 3 Октября 2013 Поделиться Опубликовано 3 Октября 2013 Всем доброго дня, ребят, такой вопрос: Как сделать численность отряда допустим 6 человек постоянной, а то отряды ЧНовцев появляются по 3-4 человека, а я бы хотел чтобы было всегда 6 бойцов. И ещё, как сделать чтобы в отряде ЧНовцев не было сталкеров новичков (в кожанных куртках), а были все в комбезах. Можно такое сделать? Ссылка на комментарий
Старлей 88 Опубликовано 4 Октября 2013 Поделиться Опубликовано 4 Октября 2013 (изменено) Roma3094 1. Зайди в файл sim_faction.script найди функцию: function se_sim_faction:read_params() И добавь перед строкой "--' Вычитываем и заполняем уровни экспансии группировки" этот код: self.squad_size_min = utils.cfg_get_number(self.setting_ini, "settings", "squad_size_min", self, false, 5) self.squad_size_max = utils.cfg_get_number(self.setting_ini, "settings", "squad_size_max", self, false, 5) Затем зайди в скрипт sim_squad_generic.script и найди функцию function sim_squad_generic:create_npc(spawn_smart) И замени на эту: function sim_squad_generic:create_npc(spawn_smart) self.squad_power = 0 local base_spawn_position = spawn_smart.position local base_lvi = spawn_smart.m_level_vertex_id local base_gvi = spawn_smart.m_game_vertex_id if spawn_smart.spawn_point ~= nil then base_spawn_position = patrol(spawn_smart.spawn_point):point(0) base_lvi = patrol(spawn_smart.spawn_point):level_vertex_id(0) base_gvi = patrol(spawn_smart.spawn_point):game_vertex_id(0) end local custom_resource = nil local player = self.board.players[self.player_id] --get max and min number of NPCs in a squad local min_npc = player.squad_size_min local max_npc = player.squad_size_max if self.player_id == "monster" then local level_name = alife():level_name(game_graph():vertex(spawn_smart.m_game_vertex_id):level_id()) local min, max = 0,5 if monster_resource_by_level[level_name] ~= nil then min = monster_resource_by_level[level_name][1] max = monster_resource_by_level[level_name][2] end custom_resource = math.random(min,max) min_npc = monster_num_by_resource[custom_resource][1] max_npc = monster_num_by_resource[custom_resource][2] end local npc_in_squad = math.random(min_npc,max_npc) for i=1,npc_in_squad do local position = base_spawn_position position.x = position.x + math.random(-2,2) position.z = position.z + math.random(-2,2) local spawn_section = player:get_spawn_section(spawn_smart, custom_resource) local obj = alife():create(spawn_section, position, base_lvi, base_gvi) obj.squad_id = self.squad_id self.squad_npc[obj.id] = obj.id self.sound_manager:register_npc(obj.id) if self.commander_id == nil then self.commander_id = obj.id end npc_ids[i] = obj.id self.npc_count = self.npc_count + 1 --printf("sim_squad_generic: npc_count is [%s], obj:rank is [%s], obj:name is [%s], self.squad_power is [%s]", tostring(self.npc_count), tostring(obj:rank()), obj:name(), tostring(self.squad_power)) self.squad_power = self.squad_power + 5*obj:rank()/1000 end self.smart_id = spawn_smart.id self:refresh() if self.squad_power > 25 then abort("Squad power couldnt be over 25!!!") end end Затем в файлах настройки группировок(misc\faction_****.ltx) ты можешь указывать значения мин. и макс. кол-ва человек в отряде для каждой группировки: [settings] ... squad_size_min = 2 squad_size_max = 4 ... Примечание: Естественно надо сделать проверку на то, получены ли параметры из .ltx файла, чтобы не было вылета, ну или просто во всех файлах настройки группировок указать эти значения. Изменено 4 Октября 2013 пользователем Старлей Ray Of Hope - кооператив сталкера OldStory Ссылка на комментарий
Roma3094 0 Опубликовано 4 Октября 2013 Поделиться Опубликовано 4 Октября 2013 @Старлей, В файле faction_csky строчки squad_size_min = 2squad_size_max = 4 нужно прописывать самому? У меня их там нет, только это: [settings]glory_0 = 0 ;Количество дополнительных отрядов, в зависимости от числа захваченных территориальных точек.glory_1 = 1glory_2 = 2glory_3 = 3glory_4 = 4glory_5 = 5 @Старлей, Начинаю новую игру, появляюсь на базе небовцев. Отряды по 4 человека (на базе), хотя прописывал 8. Перехожу в стадию войны на болотах, при спавне нового отряда - вылет. Прописал такое же кол-во squad_size_min = 8squad_size_max = 8 в других группировках, при спавне опять вылет. Что-то делаю не так =/ Ссылка на комментарий
Старлей 88 Опубликовано 4 Октября 2013 Поделиться Опубликовано 4 Октября 2013 Roma3094Товарищ, на базе Чистого неба - скриптовые отряды, параметры которых хранятся в misc\squad_descr_****.ltx и профили бойцов там же, а вылет твой при спавне отряда означает, что ты прикрутил эти параметры где-то не так, и чтобы сказать где, нужен лог. Ray Of Hope - кооператив сталкера OldStory Ссылка на комментарий
Roma3094 0 Опубликовано 4 Октября 2013 Поделиться Опубликовано 4 Октября 2013 @Старлей, Вылет без лога. Просто игра закрывается и всё. Ссылка на комментарий
IGOR™ 231 Опубликовано 4 Октября 2013 Поделиться Опубликовано 4 Октября 2013 Доброго Дня.Подскажите пожалуйста правильный инфопоршн для принудительного завершения задания (через ui_main_menu) "Забрать добычу из тайника". Это квест из ориг. ЧН, после освобождения диггеров из концлагеря. Получилось так, что вещи из тайника забираю, а задание в ПДА так и остается. И как все правильно нужно прописать, чтобы при нажатии например Esc-F6-Esc, задание засчиталось? Ссылка на комментарий
FantomICW 678 Опубликовано 4 Октября 2013 Поделиться Опубликовано 4 Октября 2013 (изменено) @IGOR™,здравствуй. Попробуй вот так: В ui_main_menu.script после if dik == DIK_keys.DIK_Q then self:OnMessageQuitWin() добавь: elseif db.actor~=nil and dik==DIK_keys.DIK_F6 then db.actor:give_info_portion("gar_quest_captive_reward_done") Изменено 4 Октября 2013 пользователем FantomICW 2 Ссылка на комментарий
Roma3094 0 Опубликовано 4 Октября 2013 Поделиться Опубликовано 4 Октября 2013 @Старлей, Посмотрите, тут всё правильно? Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти