Перейти к содержанию

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

 

61561952a1.png

Тема посвящена моддингу на платформе Зов Припяти.

 

Правила темы:

  • Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском, ответ на него, вероятно, уже есть.
  • Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода.
  • Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа).
  • Благодарность выражаем в личке или же ставим реакцию. Посты с благодарностями в теме будут удаляться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Ҫвяҭѳӎӹшљ 

Если воспользуетесь Яндексом, то узнаете, что

default_to_ruck = false - значит, если при пустой ячейке под автомат, подобрать автомат он будет помещён в ячейку; если true автомат в ячейку помещён не не будет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
10 часов назад, denis2000 сказал:

Gerbys Если чисто логикой, то можно так:


[logic]
active = sr_idle@wait

[sr_idle@wait]
on_info = {+info_portion} sr_idle@spawn

[sr_idle@spawn]
on_info1 = {~10} nil %=create_squad(squad_1:smart_terrain)%
on_info2 = {~10} nil %=create_squad(squad_2:smart_terrain)%
on_info3 = {~10} nil %=create_squad(squad_3:smart_terrain)%
on_info4 = {~10} nil %=create_squad(squad_4:smart_terrain)%

@Gerbys, для выбора из большего количества сквадов можно воспользоваться функцией (добавить в xr_effects.script)

function create_random_squad(actor, npc, p)
    create_squad(actor, npc, {p[1] .. "_" .. math.random(tonumber(p[2])), p[3]})
end

Из логики вызывать так:

%=create_random_squad(squad:4:smart_terrain)%

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

не спавнится эксклюзивный НПС с логикой
не понимаю в чем может быть проблема, не вылета, ничего, попросту его нету

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
3 часа назад, Ник Нуми сказал:

не спавнится эксклюзивный НПС с логикой
не понимаю в чем может быть проблема, не вылета, ничего, попросту его нету

Создание сквада сталкеров (НПС)

Создание смарт торрейна (smart_terrain)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Добрый день! У меня есть НПС, которые стоят на вей-поинтах, но они постоянно что-то говорят, как запретить им говорить? При чем, НПС штук 10, не хотелось бы прописывать каждому логику отдельно. Заранее спасибо!

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

AziatkaVictor И вам доброго времени суток! Если у вас НПС которые занимают дефолтные работы на смарте в виде точек пути, то их логика в файле gulag_general.script там ее и подправьте при необходимости.


Дополнено 4 минуты спустя

Ник Нуми А подробности будут или доставать свой хрустальный шар с антресолей?


Путь во мгле.
Связь времен.

"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Как можно прописать логику пулемёту, чтобы он при определённых условий сам по себе стрелял по игроку или куда еще?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Крим В оригинале пулемет построенный на классе автомобиля/бронетранспортера стреляет по ГГ или по точкам:

[ph_minigun@shoot_2] ;--стреляет по точкам
path_fire = esc_minigun_fire_way_2

[ph_minigun@actor_hidden] ;--стреляет по актору
target = actor

В моде Связь времен логика турели заметно расширена и стрелять он может по: актору, сталкерам, монстрам или по всем живым целям.

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

Путь во мгле.
Связь времен.

"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Сергей Шубин Благодарю вас за ответ, вы мне очень помогли. Но вот совет по использованию Яндекса мне не поможет, ибо я из Украины. Но всё равно, я вам крайне признателен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Как сделать "эксклюзивный" сквад? Как сделать квест на "поиск" локации? Поиск типо "Найти путь на Затон", сам ГГ спавнится на Кордоне, если ГГ будет на затоне, то квест выполнится.


Дополнено 1 минуту спустя

Эксклюзивный сквад, который ведёт себя не как обычные сквады НПС, а со своей логикой, чтобы у главного НПС сквада был диалог.


Требую Xiaomi ассистентку на основе Евы Элфи!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
3 часа назад, denis2000 сказал:

 

Дополнено 4 минуты спустя

Ник Нуми А подробности будут или доставать свой хрустальный шар с антресолей?

Мне нужно заспавнить эсклюзивного НПС-а для сюжета, прописал его в симуляции, вписал работу (через вэйпоинт), прописал в спавн секции, везде где только можно
Но зайдя в игру - его нету, он не спавнится попросту.
Какие файлы нужны для того чтобы ты там.. проверить мог?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Ник Нуми Начните с ответа на три ключевых вопроса:
1. Работа на чистом ЗП или на отдельном моде?
2. Что за локация: оригинальная или подключенная?
3. Как именно спавните сквад (строки с правками обязательны).

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

Путь во мгле.
Связь времен.

"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
4 минуты назад, denis2000 сказал:

Ник Нуми Начните с ответа на три ключевых вопроса:
1. Работа на чистом ЗП или на отдельном моде?
2. Что за локация: оригинальная или подключенная?
3. Как именно спавните сквад.

1. ЗП + граф. моды, ну и оружейка
2. Подключенная (Темная долина "маленькая" она ещё в П/A 4.1 была)
3. Поставил вэй поинт для спавна, и два для работы.


Дополнено 2 минуты спустя
4 минуты назад, denis2000 сказал:

Ник Нуми Начните с ответа на три ключевых вопроса:
1. Работа на чистом ЗП или на отдельном моде?
2. Что за локация: оригинальная или подключенная?
3. Как именно спавните сквад (строки с правками обязательны).

Спойлер

Cимуляция:
[start_position_black_valley]
blck_val_merc_stealth_squad = blck_val_s1
Сквад дескр:
[blck_val_merc_stealth_squad]:online_offline_group
faction = killer
npc - blck_val_merc_stealth
target_smart = blck_val_s1
story_id = blck_val_merc_stealth_squad
spawn_point = blck_val_s1_merc_stealth_squad_spawn

 

Изменено пользователем Ник Нуми

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Путь во мгле.
Связь времен.

"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Здравствуйте. Тут такое дело. Создал НПС и все такое. Логику работает полностью, но заданный ему level_spot не работает. 

[logic@esc_army_mech]
active = animpoint@base
suitable = {=check_npc_name(esc_army_mech)} true
prior = 200
level_spot = mechanic

[animpoint@base]
use_camp = false
avail_animations = animpoint_sit_normal
cover_name = esc_mil_mech_cover
meet = meet@base
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false

[meet@base]
close_anim = animpoint_sit_normal
close_victum = nil 
far_anim = animpoint_sit_normal
far_victum = nil
close_distance = 0
far_distance = 0
close_snd_distance = 3
allow_break = false
trade_enable = true
meet_on_talking = false

Подскажите, в чем может быть проблема?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
4 часа назад, Ник Нуми сказал:

npc - blck_val_merc_stealth

Написано именно так!? Должно быть = вместо -


Путь во мгле.
Связь времен.

"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Как задать состояние предметов у ГГ на старте игры? (костюм, шлем, оружие)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
3 часа назад, Gerbys сказал:

Как задать состояние предметов у ГГ на старте игры? (костюм, шлем, оружие)

gamedata\scripts\xr_effects.script
Функция damage_actor_items_on_start

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Как удалить уровень сложности? Радиоактивные артефакты можно сделать с помощью xr_effects? Также СИМКи, чтобы артефакты в них ложить, как в Misery.


Требую Xiaomi ассистентку на основе Евы Элфи!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
10 часов назад, Igor_Misery сказал:

Как удалить уровень сложности? Радиоактивные артефакты можно сделать с помощью xr_effects? Также СИМКи, чтобы артефакты в них ложить, как в Misery.

Чтобы удалить уровень сложности, нужно править тонну файлов, в том числе и движковых.
Как избавиться от данного лога вылета?
 

Спойлер

Expression    : !m_error_code
Function      : raii_guard::~raii_guard
File          : ..\xrServerEntities\script_storage.cpp
Line          : 748
Description   : ...call of pripyat\gamedata\scripts\bind_stalker.script:308: attempt to call field 'update_breath_snd' (a nil value)

Написал небольшую функцию, проигрывающую звук в соответствии с значением булеана в секции одетой брони.
 

Спойлер

function update_breath_snd()
local act = db.actor
local o = act:item_in_slot(7)
local h = act:item_in_slot(12)
local ini = ini_file("misc\\outfits.ltx") -- Здесь я изменил название файла вызываемого из system.ltx
local list = "helm_respirator",  "helm_hardhat",  "helm_tactic",  "helm_battle",  "helm_respirator_joker",  "helm_hardhat_snag",  "novice_outfit",  "stalker_outfit",  "svoboda_light_outfit",  "dolg_outfit",  "scientific_outfit",  "cs_heavy_outfit",  "svoboda_heavy_outfit",  "specops_outfit",  "military_outfit",  "dolg_heavy_outfit",  "exo_outfit",  "stalker_outfit_barge" -- лист всех секций брони
if act.power < 0.2 or act.health < 0.2 then -- Если стамина или здоровье меньше 20%
---
if o == nil and h == nil then -- слоты для брони пусты
xr_sound.play_sound_looped(act:id(), "breath_no_gas")
end
---
if o ~= nil and h ~= nil and (ini:r_string(o:section(), "gas_sounds") == "true" or ini:r_string(h:section(), "gas_sounds") == "true") then -- Если оба слота не пусты, и в секции брони gas_sounds = true, то тогда:
xr_sound.play_sound_looped(act:id(), "breath_gas")
end
if o ~= nil and h ~= nil and (ini:r_string(o:section(), "gas_sounds") == "false" and ini:r_string(h:section(), "gas_sounds") == "false") then -- Идентично предыдущему, но только значение обоих булеанов (шлем и бронька) = false.
xr_sound.set_sound_play(act:id(), "breath_no_gas")
end
---
if o ~= nil and h == nil and ini:r_string(o:section(), "gas_sounds") == "false" then
xr_sound.set_sound_play(act:id(), "breath_no_gas")
end
if o ~= nil and h == nil and ini:r_string(o:section(), "gas_sounds") == "true" then
xr_sound.set_sound_play(act:id(), "breath_gas")
end
---
if o == nil and h ~= nil and ini:r_string(h:section(), "gas_sounds") == "false" then
xr_sound.set_sound_play(act:id(), "breath_no_gas")
end
if o == nil and h ~= nil and ini:r_string(h:section(), "gas_sounds") == "true" then
xr_sound.set_sound_play(act:id(), "breath_gas")
end
end
if act.power >= 0.2 or act.health >= 0.2 then -- Если стамина или здоровье больше или равно 20%
xr_sound.stop_sound_looped(act:id(), "breath_no_gas")
xr_sound.stop_sound_looped(act:id(), "breath_gas")
end
end

Вызов происходит в файле bind_stalker в update.

Долго ломаю голову над этим. Что может быть не так?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

local list = "helm_respirator",...........

Это что за зверь такой?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Как создать ворон? (локация новая)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
4 часа назад, Gerbys сказал:

Как создать ворон? (локация новая)

Создаёшь рестриктор, его логику заполняешь так:

[logic]
active = sr_crow_spawner

[sr_crow_spawner]
max_crows_on_level = 15
spawn_path = имя_crow_spawn_1, имя_crow_spawn_2


Создаёшь точки в небе в way (имя_crow_spawn_1), штук пять точек сделай по всей локации


Дополнено 10 минуты спустя
5 часов назад, makdm сказал:

local list = "helm_respirator",...........

Это что за зверь такой?

 

Причём этот list в функции ни разу не вызывается, и да, он выглядит подозрительно. Лучше работать с таким вариантом:
 

local list = {}
list["helm_respirator"] = true
list["helm_hardhat"] = true
list["helm_tactic"] = true
и т. д.
if actor:item_in_slot(12) ~= nil and list[actor:item_in_slot(12):section()] == true then

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Ок, вариант с сложностью отпадает. А радиоактивные артефакты? Можно систему в Misery найти, и оттуда взять нужные файлы и строки.


Дополнено 5 минуты спустя

Чуть не забыл, как можно сделать выбор снаряжения похожий на тот, чтобы был в AREA? Ещё как дозиметр сделать?


Требую Xiaomi ассистентку на основе Евы Элфи!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   1 пользователь онлайн