Войти на сайт Регистрация Лента форума Пользователи Правила сайта Поиск по форуму
Модератор форума: denis2000, FantomICW  
Модостроение. Спавн и логика
denis2000Дата: Пн, 10.10.2011, 21:20 | Сообщение # 1
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Спавн и логика

Создание объектов на локации и логика поведения этих объектов

Если у вас появились вопросы по созданию динамических объектов в игре (НПС, монстры, аномалии, и т.п.) и настройке их "поведения". Задавайте их в этой теме - умные головы,
модосторители и просто разбирающиеся в программировании люди вам ответят.


Много интересного материала здесь (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 по ссылке из шапки и соседнюю тему "Курс молодого бойца",
возможно Ваш вопрос уже рассматривался.


Если произошел вылет - выкладываем лог! Вопрос ставим четко, не забываем указывать версию игры, установленные моды их версии, установленные фиксы модов и подробно ваши правки.
Помните чем подробнее вопрос, тем точнее ответ.


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
LazurДата: Вс, 26.08.2012, 06:28 | Сообщение # 181
Новичок
Пользователи
Сообщений: 82
Награды: 3
Репутация: [ 96 ]

Эээ... Я думал, что префикс нужен для более быстрого нахождения всех путей, связанного со сценкой\квестом и соответственно их редактирования, оказалось, что нет.

Это из-за того что форум не читаешь, я почти два года назад об этом писал (КМБ Урок 7d). denis2000


На пыльных тропинках аномальных полей
Заспавнятся наши следы...
 
АазДата: Ср, 29.08.2012, 18:47 | Сообщение # 182
Хозяин Зоны
Зомби
Награды: 30
Репутация: [ 0 ]

ТЧ 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
 
LazurДата: Вс, 02.09.2012, 11:16 | Сообщение # 183
Новичок
Пользователи
Сообщений: 82
Награды: 3
Репутация: [ 96 ]

На Кордоне заспавнил тайник, но с ним какой то баг, собственно вопрос: "При спавне нескольких предметов (ствол, 2 пачки патронов, консерва и шлем) они проваливаются сквозь пол на нихний этаж. Такое явление является следствием косячной геометрии уровня?"

Они ложатся на AI-сетку. Если спавнить через SDK - то в нем нужно снять галочку Used AI Locations (вроде так). XOBAH

Нет, я спавню снимая координаты в игре. Можно ли это как то обойти?

Можно. Для этого не спавни предметы в одной точке. denis2000


На пыльных тропинках аномальных полей
Заспавнятся наши следы...


Сообщение отредактировал Lazur - Вс, 02.09.2012, 16:27
 
vashdaДата: Вт, 04.09.2012, 16:44 | Сообщение # 184
Удаленные



Постил в главной теме по 2.2 послали ... в этот раздел. не уверен в ту ли тему пишу но вроде как в ту.
[cut noguest=Репост дословно]Парни тема конечно уже подымалась но хочется снова ее озвучить. В следующей версии уберите мобам всевидящее око. Ибо задолбало даже, если тебя совершенно не видно ночью с глушителем ты убиваешь одного и именно к тебе сбегается вся куча и метает в тебя гранаты - с точностью которой даже снайперы бы позавидовали. При всем при том что тебя не видно. Это полностью лишает возможности проходить в стелс режиме и делает бессмысленными глушители. В оригинальной версии такого не было, в свое время стелсом на мастере проходил... Было ржачно как мобы своих же шмонают, но хотябы реалистично. Исправьте пожалуйста... Или побскажите где это можно поправить. [/cut]
З.Ы. Собственно послали меня сюда скорее всего дабы светлые умы просветили меня в какую сторону нужно копать. Ну или подсказали очевидное решение которое я упускаю.

Причина редактирования: Нарушение П.3.5. Наказание!
Также посылаю еще и в этот раздел!
DrLivsy

Добавлено (04.09.2012, 16:44)
---------------------------------------------
Ваще помог! Огромное спасибо! [Сарказм]

 
lychagin0Дата: Вс, 09.09.2012, 08:49 | Сообщение # 185
Легенда Зоны
Вольные сталкеры
Сообщений: 1303
Награды: 9
Репутация: [ 278 ]

Добрый день, denis2000, подскажите где можно почитать про схему "move" или секцию, так до конца и не понял.
И ещё вопрос, не смог найти логика альфы в СГМ, не подскажите?
Заранее спасибо.

Осторожнее с BB-кодами.
Про эту схему можно почитать только в scripts/xr_move.script, и то, имея соответствующие познания в скриптах. Строчки управления схемой находятся в конце файла, в функции "action_move:check_logic_condlists(npc,ini,section)", а их использование - во всем файле.
XOBAH


 
denis2000Дата: Вс, 09.09.2012, 13:28 | Сообщение # 186
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

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]


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
FantomICWДата: Чт, 13.09.2012, 21:43 | Сообщение # 187
Лидер «Свободы»
Свобода
Сообщений: 4438
Награды: 44
Репутация: [ 1340 ]

Здравствуйте!
Я в логике нпс не силен,поэтому у меня возник один вопрос:можно ли сделать так,чтоб Шило и Петруха после того,как помочь им,пошли на Скадовск и остались там?
Был бы очень благодарен,если вы мне поможете. smile



 
denis2000Дата: Чт, 13.09.2012, 22:30 | Сообщение # 188
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

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


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
Reaper412Дата: Чт, 04.10.2012, 21:19 | Сообщение # 189
Гражданский
Пользователи
Сообщений: 10
Награды: 0
Репутация: [ 0 ]

Братцы выручайте, прочитал я всё что мог, но так и не понял.....

Имею S.T.A.L.K.E.R COP с SG MOD 2.2, далее.. версия 1.6.02.
Играя в эту сборку мне стало немного скучно и ради собственного интереса я задумал создать своё авто, вернее его спавн.

Требуется мне только БТР, оживить его я могу, но дело в том, что прочитав всё что можно на просторах тырнета я так ни к чему и не пришёл. Либо меня выкидывало при загрузке игры, либо при заходе в неё. Играть без личного авто, не то что бы скучно, просто больно охото. Вот я и... решил, что вы мне поможете, перечитав КМБ и прошлые сообщения этой темы я так и не понял всей опции теории и практики создания полноценного спавна для COP, модель БТР'а имеется и всё, что к нему прилогается, но как заставить его появиться в игре я вообще не знаю, прошу вас товарищи.. помогите мне, если вам не трудно, даже не объяснить, а просто, написать полноценноый "СПАВН" со всеми конфигами и скриптами, в замен ничего предложить не могу... разве что, спасибо...

P.S: За допущение ошибок прошу простить, временно на виртуальной клавиатуре.

Вы уже разблокировали в движке 1.602 автотранспорт? denis2000
 
FREEM@NДата: Пт, 05.10.2012, 19:48 | Сообщение # 190
Легенда Зоны
Свобода
Сообщений: 1031
Награды: 8
Репутация: [ 271 ]

Такой вопрос: как на новой локации наладить спавн живности? ну там чтобы собаки бегали (например) и не так чтобы убил и всё, а чтобы убил и они через некоторое время опять там появились, короче э-лайф сделать на новой локе

Создавайте смарты с респавном монстров - подробности в КМБ. denis2000
 
FREEM@NДата: Пт, 05.10.2012, 19:58 | Сообщение # 191
Легенда Зоны
Свобода
Сообщений: 1031
Награды: 8
Репутация: [ 271 ]

Как добавить лагерь? Ну нормально обьясните-а то везде искал, нигде не написано ничего хорошего, обьясните по понятнее для чайника))
Лагерь добавить как например в СГМ - лагерь наёмников возле "Юпитера" чтобы как положено: чуваки там были, патруль ходил, анекдоты травили, у костра сидели и т.д.

Читайте КМБ! denis2000

Не нашёл я про спавн монстров. Может укажешь номер этого урока, где про это сказано?
FREEM@N


Об этом сказано в 3 и 4 уроках, в уроке 7 - квестовый монстр. denis2000


Сообщение отредактировал FREEM@N - Сб, 06.10.2012, 13:03
 
Reaper412Дата: Сб, 06.10.2012, 13:01 | Сообщение # 192
Гражданский
Пользователи
Сообщений: 10
Награды: 0
Репутация: [ 0 ]

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
 
OutfaterДата: Сб, 06.10.2012, 17:13 | Сообщение # 193
Гражданский
Пользователи
Сообщений: 23
Награды: 0
Репутация: [ 0 ]

Имею S.T.A.L.K.E.R COP с SG MOD 2.2, далее.. версия 1.6.02.
Подскажите как уменьшить (изменить) спавн в ящиках железных и деревянных, сейфах, пнях, холодильниках и т.д и т.п. а то уж слишком много шары. То подствол лежит, то прицел, а то аптечка крутая с гранатой к РПГ. Какой нафиг поиск артов, по локе пробежался и обеспечил себя не напрягаясь.

Спавн тайников в all.spawn описание в файлах типа secret_***.ltx.
denis2000


 
sergej5500Дата: Сб, 06.10.2012, 20:35 | Сообщение # 194
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
Награды: 29
Репутация: [ 1355 ]

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-тайников
 
OutfaterДата: Сб, 06.10.2012, 21:13 | Сообщение # 195
Гражданский
Пользователи
Сообщений: 23
Награды: 0
Репутация: [ 0 ]

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?


 
Поиск: