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

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

 
 

Здравствуйте, решили с коллегой отказаться от Кордона из ПВМ и подключить оригинал из ЧН (там с моим пк и оптимизацией проблемы). Игра вылетает с таким логом:

FATAL ERROR
 
[error] Expression    : <no expression>
[error] Function      : CInifile::r_section
[error] File          : C:\projects\xray-16\src\xrCore\xr_ini.cpp
[error] Line          : 729
[error] Description   : fatal error
[error] Arguments     : Can't open section 'ugnd_bkg_1' (only 'ugnd_breath' avail). Please attach [*.ini_log] file to your bug report

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

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


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

ТониМойша В активной секции логики:

gather_items_enabled = false - игнорировать брошенное оружие
help_wounded_enabled = false - игнорировать раненых
corpse_detection_enabled = false - игнорировать лутаемые трупы

Проблема к сожалению в том, что пока нпс идут в патруле на них периодически нападают. И они выходят из патруля, воюют, потом лутают трупы, а потом снова входят в логику патруля, где у меня gather_items_enabled и остальное прописано. Что можно придумать, чтобы они после перестрелки опять просто на патруль уходили, минуя логику "жмякать жмуров свежих". На всякий случай прилагаю скрин логики

34.PNG

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


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

Belka_mod Зайдите в любой файл ".ltx" или ".xml" из папки configs, нажмите Ctrl+Shift+F. И попробуйте найти файл, где есть эта секция: "ugnd_bkg_1"


А колбасу и батоны нынче хреновые делать стали...

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


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

Проблема к сожалению в том, что пока нпс идут в патруле на них периодически нападают.

Проблема в том, что ваши НПС не под этой логикой! А под дефолтной (см. gulag_general.script).

Я вижу сразу три проблемы с этой логикой:
1. suitable не вернет true (проверяете имя НПС, а подставляете для проверки имя сквада)
2. Некорректный параметр path_walk в секции patrol (имя пути path_walk не должно начинаться с имени смарта - это подставляется автоматом скриптом).
3. Зарезервированное имя пути для дефолтной логики.


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

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


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

FalkineIsaku Что-то не находит он

 

 

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

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


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

нпс идут в патруле на них периодически нападают. И они выходят из патруля, воюют, потом лутают трупы, а потом снова входят в логику патруля, где у меня gather_items_enabled и остальное прописано. Что можно придумать, чтобы они после перестрелки опять просто на патруль уходили, минуя логику "жмякать жмуров свежих".

ТониМойша Создать свой новый скрипт в gamesata\scripts или внедрить в уже существующий свой же скрипт. Там:

eva_alife_forbid = {
  section1 = true,
  ...
  story_id1 = true,
  ...
}
eva_native_loot = xr_corpse_detection.evaluator_corpse.evaluate
xr_corpse_detection.evaluator_corpse.evaluate = function(self, ...)
  local secta = self.object:section()
  if eva_alife_forbid[secta] then
    return false
  end
  secta = get_object_story_id(self.object)
  if eva_alife_forbid[secta] then
    return false
  end
  return eva_native_loot(self, ...)
end
; повторить трюк с инжекцией эвалуатора для xr_gather_items
; повторить трюк с инжекцией эвалуатора для xr_help_wounded
; повторить трюк с инжекцией эвалуатора для ...

В словарь eva_alife_forbid вбиваете уникальные секции своих неписей и/или их story_id. Опционально для прочих поведенческих схем: смотрите комментарий.

Disclaimer: не тестировано, просто так примерно делают нынче в модах.

  • Жму руку 1

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

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


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

А как можно вызвать функцию через логику?


Добавлено: разобрался

Изменено пользователем ТониМойша

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


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

ТониМойша В xr_effects пишите нужную вам функцию. После этого в логике пишите: %=имя_функции%

  • Жму руку 1

А колбасу и батоны нынче хреновые делать стали...

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


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

ТониМойша В xr_effects пишите нужную вам функцию. После этого в логике пишите: %=имя_функции%

Спойлер

[logic]
active = sr_idle@wait
[sr_idle@wait]
on_info = sr_idle@tip {+kill_monolith_start_quest_end}
[sr_idle@tip]
on_game_timer = 50|sr_idle@end  %=stancia_2_kill_monolith_start_pda%
[sr_idle@end]


function stancia_2_kill_monolith_start_pda()                     
                        news_manager.send_tip(db.actor, "stancia_2_kill_monolith_start_pda_text", nil, "csky", 20000, nil)
end

 

Подскажите, а почему может не работать?

kill_monolith_start_quest_end = это инфопоршень, который даётся по окончанию задания. Задание кончается по этому инфопоршню, но вот сообщение на экране, что вызывается через функцию - не появляется.

 

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


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

ТониМойша Попробуйте написать так:

[logic]
active = sr_idle@tip

[sr_idle@tip]
on_game_timer = 50 | {+kill_monolith_start_quest_end} %=stancia_2_kill_monolith_start_pda% sr_idle@end 

[sr_idle@end]

 

  • Жму руку 1

А колбасу и батоны нынче хреновые делать стали...

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


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

FalkineIsaku Почему-то всё равно не работает, хмм. Я пытался логику подключить через рестриктор, может где то в этом собака зарыта? Надо ли рестриктор прописывать где-то? Или он автоматом работает при начале новой игры?

Добавлено: не логику, а функцию

 

Спойлер

34.thumb.PNG.f24848a83d561b455f1727dd0bf33ed2.PNG

 

Изменено пользователем ТониМойша

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


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

FalkineIsaku В предложенной схеме таймер смысла не имеет!


ТониМойша Одно из множества: или рестриктора нет, или логика неверно назначена, или инфопорция не выдана.

И да зачем  городить новую функцию stancia_2_kill_monolith_start_pda() если есть send_tip()!?

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

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

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


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

denis2000 переписал под send_tip - и так не работает. Рестриктор есть, инфопорция выдается, так как я использую инфопорцию из окончания квеста, который работает, а логика теперь такая:

Спойлер

[logic]
active = sr_idle@wait

[sr_idle@wait]
on_game_timer = 50|{+kill_monolith_start_quest_end} sr_idle@end %=send_tip (stancia_2_kill_monolith_start_pda_text)%

[sr_idle@end]

Ума не приложу, что ещё может быть не так

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


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

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

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


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

Ума не приложу

stancia_2_kill_monolith_start_pda_text существует такой id? Возможно опечатка

D37a8b По кондлисту

on_complete - действия, которые выполняются, если задание выполнено
on_reversed - действия, которые выполняются, если задание провалено

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


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

Ума не приложу, что ещё может быть не так

Логика рестриктора не активна. Путь к логике неверно прописан. В кастом дата рестриктора после CFG должен быть знак равенства.

 

Изменено пользователем makdm
  • Жму руку 1

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

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


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

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

Блин, а как я равно увидел, нужно к окулисту...

  • Смех 1

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

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


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

Безлоговый вылет при переходе на другую локацию. Куда рыть, чтобы понять, в чем проблема?

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


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

Крим вылет присутствует на всех рендерах? У конкретной локи, или просто всегда при переходе? Стабильный (т. е. на локацию вообще невозможно перейти)? Или грузит с автосейва? Откуда взята локация, из Dollchan 8?

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

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


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

Откуда взята локация, из Dollchan 8?

Да.

1 минуту назад, Mawrak сказал:

вылет присутствует на всех рендерах?

Проверял на динамике и на статике - на обеих вылет происходит.

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


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

Крим попробуй запустить уровень без спавна.

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


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

Стабильный (т. е. на локацию вообще невозможно перейти)?

50\50. Переход на другую локацию срабатывает , но вот переход обратно, на изначальную локацию вылетает без лога.

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


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

Крим может что-то с переходом не так, что-то не правильно настроено?

Если кините эти две локи мне (желательно с актуальными level.spawn-ами), я могу попробовать поискать причину.

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


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

Народ! Чем отличается логика пси собаки от других мутов?????
Вторые сутки бьюсь, работают все кроме пси собак, вылет без лога.
И вылет именно на переходе с секции mob_walker на секцию mob_home
Если делаю активной сразу  mob_home, вылет так же без лога сразу при загрузке игры....

Если в squad_descr_локация, меняю пси собаку на обычную, то работает без проблем...

Спойлер

[logic@mil_vivc2_psy_dog_1]
suitable = {=is_monster_psy_dog} true  
active = mob_walker@mil_vivc2_psy_dog_1
monster_job = true
prior = 100

[mob_walker@mil_vivc2_psy_dog_1]
path_walk = psy_dog_1_walk
path_look = psy_dog_1_look
npc_friendly = true
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
on_info = {+viv_door_kletka2_open} mob_home@mil_vivc2_psy_dog_1

[mob_home@mil_vivc2_psy_dog_1]
path_home = psy_dog_1_home
home_min_radius = 30
home_max_radius = 60
aggressive = false
combat_ignore_cond = {!dist_to_actor_le(70)} true, false


 

 

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

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

DCM

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


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

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

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


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

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

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

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

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

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

Войти

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

Войти

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

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