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

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

 
 
39 минут назад, Toplol4ik сказал:

@green_smileНужно в SDK загрузить нужную вам локацию, найти там актёра и переместить его

Спс. А какой именно файл нужно открыть?

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


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

Помогите, вылет при загрузке локации, как я понял он связан с логикой.

Спойлер

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   : ...k.e.r. call of pripyat\gamedata\scripts\utils.script:469: bad argument #1 to 'gsub' (string expected, got nil)
 

stack trace:
 

Спойлер
Спойлер

[logic@escape_exclusive_village_smart_medic]
active = animpoint@escape_exclusive_village_smart_medic
suitable = {=check_npc_name(escape_exclusive_village_smart_medic)}true
prior = 94
level_spot = medic
trade = misc\trade\trade_jup_b202_stalker_medic.ltx

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

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

Спойлер

[logic@escape_exclusive_village_smart_tech]
active = walker@escape_exclusive_village_smart_tech
suitable = {=check_npc_name(escape_exclusive_village_smart_tech)}true
prior = 93
level_spot = mechanic

[walker@escape_exclusive_village_smart_tech]
path_walk = tech_walk
path_look = tech_look
meet = meet@escape_exclusive_village_smart_tech
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false

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

Спойлер

[logic@escape_exclusive_village_smart_torg]
active = walker@escape_exclusive_village_smart_medic
suitable = {=check_npc_name(escape_exclusive_village_smart_torg)}true
prior = 91
level_spot = trader

[walker@escape_exclusive_village_smart_torg]
path_walk = torg_walk
path_look = torg_look
meet = meet@escape_exclusive_village_smart_torg_hello
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false

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

Спойлер

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

[walker@escape_exclusive_village_smart_volk]
path_walk = volk_walk
path_look = volk_look
meet = meet@escape_exclusive_village_smart_volk
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false

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

Спойлер

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

[animpoint@escape_exclusive_village_smart_pel]
use_camp = false
meet = meet@escape_exclusive_village_smart_pel
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_exclusive_village_smart_pel_animpoint

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

Спойлер

[smart_terrain];escape_exclusive_village_smart
squad_id = 5
max_population = 1
arrive_dist = 50

[exclusive]
escape_exclusive_village_smart_volk = escape\escape_exclusive_village_smart_volk.ltx
escape_exclusive_village_smart_pel = escape\escape_exclusive_village_smart_pel.ltx
scape_exclusive_village_smart_tech = escape\escape_exclusive_village_smart_tech.ltx
escape_exclusive_village_smart_medic = escape\escape_exclusive_village_smart_medic.ltx
escape_exclusive_village_smart_torg = escape\escape_exclusive_village_smart_torg.ltx

 

 


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

green_smile Нажми File - Open и выбери нужную локацию, если нету, значит она не декомпилирована 


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

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


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

Toplol4ik Еще раз прошу будьте внимательнее:
escape_exclusive_village_smart_tech = escape\escape_exclusive_village_smart_tech.ltx

  • Лайк 1
  • Мастер! 1

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

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


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

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

list - прописан, #include - имеется, в самом файле локации [list_script_sound_моялока] - существует.

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

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


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

Здраствуйте, создал отряд эксклюзивов и всё работает, однако остальные отряды перестали спавниться (до этого было всё нормально). Также эксклюзивы созданные через точки пути (way points) не спавнятся. В деревне только 2 нпс, а должно быть 13. Как исправить?


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

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


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

Исправил, неправильно прописал spawn_point в squad_descr


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

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


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

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   : ... world\farthest edge\gamedata\scripts\xr_meet.script:630: attempt to index local 'meet' (a nil value)
 

stack trace:
 

Подскажите, как исправить этот вылет? Возникает при приближении к группе сталкеров.

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


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

Господа, я правильно понимаю, что в ЗП никак не получится получить спавн элемент по его имени из all.spawn?

типа:

Спойлер

local a = alife():object("имя_из_all_spawn")

 

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


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

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

По нему всё и находится.

Если у вас объект не имеет story_id, но его имя  уникальное, то методом перебора объектов, можно получить его серверную часть.

 

  • Лайк 1

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

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


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

Как такое сообщение вывести не только на экран, но и в диалоге? Выдаю из диалога.

function dog_attack(actor, npc)                     
                        news_manager.send_tip(db.actor, "dog_attack", 0, "default", 18000)
end

 


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

И еще: эти приколы не работают в анимпойнтах? Почему-то нпс идет к смарт каверу, а не бежит

def_state_standing = guard
def_state_moving1 = run
def_state_moving2 = run
def_state_moving3 = run

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


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

эти приколы не работают в анимпойнтах?

Не работают. Работают в схеме walker.

10 минут назад, justrainy сказал:

Как такое сообщение вывести не только на экран, но и в диалоге?

Для сообщения вне диалогового окна используется движковый метод  -  give_game_news

Для того чтобы сообщение попало в диалоговое окно, используется движковый метод - give_talk_message2

Отсюда и пляшите.

 

  • Лайк 1

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

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


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

Доброго времени суток.

Напомните, уважаемые, функцию проверки (=actor_has_item(...)) нескольки одинаковых предметов в файле таск менеджере в tm_... ( Для title =... Descr =... Target =...). К примеру, 3 аптечки. 

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

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


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

Hoperise actor_has_item_count - проверка нескольких одиниковых предметов.
А вообще в скрипт xr_conditions.script вы можете добавить свою функцию с проверкой в том числе и состояния объекта (item:condition() > 0.7)


justrainy Для анимпоинта есть параметр reach_movement.

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

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

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


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

Как убрать сюжетные квесты полностью ? Точнее квесты про вертолеты и поход в Припять

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


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

Знатоки, нужен ликбез по мутантам! Я конечно не COP ковыряю, а COM, но это не столь важно
Вот есть файлы типа "m_имя мутанта.ltx, в них есть базовые секции для каждого вида мутантов, а ниже секции для подвидов.
В базовой секции всегда есть параметр "health" равный целому числу (например 100), который вроде только для оффлайн-состояния.
А вот параметр "maxhealthvalue", как я понял, означает фактическое здоровье  монстра, он тоже равен целому числу (например 100), но этот параметр в базовой секции есть почему то не у всех мутантов
В секциях для подвидов параметр "maxhealthvalue" может быть представлен и целым числом (например 1.0)  и десятичной дробью (например 0.75) и скорее всего является коэффициентом к параметру "maxhealthvalue" из базовой секции. Но как быть, если в базовой секции этого параметра нет? К какой строчке применяется коэффициент?
Есть монстры, у которых параметр "maxhealthvalue" отсутствует и в базовой секции и в дополнительных, но зато в каждой секции есть параметр "health". И как в такой ситуации узнать реальное здоровье монстра? 
Мне необходимо подправить здоровье у всех подвидов всех монстров, поэтому так подробно размусоливаю

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


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

green_smile Набери в ютубе канал  Sheva Stalker. Там плэйлист есть на эту тему.

Так же через character_desc_имя локации удали сюжетные диалоги, а с помощью СДК удали документы квестовые


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

Sikorskyi Расскажи что ты сделал,  после чего стало вылетать

Как сделать субтитры в кат-сцене? Как это например было в моде Лёд

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

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


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

Есть смарт со сквадом мутантов. Настройки смарта

[smart_terrain]
max_population = 1
def_restr = a2_dog_def_restr
respawn_params = respawn@a2_dog
respawn_radius = 50

[respawn@a2_dog]
spawn_dogs

[spawn_dogs]
spawn_squads = simulation_dog
spawn_num = 1

Для def_restr создан in рестриктор. Собаки не сидят в рестрикторе, одна всегда как-то далеко от смарта или вообще идет куда-то. Ну, и бегут за мной по всей локации

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


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

Для def_restr создан in рестриктор. Собаки не сидят в рестрикторе

Вот где вы видели такую конструкцию!? Почему бы не сделать по массе примеров из оригинала?


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

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


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

По какой массе примеров? Где у каждого мутанта своя логика? Напишу я логику этим собакам с out_restr, но когда отреспавнятся дефолтные собаки они уже не будут этой логике подчиняться. Так ведь?

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


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

justrainy А, изобретаете значит свое. Вопросов не имею.


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

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


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

Вот где вы видели такую конструкцию!

В оригинале. В массе примеров

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


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

В оригинале.

Достаточно одного конкретного примера, а не пространного заявления "их там есть".

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

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

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


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

 

В 12.11.2023 в 13:30, Skala сказал:

Расскажи что ты сделал,  после чего стало вылетать

Этот вылет на постоянной основе присутствует в моде "Farthest Edge". Примерно после прохождения половины мода становиться невозможно приблизится к деревне новичков.

Видимо у какого-то НПС ошибка в диалогах. Потом эта ошибка пропадает, видимо вместе с самим НПС. Так что мод вполне проходим. Но ошибка, конечно, раздражает.

А мод, кстати, классный!

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


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

Подскажите, как можно перенести предмет из слота для детекторов в рюкзак? (Чтобы слот стал свободен)

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


Ссылка на сообщение
Поделиться на другие сайты
 
stack traceback:
	E:\S.T.A.L.K.E.R.CoP\gamedata\scripts\smart_terrain.script:410: in function 'load_jobs'
	E:\S.T.A.L.K.E.R.CoP\gamedata\scripts\smart_terrain.script:160: in function <E:\S.T.A.L.K.E.R.CoP\gamedata\scripts\smart_terrain.script:142>

[error] Line          : 638
[error] Description   : E:\S.T.A.L.K.E.R.CoP\gamedata\scripts\gulag_general.script:792: invalid level sequence near '"'

Логика монстра:

[logic@lvl_a2_dog_1]
suitable = {=is_monster_dog} true
prior = 70
monster_job = true
active = mob_home@1

[mob_home@1]
path_home = lvl_a2_dog_home_1
home_min_radius = 10
home_max_radius = 18
aggressive = true

Пробовал path_home = home_1, так как lvl_a2_dog - название смарта. Изначально было просто home_1. Вылет остался. Пробовал вместо path_home ставить gulag_point = true. Вылет остался. До этого в suitable было =target_squad_name, вылета не было, но монстр логике не подчинялся.

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

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


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

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

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

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

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

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

Войти

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

Войти

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