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

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

 
 
В 23.06.2023 в 15:14, Drive сказал:

при входе в вообще другой рестриктор, не относящийся к этому присылаются сообщения "actor_suda_nelzya" и "ti_schto_tupoy"

Может быть у тебя проблема с переводом этих строчек. Перепроверь у себя, чтобы эти секции не повторялись в файле перевода. 


ed1c85bd8aba2500209219c6df96c254.png

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


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

Может быть у тебя проблема с переводом этих строчек. Перепроверь у себя, чтобы эти секции не повторялись в файле перевода. 

Проблема решилась, пересоздал рестриктор с таким-же путем и именем, примерно с такими же размерами и координатами , все заработало, до сих пор не пойму в чем была проблема :u1F642:

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


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

Почему у меня НПС в анимации zat_b22_medic_suicide не стреляет? Хотя пистолет у него есть и патроны тоже.

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


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

Крим Глянул логику оригинала, там 2 ремарка с анимацией суицида: первый просто проигрывает её, второй через 0.7 секунд убивает самого НПС. Мб в задержке во втором ремарке дело?

А вообще, можно глянуть логику, чтоб наугад не судить?


Мод в разработке - X-7: Эпицентр

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


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

Prostomod 

Спойлер

[remark@suiside]:logic@def
target = story | yan_a1_storm_final_1
anim = zat_b22_medic_suicide
on_signal = anim_end | remark@suiside_shot
invulnerable = false
combat_ignore_cond = false 
combat_ignore_keep_when_attacked = false

[remark@suiside_shot]:logic@def
target = story | yan_a1_storm_final_1
anim = zat_b22_medic_suicide
on_game_timer = 40 | %=kill_npc +yan_a1_storm_gorov_dead_i%
invulnerable = false
combat_ignore_cond = false 
combat_ignore_keep_when_attacked = false

 

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


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

Почему у меня НПС в анимации zat_b22_medic_suicide не стреляет? Хотя пистолет у него есть и патроны тоже.

Потому что эта анимка не предназначена для физической стрельбы. Стандартно такие анимки оканчиваются на _fire. state_mgr.script, видя что НПС в анимации _fire (и что прицелен правильно), открывает физический огонь из оружия.

Так что придётся делать свой скрипт с командой npc:set_item(object.fire1, weapon)


Я логи в баню удалил, а вот за за рейдеры – не помню!

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


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

И снова здравствуйте. Опять наверное банальный вопрос но... Можно ли в ЗП добавить шустрому доп диалоги на приобретение разных пушек, и собственно добавить это оружие? Тот же ПКМ к примеру 

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


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

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

Спойлер

Expression    : !object->used_ai_locations() || ai().level_graph().valid_vertex_id(object->m_tNodeID)
Function      : CALifeSwitchManager::add_online
File          : C:\xray\stcop_engine\src\xrGame\alife_switch_manager.cpp
Line          : 64
Description   : Invalid vertex for object 
Arguments     : b1_scient_npc10094

 

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


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

AS7-D3 Да можно, только вопрос не банальный, а уровня продвинутого модостроителя.
Кратко! Редактируются диалоги: zat_b51_stalker_nimble_place_order - заказать, zat_b51_stalker_nimble_get_order - забрать заказ.
И скрипт: dialogs_zaton.script таблицы: item_count_by_category, zat_b51_costs_table.
Будете добавлять новые категории предметов, еще и скрипты использующие эти таблицы отредактируйте.


vasyan54636 
1. Попытка спавнить объект b1_scient_npc вне АИ-сетки.
2. После загрузки сейва объект оказался вне АИ-сетки возможно из-за того, что точка пути, назначенного НПС, не на АИ-сетке.

Изменено пользователем denis2000
  • Лайк 1

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

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


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

Ребят, какой скрипт нужно сделать так что-бы выдавался инфопоршень при взятии квестово-го предмета (например артефакта), и куда скрип нужно вписывать?

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


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

denis2000 Сё понял, спасибо большое за пояснение 

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


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

Ребят, какой скрипт нужно сделать так что-бы выдавался инфопоршень при взятии квестово-го предмета (например артефакта), и куда скрип нужно вписывать?

Здарова! В логике любого спэйс рестриктора прописать:

[logic]
active = sr_idle@idle

[sr_idle@idle]
on_info = {=actor_has_item(название_предмета)} sr_idle@end %+инфопоршень%

[sr_idle@end]


 

Защитим мир от заразы - Зоны                   Долг.gif

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


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

Кто может подсказать?

Хочу сделать так, чтобы персонаж упал раненым, а потом встал и продолжал свою работу. Ок, сделал отдельное состояние walker'а с секцией wounded с соответствующими настройками для того, чтобы НПС лежал раненым, а там переход назад. Однако, заметил такую проблему: НПС выбрасывает оружие при переходе в состояние раненого. Анимация обычной работы предполагает, что НПС держит оружие в руках. Попробовал решить эту проблему, добавив промежуточный ремарк с анимацией без оружия - часть НПС падает как надо, а остальные сразу идут к упавшим и пытаются их поднять.

Может, есть какой-то способ без промежуточного состояния предотвратить выпадение оружие из рук НПС при падении раненым (как-то скриптом убрать в инвентарь НПС?)? Ну или в чём ошибка у меня в логике тогда?

Спойлер

[walker@start]
def_state_standing = hide
def_state_moving = assault
corpse_detection_enabled = false
gather_items_enabled = false
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true

[remark@take_pill]
anim = wait_trade

[wounded@surge]
hp_state = 101|wounded_heavy@help_heavy
hp_state_see = 101|wounded_heavy@help_heavy
hp_victim = 101|actor
hp_cover = 101|false
hp_fight = 101|false
autoheal = false
enable_talk = false

[logic@dolg_guard_1]
suitable = {=npc_community(dolg)} true
active = walker@dolg_1_start
prior = 190
post_combat_time = 0, 0

[walker@dolg_1_start]:walker@start
path_walk = dolg_1_walk
path_look = dolg_1_look
meet = no_meet
on_info = {=surge_started()} remark@surge_dolg_1_start ;%=reset_npc()%

[remark@surge_dolg_1_start]:remark@take_pill
on_signal = anim_end | walker@surge_dolg_1_start

[walker@surge_dolg_1_start]:walker@start
path_walk = dolg_1_walk
path_look = dolg_1_look
meet = no_meet
wounded = wounded@surge
on_info = {=surge_complete()} walker@dolg_1_start ;%=reset_npc()%

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


Мод в разработке - X-7: Эпицентр

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


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

предотвратить выпадение оружие из рук НПС при падении раненым (как-то скриптом убрать в инвентарь НПС?)?

В ТЧ играли? При заходе ГГ на арену оружие отбирается, а при возвращении с арены возвращается в рюкзак ГГ.

Что мешает сделать тоже самое с НПС?  При переключении на секцию раненного оружие изымайте из рюкзака. После выброса возвращайте. Как это сделать специально не пишу. Все есть в оригиналах игры.


Терпение... И все получится.

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


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

есть какой-то способ без промежуточного состояния предотвратить выпадение оружие из рук НПС

В state_lib.script поменяйте wounded_heavy = { weapon = "drop",

на  wounded_heavy = { weapon = "strapped",

А также и другие анимации начинающиеся с wounded

Можете сделать аналогичные для конкретного нпс, только нужно будет тогда  эти анимации добавлять в xr_wounded.script

У меня у одного? remark в схеме wounded вёл себя странно Там ошибка в инициализации была ( не менялась анимация нпс, хотя здоровье менялось).  Может и я накосячил в планировщике... 

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

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


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

Здравствуйте, при попытке спавна не квествых нпс(болванчиков) вылет.

Спойлер

FATAL ERROR
 
[error]Expression    : !m_error_code
[error]Function      : raii_guard::~raii_guard
[error]File          : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
[error]Line          : 748
[error]Description   : ...f pripyat\gamedata\scripts\sim_squad_scripted.script:124: attempt to index local 'point' (a nil value)
 

stack trace:

Никак не могу понять, в каком файле/ файлах ошибка(-и). Файл, который там указан, я не трогал.

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


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

Mindallius У вас рабочий abort в _g.script? Ели нет, то поиском поищите как сделать отладочную инфу при abort!

Должно быть в логе Incorrect next point [ваша точка] for squad [сквад]. Так и ищите по скваду

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


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

Mindallius У вас рабочий abort в _g.script? Ели нет, то поиском поищите как сделать отладочную инфу при abort!

Должно быть в логе Incorrect next point [ваша точка] for squad [сквад]. Так и ищите по скваду

Появилось то,  о  чем вы и говорили 

Спойлер

! Cannot find saved game ~~~ [smart_terrain escape_smart_terrain] no configuration!
* Log file has been saved successfully!
! Cannot find saved game ~~~ there is no configuration file [scripts\escape\smart\escape_timoha_spawn.ltx] in smart_terrain [escape_timoha_spawn]
* Log file has been saved successfully!
! Unknown command:  dump_infos
! Cannot find saved game ~~~ incorrect next point [escape_stalker_village_spawn] for squad [245]
* Log file has been saved successfully!

Спойлер

[escape_village_stalker_squad]:online_offline_group
faction = stalker
npc = sim_default_stalker_1, sim_default_stalker_1, sim_default_stalker_1, sim_default_stalker_1
spawn_point =  escape_stalker_village_spawn
target_smart = escape_stalker_village_spawn
story_id = escape_village_stalker_squad

Эти смарты существуют и зарегистрированны 

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


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

spawn_point =  escape_stalker_village_spawn

Это не смарт - это вейпоинт! И его нет в спавне.


Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

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


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

Это не смарт - это вейпоинт! И его нет в спавне.

Создал вейпоинт, указал его- тот же вылет.

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


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

Можете сделать аналогичные для конкретного нпс, только нужно будет тогда  эти анимации добавлять в xr_wounded.script

На практике оказалось, что не требуется.
Сделал специальную секцию анимации раненого на основе wounded_heavy без дропа. Можно просто написать в логику её название, в xr_wounded.script прописывать только если необходимо, чтобы она была в возможном списке анимаций и для обычных НПС. И то, надо одно число потом ниже по скрипту тогда увеличивать (или сам скрипт переписать, для автоувеличения).
От ремарка вообще, как и хотел, избавился.

Спойлер

[wounded@surge]
hp_state = 101|wounded_heavy_nodrop@help_heavy ;wounded_heavy_nodrop - новая анимация ранения
hp_state_see = 101|wounded_heavy_nodrop@help_heavy
hp_victim = 101|actor
hp_cover = 101|false
hp_fight = 101|false
autoheal = false
enable_talk = false

4 часа назад, makdm сказал:

Что мешает сделать тоже самое с НПС?

Со сквадом в 9 человек это сложно реализовать, или костыльно будет слишком.

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

Мод в разработке - X-7: Эпицентр

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


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

Mindallius Читайте лог далее, значит там не единственная проблема.
К стати вылет sim_squad_scripted.script:124: attempt to index local 'point' относиться именно к смарту, проверьте его наличие.

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

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

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


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

@SoDizzari спасибо чувак)


Дополнено 5 минуты спустя

Блин у меня остался ещё один вопрос, как сделать артефакт видимым через СДК?

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


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

Добрый день, может кто привести конкретный пример секции ph_code, пробовал пару вариантов, но сейф не открывается. Задумка такова: ГГ берет квест на открытие квеста, далее по вводу кода "1942" сейф должен открыться со звуком (=play_sound(..) ) , а так-же выдаться инфорпоршень , который обновляет описание квеста (+seif_door_open), буду премного благодарен.

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


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

Добрый день, может кто привести конкретный пример секции ph_code, пробовал пару вариантов, но сейф не открывается. Задумка такова: ГГ берет квест на открытие квеста, далее по вводу кода "1942" сейф должен открыться со звуком (=play_sound(..) ) , а так-же выдаться инфорпоршень , который обновляет описание квеста (+seif_door_open), буду премного благодарен.

Могу показать вот такой пример.

Спойлер

[logic]

active = ph_code@lock   

[ph_code@lock]
code = 1942              ;тут любой код
on_code = %=play_sound(..) ) +seif_door_open% sr_idle@end     ;когда правильный код будет введён, будет выдаваться инфопоршень и звук

[sr_idle@end]

 

  • Спасибо 1

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


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

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

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

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

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

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

Войти

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

Войти

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

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