Перейти к контенту

[CoP] Ковыряемся в файлах


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

ПСЕВДО-S.T.A.L.K.E.R., в wpn_hand_val_hud_animation.omf, если речь о "lancew_aks74u_*"

Добавлено Kirgudu,

Перемещено.

  • Спасибо 2

Убедитесь, что вы имеете право убедиться

Ссылка на комментарий

 Опишите, пожалуйста, полную картину создания укрытий от выбросов. В видеоуроках Непряхина есть только та часть которая в сдк (спейс-рестриктор+шейп+точки сбора нпс в самом укрытии), а в каких файлах и что вносить/изменять, к сожалению нет, как и описания действий нпс чтоб они бежали в укрытие. @BoBaH_671 летом затрагивал эту тему, но на форуме я так и не нашел ответа, как на ютубе и на Вики.

Изменено пользователем Серый Волк
Ссылка на комментарий

@tatarinrafa, работой детектора управляет движок сталкера. В конфигах можно прописать, что конкретно "видит" детектор.

То есть ни каких дополнительных действий в скриптах к ним нет? ладно, спасибо.

Ссылка на комментарий

 

 

То есть ни каких дополнительных действий в скриптах к ним нет?

Ну так добавь - script_binding = ля-ля-ля.init + класс биндера никто вроде не отменял...

 

 

 

а в каких файлах и что вносить/изменять, к сожалению нет

Плохо искал, в "Уроках по модостроению" - 2-я страница...

  • Спасибо 1
Ссылка на комментарий

@UnLoaded, Спасибо, там не искал, я думал там только по ТЧ...

и кстати, там написано "вносим изменения в "алл.спавн" - если я с сдк работаю, мне всё равно надо его конвертером распаковывать, а потом тем же макаром запаковать, или есть другой вариант?

Ссылка на комментарий
Ну и как ты с СДК работаешь

ну так я в процессе обучения, несколько дней ковыряюсь... потому и спрашиваю. Там ведь не написано, что вот это:

"Переходим к all.spawn - создаем секцию укрытия в файле alife_escape.ltx и Создаем точки пути по количеству мест в укрытии в файле way_escape.ltx"

можно не вписывать в ал.спаун а в сдк поставить...

Изменено пользователем Серый Волк
Ссылка на комментарий

@Серый Волк

Ну извини, я думал что ты уже с такими мелочами разобрался(957 сообщений)...

Тогда на всякий случай: после правки\добавления спавн-объектов и любых путей в СДК необходимо сделать MakeGame, затем прогнать xrAI с ключом -s. Получишь новый all.spawn, хотя для CoP может быть не так как в ТЧ.

  • Спасибо 1
Ссылка на комментарий

@UnLoaded, да ничё, я не обидчивый :grin2: .

 

Возникла дилемма.

В СДК по уроку Непряхина поставил аномальную зону, создал файл аномальной зоны, прописал ее название в пда.

Создал укрытие от выброса по уроку от Nuklia, по ссылке выше.

В СДК скомпилил без проблем, дальше тоже компиляция без эксцессов, а вот при запуске игры - ловлю вылет

 

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   : ...ов Припяти\gamedata\scripts\bind_anomaly_zone.script:17: attempt to index field 'ini' (a nil value)
 

stack trace:

 

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

в геймдате по ней лежат только scripts\pda.script и файл аномальной зоны лежит configs\scripts\hoz_dvor_anomal_zone_1.ltx

 

[anomal_zone]hoz_dvor_anomal_zone_1
layers_count = 3
respawn_tries = 1
max_artefacts = 2
;applying_force_xz = 200
;applying_force_y = 400
artefacts = af_medusa, af_cristall_flower, af_night_star, af_vyvert, af_gravi, af_gold_fish
start_artefact = af_night_star
coeff = 3, 3, 2, 2, 1, 1
artefact_ways = hoz_dvor_af_way, hoz_dvor_af_way_2, hoz_dvor_af_way_3
field_name = hoz_dvor_zone_mine_electric_weak

[mines_core]


[layer_1]
mines_section = mines_layer_1

[mines_layer_1]:mines_core
hoz_dvor_zone_mine_electric_weak
hoz_dvor_zone_mine_electric_weak_0000
hoz_dvor_zone_mine_electric_weak_0001
hoz_dvor_zone_mine_electric_weak_0002
hoz_dvor_zone_mine_electric_weak_0003
hoz_dvor_zone_mine_electric_weak_0004
hoz_dvor_zone_mine_electric_weak_0005
hoz_dvor_zone_mine_electric_weak_0006
hoz_dvor_zone_mine_electric_weak_0007
hoz_dvor_zone_mine_electric_weak_0008
hoz_dvor_zone_mine_electric_weak_0009

[layer_2]
mines_section = mines_layer_2

[mines_layer_2]:mines_core
hoz_dvor_zone_mine_electric_average
hoz_dvor_zone_mine_electric_average_0000
hoz_dvor_zone_mine_electric_average_0001
hoz_dvor_zone_mine_electric_average_0002
hoz_dvor_zone_mine_electric_average_0003
hoz_dvor_zone_mine_electric_average_0004

[layer_3]
mines_section = mines_layer_3

[mines_layer_3]:mines_core
hoz_dvor_zone_mine_electric_strong

 

Изменено пользователем Серый Волк
Ссылка на комментарий

 

 

но найти ее пока для меня проблематично

Учись\внимательнее читать\читай логи ошибок: у тебя четко написано, что проблема в bind_anomaly_zone.script, строка 17. Выложи или часть скрипта, чтоб строка 17(+- 10строк) были видны, или весь bind_anomaly_zone.script. Глянем, подскажем...

  • Спасибо 1
Ссылка на комментарий

@Серый Волк, ты в СДК, в кастом-дате аномальной зоны прописал путь к конфигу hoz_dvor_anomal_zone_1.ltx?

Аномальное поле hoz_dvor_zone_mine_electric_weak и все аномалии прописанные в твоем конфиге присутствуют на уровне?

 

Да и в файле hoz_dvor_anomal_zone_1.ltx:

[anomal_zone]hoz_dvor_anomal_zone_1 - поставь знак комментирования строки (;) -

[anomal_zone];hoz_dvor_anomal_zone_1


Да и еще - пути для артефактов есть в аномальной зоне?

  • Спасибо 1
Ссылка на комментарий
в СДК, в кастом-дате аномальной зоны прописал путь к конфигу hoz_dvor_anomal_zone_1.ltx?

именно оно, спасибо. батарея на буке села, не успел сохранить, а потом забыл. В остальном - запустилось, работает, но почему-то только первый ряд аномалий hoz_dvor_zone_mine_electric_weak в игре есть, а остальных hoz_dvor_zone_mine_electric_average (внутренний круг) и hoz_dvor_zone_mine_electric_strong (в центре), внутри круга нет.

 

14607710_m.jpg

 

 

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

Изменено пользователем Серый Волк
Ссылка на комментарий

 

 

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

Ничего вписывать в кастом дату не надо. Просто назови его, поставь тип NOT A restrictor и добавь его имя в surge_manager.ltx по аналогии с другими укрытиями.

  • Спасибо 1

Ранее был известен под ником BoBaH_671.

Ссылка на комментарий

@BoBaH_671, зона в которой убирается оружие по той же схеме или нет? и в каких файлах она прописывается?

Ссылка на комментарий

 

 

зона в которой убирается оружие по той же схеме или нет? и в каких файлах она прописывается?

Тип NONE default restrictor, в кастом дату:

[logic]
active = sr_no_weapon

[sr_no_weapon]
  • Спасибо 1

Ранее был известен под ником BoBaH_671.

Ссылка на комментарий

Такой вот вопрос по музыке - если использовать ogg с частотой дискретизации выше 44100 это как-нибудь скажется на игре отрицательно?Просто я в этом совсем-совсем не шарю,а у нужного мне трека она 48000. Затычку для xrSound сделал, вроде в главном меню не вылетает и проигрывается.

Ссылка на комментарий

@Серый Волк, там по аномальным полям схема работы такая:

[mines_core] - список аномалий, которые включены постоянно.

[layer_#] - наборы, которые случайно переключаются после выброса.

 

Из этого и исходи.

Ссылка на комментарий
Когда я играл в "Контракт на хорошую жизнь" у меня случилось это:

Expression : FS.exist(file_name, "$game_spawn$", *m_spawn_name, ".spawn")
Function : CALifeSpawnRegistry::load
File : .\alife_spawn_registry.cpp
Line : 86
Description : Can't find spawn file:
Arguments : mary - autosave

В справочнике этот вылет я не нашёл. Может подскажете, в чём дело?
Ссылка на комментарий

@Hadzirim Hajad
Насколько я понимаю, не совпадают текущая версия all.spawn с версией all.spawn, при которой делалось сохранение

 

---

 

Был у меня один товарищ Журналист, коего я спавнил скриптом на Янов. Его логика висела на remark'е и no_move = true. Решил переделать, ибо не комильфо.

Выбрал ему место, поставил стульчик и анимпоинт в СДК.

Далее вписал его в смарт Янова - jup_a6.

[exclusive]
...
jup_jurnalist = jupiter\jup_a6_jurnalist.ltx
...

Потом переписал ему логику на боле-менее сносную (но похоже, что нет)

[logic@jup_jurnalist]
suitable = {=check_npc_name(jup_jurnalist)} true
active = animpoint@base
prior = 100

[animpoint@base]
cover_name = jup_a6_animp_jurnalist
avail_animations = animpoint_sit_normal
out_restr = jup_a6_sr_noweap
invulnerable = true 
meet = default_meet
combat_ignore_cond = true 
combat_ignore_keep_when_attacked = true
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false

Вписал в simulation.ltx

;;;;;;;;;;;;;;;;;;;;;; FINAL JUPITER ;;;;;;;;;;;;;;;;;;;;;;;;;

[start_position_jupiter]
...
jup_a6_jurnalist_squad = jup_a6
...

Записал его и в simulation_objects_props.ltx

[jup_a6_jurnalist_squad]:default_squad
sim_avail = false

В итоге данный товарищ предпочитает созданному лично для него анимпоинту (jup_a6_animp_jurnalist) другие - у кровати jup_a6_animp_16 и у ящиков jup_a6_animp_17, когда первый занят. Пока что логика (по крайней мере НПС) для меня - темный лес, но полагаю, что она его под необходимый контроль не берет. Не подскажет кто, в чем может быть проблема?


P.S.: Дырявая моя голова, сквад есть, если что:
 

[jup_a6_jurnalist_squad]:online_offline_group
faction = stalker
npc = jup_jurnalist
target_smart = jup_a6
spawn_point = jup_a6_spawn_point
story_id = jup_a6_jurnalist_squad
Изменено пользователем Rozben
  • Полезно 1

ROZBEN.gif

Ссылка на комментарий
Rozben,

Дабы не плодить лишних файлов для нпс-статистов:

 
\jup_a6.ltx
 
[exclusive]
...
jup_a6_jurnalist = jupiter\jup_a6_logic.ltx
 
---
 
\jup_a6_logic.ltx (на основе ковера Коряги)
...
[logic@jup_a6_jurnalist]
active = animpoint@jup_a6_jurnalist
suitable = {=check_npc_name(jup_a6_jurnalist) =npc_in_zone(jup_a6_sr_noweap)} true
prior = 200
 
[animpoint@jup_a6_jurnalist]:animpoint@jup_a6_animp_gen_reach
cover_name = jup_a6_animp_jurnalist
on_info = {=npc_in_zone(jup_surge_hide_a6)} animpoint@jup_a6_jurnalist_reached
 
[animpoint@jup_a6_jurnalist_reached]:animpoint@jup_a6_animp_gen
cover_name = jup_a6_animp_jurnalist
 
---
 
avail_animations = animpoint_sit_normal ; это нужно для использования другой анимки (кат-сцены), например ковер сидячий (loopholes: sit), а в игре будет лежать (avail_animations = zat_b106_wounded_idle, спец анимки из state_mgr_scenario.script)
 
Сам ковер должен находиться на аи-сетке и иметь точные lv/gv-вертексы (во избежании при переходе оффлайн/онлайн, перемещения нпс в начало lv/gv для текущей карты, для Юпитера это район плавней)
 
В составе зп-сдк, есть папка help (куча инфы), там есть справка по логике (Gamedesigner_education.pdf).
Ссылка на комментарий

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

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...