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

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

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

@imcrazyhoudini , отключается при помощи "post_combat_time = 0, 0". Прописывается в логике персонажа. Можно подсмотреть на примере бандитских снайперов в Рыжем лесу.

  • Спасибо 1
Ссылка на комментарий

[danger_condition@ignore]
ignore_distance       = 20

Я же правильно понимаю - противники за 20 метров для НПС существовать НЕ будут?

 

Кстати, и почему такая конструкция убивает combat_ignore?:
combat_ignore_cond = {=check_fighting(26) =enemy_gulag(yan_zombied:yan_zombied_attack)}
Без =enemy_gulag(yan_zombied:yan_zombied_attack) работает.

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

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

Доброго дня уважаемые!!!

Делаю небольшую сборочку (в OGSM понравилось, что ГГ лежит в плаще ,в котором он был в интро), есть и еще некоторые моменты (из других модов), которые хотелось бы объединить в один. Но к сожалению моды между собой конфликтуют.

Вопрос:

Где хранится кат-сцена (разговор Каланчи и Лебедева) начала игры, и как ее правильно выдрать или редактировать.

заранее БлагоДарю!

 

  • Сочувствую 1
Ссылка на комментарий

@Inverter смотри в следующих файлах логики:
gamedata\configs\scripts\marsh\mar_intro_camera.ltx - движение камеры

gamedata\configs\scripts\marsh\mar_intro_zone.ltx - спавн Шрама, Лебедева и Каланчи, блокировка интерфейса и т. д.

В обоих файлах запуск катсцены осуществляется по событию {+mar_intro_start} (выдача одноимённой инфопорции при окончании стартового видео).

Для того, чтобы вырезать катсцену, в первом файле достаточно полностью убрать выполнение логики:

[logic]
active = nil

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

; здесь переход на специальную добавленную секцию
[logic]
active = sr_idle@nointro

; а это сама новая секция, в которой мы делаем всё пропущенное и переходим на стадию после катсцены
[sr_idle@nointro]
on_info = sr_idle@scene_3_barman_wait_1 %+mar_intro_scene_1_end =stop_cam_effector(1) =stop_cam_effector(2) =stop_cam_effector(3) =stop_cam_effector(4) =update_weather(true) =enable_ui =give_inited_task(storyline:mar_story_talk_with_barman:csky)%

Здесь показаны только изменения, остальное содержимое остаётся как есть.

И это про "выдрать". Если "редактировать" - тогда изучать, как работает логика, и править в показанных выше местах.

 

@imcrazyhoudini не то чтобы не будут существовать - не вызывают тревогу. Только там, емнип, квадрат расстояния, то есть для твоего примера это будет не 20 метров, а примерно 4 с половиной.

combat_ignore_cond = {=check_fighting(26) =enemy_gulag(yan_zombied:yan_zombied_attack)}

Тут 2 условия должны совпасть: враг со story_id = 26 должен находиться в одном из смартов yan_zombied или yan_zombied_attack. Очевидно, что-то не выполняется.

Изменено пользователем Kirgudu
  • Спасибо 2
  • Полезно 1
Ссылка на комментарий

@Kirgudu вот оно что...

А по отдельности оно существовать не может?

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

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

@imcrazyhoudini в смысле чтобы требовалось выполнение любого из двух условий, но не обязательно двух сразу? Тогда логику надо переписать примерно так:

combat_ignore_cond = {=check_fighting(26)} true, {=enemy_gulag(yan_zombied:yan_zombied_attack)} true

 

Ссылка на комментарий
48 минут назад, Kirgudu сказал:

но не обязательно двух сразу?

Нет, как раз обоих сразу, но чтобы враг с стори_ид 26 был как раз-таки вне смартов.
Короче говоря игнор моба с стори_ид 26 и обоих смартов.

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

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

@imcrazyhoudini тогда, возможно, так:

; игнор, если враг имеет story_id = 26 и он не находится в двух смартах
combat_ignore_cond = {=check_fighting(26) !enemy_gulag(yan_zombied:yan_zombied_attack)}

 

  • Спасибо 1
Ссылка на комментарий
02.04.2023 в 23:39, imcrazyhoudini сказал:

Вопрос: как же правильно создать прыжок кровососа?

Посмотрите схему Jump в логике снорка на Свалке в лагере кладоискателей

  • Смешно 1

Не соответствует. N6260

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

@ZeeK работает только на снорках, на остальных мутантах нет, проверено.

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

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

@imcrazyhoudini 

На кровососе работает, но в ЧН он сделан так, что его нужно заменить кодом из ЗП, чтобы не делать такое:

[logic]
active = mob_walker@m1

[mob_walker@m1]
path_walk = mil_mob_walk1
path_look = mil_mob_look1
; combat_ignore_cond = true ; для ЧН-кровососа не работает
friendly = true ; аналог combat_ignore
state = vis ; не переводит в видимое состояние, но без этой строки не будет переключение в след.схему
on_info = {=dist_to_actor_le(20)} mob_jump@go

[mob_jump@go]
path_jump = mil_mob_jump_1
ph_jump_factor = 0.6 ; прыгнет в небо аки Нео
offset = 0,0,0
on_signal = jumped | mob_walker@m2

[mob_walker@m2]
path_walk = mil_mob_walk2
path_look = mil_mob_look2
friendly = true
state = vis

 

  • Спасибо 1
Ссылка на комментарий

@h0N0r ща проверим...

Кстати, в mob_jump не вижу friendly - не работает что ли?

@h0N0r чудо, пашет.

1. Есть вариант сделать действительно видимым?
2. Возможно объединить это со схемой ремарк? Думал сделать, чтобы он отыграл крик (анимка есть такая), и лишь потом прыгнул.

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

Ссылка на комментарий
22 часа назад, imcrazyhoudini сказал:

Есть вариант сделать действительно видимым?

Берёшь исходники ЗП, что касается bloodsucker адаптируешь под ЧН.

 

У монстров есть mob_remark, примеры ищи по имени схемы в папках configs/scripts.

  • Спасибо 1
Ссылка на комментарий

@h0N0r mob_remark не работает, прыжок отыгрывает только с mob_walker.
Думал отыграть анимацию вот так:
 

Скрытый текст

[logic]
active = mob_walker@2

 

[mob_walker@2]
path_walk = yan_bloodsucker_normal_spawn_way
path_look = yan_monstr_look
braindead = true
state = vis
on_game_timer = 40 | mob_jump

 

[mob_jump]
path_jump = yan_monstr_look
ph_jump_factor = 0.6
offset = 0,1,0
braindead = true
state = vis
on_signal = jumped | mob_walker

 

[mob_walker]
path_walk = yan_krovo_walk
path_look = yan_krovo_look

В вэйпоинт писал (как и look, так и walk): wp00|s=yan_bloodsucker|a=boloto_attack_link_bone

Анимку как и звук не отыгрывает.

Есть варианты?

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

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

Ссылка на комментарий
16 часов назад, imcrazyhoudini сказал:

Есть варианты?

Забить или экспериментировать. Например, в ТЧ, вместо анимки stand_threaten_0 играется sit_eat_0 для кровососа в ремарке, но удалив в его конфиге строку berserk_always = true, оно работает нормально. Даже его вампирский поцелуй на чистом ТЧ иногда срабатывает, но что-то мешает ему продолжать анимации, и он просто убегает от игрока.

 

Или проиграть нужную анимку функцией (add_animation), да и звук (play_no_feedback), через bind_monster для уник.секции или по стори_ид.

 

Звуки добавлять в mob_sound.script, там просто. К примеру, Сидорович тоже mob, и его реплики там же.

Ссылка на комментарий
11.05.2023 в 17:11, imcrazyhoudini сказал:

звук не отыгрывает

Выдайте звук в логике отдельно по инфопоршню:

on_info = {+инфопоршень} %=play_sound(звук)%

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

Не соответствует. N6260

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

Здравствуйте, подскажите какую-то логику, для моих нпсов, заспавнных скриптов. Они враги, но нужно сделать так, чтобы они атаковали с места, на котором заспавнились. А то они убегают, бегают и стреляют. 

God save Hatsune Miku!

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

@WinCap не сработало, но сработало другое - кампер с radius = 0, а в качестве path_walk и path_look - взял уже существующие для других нпс)) В общем - работает))

God save Hatsune Miku!

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

Всем привет! Я играю в мод Faction Commander. Решил попробовать реализовать Наемников как группировку, чтобы хоть как-то можно было спавнить отряды через F2. Много раз у меня это не получалось, но вчера всё таки вышло это сделать. Правда при выборе группировки, особо ничего не происходит, телепорт, как казалось бы на какую точку поставил в скриптах не происходит, ну а вступить естественно никак, квестовых то нет, но через Повелитель ради Бога. И вообщем отряды создаются, но спустя несколько созданий происходит вылет с таким логом:

 

Скрытый текст

! [LUA][ERROR] ERROR: Squad power couldnt be over 25!!!
 
FATAL ERROR
 
[error]Expression    : fatal error
[error]Function      : CScriptEngine::lua_error
[error]File          : E:\priquel\sources\engine\xrServerEntities\script_engine.cpp
[error]Line          : 180
[error]Description   : <no expression>
[error]Arguments     : LUA error: ...)\s.t.a.l.k.e.r clear sky\gamedata\scripts\_g.script:975: bad argument #2 to 'format' (string expected, got nil)

 

Я через squad_generic прописал создание 6 человек в отряде - этого вполне хватает, чтобы все возможные места npc заняли на точке, но вот это число 25 смущает. И вроде бы как раз 25 отрядов создано уже было, и вылетает после создания 26, но в то же время получилось создать уже 28 отрядов и опять же вылетает с этим же логом. Попробовал заново начать игру, и на болотах сразу отстреляться попробовать, даже и 20 не набралось опять же выкинуло. Может кто подскажет с чем это связано, или где примерно искать вообще откуда исходит эта цифра?

 

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

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

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

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

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

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

Войти

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

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

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

AMK-Team.ru

×
×
  • Создать...