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

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


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

Народ, такая проблема: ВЕ заспавненые мною НПС на мини-карте отображаются точками. Как сделать так, чтобы они отображались звёздами? (В Зове Припяти)

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

@Shredder, я раньше ни разу не спавнил сквады. Сейчас посмотрел, как их создавать, возник вопрос - что такое смарт терреин? Я так понял, что это небольшая территория в пределах локации ,имеющая своё имя. Снова возникает вопрос - как узнать, какой смарт где находится? Я залез в  smart_names, но там лишь их названия. Как определить их местоположение?

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

 Viktor_KrisShredder

Есть способ гораздо проще:

   в файле _g.script измени переменную(в самом начале) dev_debug = false на значение true.

И у тебя в пда будут обозначены все смарты точками, при наведение на которые отображается имя смарта, squad_id, вместимость этого смарта(squad_capasity), каким отрядом он занят, какой группировки, и все дополнительные свойства типа(respawn_point)

 

  • Нравится 1
Ссылка на комментарий

karavan

Странно очень, в ЧН работает точно лично проверил, но все равно посмотрел скрипт smart_terrain.script от ЗП - функции там эти остались. Вот только почему у тебя не отображается?

-- Обновление.
-- В онлайне вызывается через binder.
-- Также может вызваться принудительно из xr_effects
function se_smart_terrain:update()
cse_alife_smart_zone.update( self )
if dev_debug then
self:refresh() -- Не забыть потом заремить
end
...
Отсюда вызываем refresh, если у нас dev_debug = true

--' Обновление информации о смарте на игровом поле
function se_smart_terrain:refresh()
self:show()
end

Отсюда функцию show:

function se_smart_terrain:show()

 

В ней и добавляются по идее отметки.

 
И вот из всех мыслей почему не работает только одна в голову приходит: может быть записать так в первой функции: (_G.dev_debug)
P.S. Я чего-то не пойму просто то ли это глобальная переменная, если да, то зачем в других функциях у этого класса ее пишут так, как я написал выше. 

 

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

Зравствуйте.
Подключил к ЗП кордон из ЧН, переместил туда актора. Добавил в спавн НПСа с нужной мне позицией и дирекцией, но проблема, сталкер стоит на нужной позиции, но смотрит не в ту сторону(менял параметры дирекции по разному - результата нет). И так ведут себя все заспауненные. Как их "развернуть"?

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

@Shredder,А что, без добавления направления в вэйпоинтах неудастся? По сути дела все заспауненые имеют дирекцию 0,0,0. Они туда автоматом поворачиваются?

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

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

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

@Shredder,Графы сшивал прогой от АМК, и граф файл заметно потяжелел. 

Добавил нпсу в ремарк no_move, он стоит, но смотрит по прежнему в 0,0,0. Я просто незнаю, как сделать схему волкер, но чтобы при этом нпс постоянно отыгрывал определённую анимацию, смотря в определённое место...

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

Короче, сделал НПСу схему волкер.
Добавил 2 вэйпоинта(1 точно на точке спауна нпс, а другой, в точке направления).
Чтобы это всё заработало, пришлось добавить в спавн спейс рестриктор, с логикой автосохранения. При запуске новой игры НПС стоял на нужной точке, но снова смотрел в 0,0,0, НО при загрузке автосейва, всё встало на свои места - нпс смотрел куда нужно.
Но когда вписал во флаг вейпойнта (вейпойнт walk) анимацию, она воспроизводилась. Однако как при новой игре, так и при сейве анимация была направлена в 0,0,0(анимация "binocular").
Вопрос: Как "направить" анимацию, и как сделать, чтобы при новой игре, всё спаунилось правильно (я так понимаю, чтобы запускалась алайф симуляция)?

 

 

[walker_scene1_walk]


points = p0
p0:name = wp00|a=binocular
p0:position = -192.100006103516, -19.5, -137.809997558594
p0:game_vertex_id = 956
p0:level_vertex_id = 59296

 

[walker_scene1_look]
points = p0
p0:name = wp00
p0:position = -191.809341430664,-19.5018310546875,-138.585067749023
p0:game_vertex_id = 956
p0:level_vertex_id = 59296

 

 

 

Спавн:
[644]

; cse_abstract properties
section_name = space_restrictor
name = esc_a1_logic
position = -247.026138305664, -24.8110198974609, -134.753448486328
direction = 0, 0, 0
id = 65535
version = 128
script_version = 12
spawn_id = 644

; cse_alife_object properties
game_vertex_id = 950
level_vertex_id = 13976
object_flags = 0xffffff3e
custom_data = <[logic]
cfg = scripts\esc\esc_a1_logic.ltx
END

; cse_shape properties
shapes = 1
shape_0:type = sphere
shape_0:offset = 0,0,0
shape_0:radius = 1

; cse_alife_space_restrictor properties
restrictor_type = 3

Логика:
[logic]
active = sr_idle@game_start

[sr_idle@game_start]
on_info = {=actor_on_level(escape)} sr_idle@nil %=damage_actor_items_on_start +esc_a1_game_start =scenario_autosave(st_save_start_escape)%

[sr_idle@nil]

 

 

Спавн:
[642]

; cse_abstract properties
section_name = stalker
name = test_npc
position = -214.703048706055, -20.3582897186279, -147.068557739258
direction = 3.49065852165222,0,0
id = 65535
version = 128
script_version = 12
spawn_id = 642

; cse_alife_trader_abstract properties
money = 5000
character_profile = test_npc
cse_alife_trader_abstract__unk2_u8 = 1

; cse_alife_object properties
game_vertex_id = 1032
distance = 9.8000002
level_vertex_id = 39131
object_flags = 0xffffffbf
custom_data = <[logic]
cfg = scripts\esc\test_npc.ltx
END

; cse_visual properties
visual_name = actors\stalker_hero\stalker_hero_1

; cse_alife_creature_abstract properties
g_team = 0
g_squad = 0
g_group = 0
dynamic_out_restrictions =
dynamic_in_restrictions =

; cse_alife_monster_abstract properties
equipment_preferences = 1, 2, 0, 0, 2
main_weapon_preferences = 0, 1, 0, 0

; cse_ph_skeleton properties

; se_stalker properties
upd:health = 1
upd:timestamp = 0x2694d60
upd:creature_flags = 0x30
upd:position = -214.703048706055, -20.3582897186279, -147.068557739258
upd:o_torso = 0.00212587113492191, 0.101435124874115, 0

; cse_alife_human_stalker properties
upd:start_dialog =
Логика:
[logic]
active = walker@scene2
danger = danger_ignore

[danger_ignore]
ignore_distance = 5

[walker@scene2]
path_walk = walker_scene1_walk
path_look = walker_scene1_look


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

1) Вообще попробуй прописать логику в отдельный фаил, так просто удобней например:

[logic]
cfg = scripts\my_logic.ltx 
Имя файла соответственно любое.
 
2) пропиши файлы путей примерно так 

название_локации_walker_1_walk

название_локации_walker_1_look

 

Например: 

esc_walker_1_walk

esc_walker_1_look

 

Принцип написания пути для Сматра
"Название смарта"_"Работа для сматра"_"Номер п/п"_"walk или look"

 

А спейс_рестриктор если ты ставишь отдельного НПС тебе не нужен. Просто пропиши в секцию НПС кастом дату.

И еще по моему правильнее прописывать отрываемую анимацию и в точку look

 

В файле логики нужно прописать:

[logic]
active = walker@guarder_1
 
[walker@guarder_1]
path_walk = esc_walker_1_walk

path_look = esc_walker_1_look

meet = no_meet

 

 

 

 

 

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

@karavan,Логика в отдельном файле, это тут я чтото не так написал походу.
Спейс рестриктор писал не для нпс, а для актора. Чтобы создавался автосейв при запуске новой игры.
Писал анимацию в лук - не воспроизводится.
Сейчас переименую вэйпоинты...

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

@FEET,  предлагаю не жить позавчерашним днем, и создать НПС более удобным способом - через сквад. Если не знаешь как это делать, скажи, помогу разобраться.

Для спавна сквадов с НИ даже отдельный файл есть - simulation.ltx

В настройках сквада в configs/misc/squad_sescr_.ltx можно задать параметр spawn_point - вей-поинт, где заспванится сквад.

А в настройках смарта, где будет НПС, нужно в секции [exclusive] задать путь к логике НПС:

[exclusive]
название_эксклюзивной_логики = локация\файл_с_логикой.ltx

c57d8f0c86.png

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

@karavan,Сделал всё как ты написал. Результат тот же. Что при новой игре, что при сейве - анимация не "повернулась".
Насчёт смарта для нпс: когда переносил спавн из ЧН не удалял смарт террейны вообще (только если была лишняя логика - я её чистил). Удалил только смартковеры(из за них сдк ломался(видимо не подходят из чн в зп))
@FantomICW,Мне нужен нпс, который подчинён точной логике. Я делаю скриптовую сцену.

Собственно, так то всё работает. Но не в том направлении(хотя вейпоинт направления создан). Может быть и в look и в walk анимацию прописать? &D

Не помогло. Результат тот же.

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

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

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

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

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

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

Войти

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

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

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