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

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

 
 

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

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


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

band1tov можете скинуть нынешнюю логику вашего нпс?

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


Ссылка на сообщение
Поделиться на другие сайты
 
В 24.02.2023 в 19:53, N42 сказал:

Pepel в смысле, удар руками вместо ножа? Поищи Кулак мод

натыкался на него. плохо реализовано. в закоулках правды намного лучше

 

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


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

band1tov можете скинуть нынешнюю логику вашего нпс?

Спойлер

 

[logic]
active = camper@esc_atp_prisoner
combat_ignore = combat_ignore

[camper@esc_atp_prisoner]
path_walk = prisoner_walk
path_look = prisoner_look
combat_ignore_cond = always
def_state_campering = prisoner
on_info = {=esc_bandits_die} remark@esc_lesha_help
on_info2 = {+lesha_save_done} sleeper4@esc_lager
meet = no_meet
danger = danger_condition@lesha

[remark@esc_lesha_help]
snd = esc_shustryi_help
anim = prisoner
meet = no_meet
target = esc_lager_prisoner_look, 0
on_actor_dist_le = 5| remark@esc_trap_prisoner
combat_ignore_cond = always
danger = danger_condition@lesha
on_signal = sound_end| remark@esc_lesha_wait
on_info = {+lesha_save_done} sleeper4@esc_lager

[remark@esc_lesha_wait]
anim = prisoner
meet = no_meet
target = esc_lager_prisoner_look, 0
on_actor_dist_le = 5| remark@esc_trap_prisoner
combat_ignore_cond = always
danger = danger_condition@lesha
on_timer = 10000| remark@esc_lesha_help
on_info = {+lesha_save_done} sleeper4@esc_lager


[remark@esc_atp_prisoner]
anim = wait
anim_reset = false
target = esc_lager_prisoner_look, 0
snd = esc_shustryi_thanks
on_info = {+lesha_save_done} sleeper4@esc_lager
on_signal = sound_end| remark@wait_player_at_lager
combat_ignore_cond = always
meet = meet@no_meet
danger = danger_condition@lesha

[remark@wait_player_at_lager]
anim = wait
anim_reset = false
target = actor
meet = meet@friend
danger = danger_condition@lesha
on_info = {+lesha_save_done} sleeper4@esc_lager

[sleeper4@esc_lager]
path_main = sleep4
meet = meet@friend
danger = danger_condition@lesha

[danger_condition@lesha]
ignore_distance = 0

 

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

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


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

band1tov Бандитам прописать в combat_ignore_cond  = {=check_fighting(story_id)} 

story_id поставить какое у заложника.

Заложнику наверное можно оставить combat_ignore_cond  = always

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


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

Прошу подскажите пожалуйста. Я добавляю из групп костер на локацию, но компилятор спавна вылетает с такой ошибкой

Expression    : !m_border.empty()
Function      : CSpaceRestrictorWrapper::build_border
File          : .\space_restrictor_wrapper.cpp
Line          : 215
Description   : space restrictor has no border
Arguments     : zone_flame_small_0001

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


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

Senya -no_separator_check ключ

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


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

проблема решена

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

76561198152189716.png

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


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

...

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

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


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

Можно как-то ограничить выполнение функции не более одной в секунду,

Может вызывать её раз в секунду 

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


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

bastor она вызывается с калбека смерти нпс. В одну секунду может умереть и два, и три, и четыре нпс. Соответственно будет 4 вызова функции. Можно ли запретить функции начинаться параллельно такой же функции как-то? 


76561198152189716.png

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


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

ian98 Что функция то делает?

 

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


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

Senya -no_separator_check ключ

imcrazyhoudini Он у меня стоит

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


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

Senya убери тогда в рестрикторе check_separator или чёт такое, галочку с него то бишь

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


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

 imcrazyhoudini  Спасибо, но я щас случайно нашел на гемеру ответ как это пофиксить

- У всех у кого такая же проблема, оставляю для вас скрин.

1142527131_.png.6c5c831d351bac3616c23bf1d96a0888.png

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


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

хочу сделать посетителей в своем баре. но не знаю как сделать чтобы нпс к столу подходил и юзал анимацию рук на столе

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


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

band1tov нужно написать логику walker для нпс и вписать в неё:

def_state_standing = bar_right/bar_sleep/bar_head/bar_left/bar_fas (что-то одно)

почитать о логике (кликабельно)

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


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

ian98 Так выдавайте инфопоршень при запуске функции, а в условиях запуска пропишите его (инфопоршня) отсутствие. В самой функции также либо забирайте инфопоршень в конце (по выполнению), либо повесьте забирание на таймер.

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

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


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

Etil не, там такое решение не канает. Функция все равно параллельно себе же запускалась.

Помог вариант с флагом. Хотя по сути это тоже самое. Не знаю почему при использовании поршня у меня не получалось это же повторить. хз. может и упустил чего. там скриптяра на 1000 строк. так что... работает на сейчас и слава богу.


76561198152189716.png

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


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

у торговца все пушки из ассортимента падают, лишь расходники остаются. чё мне делоть?

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

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


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

band1tov создать его как  m_stalker_trader или что-то такое, плюс прописать ему сколько он может веса носить

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


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

У кого нибудь есть версия файлов тч, но в папках? 

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


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

файлов тч, но в папках?

но в папках = Не в архивах = Распакованные

Держи: Ресурсы из оригинальной трилогии


EaRLNb6.gif
AMD FX-8370 (8 X 4.35GHz); RAM 16Gb; MSI GTX 1070 (8Gb).
Windows -10 PRO (х64)

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


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

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

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


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

band1tov 

Спойлер


function gulag_empty(gulag)
    if xr_gulag.getGulagPopulation("название_смарта") == 0 then
        db.actor:give_info_portion("название_инфопоршня")
    end
end

Вообще, в xr_conditions есть полезные функции (gulag_empty, gulag_population_le, gulag_population_ge и прочие). Можно использовать xr_conditions.gulag_empty(название_смарта). Стоит при этом учесть, что если есть респавны и население гулага может респавниться, то их может учитывать, даже если они ещё очень далеко от смарт террейна. Потому, возможно, в таком случае стоит использовать функции по типу xr_conditions.gulag_population_comed_le(название_смарта, количество).

  • Лайк 2

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


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

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

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

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

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

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

Войти

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

Войти

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

    Ни одного зарегистрированного пользователя не просматривает данную страницу