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

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

 
 
1 час назад, Boomer сказал:

Но, что можно сделать? Из-за чего ошибка могла появиться?

Искать причину, конечно! К сожалению универсального рецепта нет. К такому исходу могла привести, как ошибка в логике, так и ошибка в скриптах.
PS: Да может помочь включение подробного логирования исключений в скриптах (которое вам предложили), но еще нужно правильно интерпритировать лог и далеко не факт, что ошибка там проявиться...

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

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

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

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


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

ScR1pt в СДК?

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


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

FFFFF да


ed1c85bd8aba2500209219c6df96c254.png

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


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

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

Спойлер

[logic@pri_gavaets]
active = walker@zasada
suitable = {=check_npc_name(pri_gavaets)} true
prior = 200
level_spot = quest_npc
relation = friend
post_combat_time = 0, 0

[walker@zasada]
path_walk = gavaets_walk
path_look = gavaets_look
meet = meet@default
combat_ignore_cond = false
combat_ignore_keep_when_attacked = false
invulnerable = true
gather_items_enabled = false
help_wounded_enabled = true
corpse_detection_enabled = false
;on_info = {+инфопоршень =функция !функция} %+получение_поршня =выполнение_функции% новая_схема

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

Спойлер

[logic@pri_diplomat]
active = walker@zasada
suitable = {=check_npc_name(pri_diplomat)} true
prior = 200
level_spot = quest_npc
relation = friend
post_combat_time = 0, 0

[walker@zasada]
path_walk = diplomat_walk
path_look = diplomat_look
meet = meet@default
combat_ignore_cond = false
combat_ignore_keep_when_attacked = false
invulnerable = true
gather_items_enabled = false
help_wounded_enabled = true
corpse_detection_enabled = false
;on_info = {+инфопоршень =функция !функция} %+получение_поршня =выполнение_функции% новая_схема

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

 

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


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

Здраствуйте, у меня проблема: нпс стоит не на своём месте (я его ставил на ai-сетку). Как исправить?

Спойлер

Вот как стоит нпс:

https://ibb.co/1ssv03H

А вот как должен стоять:

https://ibb.co/R7v6PWC

Спойлер

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

[animpoint@escape_ferma_exclusive_smart_skaz]
use_camp = false
meet = meet@default
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
cover_name = escape_ferma_exclusive_smart_skaz_animpoint
trade_enable = false

[meet@default]
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

 


Просто создаю свой мод...

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


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

Toplol4ik Проверьте принимается ли логика вашим НПС в принципе.


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

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


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

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

Спойлер

Hr7_WNzAJvc.jpg?size=2560x1440&quality=9

 


На ap-pro с 2010 года... 

1084705139_-1.png.e8f0b3c23bb5a679b5fd2482bfc96039.png

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


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

denis2000 Его логика читается


Просто создаю свой мод...

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


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

Добрый вечер, как сделать несколько переносов строки в тексте? Пишу например "текст\n\n\nЭто с новой строки", но снос срабатывает только один раз, а я хочу между "текст" и "Это" иметь ещё пустую строку. 
И ещё насчёт табуляции: ставлю "\t", но вместо табуляции мне так и выводи символ t вместе со слешем.

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


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

QueroMas Между "\n"-ками просто поставь пробел

  • Спасибо 1

ed1c85bd8aba2500209219c6df96c254.png

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


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

Ребят тут такой прикол случился:

FATAL ERROR
 
[error]Expression    : !m_error_code
[error]Function      : raii_guard::~raii_guard
[error]File          : E:\xrMPE\GIT\xray16_xrMPE\xray\xrServerEntities\script_storage.cpp
[error]Line          : 748
[error]Description   : ...rmpe launcher\game\gamedata\scripts\state_mgr.script:489: attempt to index field '?' (a nil value)
 

stack trace:

Из-за чего вылет может происходить?

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


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

Toplol4ik У меня было такое что в имени точки для нпс я прописывал с ошибкой имя смарта к которому эта точка привязана. Проверьте правильно ли написано имя смарт-террейна.

Спойлер

[logic]
active = sr_idle@quest

[sr_idle@quest]
on_info = {=actor_in_zone(pripyat_shelter_sr)} %=give_task(pripyat_oborona_task)% sr_idle@info

[sr_idle@info]
on_info = {+pri_zasada_udar} %=npc_to_actor_punch =disable_ui% sr_idle@punch

[sr_idle@punch]
on_game_timer = 50 | %=run_postprocess(black:1996:true) =forward_game_time(5)% sr_idle@sleep

[sr_idle@sleep]
on_game_timer = 30 | %=stop_postprocess(1996) =enable_ui +pripyat_oborona_task_done% sr_idle@nil

[sr_idle@nil]

При входе в рестриктор должен выдаваться квест и через 5 секунд героя оглушают. Квест выдаётся, а вот удар по голове гг не получает.

В xr_effects вот такая функция:

function npc_to_actor_punch()
level.add_cam_effector("camera_effects\\surge_02.anm", 1, false)
level.add_pp_effector("surge_fade.ppe", 2, false)
end

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

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


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

vladvexa188 Анимационные состояния в state_lib.script добавляли?


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

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


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

vladvexa188 Значит, вероятно, где-то, какому то НПС прописано несуществующее анимационное состояние. Смотрите параметры в точках пути или в логике в тех местах, где напрямую анимации прописываются.

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

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

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


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

Пон

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


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

У меня при сейв/лоад половина нпс с двух смартов в одно место сбираются (не в центр смарта)


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

Только те, кто заспавнен через анимпоинты


Просто создаю свой мод...

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


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

Skala попробуй

 [sr_idle@quest]
on_info = {=actor_in_zone(pripyat_shelter_sr)} %=give_task(pripyat_oborona_task)% sr_idle@info

[sr_idle@info]
on_game_timer = 50 | %=npc_to_actor_punch =disable_ui% sr_idle@punch

[sr_idle@punch]
on_game_timer = 50 | %=run_postprocess(black:1996:true) =forward_game_time(5)% sr_idle@sleep

  • Спасибо 1

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


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

Здравствуйте, нпс не хочет переходить на следующую схему в логике (walker@plen). На этой схеме он должен игнорировать врагов и не стрелять в них. Такая же схема ещё у двух нпс.

Спойлер

[logic@pri_gavaets]
active = walker@zasada
suitable = {=check_npc_name(pri_gavaets)} true
prior = 200
level_spot = quest_npc
relation = friend
post_combat_time = 0, 0

[walker@zasada]
path_walk = gavaets_walk
path_look = gavaets_look
meet = meet@default
combat_ignore_cond = false
combat_ignore_keep_when_attacked = false
invulnerable = true
gather_items_enabled = false
help_wounded_enabled = true
corpse_detection_enabled = false
on_info = {+pripyat_oborona_task_done} | walker@plen

[walker@plen]
path_walk = gavaets_plen_walk
path_look = gavaets_plen_look
meet = no_meet
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
gather_items_enabled = false
help_wounded_enabled = true
corpse_detection_enabled = false
;on_info = {+pripyat_oborona_task_done} | walker@plen

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

А так же в логике рестриктора не работает переход на секцию sr_idle@dialog2

Спойлер

[logic]
active = sr_idle@plen

[sr_idle@plen]
on_info = {=actor_in_zone(pripyat_plen_sr)} sr_idle@dialog %=disable_ui%

[sr_idle@dialog]
on_game_timer1 = 10| %=add_cs_text(plen_phrase_1)%
on_game_timer2 = 80| %=del_cs_text(plen_phrase_1)%
on_game_timer3 = 90| %=add_cs_text(plen_phrase_2)%
on_game_timer4 = 160| %=del_cs_text(plen_phrase_2)%
on_game_timer5 = 170| %=add_cs_text(plen_phrase_3)%
on_game_timer6 = 220| %=del_cs_text(plen_phrase_3)% sr_idle@dialog2

[sr_idle@dialog2]
on_game_timer1 = 1 | %=add_cs_text(plen_phrase_4)%
on_game_timer2 = 60 | %=del_cs_text(plen_phrase_4)%
on_game_timer3 = 70 | %=add_cs_text(plen_phrase_5) =create_squad(pri_dolg_squad:pripyat_zasada)%
on_game_timer3 = 80 | %=del_cs_text(plen_phrase_5) =enable_ui% sr_idle@nil

[sr_idle@nil]

 

 

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

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


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

on_info = {+pripyat_oborona_task_done} | walker@plen

Есть примеры в оригинале, как и в каком порядке задаются условия и прочее. Имеется Gamedesigner_education.pdf в папке help (ЗП-сдк):

Спойлер

image.png.027aab34d5076769ed0beda213edaeec.png

 

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


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

Прошу прощенья. У меня не как не получается сделать так, чтоб про поднятии предмета выдавался инфопоршень. Я написал в рестрикторе, в СДК это:

Спойлер

[logic]
cfg = scripts\labx8\lab_h_sr.ltx

Спойлер
  1.  

То-есть написал путь к логике. В логике я написал:

Спойлер

[logic]

active = sr_idle@check

 

[sr_idle@check]

on_info = {=actor_has_item(labx8_pda_syca)} sr_idle@nil %+ jup_b9_blackbox_decrypted%

 

[sr_idle@nil]

Написал таск_менаджер задания:

Спойлер

[hyrma]

icon = ui_inGame2_Reputatsiya

prior = 10000

storyline = true

title = labX8_name

descr = {=actor_has_item(labx8_pda_syca)} labX8_text1 , labX8_text

target = {=actor_has_item(labx8_pda_syca)} , X8_sr

condlist_0 = {+ jup_b9_blackbox_decrypted } complete

 

Создал нужный предмет:

Спойлер

[labx8_pda_syca]:device_pda

$spawn                       = "quest_items\labX8_pda_syca"

visual                       = dynamics\devices\dev_pda\dev_pda.ogf

description             = st_jup_b202_bandit_mota_pda_descr

inv_name                = st_jup_b202_bandit_mota_pda

inv_name_short          = st_jup_b202_bandit_mota_pda

can_trade               = false

quest_item              = true

cost                    = 0

story_id                = zat_a23_gauss_rifle_docsl

 

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

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


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

+ jup_b9_blackbox_decrypted

А зачем после плюса стоит пробел? Попробуй убрать. 

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


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

FFFFF а почему у тебя ID от документов по гаусс-пушке?
story_id                = zat_a23_gauss_rifle_docsl ????

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


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

Neptun Там на конце буква другая.

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


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

Neptun Там на конце буква другая.

Там должно быть написано это:
story_id                = labx8_pda_syca

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


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

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

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

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

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

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

Войти

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

Войти

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