|
Модостроение. Спавн и логика
|
|
| denis2000 | Дата: Пн, 10.10.2011, 21:20 | Сообщение # 1 |
 Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Спавн и логика Создание объектов на локации и логика поведения этих объектов Если у вас появились вопросы по созданию динамических объектов в игре (НПС, монстры, аномалии, и т.п.) и настройке их "поведения". Задавайте их в этой теме - умные головы, модосторители и просто разбирающиеся в программировании люди вам ответят.
Много интересного материала здесь (wiki), Lua_help.script, Help из SDK 0.7
Сборник модостроения ЗП v10.10.11 (автор: XOBAH): *.CHM, *.HTML [cut noguest=Если у вас не открывается файл CHM]Если у вас не открывается файл: 1. Запустите [Пуск]=>[Выполнить] (либо хот-кей [WIN]+[R]) 2. Введите команду (без кавычек) "regsvr32 %windir%\system32\hhctrl.ocx" 3. Если вылезло окно об успешном завершении вы все сделали правильно и можете перезагружать компьютер (а может и не надо) Также: файлы МОГУТ не открываться если в пути к файлу есть: символы кириллицы, "_", "#" Также: есть не стандартные программы-просмоторщики CHM файлов. Например: FBReader[/cut]
[cut=Где найти лог игры после вылета]Что такое LOG ошибки, и как мне его найти? Это система отладки происходивших вылетов, которая подается игрой в форме текста, хотя не всегда. Для того чтоб найти LOG необходимо зайти вот сюда:
В Win хр лог находится:
C:\Documents and Settings\All Users\Документы\S.T.A.L.K.E.R. - Зов Припяти\logs
Затем открываете первый файл в формате TXT, и в нем отбираете с низу 25 строчек. После кидаете эти 25 строчек в сообщение на форум.
В Win7 лог находится C:\Users\Public\Documents\S.T.A.L.K.E.R. - Зов Припяти\logs
Путь к папке с логом можно найти открыв файл fsgame.ltx который находится в корневой директории ЗП, за это отвечает строка: ... $app_data_root$ = true | false| $fs_root$| users\(тут мы указываем что папка пользователя, будет хранится рядом с Fsgame.ltx) ... $logs$ = true| false| $app_data_root$| logs\(а тут мы указываем что в папке пользователя, в подпапке Logs будут храниться наши логи) ... [/cut][cut=Получение более подробной информации о вылете (ХОВАН)] Открываем файл _g.script и ищем такую функцию: function abort(fmt, ...) Там есть заккомментированная строчка "--error_log(reason)", ее и надо расскомментировать, должно получиться вот так: Code function abort(fmt, ...) local reason = string.format(fmt, ...) error_log(reason) end Вот для примера два одинаковых вылета, первый с функцией по умолчанию, второй - с поправленной функцией
Первый: Code Expression : !m_error_code Function : raii_guard::~raii_guard File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp Line : 748 Description : ....a.l.k.e.r. - Зов Припяти\gamedata\scripts\_g.script:478: bad argument #2 to 'format' (string expected, got nil) Второй: Code Expression : 0 Function : ErrorLog File : D:\prog_repository\sources\trunk\xrServerEntities\script_engine_script.cpp Line : 49 Description : 'Attempt to read a non-existant string field 'path_walk' in section 'walker@mechanic' [/cut]
Перед тем, как задать вопрос в этой теме, прочтите все предыдущие страницы, статьи в wiki по ссылке из шапки и соседнюю тему "Курс молодого бойца", возможно Ваш вопрос уже рассматривался.
Если произошел вылет - выкладываем лог! Вопрос ставим четко, не забываем указывать версию игры, установленные моды их версии, установленные фиксы модов и подробно ваши правки. Помните чем подробнее вопрос, тем точнее ответ.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
| |
|
| Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
| Lazur | Дата: Вс, 26.08.2012, 06:28 | Сообщение # 181 |
 Новичок
Пользователи
Сообщений: 82
| Эээ... Я думал, что префикс нужен для более быстрого нахождения всех путей, связанного со сценкой\квестом и соответственно их редактирования, оказалось, что нет.
Это из-за того что форум не читаешь, я почти два года назад об этом писал (КМБ Урок 7d). denis2000
На пыльных тропинках аномальных полей Заспавнятся наши следы...
|
| |
|
| Эти 0 пользователя(ей) поблагодарили Lazur за это полезное сообщение: |
|
|
| Ааз | Дата: Ср, 29.08.2012, 18:47 | Сообщение # 182 |
 Хозяин Зоны
Зомби
| ТЧ 1.0004+моя сборка модов. Вылет при старте новой игры. На вопрос, мол, зачем Стрелка спавнить - отвечу, у меня фриплей с возможностью начала за любую группировку взят за основу, так вот. [cut noguest=Лог вылета]Expression : no_assert Function : CXML_IdToIndex<class CSpecificCharacter>::GetById File : e:\stalker\patch_1_0004\xr_3da\xrgame\xml_str_id_loader.h Line : 112 Description : item not found, id Arguments : aes2_strelok[/cut] Секция спавна правильная, иначе ACDC отказался бы пропускать файлы на компиляцию. [cut noguest=Профиль сталкера в character_desc_aes2.xml]<specific_character id="aes2_strelok"> <name>Стрелок</name> <icon>ui_npc_u_strelok</icon> <map_icon x="0" y="0"></map_icon> <bio>Живая Легенда Зоны, детальная информация отсутствует.</bio>
<class>aes2_strelok</class> <community>legends</community> <money min="500000" max="500000" infinitive="1"></money>
<rank>5000</rank> <reputation>550</reputation>
<visual>actors\hero\stalker_novice</visual> <snd_config>characters_voice\human_02\stalker\</snd_config> <crouch_type>-1</crouch_type> <panic_treshold>0</panic_treshold> <supplies> [spawn] \n wpn_gauss \n ammo_gauss \n
#include "gameplay\character_items.xml" \n #include "gameplay\character_drugs.xml" \n #include "gameplay\character_food.xml" </supplies>
#include "gameplay\character_criticals_3.xml"
<start_dialog>hello_dialog</start_dialog> #include "gameplay\character_dialogs.xml" </specific_character>[/cut]
[cut noguest=Запись в npc_profile.xml]<character id="aes2_strelok"> <class>aes2_strelok</class> <specific_character>aes2_strelok</specific_character> </character>[/cut]
[cut noguest=Запись в spawn_section.ltx][aes2_strelok]:stalker $spawn = "respawn\aes2_strelok" character_profile = aes2_strelok spec_rank = master community = legends[/cut] ЗЫ: коммьюнити, группировка сиречь, в последнем спойлере создана специально для того, чтобы квесты персонажа можно было пройти за любую группировку, поскольку legends (она же Легенды Зоны) нейтральна ко всем.
Файл character_desc_aes2.xml подключен в system.ltx? В оригинале этот файл атавизм (т.б. мусор, он нигде не используется и нигде не подключен). XOBAH
Изначально подключен он не был, поскольку я и не догадывался, что в оригинале он не использовался.
Сообщение отредактировал Ааз - Ср, 29.08.2012, 20:22 |
| |
|
| Эти 0 пользователя(ей) поблагодарили Ааз за это полезное сообщение: |
|
|
| Lazur | Дата: Вс, 02.09.2012, 11:16 | Сообщение # 183 |
 Новичок
Пользователи
Сообщений: 82
| На Кордоне заспавнил тайник, но с ним какой то баг, собственно вопрос: "При спавне нескольких предметов (ствол, 2 пачки патронов, консерва и шлем) они проваливаются сквозь пол на нихний этаж. Такое явление является следствием косячной геометрии уровня?"
Они ложатся на AI-сетку. Если спавнить через SDK - то в нем нужно снять галочку Used AI Locations (вроде так). XOBAH
Нет, я спавню снимая координаты в игре. Можно ли это как то обойти?
Можно. Для этого не спавни предметы в одной точке. denis2000
На пыльных тропинках аномальных полей Заспавнятся наши следы...
Сообщение отредактировал Lazur - Вс, 02.09.2012, 16:27 |
| |
|
| Эти 0 пользователя(ей) поблагодарили Lazur за это полезное сообщение: |
|
|
| vashda | Дата: Вт, 04.09.2012, 16:44 | Сообщение # 184 |
|
Удаленные
| Постил в главной теме по 2.2 послали ... в этот раздел. не уверен в ту ли тему пишу но вроде как в ту. [cut noguest=Репост дословно]Парни тема конечно уже подымалась но хочется снова ее озвучить. В следующей версии уберите мобам всевидящее око. Ибо задолбало даже, если тебя совершенно не видно ночью с глушителем ты убиваешь одного и именно к тебе сбегается вся куча и метает в тебя гранаты - с точностью которой даже снайперы бы позавидовали. При всем при том что тебя не видно. Это полностью лишает возможности проходить в стелс режиме и делает бессмысленными глушители. В оригинальной версии такого не было, в свое время стелсом на мастере проходил... Было ржачно как мобы своих же шмонают, но хотябы реалистично. Исправьте пожалуйста... Или побскажите где это можно поправить. [/cut] З.Ы. Собственно послали меня сюда скорее всего дабы светлые умы просветили меня в какую сторону нужно копать. Ну или подсказали очевидное решение которое я упускаю.
Причина редактирования: Нарушение П.3.5. Наказание! Также посылаю еще и в этот раздел! DrLivsy Добавлено (04.09.2012, 16:44) --------------------------------------------- Ваще помог! Огромное спасибо! [Сарказм]
|
| |
|
| Эти 0 пользователя(ей) поблагодарили vashda за это полезное сообщение: |
|
|
| lychagin0 | Дата: Вс, 09.09.2012, 08:49 | Сообщение # 185 |
 Легенда Зоны
Вольные сталкеры
Сообщений: 1303
| Добрый день, denis2000, подскажите где можно почитать про схему "move" или секцию, так до конца и не понял. И ещё вопрос, не смог найти логика альфы в СГМ, не подскажите? Заранее спасибо.
Осторожнее с BB-кодами. Про эту схему можно почитать только в scripts/xr_move.script, и то, имея соответствующие познания в скриптах. Строчки управления схемой находятся в конце файла, в функции "action_move:check_logic_condlists(npc,ini,section)", а их использование - во всем файле. XOBAH
|
| |
|
| Эти 0 пользователя(ей) поблагодарили lychagin0 за это полезное сообщение: |
|
|
| denis2000 | Дата: Вс, 09.09.2012, 13:28 | Сообщение # 186 |
 Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| lychagin0, У меня нашлось вот что: [cut noguest=Инстркукция к логике xr_move][logic] active = move@1
[move@1] move_dest_number = {+infa} 7574, 1192032 ; вертекс точки где стоит НПС move_stand_time = 0 ; Задержка в пункте назначения move_dest_actor = true ; идти за ГГ move_avail_cond = {=actor_has_weapon} false, true ; Условие при котором НПС может идти. move_look_vertex = {+infa} 7574, 1192032 ; вертекс точки куда смотрит НПС move_look_subject = actor ; смотреть на объект move_state_when_center = sit ; анимация стоячего положения move_state_when_move = walk ; анимация ходячего положения move_quick_animation = true ; Быстро ли применять анимацию тела move_home_teleport = true ; Телепортация в пункт назначения, при отходе от него. move_avail_speak = 15|wait|false|true ; Воспроизведение звуковой схемы через определённый промежуток времени (промежуток_в_секундах|звуковая_схема|говорить_при_беге|постоянно_говорить)
invulnerable = {+инфа} true, false ; бесмертие combat_ignore_cond = true ; игнорировть бой
move_combat_disable = true ; Запретить ли реакцию на раздражители. move_stop_on_talk = true ; Останавливаться при диалоге.
move_pursue_actor = true ; Охранять ГГ. move_pursue_look_subject = actor ; Смотреть на ГГ. move_pursue_sid = story_id|false ; Охранять SID объект (название_sid|использовать_ли_анимацию_sidа) move_pursue_range = 5|35 ; Дистанции до SID при которых совершаются изменения анимаций тела (мин.дистанция|макс.дистанция).
move_pursue_state_stand = hide ; Анимация тела по достижении цели охраны. move_pursue_state_move = assault ; Анимация тела для обычного движения к цели охраны. move_pursue_state_overtake = sprint ; Анимация тела для ускоренного движения к цели охраны.
move_center_info = infa ; Выдать инфопортацию по достижении пункта назначения. move_center_action = %=(блабла)% ; Выполнить действие {} %% по достижении пункта назначения. move_approach_actor = 1.9 ; Приближаться к ГГ. Значение параметра указывает дистанцию до ГГ, по преодолению которой НПС остановится. Режим №1. approach_state = hide_na|18|> ; Применение анимации тела на определённых дистанциях. approach_info = infa |8|< ; Выдача инфопортации на определённой дистанции
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;--\Команды: DEPEND\--
[move@DEPEND] scheme_type = depend ; установка схемы DEPEND depend_home_point = 1250657 ; Рабочий вертекс, в радиусе depend_holder от которого будет ходить НПС. depend_holder = 20 ; Радиус рабочего вертекса. depend_anim = walk ; Анимация тела для передвижения НПС. depend_combat_disable = true ; Запретить ли реакцию на раздражители.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;--\Команды: SHOOTER\--
[move@SHOOTER] scheme_type = shooter ; установка схемы SHOOTER shooter_pos = 1096311 ; Рабочая позиция НПС. shooter_fire_look = enemy ; Цель-вертекс в режиме огня shooter_idle_look = actor ; Цель-вертекс в режиме прицеливания. shooter_clip = 100000 ; Количество патронов или зарядов у НПС. Значение -1 означает бесконечность. shooter_reload = 600 ; Время между выстрелами shooter_type_wpn = sniper ; Тип оружия. Может быть: grenade_launcher, rifle, sniper. shooter_need_see = true ; Необходимо ли видеть цель, чтобы войти в режим огня shooter_need_dist = 120 ; Дальность ведения огня. shooter_move_state = walk ; Анимация тела для движения к назначенной позиции shooter_idle_state = threat ; Анимация тела по достижении назначенной позиции, в режиме прицеливания. shooter_fire_state = threat_fire ; Анимация тела по достижении назначенной позиции, в режиме огня. shooter_avail_cond = {+инфо} true, false ; Условие входа в режим огня. shooter_end_action = %=000% ; Выполнение действия {} %% после завершения обстрела. shooter_ignore_actor = false ; Игнорировать ли ГГ.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;--\Команды: PATROL\--
[move@PATROL] scheme_type = patrol ; установка схемы PATROL patrol_count_path = 2 ; Количество точек в патрульном пути patrol_path_1 = 34198 ; вертекс 1 точки patrol_path_1_state = rush ; анимация движения к 1 точки patrol_path_2 = 25663 ; вертекс 1 точки patrol_path_2_state = rush ; анимация движения к 2 точки patrol_countdown = false ; Обратный ли проход по точкам. Не с 1 по 20, а с 20 по 1. patrol_closed = false ; Замкнутый ли патрульный путь.
patrol_quick_anim = true ; Быстро ли применять анимацию тела. patrol_no_reaction = false ; Запретить ли реакцию на раздражители.[/cut]
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
| |
|
| Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
| FantomICW | Дата: Чт, 13.09.2012, 21:43 | Сообщение # 187 |
 Лидер «Свободы»
Свобода
Сообщений: 4438
| Здравствуйте! Я в логике нпс не силен,поэтому у меня возник один вопрос:можно ли сделать так,чтоб Шило и Петруха после того,как помочь им,пошли на Скадовск и остались там? Был бы очень благодарен,если вы мне поможете.
|
| |
|
| Эти 0 пользователя(ей) поблагодарили FantomICW за это полезное сообщение: |
|
|
| denis2000 | Дата: Чт, 13.09.2012, 22:30 | Сообщение # 188 |
 Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| FantomICW, В файле squad_descr_zaton.ltx в секции [zat_b53_artefact_hunter_1_squad] сделай параметр target_smart равным не Code target_smart = {-zat_b53_go_nil} zat_b53, nil а Code target_smart = {-zat_b53_go_nil} zat_b53, zat_stalker_base_smart
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
| |
|
| Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
| Reaper412 | Дата: Чт, 04.10.2012, 21:19 | Сообщение # 189 |
|
Гражданский
Пользователи
Сообщений: 10
| Братцы выручайте, прочитал я всё что мог, но так и не понял.....
Имею S.T.A.L.K.E.R COP с SG MOD 2.2, далее.. версия 1.6.02. Играя в эту сборку мне стало немного скучно и ради собственного интереса я задумал создать своё авто, вернее его спавн.
Требуется мне только БТР, оживить его я могу, но дело в том, что прочитав всё что можно на просторах тырнета я так ни к чему и не пришёл. Либо меня выкидывало при загрузке игры, либо при заходе в неё. Играть без личного авто, не то что бы скучно, просто больно охото. Вот я и... решил, что вы мне поможете, перечитав КМБ и прошлые сообщения этой темы я так и не понял всей опции теории и практики создания полноценного спавна для COP, модель БТР'а имеется и всё, что к нему прилогается, но как заставить его появиться в игре я вообще не знаю, прошу вас товарищи.. помогите мне, если вам не трудно, даже не объяснить, а просто, написать полноценноый "СПАВН" со всеми конфигами и скриптами, в замен ничего предложить не могу... разве что, спасибо...
P.S: За допущение ошибок прошу простить, временно на виртуальной клавиатуре.
Вы уже разблокировали в движке 1.602 автотранспорт? denis2000
|
| |
|
| Эти 0 пользователя(ей) поблагодарили Reaper412 за это полезное сообщение: |
|
|
| FREEM@N | Дата: Пт, 05.10.2012, 19:48 | Сообщение # 190 |
 Легенда Зоны
Свобода
Сообщений: 1031
| Такой вопрос: как на новой локации наладить спавн живности? ну там чтобы собаки бегали (например) и не так чтобы убил и всё, а чтобы убил и они через некоторое время опять там появились, короче э-лайф сделать на новой локе
Создавайте смарты с респавном монстров - подробности в КМБ. denis2000
|
| |
|
| Эти 0 пользователя(ей) поблагодарили FREEM@N за это полезное сообщение: |
|
|
| FREEM@N | Дата: Пт, 05.10.2012, 19:58 | Сообщение # 191 |
 Легенда Зоны
Свобода
Сообщений: 1031
| Как добавить лагерь? Ну нормально обьясните-а то везде искал, нигде не написано ничего хорошего, обьясните по понятнее для чайника)) Лагерь добавить как например в СГМ - лагерь наёмников возле "Юпитера" чтобы как положено: чуваки там были, патруль ходил, анекдоты травили, у костра сидели и т.д.
Читайте КМБ! denis2000
Не нашёл я про спавн монстров. Может укажешь номер этого урока, где про это сказано? FREEM@N
Об этом сказано в 3 и 4 уроках, в уроке 7 - квестовый монстр. denis2000
Сообщение отредактировал FREEM@N - Сб, 06.10.2012, 13:03 |
| |
|
| Эти 0 пользователя(ей) поблагодарили FREEM@N за это полезное сообщение: |
|
|
| Reaper412 | Дата: Сб, 06.10.2012, 13:01 | Сообщение # 192 |
|
Гражданский
Пользователи
Сообщений: 10
| denis2000 Не думаю, прошу раскрыть мне подробности.
Тогда скачайте автомобильный мод для 1.602. В нем будет патченый файл xrGame.dll и просто адаптируйте мод для SGM 2.2 это думаю будет не сложно. denis2000
Добавлено (06.10.2012, 13:01) --------------------------------------------- denis2000 xrGame.dll имеется с автомодом, но дело в том, что меня выкидывает с ошибкой при попытке заспавнить авто. Пробовал и создать своё SPAWN меню, делал как полагается, но тут бум....... и при нажатии на привязанную к спавн меню кнопку меня выкинуло.
Если вам не трудно, опишите пожалуйста способы адаптации.
Без правок и лога вылета вам никто не поможет! Об адаптации модов сказано в КМБ Инструкция 2. denis2000
Сообщение отредактировал Reaper412 - Сб, 06.10.2012, 13:01 |
| |
|
| Эти 0 пользователя(ей) поблагодарили Reaper412 за это полезное сообщение: |
|
|
| Outfater | Дата: Сб, 06.10.2012, 17:13 | Сообщение # 193 |
|
Гражданский
Пользователи
Сообщений: 23
| Имею S.T.A.L.K.E.R COP с SG MOD 2.2, далее.. версия 1.6.02. Подскажите как уменьшить (изменить) спавн в ящиках железных и деревянных, сейфах, пнях, холодильниках и т.д и т.п. а то уж слишком много шары. То подствол лежит, то прицел, а то аптечка крутая с гранатой к РПГ. Какой нафиг поиск артов, по локе пробежался и обеспечил себя не напрягаясь.
Спавн тайников в all.spawn описание в файлах типа secret_***.ltx. denis2000
|
| |
|
| Эти 0 пользователя(ей) поблагодарили Outfater за это полезное сообщение: |
|
|
| sergej5500 | Дата: Сб, 06.10.2012, 20:35 | Сообщение # 194 |
 Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
| Outfater Ящики, пни, сейфы с инвентарем прописаны в all.spawn и зарегистрированы в файле sgm_supply в gamedata\scripts. На Кордоне [cut=53 таких ящика]escape = {variable = 1, supply_boxs = "esc_inventory_box_1,esc_inventory_box_2,esc_inventory_box_3,esc_inventory_box_4,esc_inventory_box_5,esc_inventory_box_6,esc_inventory_box_7 ,esc_inventory_box_8,esc_inventory_box_9,esc_inventory_box_10,esc_inventory_box_11,esc_inventory_box_12,esc_inventory_box_13,esc_inventory_b ox_14,esc_inventory_box_15,esc_inventory_box_16,esc_inventory_box_17,esc_inventory_box_18,esc_inventory_box_19,esc_inventory_box_20,esc_inve ntory_box_21,esc_inventory_box_22,esc_inventory_box_23,esc_inventory_box_24,esc_inventory_box_25,esc_inventory_box_26,esc_inventory_box_27,e sc_inventory_box_28,esc_inventory_box_29,esc_inventory_box_30,esc_inventory_box_31,esc_inventory_box_32,esc_inventory_box_33,esc_inventory_b ox_34,esc_inventory_box_35,esc_inventory_box_36,esc_inventory_box_37,esc_inventory_box_38,esc_inventory_box_39,esc_inventory_box_40,esc_inve ntory_box_41,esc_inventory_box_42,esc_inventory_box_43,esc_inventory_box_44,esc_inventory_box_45,esc_inventory_box_46,esc_inventory_box_47,e sc_inventory_box_48,esc_inventory_box_49,esc_inventory_box_50,esc_inventory_box_51,esc_inventory_box_52,esc_inventory_box_53"},[/cut] Спавн в них задается функцией flip_supply_item в файле sgm_place в папке gamedata\scripts [cut=Фрагменты файла]Фрагмент функцииflip_supply_items: function flip_supply_items(parent_id,variable) if variable==nil then function flip_supply_items(parent_id,variable) if variable==nil then variable=1 end end (ссылка на variable=1)
Фрагмент функции variable=1: function flip_supply_variable_1(parent_id) local rnd_medicaments=math.random(1,2) local rnd_drugs=math.random(1,2) local rnd_ammo=math.random(1,6) local rnd_addons=math.random(1,3) fill_random_item(0.20,set_medicaments_2,parent_id) fill_random_item(0.20,set_medicaments_3,parent_id) if rnd_medicaments==1 then fill_random_item(0.25,set_medicaments_1_1,parent_id) else fill_random_item(0.16,set_medicaments_1_2,parent_id) end
Функция спавна медикаментов (set_medicaments_2): set_medicaments_2={"psy_complex","antirad"}
В верхней части файла в строках вида: set_detectors_1={"detector_simple","detector_advanced"} set_detectors_2={"detector_advanced","detector_elite"} set_detectors_3={"detector_elite","detector_scientific"} set_detectors_4={"detector_scientific","detector_omega"}
прописаны предметы, которые спавнятся в ящиках.[/cut]
Чтобы уменьшить спавн, можно пойти двумя путями: 1. В all.spawn убрать ящики (секции inventory_box) [cut=типичная секция][85]
; cse_abstract properties section_name = inventory_box name = esc_treasure_5 position = -106.922302246094, 19.9464263916016, 278.149047851563 direction = 0, -1.69019997119904, 0 version = 124 script_version = 8
; cse_alife_object properties game_vertex_id = 2070 distance = 0 level_vertex_id = 25 object_flags = 0xffffff3b custom_data = <<END [story_object] story_id = esc_inventory_box_2 [logic] cfg = scripts\SGM\escape\inventory_boxs\esc_inventory_box.ltx END
; cse_visual properties visual_name = dynamics\equipment_cache\equipment_rucksack_01_case
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;[/cut] Нужно будет убрать соответствующие секции так же из файла sgm_supply. 2. Отредактировать список спавнящихся предметов в файле sgm_place. Этот список предметов также используется при наполнении стандартных SGM-тайников
|
| |
|
| Эти 0 пользователя(ей) поблагодарили sergej5500 за это полезное сообщение: |
|
|
| Outfater | Дата: Сб, 06.10.2012, 21:13 | Сообщение # 195 |
|
Гражданский
Пользователи
Сообщений: 23
| Quote (sergej5500) 2. Отредактировать список спавнящихся предметов в файле sgm_place.
unction bonus_rank_3_items(parent_id) fill_random_item(0.08,set_device_boxs,parent_id) Спасибо за ответ. Я так понял 0.08 это вероятность появления.А я могу пойти третим путем - 0.08 заменить на 0.001?
|
| |
|
| Эти 0 пользователя(ей) поблагодарили Outfater за это полезное сообщение: |
|
|
|