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

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


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

Sorry, моя невнимательность.

Но теперь вопрос: проверялось все-таки с первым вариантом, или вот этот, с добавленными строками ?

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

Второй. Я просто думал что не обязательно писать всю простыню, если ее предваряет элементарное return 2, отсекающее все последующие действия.

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

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

У меня такое не компилится.

 

И, да, специально с этим не разбирался, но как раз general_lager может быть исключением: только state 0 и 1, где 1 - рэйд.

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

но как раз general_lager может быть исключением: только state 0 и 1, где 1 - рэйд.

Причина этих исключений. Где это задается/чем обусловлено

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

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

Очередной затык.

Спавню предмет скриптом в рюкзак. В Предбаннике - все нормально.

Секция рюкзака

; cse_abstract properties


section_name = inventory_box
name = pred_inventory_box
position = 132.84954833984, 8.5610275268555, -19.224378585815
direction = 0, 0, 0
id = 65535
version = 118
script_version = 6

; cse_alife_object properties
game_vertex_id = 4019
distance = 0
level_vertex_id = 1152755
object_flags = 0xffffff3b

; cse_visual properties
visual_name = equipments\item_rukzak

 

 

Функция

local obj = alife():object( "pred_inventory_box" )
if obj then
alife():create( "conserva", vector(), 0, 0, obj.id )
end

 

 

Спавню в Забытом лесу:

Секция рюкзака:

; cse_abstract properties
section_name = inventory_box
name = puzir_inventory_box
position = 142.34550476074, -0.0079370439052582, -36.429294586182
direction = 0, 0, 0
id = 65535
version = 118
script_version = 6

; cse_alife_object properties
game_vertex_id = 2884
distance = 0
level_vertex_id = 305191
object_flags = 0xffffff3b

; cse_visual properties
visual_name = equipments\item_rukzak

 

 

Функция спавна

local obj = alife():object( "puzir_inventory_box" )
if obj then
alife():create( "conserva", vector(), 0, 0, obj.id )
end

 

 

Не спавнится, хоть тресни. Ни в онлайне, ни в офлайне. Пробовал вызывать спавн в Предбаннике, в Забытом лесу - один черт, нет спавна. Почему?


Я дундук. Оказывается, в олл.спавне было два инвентори_бокс с одинаковым именем. И консерва прекрасно спавнилась в первый ящик, а во втором, соответственно, было пусто :)

Сталкер - наше всё!

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

 

 

хотелось бы понять разделение целей и задач gulag и smart_terrain, четко разграничить для чего один и для чего другой

Если коротко, то:

Smart_terrain регистрирует гулаги. Отвечает за распределение нпс и монстров по гулагам, в соответствии с комьюнити, рангом, количеству и другим заданным параметрам. На этом его работа заканчивается.

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

---------------------------

Что касается gulag_general.script. Скорее всего у вас где то описка и нпс остались без работы. Нет ограничения по состоянию для генерал гулага, кроме принудительных скриптовых state_switch_1 и state_switch_0 (проверка которых в вашей эксперементальной функции  load_states, отсутствует), переходы между которыми задаются условиями в аллспавне и не являются обязательными.

Как один из вариантов, попробуйте запускать второе состояние через нулевое

if gulag.state == 0 then
        return 2

или при наличии какого либо поршня.

  • Спасибо 1

Вообще-то я белая и пушистая...

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

Точнее, если для смарта в custom data по какой-то причине нет секции smart_terrain, то проверяются только стэйты 0 и 1.

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

 

 

если для смарта в custom data по какой-то причине нет секции smart_terrain, то проверяются только стэйты 0 и 1

Это к генерал лагерю никакого отношения не имеет, ибо генерал лагерь может быть только под секцией smart_terrain.

Вообще-то я белая и пушистая...

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

Привет всем!

Подскажите как можно получить имя объекта по его story_id?

Такая конструкция не работает...

local text
local obj = alife():story_object( 12345 )
if obj then
text = "..obj.."
news_manager.send_tip(db.actor, text, nil, nil, 30000)
end
end

 

Есть хабар - пойдёт базар :az1000106:

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

@stalk9r, и не должна работать.
text = "..obj.." - это присвоение именно той строки, которая указана между кавычками. Никакой отсылки к полученному объекту тут нет.

Надо так:

local obj = alife():story_object(12345)
if obj then
  text = obj:name()
end
  • Спасибо 1
Ссылка на комментарий
Как один из вариантов, попробуйте запускать второе состояние через нулевое if gulag.state == 0 then return 2 или при наличии какого либо поршня.

При таком варианте, все нпс так же освобождаются со всех работ. Хотя некоторые из них допускают состояние 2.

В каком направлении искать причину?

 

Так же нубский вопрос в догонку. Есть некоторая деревня, довольно обширная, в ней 9 гулагов одного и того же комьюнити. расстояния примерно такие - если ГГ сидит у костра на одном конце деревни, то противоположный край только-только зашел в онлайн. Делал 9 гулагов специально для того чтоб они всей большой деревней не поднимали панику из-за какой то собачки. Но тем не менее так и происходит - стоит где то на окраине деревни появиться какому то раздражителю в виде зверья, так тут же все 9 гулагов дружно переходят в тревожное состояние, неписи ходят-выцеливают врага, по всей деревне. Как это исправить? мне нужно чтоб каждый гулаг сам по себе был, реагируя только на те опасности которые на его территории возникают.

Изменено пользователем Zander_driver
  • Согласен 1

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

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

Всем привет!
Если отключить death_manager script, то предметы спавнятся через character_desc_#.xml. Проблема в том, что не все патроны спавнятся после смерти. Это движковый баг, или можно как-то это настроить?

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

 

 

Проблема в том, что не все патроны спавнятся после смерти

Примерчик бы... Приведи конкретные данные из какого-то character_desc_#.xml и что потом в инвентаре у НПСа.

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

Примерчик бы... Приведи конкретные данные из какого-то character_desc_#.xml и что потом в инвентаре у НПСа.[/size]

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

@Gaz24

Попробуй заменить ammo_5.45x39_fmj = 1 на  .... = 2. Возможно, единственная пачка расходуется на зарядку автомата, когда Волк спавнится\выходит он-лайн ?

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

"Если отключить death_manager script, то предметы спавнятся через character_desc_#.xml. Проблема в том, что не все патроны спавнятся после смерти."

 

А если точнее, то они удаляются, кроме, почему-то, пистолетных. На 1.006 это хорошо видно в его родном логе.

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

@Gaz24

Попробуй заменить ammo_5.45x39_fmj = 1 на  .... = 2. Возможно, единственная пачка расходуется на зарядку автомата, когда Волк спавнится\выходит он-лайн ?

 

Пробовал. Все равно их может и не быть.

"Если отключить death_manager script, то предметы спавнятся через character_desc_#.xml. Проблема в том, что не все патроны спавнятся после смерти."

 

А если точнее, то они удаляются, кроме, почему-то, пистолетных. На 1.006 это хорошо видно в его родном логе.

Это удаление делается через движок или через скрипты?

 

А вот этого я так и не понял. dc

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

А кто подскажет, в распакованном олл.спавн в вейпойнтах есть, например, такие секции

[esc_way_if_reject]

 

За что они отвечают? Для чего нужны?

Сталкер - наше всё!

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

 

 

[esc_way_if_reject] За что они отвечают? Для чего нужны?

Связаны с переходами между локаций. Вот фрагмент из alife_l01_escape.ltx:

; cse_abstract properties
section_name = level_changer
name = exit_to_garbage_01
position = 29.34641456604, 16.5561962127686, 686.241638183594
direction = 0, 0, 0
id = 65535
version = 118
script_version = 6
spawn_id = 2233

; cse_alife_object properties
game_vertex_id = 0
level_vertex_id = 3978
object_flags = 0xffffff3e
custom_data = <<END
[pt_move_if_reject]
path = esc_way_if_reject
END
story_id = 34

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

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

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

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

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

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

Войти

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

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

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