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

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

 
 

Disam Нет, чтобы посмотреть как сделан телепорт Тремора в оригинале, вы решили идти своим путем с костылями и граблями.


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

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


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

denis2000 У меня очень часто всё держится на костылях, чем я не горжусь. Я пытался изначально найти телепорт дядьки Яра, но не нашёл. Попробую по вашему совету через телепорт Тремора, только файлик подскажите

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


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

Ещё не понял, что за подробный лог работы скрипта? Из логов я знаю только самый обычный лог

Тогда стоит для начала ракоментировать строку error_log(reason), что в функции abort в скрипте _g.script

58 минут назад, Disam сказал:

Попробую по вашему совету через телепорт Тремора, только файлик подскажите

zat_b22_logic.ltx
Там по сути все та же функция телепорта НПС:
=teleport_npc_by_story_id(zat_b22_stalker_medic....
Но самое интересное это инфопорция zat_b22_medic_respawn, для переключения НПС между смартами: 
target_smart = {+zat_b22_medic_respawn} zat_medic_home_smart, zat_stalker_base_smart

А вот дядька Яр телепортируеться сквадом см файл jup_b19_sr_quest.ltx
=teleport_squad(jup_b19_freedom_yar_squad:jup_b19_yar_1_walk)

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

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

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


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

denis2000 я попробую и напишу, для этого нужно перелопатить его спавн, так что напишу вероятнее всего завтра

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

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


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

denis2000 Пока переделывал всё шло нормально, почти всё переделал, но в сдк налажал с названием вейпоинта для одного нпс, пофиксил название, захожу в игру. Но теперь по какой-то причине другой нпс, который работал совершенно исправно, начал вызывать вылет. Я ещё вырезал у них из логики строчки combat_ignore_cond и combat_ignore_keep_when_attacked

Подумав что причина в этом, я их вернул, но это не помогло. Как я понял нпс не может определить работу, но что с этим делать я не знаю, я вернул логику на исходную, не помогло.

Спойлер

[LUA] Error: [string "xr_motivator"]:161: attempt to index local 'smart_task' (a nil value)

FATAL ERROR

[error]Expression    : !m_error_code
[error]Function      : raii_guard::~raii_guard
[error]File          : F:\ixray-team\ixray-1.6-stcop\src\xrScripts\script_storage.cpp
[error]Line          : 530
[error]Description   : see call_stack for details!

stack trace:

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

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


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

denis2000 Всё переделал, теперь всё работает и все телепортируются, огромное спасибо. Только есть вопрос, он связан с анимпоинтами. Изначально я делал новую логику на анимпоинтах, но с ними был вылет, лог вылета:

Спойлер

! [LUA] SCRIPT RUNTIME ERROR
[LUA] Error: [string "se_smart_cover"]:50: attempt to index a nil value

FATAL ERROR

[error]Expression    : !m_error_code
[error]Function      : raii_guard::~raii_guard
[error]File          : F:\ixray-team\ixray-1.6-stcop\src\xrScripts\script_storage.cpp
[error]Line          : 530
[error]Description   : see call_stack for details!

stack trace:
 

Это последнее что я прошу прояснить на данный момент. Делал на основе Бороды

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

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


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

Error: [string "se_smart_cover"]:50: attempt to index a nil value

Обычно это означает, что смарт-ковер не настроен.


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

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


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

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

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

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


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

Здравствуйте уважаемые мододелы! При создании логики уникального нпс у меня вылет:
Expression : m_path
Function : CPatrolPathParams::CPatrolPathParams File : F:/ixray-team/ixray-1.6-stcop/src/xrGame/patrol_path_params.cpp
Line : 20
Description : There is no patrol path
Arguments : mp_lost_china_smart_china_animpoint

а вот файл логики уникального нпс

 

[logic@mp_lost_china_smart_china]
active = animpoint@mp_lost_china_smart_china
suitable = {=check_npc_name(mp_lost_china_smart_china)}true
prior = 90
level_spot = quest_npc


[animpoint@mp_lost_china_smart_china]
use_camp = false
meet = meet@mp_lost_china_smart_china
combat_ignore_cond = false
combat_ignore_keep_when_attacked = false
invulnerable = false
gather_items_enabled = false
help_wounded_enabled = true
corpse_detection_enabled = false
cover_name = mp_lost_china_smart_china_animpoint


[meet@mp_lost_china_smart_china]
close_anim         = nil
close_victim     = nil
far_anim         = nil
far_victim         = nil
close_distance     = 0
far_distance     = 0
use = {=actor_enemy} false, {=dist_to_actor_le(3)} true, false
snd_on_use = {!dist_to_actor_le(3)} nil
meet_on_talking = false

проверил сдк тысячу раз может букву там сям неправильно прописал делал все по гайду шаг за шагом вот теперь не понимаю что я не так указал
также для ясности!!!!!!!
имя смарта mp_lost_china_smart
имя ковера mp_lost_china_smart_china_animpoint
имя локи mp_lost_village 

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


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

Emilien220 Ищите, где вы указали mp_lost_china_smart_china_animpoint в качестве точки пути.


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

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


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

Народ, подскажите плз - сейчас мучаю оригинальный CoP на предмет реакции НПС на хит в смартах, на стандартных работах - animpoint, guard, walker и.т.п. По дефолту они почти не реагируют, можно безнаказанно хитовать их с дистанции от 40-60м - они дохнут, так и не вставая с работ. Есть какие фиксы этого в модах или движках? Мучаю chatGPT, но он даже в платной версии не может нормально пофиксить это... Я не прогер, поэтому ищу готовое решение.

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

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


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

mic900 Логику покажите.


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

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


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

Логику Чего показать? Ванильного ЗП?

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


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

mic900 

xr_combat_ignore.script

function action_process_enemy:enemy_callback( obj, enemy )
    ...
            if se_obj.group_id ~= 65535 and sim_obj_registry.objects[se_obj.group_id] ~= nil and
            se_enemy.group_id ~= 65535 and sim_obj_registry.objects[se_enemy.group_id] == nil and
            se_obj.position:distance_to_sqr(se_enemy.position) > 900 then -- квадрат расстояния, игнор всего что дальше 30 метров
                                                                          -- 14400 (120м)
                return false
    ...
end

 

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


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

mic900 

xr_combat_ignore.script


function action_process_enemy:enemy_callback( obj, enemy )
    ...
            if se_obj.group_id ~= 65535 and sim_obj_registry.objects[se_obj.group_id] ~= nil and
            se_enemy.group_id ~= 65535 and sim_obj_registry.objects[se_enemy.group_id] == nil and
            se_obj.position:distance_to_sqr(se_enemy.position) > 900 then -- квадрат расстояния, игнор всего что дальше 30 метров
                                                                          -- 14400 (120м)
                return false
    ...
end

 

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

Я говорю именно о реакция НПС на хит, когда они находятся в анимпоинтах, да и на обычных работах guard - walk. Попробуйте найти сим-сквад в сим смарте, сидящий в анимпоинтах и хитовать одиночными выстрелами с дистанции даже 40-60 м. Особенно если делать это сзади - они зачастую вообще не реагируют на получение хита. Можно просто расстреливать как в тире. Причем не важно от актора хит или от других НПС.

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

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


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

Здравстувуйте уважаемые проф мододелы я бы хотел задать вопрос.
Как выдать инфо поршень по прибытию нпс к новому  walk то есть в начале нпс был в одном месте я смог написать чтобы он пошел на новый walk но не знаю как сделать выдачу инфо поршня о прибытии в новый walk (я хочу получить инфо поршень только после прибытия на место тоесть новый Walk)
 

[logic@lost_stalker_isa_start_isa]
active = walker@lost_stalker_isa_start_isa
suitable = {=check_npc_name(lost_stalker_isa_start_isa)}true
prior = 90
level_spot = quest_npc

[walker@lost_stalker_isa_start_isa]
path_walk = isa_walk
path_look = isa_look
meet = meet@lost_stalker_isa_start_isa
combat_ignore_cond = false
combat_ignore_keep_when_attacked = false
invulnerable = true
gather_items_enabled = true
help_wounded_enabled = true
corpse_detection_enabled = true
on_info = {+isa_go_village} walker@lost_stalker_isa_village                  (тут нпс идет на новую точку)

[walker@lost_stalker_isa_village]
path_walk = isa_village_walk
path_look = isa_village_look
on_signal = path_end | %+isa_arrived_village%                             (это увы не сработало диалог не появился(_)
meet = meet@lost_stalker_isa_start_isa_village                        (выдал новый meet для того чтобы диалог начал нпс а не герой)

combat_ignore_cond = false
combat_ignore_keep_when_attacked = false
invulnerable = true
gather_items_enabled = true
help_wounded_enabled = true
corpse_detection_enabled = true

[meet@lost_stalker_isa_start_isa]
close_anim         = nil
close_victim     = nil
far_anim         = nil
far_victim         = nil
close_distance     = 0
far_distance     = 0
use = {=actor_enemy} false, {=dist_to_actor_le(3)} true, false
snd_on_use = {!dist_to_actor_le(3)} nil
meet_dialog = {-mutant_dead} isa_mutants_start, {+mutant_dead} isa_mutants_done
meet_on_talking = false

[meet@lost_stalker_isa_start_isa_village]
close_anim         = nil
close_victim     = nil
far_anim         = nil
far_victim         = nil
close_distance     = 0
far_distance     = 0
use = {=actor_enemy} false, {=dist_to_actor_le(3)} true, false
snd_on_use = {!dist_to_actor_le(3)} nil
meet_dialog = {+isa_arrived_village} isa_village_start( это имя ид диалога)
meet_on_talking = false

проверка инфопоршная +isa_arrived_village название. Проблем по типу где-то перепутал имена и т д неа все перепроверил.

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


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

Emilien220 использовать сигнал (<--ссылка) в настройках вейпоинта look

Изменено пользователем Pavel2000
  • Хабар 1

 1540412914_ezgif.com-optimize(1).gif.ec7250e918399802d8fe85d6d4fd7081.gif

«Если долго мучиться, что-нибудь получится»
Испытуемый №28:Начало

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


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

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

Спойлер

* loading script sr_idle.script
! [LUA] SCRIPT RUNTIME ERROR
[LUA] Error: [string "xr_logic"]:405: attempt to index a nil value

FATAL ERROR

[error]Expression    : !m_error_code
[error]Function      : raii_guard::~raii_guard
[error]File          : F:\ixray-1.6-stcop\src\xrScripts\script_storage.cpp
[error]Line          : 530
[error]Description   : see call_stack for details!

stack trace:

В game_levels локация прописана, даже не знаю, что не так-то


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

Может я какие-то файлы забыл? А ещё не знаю, имеет ли это значение или нет, но файлы для мода я не закидывал в обычную геймдату, а использовал систему аддонов от IXray.  То есть создал в папке со всеми аддонами папку с моим модом и туда уже добавлял файлы

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

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


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

Skala У тебя это всё что есть в логе, или выше по логу тоже есть инфа о каких-то ошибках? Плюс вопрос: уже сейчас на локе есть ли объекты с логикой?


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

А, ну и ещё: у тебя функция abort раскомментирована или нет? В IX-Ray только в грядущем 1.4 будет он включён, в 1.3.х версиях он выключен, а в твоём случае очень похоже что он дал бы больше информации о вылете.


Мод в разработке - X-7: Эпицентр
Дискорд мода - https://discord.gg/mpvs685UYN

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


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

gXRtTphxsVN4QSylXlJbWDmpE0IWB6YnTjBrtRtr

поставил анимпоинт и подключил к смарт террейну, но почему-то на анимпоинт идут сразу 2 нпс. Подумал что может не хватает одного анимпоинта и поставил второй, но всё то же самое и на втором анимпоинте. Веипоинты для вторых нпс на анимпоинте есть, но не хотят занимать

Спойлер

[smart_terrain]
squad_id = 1
max_population = 1

[exclusive]
agr_dolg_base_1_animp_1 = agroprom\npc\agr_dolg_base_1_animp.ltx
agr_dolg_base_1_animp_2 = agroprom\npc\agr_dolg_base_1_animp.ltx

 

Спойлер

[logic@agr_dolg_base_1_animp_1]
active = animpoint@agr_dolg_base_1_animp_1  
suitable = {=check_npc_name(sim_default)}
prior = 100

[animpoint@agr_dolg_base_1_gen]
reach_movement = walk_noweap
use_camp = false
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false

[animpoint@agr_dolg_base_1_animp_1]:animpoint@agr_dolg_base_1_gen
cover_name = agr_dolg_base_1_animpoint_1

[logic@agr_dolg_base_1_animp_2]
active = animpoint@agr_dolg_base_1_animp_2  
suitable = {=check_npc_name(sim_default)}
prior = 100

[animpoint@agr_dolg_base_1_animp_2]:animpoint@agr_dolg_base_1_gen
cover_name = agr_dolg_base_1_animpoint_2

 

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

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


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

Prostomod из ошибок только 2 строчки про отсутствие звука, но не думаю, что это является причиной:

! Can't find sound 'music\amb06'
! Can't find sound 'music\amb08'

Из объектов с логиками я оставил только двери, рупор на базе долга и рестриктор от него. В файлах от рупора я ничего не трогал, у дверей чуть секции подправил. Файлы приложу.

P.S. Я помню, что можно было в каком-то файле из папки scripts раскомментрировать какую-то строчку, чтобы игра более точную информацию о вылетах писала. Не подскажешь, как это сделать? Может поможет

agr_duty_base_door.ltx agr_duty_megafon.ltx agr_duty_megafon_zone.ltx agr_shooting_door_1_exit.ltx agr_shooting_door_2_enter.ltx

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


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

Не подскажешь, как это сделать? Может поможет

Функция abort в скрипте _g.scripts
Его попробуй раскомментировать

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


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

Крим раскоментировал, кажись понял в чём дело


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

Всё исправил, всё работает. Вылетало из-за мишеней с тира на базе Долга

  • Лайк 1

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


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

кажись понял в чём дело

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

  • Лайк 1

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


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

aka_sektor В моём случае мне указало на логику мишеней из тира с агропрома, которой нет в ЗП. Удалил её и всё заработало. 


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

Как будто самое главное _g.script подправить, чтобы логи нормальные выдавало

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


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

Disam Смотрите скрипт gulag_general.script метка XR_ANIMPOINT. На смартковер с именем:
смарт_animpoint_индекс
автоматически создается работа!


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

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


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

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

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

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

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

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

Войти

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

Войти

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

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

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек. Оставаясь на сайте, вы подтверждаете свое согласие на их использование. Политика конфиденциальности | Условия использования