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

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


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

@karavan, По конкретней? Могу направить на каллбэк, function actor_binder:use_inventory_item(obj)

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

 

 

Вообще хотелось бы конкретную функцию на "надевание шлема". 

"Хотеть не вредно, вредно не хотеть" :) ... (автор неизвестен)

С ЗП не ковырялся(не интересно), по-этому могу ошибаться, но все-же: посмотрел lua_help от ЗП, перечисление доступных коллбэков - ничего, напоминающего снятие\одевание\смену шлемов не увидел. Следовательно, наиболее реальный вариант отследить движняк со шлемами - проверять содержимое соответствующего слота на каком-либо апдейте.

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

О, блин, тут-то еще интереснее.

 

@karavan, капитан логика подсказывает на юз колбек с задержкой ставить проверку есть ли шлем, если есть то какой. А вообще добавь колбек, а то твое стучание в бубен и барабаны аж до меня доносится.

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

В чистом ЗП нет колбэка на помещение предмета в слот. Только в апдейте проверять, если в слоте ничего не было, а на следующем апдейте уже есть - значит в слот что-то поместили.
Или можно взять обновлённую версию движка, где такой колбэк есть.

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

Ищешь в каком скваде этот НПС и в конфиге сквада (misc\squad_descr_) указываешь: invulnerable = true. Еще можно такое-же прописывать в секциях логики НПС-а, тогда, если я не ошибаюсь, он будет бессмертным даже к ГГ.

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

Что написать в логике НПС, чтобы он переместился на другую локацию, например, с Затона на Юпитер. Прокатит ли просто прописать новый смарт террейн в другой локации и перейдет ли он туда?

Да где же этот артефакт, едрить его в корень!

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

Ищешь в каком скваде этот НПС и в конфиге сквада (misc\squad_descr_) указываешь: invulnerable = true. Еще можно такое-же прописывать в секциях логики НПС-а, тогда, если я не ошибаюсь, он будет бессмертным даже к ГГ.

А есть возможность  более подробно и на примере объяснить как это сделать?

Clayman

Большое спасибо, все получилось.

volkodav37.gif

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

MrGROX ,если НПС один в скваде, то напиши в конфиге сквада нужный смарт target_smart = , можно с условием:

target_smart = {нужные проверки} смарт.

Но в чистом ЗП так не делается. Там, насколько я помню, графпоинты, связывающие локации находятся на базах, и если сквад с нпс-ом будет переходить, когда поблизости игрок, то будет некрасиво исчезать у тебя на глазах.

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

Товарищи скриптописатели! Нужна ваша помощь!

Проблема вот в чём. Пытаюсь сделать себе солянку на базе UnP 0.8

Игра - лицензия, патч 1.6.0.2

При подключении нескольких модов, с определённого момента, игра начинает вылетать с логом

Expression : !m_error_code
Function : raii_guard::~raii_guard
File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
Line : 748
Description : ....l.k.e.r. - cop\gamedata\scripts\bind_stalker.script:478: attempt to concatenate field '?' (a nil value)

Это

function actor_binder:load(reader)

оператор 

get_console():execute("g_game_difficulty "..game_difficulty_by_num[game_difficulty])

То есть, сбрасывается в сохранении, или не сохраняется уровень сложности. Возможно, ещё что-то.

если подставить костыль в виде

local game_difficulty = 1

то сохранение может загрузиться нормально (с виду), или вылететь за отсутствием ещё какой-либо переменной, идентификатора погоды, например.

Моды, в основном, инициализируются через различные функции bind_stalker.script

Моды сами по себе не затрагивают ни погоду, ни уровень сложности.

Моды, подключенные по-отдельности к UnP 0.8, никаких проблем не вызывают, сохраняются/загружаются нормально.

Отключение модов без начала НИ сохранение не спасает, т.е. переменные обнуляются либо сбрасываются до/во время сохранения.

Если один из модов отключить, а потом начать НИ, проблема, обычно, пропадает.

 

Список модов:

  • ___Up_CoP_v0.8\
Моды, подключаемые через bind_stalker:
  • ammo_fix_v100002\
  • Artefact_respawner_COP\
  • Detector_Fenix\
  • exchanging items mod COP 0.1\
  • Телевизор_у_Зулуса\
Моды без скриптов:
  • Morda_MOD_031\
  • NPCvisual\
  • Анекдоты из ЧН и ТЧ дзя ЗП\
  • retekstura-kurtki-novichka.zip

В логе ничего толкового нет больше. Нельзя ли получить более развёрнутый лог?

Любая помощь в совмещении и советы приветствуются...

Я, вообще, понимаю, что это, видимо, какой-то буфер/таблица/переменная переполняется, но как это победить - не знаю, к сожалению...

 

P. S. Я с этой фигнёй уже с неделю ковыряюсь, пробую всякие варианты. Сел поиграть в СТАЛКЕРа называется  :crazy:

 

Шаман - СисАдмин

Всяко-разно: для ЧН

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

@Clayman, Спасибо, а насчёт некрасивости - это абсолютно неважно.
А можно прописать как условие день/ночь? Помнится, в ТЧ такой вариант не прокатил.

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

Да где же этот артефакт, едрить его в корень!

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

Да, можно проверять день, дождь и любые проверки из xr_conditions:

target_smart = {=is_day} смарт1, смарт 2 - при таком раскладе днем идем в смарт1, ночью в смарт2.

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

Добрый день, форумчане!

Я не знаю, обсуждалась здесь эта тема или нет, но ответ на свой вопрос я во всём интернете так и не нашёл.

 

В общем, поставил в SDK на Кордоне два лагеря (смарт-террейна), один лагерь новичков со сталкерами, другой - с бандитами.

К примеру, отрядам бандитов прописал target_smart = esc_novice, то есть чтобы они штурмовали базу новичков.

Всё вроде бы нормально, они идут, штурмуют, только вот... слишком издалека начинают вести огонь. Зачастую когда бандиты начинают стрелять, сталкеры ловят пули, но совершенно не обращают на это внимание и продолжают заниматься своими делами. Так работает с любыми нападениями на лагерь, НПС не хотят близко подходить и палят, как снайперы, даже если у них ПМ.

Как вариант, пробовал снизить поле зрения неписям на такой, какой был в ЧН, но это совершенно ничего не поменяло.

Также ещё пробовал воспользоваться конфигами для смарта из ЧН: att_restr и def_restr. Последний работал замечательно, а вот att_restr не работает, атакующие продолжают стрелять, как снайперы, даже не заходя в зону att_restr.

 

Скажите пожалуйста, кто с этим сталкивался? И есть ли решение?

Ах да, в файлах игры ничего не менял, разве что добавлял конфиги для своих созданных смартов.

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

Это не то. Параметр sim_avail отвечает за доступность лагеря для симуляционных сквадов. К примеру, если на локации есть сквады со значением target_smart = nil (или вообще без этого значения), то в этот лагерь они в любом случае идти не будут.

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

 

 

Параметр sim_avail отвечает за доступность лагеря для симуляционных сквадов

 

Да, ладно!!!

Тогда зачем вот это безобразие написано в файле xr_combat_ignore.script ????

 

if se_obj.group_id ~= 65535 and sim_obj_registry.objects[se_obj.group_id] ~= nil and
se_enemy.group_id ~= 65535 and sim_obj_registry.objects[se_enemy.group_id] == nil and
se_obj.position:distance_to_sqr(se_enemy.position) > 900 then
return false
end
Ссылка на комментарий

В скриптах я не особо разбираюсь, однако я говорю о том, что видел своими глазами. И, решая свою проблему, параметр sim_avail - первое, что я попробовал поменять.

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

 

 

параметр sim_avail - первое, что я попробовал поменять.

Как вы их меняли?

Нпс под эксклюзивом?

Секции логики?

Секции отрядов?

Без всего этого вряд ли кто-то, что - то сможет понять в вашей проблеме.

Нужны хоть какие-то данные.

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

По пунктам.

sim_avail - ставил true и false, проблему это не решило, так что это не тот параметр.

В лагере сталкеров 5 эксклюзивных НПС.

Сквады бандитов, которые на них нападают - дефолтовые.

;Логика смарта, который в лагере новичков


[smart_terrain]
squad_id = 1
max_population = 4
;att_restr = esc_space_restrictors_novice_camp_sr_attack
;def_restr = esc_space_restrictors_novice_camp_sr_defense

 

[smart_terrain]
squad_id = 2
max_population = 2

 

[esc_novice_camp_squad_1]:online_offline_group
faction = stalker
npc = sim_default_stalker_0, sim_default_stalker_0, sim_default_stalker_0
target_smart = esc_novice_camp
story_id = esc_novice_camp_squad_1

[esc_novice_camp_squad_2]:online_offline_group
faction = stalker
npc = sim_default_stalker_0, sim_default_stalker_0, sim_default_stalker_0
target_smart = esc_novice_camp
story_id = esc_novice_camp_squad_2

[esc_novice_camp_squad_3]:online_offline_group
faction = stalker
npc = sim_default_stalker_0, sim_default_stalker_0, sim_default_stalker_0
target_smart = esc_novice_camp
story_id = esc_novice_camp_squad_3

[esc_novice_camp_squad_4]:online_offline_group
faction = stalker
npc = sim_default_stalker_0, sim_default_stalker_0
target_smart = esc_novice_camp
story_id = esc_novice_camp_squad_4

 

[esc_halt_2_squad_1]:online_offline_group
faction = bandit
npc = sim_default_bandit_4, sim_default_bandit_4, sim_default_bandit_4, sim_default_bandit_4
target_smart = esc_novice_camp
story_id = esc_halt_2_squad_1

[esc_halt_2_squad_2]:online_offline_group
faction = bandit
npc = sim_default_bandit_4, sim_default_bandit_4, sim_default_bandit_4, sim_default_bandit_4
target_smart = esc_novice_camp
story_id = esc_halt_2_squad_2

 


И получается вот так. С вот этой вот горки они перестреляли весь лагерь, даже самых дальних.

Ссылка на скрин: http://www.screencapture.ru/uploaded/74/60/97/74609794.jpg

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

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

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

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

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

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

Войти

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

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

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