Перейти к контенту

[SoC] Ковыряемся в файлах


Рекомендуемые сообщения

Подскажите пожалуйста, так как рыл поиск не нашёл, как сделать динамичную музыку во время боя как в солянке? Какие файлы править и куда её кидать?

Ссылка на комментарий

amik, для этого существует секция [spawner] :)

Эта секция, которая присутствует как у NPC, так и у монстров, спавнит их по определенному условию (выводит в онлайн). Для того, чтобы они появились в данной точке, им надо поставить в настройках в Level editor флажок no_move_in_offline и отключен can_switch_offline. Спавнер прописывается в custom_data объекта перед секцией logic.

 

[spawner]
cond = {+info -info =func !func ~number} - условия для спавна.

 

Если условия спавна не будет выполняться, то объект не заспавниться, а если он заспавнился и условие перестает выполняться, то объект будет спавнером уведен в оффалйн.

 

После того, как объект заспавнился, его берет под управление скрипт Logic.

Пример использования секции:

[spawner]
cond = {+esc_boar_dogs_restrictor}

 

Файл: gamedata\scripts\xr_spawner.script

 

Спавн монстров дневных и ночных

 

[spawner]
cond = {=is_day} – спавнить монстра только днем (если надо ночью, то пишем {!is_day})
check_distance = true – проверка на наличие персонажа рядом.
min_distance = 100 – если игрок ближе указанной дистанции, то монстр не заспавниться (по дефолту 150 метров, но на самом деле это много).

 

zzedik, в логике meet в параметре use поставь self. Получится что-то типа этого:

[meet]
meet_state    = 10|guard@wait
meet_state_wpn    = 15|threat@threat_weap
victim        = 15|nil
victim_wpn    = 25|actor
use        = self
use_wpn        = false

Изменено пользователем Scarabay
Ссылка на комментарий
zzedik, можно добавить в xr_effects.script следующие строки
--Заставляем диалог появиться самому(в качестве параметра передавать сид обьекта)
function on_talk(actor, npc, p)
    local npc = level_object_by_sid(p[1])
    db.actor:run_talk_dialog(npc)
end

Таким образом при манипуляции с логикой нпс можно заставить появиться диалог. Если Sidа у обьекта нету, можно сделать так

level.object_by_id(id)

В этом случае передавать имя обьекта. Или можно без определения. Убрать p на входе функции и не обьявлять переменную npc. Просто так

function on_talk(actor, npc)
    db.actor:run_talk_dialog(npc)
end

Ссылка на комментарий

Scarabay Это не то, я тебе написал все в ЛС

zzedik Пробуйте:

[logic].
active = sr_idle

[sr_idle]
on_actor_inside = %+esc_on_talk%   --Выдача поршня
;Или так(Выбрать одно):
on_actor_inside = %=on_talk%"        --Функция

Если выбрали поршень, то создаем его:

<info_portion id="esc_on_talk">
<action>СКРИПТ.on_talk</action>
</info_portion>

Вызываем функцию и видим диалог:

function on_talk()
  local npc = level_object_by_sid(006) 
    db.actor:run_talk_dialog(npc)
end

 

 

Artos Спасибо. Попробую.

Изменено пользователем amik

Мой архив

Сталкером не занимаюсь.

Ссылка на комментарий

amik, не путай условия и действия.

Скрипт xr_conditions используется в логике для проверки условий и соответственно функции должны возвращать одно из двух логических значений (true/false).

Т.о.твое {!dell_prizrak1} - вроде как (по коду) должно вызывать проверку, но(!) на самом деле удаляет об'ект, не возвращая ничего ...

Тебе, вероятно нужно НЕ проверять "удаление", а просто удалять, т.е. использовать {=dell_prizrak1} и соответственно функцию поместить в xr_effects.script, т.е. скрипт, который обрабатывает действия.

 

Примечание: но я бы сделал удаление не из активной логики самого непися, а ... вначале убил бы его ( npc:kill(npc) ), чтобы снять активные коллбэки и уже немного позже, через таймер иль on_death - удалил бы. Несколько сложнее, но надежнее и безопаснее.

Изменено пользователем Artos

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

Ссылка на комментарий

В одной модификации имеется такой скрипт. С помощью него реализовано включение фонарика только в том случае, если он находится в руке ГГ, но при этом автор не доработал зависимость включения ПНВ без фонарика в руке. Т.е. в моде без включенного фонарика у ГГ в руке ПНВ костюма не включается, а надо чтоб включался. Я в этом не сильно разбираюсь, а автор скрипта сейчас сильно занят, если кто-нибудь может помочь с этим вопросом буду вельма благодарен!

Изменено пользователем sava.5

Железо: AMD Phenom 9550, nVidia GTS 450 1024 Мб, 4 Gb ОЗУ.

Две системы: Windows 7х64 и Windows 8х64

dx11, дрова на все свежайшие (автообновление).

Монитор LG W2052TQ, 1680x1050

Ссылка на комментарий

Кто знает как исправить такую фишку: во время фриплея (OGSM 2.3.1) я не могу попасть на базу долга, т.е. у меня нет доступа к Воронину!!! Как называется этот инфопоршень и как его вернуть после выполнения всех квестов, т.е. конец игры??? Кто меня понял и знает ответ на мой вопрос прошу в ЛС.

Анимация запрещена.

Ссылка на комментарий

Добрый день всем. Подскажите, как сделать проверку на жива/нет группа сталкеров. Хочу сделать квест на убийство допустим группы бандитов. Уже знаю способ, при котором каждому бандиту из группы, в spawn_sections прописывается логика, а в логике в свою очередь инфопоршн on_death. Есть ли другие, более рациональные способы отслеживать убийство группы? Если только с помощью смарт-террейнов - я не против, но подскажите как это сделать. (пытался сделать аналогично миссии где на деревню новичков нападает группа наемников, но не нашел нужного).

Ничто не вечно под луной.

Ссылка на комментарий

KitkaT.Net, Есть функция проверки населения гулага,к сожалению не помню точно ее название ( нет под рукой архивов), вставь ее в логику гулага с условием -"истина" (типа =gulag_desroed).Как пример гулаг военного блокпоста на кордоне или в логике АМКашных БТРов эта функция используется.

 

 

Изменено пользователем gruber
Ссылка на комментарий

gruber, спасибо, посмотрю.

panzyuza, именно про это я и писал, этот способ я знаю, но считаю что он слишком громоздкий. Считайте, нужно создать энное количество логик для каждого сталкера, сделать энное количество секций в spawn_sections... Спасибо, но нужно стремиться к упрощению:)

 

Добавлено через 27 мин.:

кое-как по инфопоршню esc_kill_bandits_quest_kill, означающему выполнение квеста на АТП нашел space_restrictor.

[logic]
active = sr_idle

[sr_idle]
on_info = {+esc_boar_dogs_restrictor} nil , {+tutorial_wounded_start =gulag_inactive(esc_fabrika_bandit)} sr_idle@boars %+esc_kill_bandits_quest_kill%

[sr_idle@boars]
on_actor_outside = nil %+esc_boar_dogs_restrictor%
END

 

 

я так понимаю если мне нужна будет проверка на население то выглядеть будет так: on_info {=gulag_inactive(мой_гулаг)} %+инфопоршн об окончании миссии%

 

p.s. - поясните знающие, зачем после {+esc_boar_dogs_restrictor} стоит nil, и как вообще этот рестриктор связан с гулагом?? Только тем что когда актор выйдет из зоны ему дастся +esc_boar_dogs_restrictor?

спасибо.

Ничто не вечно под луной.

Ссылка на комментарий
KitkaT.Net, Nil - отключение рестриктора после срабатывания.Чтоб не нагружать машину лишними проверками на то что есть актор в рестрикторе или нет(апдейт)
Ссылка на комментарий
KitkaT.Net, ты определись, как тебе нужно. То ли под гулагом, то ли просто так. Не всегда упрощение помогает. Данный метод достаточно старый, но по прежнему эффективен.
Ссылка на комментарий

Помогите, при попытке запустить игру вылет

Expression : assertion failed

Function : CLocatorAPI::ProcessArchive

File : E:\stalker\patch_1_0004\xrCore\LocatorAPI.cpp

Line : 337

Description : hdr

 

На другом компьютере все работает

Ссылка на комментарий

Добрый вечер!

Скачал мод Наемный Призрак, подскажите как убрать мигающий ПДА под миникартой

 

http://i-fotki.info/11/7f55b7d5081e0e1af9b7...884657.jpg.html

maxgorod.gif

Ссылка на комментарий

максгород, в файле maingame_16.xml тег <flashing_icons>

Попробуй поставить такие значения

<flashing_icon x="10000" y="1000" width="48" height="29" type="pda" light_anim="ui_slow_blinking_alpha">

Он у тебя уйдет за пределы экрана и не будет виден.

 

Проще в этой же секции (заодно и в файле maingame.xml) просто заремить саму текстуру:

<texture><!-- ui_hud_icon_PDA --></texture>

или даже еще проще:

<texture/>

- тогда и движек насиловаться координатами не будет, да и лишние ресурсы грузить ... --/Artos

Изменено пользователем Artos
Ссылка на комментарий

Еще раз всем добрый вечер. Скажите, пробовал кто-нибудь перенести эффект нападения псевдособаки из билда 1935? Где при нападении экран желтеет, ствол подбрасывает вверх на пару секунд,а затем все возвращается на свои места? пысы - честно забил в поиске по форуму "билд", но там 17 страниц...

Ничто не вечно под луной.

Ссылка на комментарий
KitkaT.Net, Давно реализовано.А вот в каком именно моде не помню, но в каком то из популярных на форуме, то ли в "Шраме", то ли в "ООПе"
Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...