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

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


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

@Houdini_one, а в секции [combat_ignore] разве не кондлист нужен? И применяется ли оно для мутов - вроде только для неписей активно

 

29 минут назад, Houdini_one сказал:

дружелюбна к парочке НПС, ГГ, а к остальным была враждебна?

 

Из логики такое не сделать вроде как. Или ко всем нпс дружелюбна, или ни к кому.  К актору - можно, посмотри, как в Соли сделана dogfriend

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

След от кругов на воде - это тоже след (с)

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

разве не кондлист нужен

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

@Okichi, сейчас оставил такую логику:

 

 

[spawner]
cond = {+swa_find_dog_start}

 

 

[smart_terrains]
none = true

 

[logic]
active = mob_walker
on_death = mob_death

 

[mob_walker]
path_walk = swa_dog_start_walk
path_look = swa_dog_start_look
friendly = true
on_info = {+swa_find_dog_have} mob_walker@2

 

[mob_walker@2]
path_walk = swa_dog_walk
path_look = swa_dog_look
friendly = true
on_info = {+swa_krovo_dead} mob_walker@3

 

[mob_walker@3]
path_walk = swa_pse_walk
path_look = swa_pse_look
friendly = true

 

[mob_death]
on_info = %+swa_dog_dead%


Вылет всё равно остался.

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

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

Ссылка на комментарий
50 minutes ago, Houdini_one said:

[combat_ignore]

Ты уверен, что это вообще хоть какими-то скриптами у тебя используется?

 

50 minutes ago, Houdini_one said:

что нужно написать в логике собаки, чтобы она была дружелюбна к парочке НПС, ГГ, а к остальным была враждебна?


[logic]

...

combat_ignore = combat_ignore

 

[какая-то секция логики]

combat_ignore_cond = %=my_super_func%

В xr_condition.my_super_func() расписываешь свои условия. Функция должна вернуть true, если это не враг и false - если это враг. В качестве примера можешь посмотреть xr_conditions.fighting_actor и т.п., там подобных несколько.

 

Это все при условии, что у тебя xr_combat_ignore.script правильно работает. А то были там какие-то косяки, мне помнится.

 

  • Спасибо 1
Ссылка на комментарий
2 минуты назад, dsh сказал:

уверен, что это вообще хоть какими-то скриптами

Конкретно на счёт собаки не уверен, я просто всегда это ставлю.

Как сказал выше, удалил - ничего не поменялось.

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

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

r_condition.my_super_func() расписываешь свои условия. Функция должна вернуть true, если это не враг и false - если это враг.

А разве для мутантов combat_ignore_cond вообще работает на стандартных скриптах? 

А то в мануалах везде  только оверрайды в каждую секцию  мутам пишут:

типа actor_friendly = true , npc_friendly = true

 

Цитата

Как сказал выше, удалил - ничего не поменялось.

А сам-то путь точно существует в аллспавне? Со всеми точками пути?

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

След от кругов на воде - это тоже след (с)

Ссылка на комментарий
1 hour ago, Okichi said:

А разве для мутантов combat_ignore_cond вообще работает на стандартных скриптах?

Точно. Для мутантов не работает. Не обратил сразу внимание.

 

@Houdini_one, ну тогда через нижний уровень придется подлазить, через set_enemy_callback. Функция, установленная для этого коллбека, вызывается для каждого предполагаемого врага и в нее передается два клиентских объекта: сам моб и его предполагаемый враг. Если функция вернёт false, значит это не враг. А если true - значит враг. Обрати внимание, это одностороннее отношение. Если это не враг для данного моба - это не означает, что автоматически данный моб не враг для этого врага. Для определения этого будет вызван enemy_callback у этого врага.

  • Спасибо 1
  • Полезно 3
Ссылка на комментарий
17 часов назад, Okichi сказал:

точно существует

Точно.

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

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

Подскажите, xxx_gulag.script и gulag_xxx.script нужно где-то регистрировать (типа system.ltx)?  Попробовал перенести работающую логику из кастом даты персонажей в эти файлы,  нпс стали вести себя, как отпущенные на волю алайфа.  Кто в лес, кто под дрова.

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

@Muzafir, файлы по типу gulag_xxx.scripts регистрируются в xr_gulag.scripts в level_gulags.

  • Спасибо 1
  • Согласен 2

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

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

@Libery Версия игры? Глобальные моды? В ЧН, например, есть обработка hit_callback для специального кровососа (который неписей раскидывает) с переводом всего входящего урона в прибавку к ХП – может, что-то подобное включено.

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

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

Тч 1.0006 моды не ставил а именно когда в костюме прибавляется хп без костюма дохнит.

 

Нашёл все спасибо. Если кому интересно это оказалось в файле damages.ltx поменял значение секции exo_helmet_damage на 50 и от хита мутантов гг лечился

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

@Libery, На первый взгляд приходит мысль отыграть партикл взрыва, одновременно нанеся ГГ хит скриптом в нужном направлении.

  • Согласен 2

Сталкер - наше всё!

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

взрыв рядом с гг через скрипт

Проиграть партиклы и звук на позиции ГГ

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

sound_object("weapons\\t_f1_explosion"):play_at_pos(db.actor,vector():set(0,0,1),0,sound_object.s2d)
particles_object("explosions\\explosion_01"):play_at_pos(db.actor:position())

А хитовать актёра любым удобным способом

Изменено пользователем mole venomous
  • Согласен 1

Здесь могла быть ваша реклама.

Ссылка на комментарий
38 минут назад, mole venomous сказал:

Проиграть партиклы и звук на позиции ГГ

Это не совсем соответствует поставленной задаче: проиграть партикл и звук нужно не в позиции ГГ, а рядом. Точно не помню, можно ли просто по координатам отыграть партикл. Или нужно его обязательно привязывать к какому-то объекту? Если так, что правильнее рядом с ГГ спавнить рестриктор, отыгрывать партикл и звук взрыва. От него же хитовать ГГ, после этого рестриктор удалить. Как-то так.

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

Сталкер - наше всё!

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

Как вариант - заспавнить в нужную координату что-то взрывчатое и использовать метод explode(как-то так вроде), т.е. взорвать.

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

Если так, что правильнее рядом с ГГ спавнить рестриктор

Вот тут согласен. Самый простой, бескостыльный метод на родных механиках.

  • Нравится 1
Ссылка на комментарий
6 часов назад, HellRatz сказал:

Самый простой, бескостыльный метод на родных механиках

Серьезно? Шо, есть простой метод спавна рестрикторов на "родных механиках" о котром нам не сказали? А я то думал, что тут заполнение нет-пакета, привязка логики и т.д.

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

А если всё таки от позиции ГГ, может так?

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

   local lv,gv
    local a = vector()    
    local radius = math.random(0,3)
    a = db.actor:position()
    a.x = a.x + radius
    a.z = a.z + radius
    a.y = a.y + math.random(0,1)
    lv = db.actor:level_vertex_id()
    gv = db.actor:game_vertex_id()
    local h = hit()
    h.impulse = 100
    h.draftsman = db.actor
    h.direction = vector():set(0,0,0)
    h:bone("bip01_spine")
    h.power = 0.9 - (radius/10)
    h.type = hit.explosion 
    db.actor:hit(h)
    sound_object("weapons\\t_f1_explosion"):play_at_pos(db.actor,vector():set(0,0,1),0,sound_object.s2d)
    particles_object("explosions\\explosion_01"):play_at_pos(vector():set(a.x,a.y,a.z),lv,gv,65535)

 

Здесь могла быть ваша реклама.

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

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

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

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

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

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

Войти

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

Войти
×
×
  • Создать...