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

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

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

@Vortex sky В логике ошибка в имени функции "actor_in_zone", но рестриктор не работает не поэтому.

Логику можно сократить до следующей:

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

[logic]
active = sr_idle@wait

[sr_idle@wait]
on_actor_inside = nil %=give_task(pri_merc_mex_flesh)%

 

Функции из условий (фигурные скобки) должны быть в "xr_conditions", а из действий (значки процентов) - в "xr_effects".

Для функции "actor_in_zone" story_id рестриктору задавать не нужно, он берется по имени. Из логики самой зоны лучше использовать "on_actor_inside".

Регистрировать рестриктор нигде не надо.

 

Вообще-то всё вроде правильно сделано, странно, что не работает. При ошибках был бы вылет...

Проверяй координаты, game_vertex_id и level_vertex_id. После редактирования "all.spawn" нужна НИ.

 

  • Спасибо 1

S.T.A.L.K.E.R. CoP Objects (upd 10.04.24)

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

Добрый день, случился вылет, не могу прописать эксклюзивную логику скваду из одного человека  на смарте а21(гастроном) Припять.

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

[logic]
active = walker1
danger = danger_ignore
commander = true
suitable = {-pri_ecolog_give =check_npc_name(pri_ecolog_kohevnikov)} true
level_spot = medic
 
[walker1]
path_walk = pri_a21_smart_terrain_surge_2_walk
path_look = pri_a21_smart_terrain_surge_2_look
def_state_moving1 = rush
 

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

[smart_terrain]
squad_id = 23
max_population = 2
arrive_dist = 10


[exclusive]
pri_ecolog_kohevnikov = pripyat\ecolog_kohevnikov_logic.ltx

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

Expression    : !m_error_code
Function      : raii_guard::~raii_guard
File          : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
Line          : 748
Description   : ...talker call of pripyat\gamedata\scripts\utils.script:469: bad argument #1 to 'gsub' (string expected, got nil)
 

Самому НПС в файле  spawn_sections я прописал кастом дату путь до логики

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

[pri_ecolog_kohevnikov]:stalker
$spawn = "respawn\pri_ecolog_kohevnikov"
character_profile = pri_ecolog_kohevnikov
spec_rank = novice
community = ecolog
custom_data = scripts\pripyat\ecolog_kohevnikov_logic.ltx
story_id = pri_ecolog_kohevnikov

В чем может быть проблема? и вообще возможно ли создавать эксклюзивную логику на этом смарте? Заранее спасибо

Сквад на прачечной работает исправно, а вот на гастрономе вылет.

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

@Vortex sky, ошибка в имени секции работы.

При регистрации эксклюзивной работы в смарте нужно делать так:

    Секция exclusive

        pri_ecolog_kohevnikov = pripyat\ecolog_kohevnikov_logic.ltx

    Файл логики начинается с секции

        [logic@pri_ecolog_kohevnikov]

    В custom_dat'у персонажа файл логики прописывать не надо.

 

И ещё, в файле логики при составлении имени секции, после названия схемы нужно ставить @:

    [walker@1]

Изменено пользователем WinCap
  • Спасибо 1

S.T.A.L.K.E.R. CoP Objects (upd 10.04.24)

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

@WinCap Извините, наверное уже замучал вас тупыми вопросами, возник вопрос и вылет при создании нового way point'a.

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

Я так понял прописать ее в алл.спавне мало, нужно еще куда то регистрировать?

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

[pri_a16_fantom_walk]
points = p0
p0:name = wp00
p0:flags = 0x1
p0:position = 141.2296295166,4.9798965454102,-166.6641998291
p0:game_vertex_id = 709
p0:level_vertex_id = 370601

 

[pri_a16_fantom_look]
points = p0
p0:name = wp00
p0:flags = 0x1
p0:position = 141.19683837891,5.0136466026306,-170.12754821777
p0:game_vertex_id = 709
p0:level_vertex_id = 370591

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

[logic@pri_krest]
prior = 200
active = walker@stand_base
suitable = {-pri_a25_rfi_source_eliminated =check_npc_name(pri_krest)} true
level_spot = quest_npc


[walker@stand_base]
meet = meet@stand_base
def_state_standing = wait_na
def_state_moving = walk_noweap
path_walk = pri_a16_fantom_walk
path_look = pri_a16_fantom_look

[meet@stand_base]
close_snd_hello = jup_b15_zulus_greeting
close_snd_bye     = nil
close_anim         = nil
close_victim     = actor
far_anim         =  ward
far_victim         = ward
trade_enable = false
allow_break = false

 

Ссылка на комментарий
2 часа назад, Vortex sky сказал:

при подходе к нпс когда он выходит из офлайна, вылет.

Вылет-то какой? Как тут принято говорить - телепаты в отпуске.

 

При описании работы для смарта из имени way point'a нужно убирать имя смарта:

    [walker@stand_base]
    path_walk = fantom_walk
    path_look = fantom_look

Изменено пользователем WinCap
  • Спасибо 1

S.T.A.L.K.E.R. CoP Objects (upd 10.04.24)

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

@WinCap Сделал как вы сказали, убрал из имени way point'a имя смарта все заработало спасибо, а при вылете на тот момент лога не было, но уже и не нужно)

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

При повторном переходе на какую-либо локацию, происходит вылет:

 

Expression    : !m_error_code
Function      : raii_guard::~raii_guard
File          : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
Line          : 748
Description   : ...ker call of pripyat\gamedata\scripts\xr_sound.script:58: attempt to call method 'callback' (a nil value)

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

[xr_sound.script] #58

   sound_table[npc_id]:callback(npc_id)

 

Видимо, вместо npc_id передано значение неподходящего типа. Надо проверять вызовы xr_sound.update в других скриптах.

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

Шпаргалка

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

Добрый день, такой вопрос. Есть определенный эксклюзивный сквад, который находится на одном смарт терейне, но после получения инфопоршня таргет смарт меняется и они медленно пешком двигаются в другой смарт терейн, суть вопроса, как заставить их бежать на другой смарт? в логике смарта прописал им эксклюзивные  работы дефолт run, но они все равно идут пешком как называется это схема именно момент прохождение из смарта в смарт.

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

@Vortex sky пропиши в секцию этого сквада "always_arrived = true".

Это позволит NPC'ям занимать работу в новом смарте сразу после переключения "target_smart".

  • Спасибо 1

S.T.A.L.K.E.R. CoP Objects (upd 10.04.24)

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

Добрый день такой вопрос, нпс при проигрывании анимации - scaner_stand на вейпоинте в руках нет детектора или устройства для сканирования, сама анимация работает, вот только с пустыми руками, при анимации смотреть в бинокль, бинокль он достает а детектор нет, хотя все виды детектора я уже прописывал в инвентарь этому нпс.

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

@Vortex sky , в m_stalker.ltx в attachable_items нужное имя секции девайса прописано?

Изменено пользователем Купер
  • Спасибо 1
  • Согласен 1
Ссылка на комментарий

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

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

Вот как убрать предметы? Я заметил, что при смене конфига торговли, нпс теряет предметы, добавленные старым конфигом. К примеру: прописываем конфиг торговли Сидоровича - нпс получает предметы по списку Сидоровича. Получая другой конфиг - предметы списка Сидоровича удаляются и спавнятся новые по новому конфигу. То есть вроде можно тупо "пустой" конфиг с пустым [supplies_generic] применить на нпс и он не будет ничем торговать включая те предметы что были изначально (хотя они и остаются*). Но всё равно не то. Минусы: нпс в текущей сессии не сможет ничем торговать, даже своими предметами (это если всю "костыльность" метода не учитывать ещё).


*вот судя по этому примеру, каждый предмет, который был добавлен по списку торговли имеет какой то флаг того что он добавлен через функцию buy_supplies а не лежит у этого нпс изначально. Вот как этот флаг предмета выловить через m_netpk или ещё что, мб кто знает?

... А наше дело маленькое - с ружьём да по болотам. (с)

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

Ковыряния кровососа перешли и на ЗП.

Есть логика:

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

[logic]
active = mob_walker@2

[mob_walker@2]
path_walk = yan_bloodsucker_test_walk
path_look = yan_bloodsucker_test_look
combat_ignore_cond = true
state = vis
on_info = {=dist_to_actor_le(20)} mob_remark

[mob_remark]
target = actor
combat_ignore_cond = true
state = vis
anim = boloto_attack_link_bone
on_signal = anim_end | mob_jump

[mob_jump]
path_jump = yan_monstr_look
ph_jump_factor = 0.6
offset = 0,1,0
combat_ignore_cond = true
state = vis

 

При переходе в ремарк вместо отыгрыша анимации начинает красться без остановки.

 

Где косяк?

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

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

Здрасьте.

 

Как сделать подсветку экрана ночью для детектора "Медведь" аналогично детектору "Велес/Сварог"?

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

Шпаргалка

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

Как сделать подсветку экрана ночью для детектора "Медведь"

Нужно отредактировать модель, назначив экрану шейдер "models\selflight_det". Ну... или взять готовую модель.

  • Спасибо 1
  • Нравится 1

S.T.A.L.K.E.R. CoP Objects (upd 10.04.24)

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

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

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

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

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

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

Войти

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

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

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

AMK-Team.ru

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