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

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

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

@AndrewMor@AndreySol, это точка в которую отбрасывает ГГ, если эта задница отказывается переходить на Свалку...

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

Всем привет,столкнулся с такой проблемой:
Создал Гулаг на новой локации но когда прихожу к месту ST происходит вылет с логом:

* MEMORY USAGE: 269335 K
sv destroy object [22016][separator:separator22016] [9372]
sv reject. id_parent [0][actor:single_player] id_entity [22016][separator:separator22016] [9372]
! Unknown command: nil
cl setDestroy [22016][9372]
stack trace:

0023:027A8521 xrRender_R1.dll

 



Вот коды самого гулага:


alife

[11544]
; cse_abstract properties
section_name = stalker
name = stalker_novice_jaba_001
position = -35.756,1.438,345.470
direction = 0.0580197647213936,0,0.998315453529358


; cse_alife_trader_abstract properties
money = 5000
character_profile = stalker_novice_jaba_001


; cse_alife_object properties
game_vertex_id = 3985
distance = 0
level_vertex_id = 887321
object_flags = 0xfffffffb
custom_data = <<END
[smart_terrains]
jaba_gulag = true
END


; cse_visual properties
visual_name = actors\stalker_hero\stalker_hero_novice_1


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


upd:health = 2
upd:timestamp = 0
upd:creature_flags = 0
upd:position = -35.756,1.438,345.470
upd:o_model = 0
upd:o_torso = 0,0,0
upd:g_team = 0
upd:g_squad = 0
upd:g_group = 0


; cse_alife_monster_abstract properties


upd:next_game_vertex_id = 65535
upd:prev_game_vertex_id = 65535
upd:distance_from_point = 0
upd:distance_to_point = 0


; cse_alife_human_abstract properties
predicate5 = 2,2,1,2,0
predicate4 = 2,2,1,2


; cse_ph_skeleton properties


upd:start_dialog = 


; se_stalker properties


[11541]
; cse_abstract properties
section_name = smart_terrain
name = jaba_gulag
position = -35.756,1.438,345.470
direction = 0,0,0


; cse_alife_object properties
game_vertex_id = 3985
distance = 9.09999942779541
level_vertex_id = 887321
object_flags = 0xffffffbe
custom_data = <<END
[smart_terrain]
type     = jaba_gulag
capacity = 1
END


; cse_shape properties
shapes = shape0
shape0:type = sphere
shape0:offset = 0,0,0
shape0:radius = 20.55957102775574


; cse_alife_space_restrictor properties
restrictor_type = 3


; se_smart_terrain properties

way

[koster_jaba_001]
points = p0
p0:name = wp00
p0:flags = 0x1
p0:position = -35.756,1.438,345.470
p0:game_vertex_id = 3985
p0:level_vertex_id = 887321

 


 



(load_job)

if type == "jaba_gulag" then
t = { section = "logic@jaba_gulag_kamp",
idle = 0,
prior = 5, state = {0},
in_rest = "", out_rest = "",
predicate = function(obj_info)
return obj_info.profile_name == "stalker_novice_jaba_001"
end
}
table.insert(sj, t)
end

(load_states)

if type == "jaba_gulag" then
return function (gulag)
return 0
end
end

(checkStalker)

if gulag_type == "jaba_gulag" then
return se_obj:profile_name() == "stalker_novice_jaba_001"
end

 



[logic@jaba_gulag_kamp]
active = kamp@jaba_gulag_kamp

[kamp@jaba_gulag_kamp]
center_point = koster_jaba_001

 

 

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

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

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

ТЧ 1.0006 +X-Ray Extensions. Постоянно на Армейских Складах (и только на них) ловлю вылет:

Expression	: assertion failed
Function	: xrServer::Process_event_ownership
File		: E:/stalker/trunk/xr_3da/xrGame/xr_Server_process_event_ownership.cpp
Line		: 23
Description	: e_parent
Вылет происходит при переходе некоторых нпс в оффлайн. Основные причины этого вылета я знаю: потеря объекта / его парента. Но я уже все скрипты перелопатил, немогу понять причину, кругом проверок и отладочных сообщений в лог понаставил, но толку ноль. Может быть, причина вовсе не в скриптах, а, например, в all.spawn?

 

 

@плащ, center_point для kamper'a задаётся в таком формате: <имя_гулага>_kamp_point, а в логике потом пишется:

center_point = kamp_point

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

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

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

@Хемуль36рус, по поводу отображения статистики, я у себя вот такое делал когда-то:

6055618m.jpg

@AndrewMor, переход из трех поинтов состоит, откуда собрался валить, куда приперся, и вейпоинт отмены, о котором ты и спросил.

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

Может быть, причина вовсе не в скриптах, а, например, в all.spawn?

 

что мешает проверить?

center_point = kamp_point 

 

 

чешешь ты камп_центер она называется, если для костра делаешь то еще камп_центер_таск надо сделать. а вообще в туторе разжевано все.

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

чешешь ты камп_центер она называется, если для костра делаешь то еще камп_центер_таск надо сделать. а вообще в туторе разжевано все.

 

Переименовал, вылет пропал но НПС плюет на логику и идет куда хочет.

 

[logic@jaba_gulag_kamp] 
active = kamp@jaba_gulag_kamp


[kamp@jaba_gulag_kamp] 
center_point = kamp_center

 

 

 

 

Все остальное осталось без изменений.

[jaba_gulag _kamp_center]
points = p0
p0:name = wp00
p0:flags = 0x1
p0:position = -35.756,1.438,345.470
p0:game_vertex_id = 3985
p0:level_vertex_id = 887321

 

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

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

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

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

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

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

Проверил все, ограничителей нет,пробелов нет, координаты перебил!

Но это Непись как уходил так и уходит,возможно что на новой локации не работают гулаги? Может их надо как то настроить или включить? 

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

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

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

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

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

@Карлан, название значения не имеет. Главное: <имя_гулага>_какие_нибудь_буквы. Вылет решил, всё-таки скрипты))

 

@плащ, нужно зарегистрировать новую локу в xr_gulag.script. И добавь path_walk в логику. Посмотри любого kamper'a в любом гулаге, разобраться не трудно.

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

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

Всем привет. Покопавшись с выпадением предметов через character_desc_#.xml, я заметил что исчезают патроны у того оружия, которое использует НПС, а если он его уберет за спину, то патроны от оружия появляются. Это баг движка, или в скриптах нахимичили?

 

"Не баг, а фича !" (С) непомнюкто.

dc

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

@Карлан, название значения не имеет. Главное: <имя_гулага>_какие_нибудь_буквы. Вылет решил, всё-таки скрипты))

 

@плащ, нужно зарегистрировать новую локу в xr_gulag.script. И добавь path_walk в логику. Посмотри любого kamper'a в любом гулаге, разобраться не трудно.

Все сделал как написал:

xr_gulag.script. уже давно зарегал,

добавил path_walk но этот бес все ровно гуляет!

 

​[logic@jaba_gulag_kamp]
active = kamp@jaba_gulag_kamp

[kamp@jaba_gulag_kamp]
center_point = kamp_center
path_walk = walk_task

 

 

 

[jaba_gulag _walk_task]
points = p0
p0:name = wp00
p0:flags = 0x1
p0:position = -35.756,1.438,345.470
p0:game_vertex_id = 3985
p0:level_vertex_id = 887321

[jaba_gulag _kamp_center]
points = p0
p0:name = wp00
p0:flags = 0x1
p0:position = -37.334629058838,1.7597628831863,345.22442626953
p0:game_vertex_id = 3985
p0:level_vertex_id = 886248
[11544]
; cse_abstract properties
section_name = stalker
name = stalker_novice_jaba_001
position = -35.756,1.438,345.470
direction = 0.0580197647213936,0,0.998315453529358


; cse_alife_trader_abstract properties
money = 5000
character_profile = stalker_novice_jaba_001


; cse_alife_object properties
game_vertex_id = 3985
distance = 0
level_vertex_id = 887321
object_flags = 0xfffffffb
custom_data = <<END
[smart_terrains]
jaba_gulag = true
END


; cse_visual properties
visual_name = actors\stalker_hero\stalker_hero_novice_1


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


upd:health = 2
upd:timestamp = 0
upd:creature_flags = 0
upd:position = -35.756,1.438,345.470
upd:o_model = 0
upd:o_torso = 0,0,0
upd:g_team = 0
upd:g_squad = 0
upd:g_group = 0


; cse_alife_monster_abstract properties


upd:next_game_vertex_id = 65535
upd:prev_game_vertex_id = 65535
upd:distance_from_point = 0
upd:distance_to_point = 0


; cse_alife_human_abstract properties
predicate5 = 2,2,1,2,0
predicate4 = 2,2,1,2


; cse_ph_skeleton properties


upd:start_dialog = 


; se_stalker properties


[11541]
; cse_abstract properties
section_name = smart_terrain
name = jaba_gulag
position = -37.334629058838,1.7597628831863,345.22442626953
direction = 0,0,0


; cse_alife_object properties
game_vertex_id = 3985
distance = 9.09999942779541
level_vertex_id = 887321
object_flags = 0xffffffbe
custom_data = <<END
[smart_terrain]
type     = jaba_gulag
capacity = 1
END


; cse_shape properties
shapes = shape0
shape0:type = sphere
shape0:offset = 0,0,0
shape0:radius = 20.55957102775574


; cse_alife_space_restrictor properties
restrictor_type = 3


; se_smart_terrain properties

 

 

 

 

load_job(sj, gname, type, squad, groups)

if type == "jaba_gulag" then
t = { section = "logic@jaba_gulag_kamp",
idle = 0,
prior = 5, state = {0},
in_rest = "", out_rest = "",
predicate = function(obj_info)
return obj_info.profile_name == "stalker_novice_jaba_001"
end
}
table.insert(sj, t)
end

load_states(gname, type)

if type == "jaba_gulag" then
return function (gulag)
return 0
end
end

checkStalker(npc_community, gulag_type, npc_rank, se_obj)

if gulag_type == "jaba_gulag" then
return se_obj:profile_name() == "stalker_novice_jaba_001"
end

 

 

 

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

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

path_walk = walk_task

чет тут подозрительно, попробуй так:

center_point = camp_center

path_walk = camp_center_task

может я и не прав, но везде в оригинальных кодах от ПЫСов path_walk именуют как center_point + _task

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

"jaba_gulag _kamp_center" - сдается мне, джентльмены, что здесь странное.

 

Ибо

if path_field == "center_point" then

local path_name = self.name .. "_" .. self.ltx:r_string( active_section, path_field )

if level.patrol_path_exists( path_name .. "_task" ) then return path_name .. "_task"

else return path_name

end

else return self.name .. "_" .. self.ltx:r_string( active_section, path_field )

end

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

@naxac, постфикс тоже важен, смотри оригинальные файлы.

 

@плащ, ты все не так сделал, гляди туторы, система примитивная, лучше всего видно в универсальных гулагах для монстров насколько я помню.

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

Ребят,выручайте,можно ли к заспавненному через скрипт,а не через all.spawn, нпс привязать метку?то есть как в аллспавне за это отвечает (stories_id=число ) чтобы для квеста привязать менку на карте,можно ли так же сделать для нпс,заспавнинному через скрипт???срочно нужен ответ...

Еще вопрос,в секциях all.spawn есть код

[spawner]

cont = {+sidor_dolgnik_poyavilsya}

Я так понял,это инфопоршень sidor_dolgnik_poyavilsya после которого этот нпс появится??

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

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

 

Я так понял,это инфопоршень sidor_dolgnik_poyavilsya после которого этот нпс появится?? 

 

ты правильно понял.

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

Wolokodav

в аллспавне за это отвечает (stories_id=число )

С чего это вдруг ? В ф-ции утсановки метки используется id объекта, который никакого отношения ни к allspawn ни к story_id не имеет.

 

после которого этот нпс появится??

Точно так.

 

 Карлан

Зачем же так мозг вопрошавшему выносить, еще и с учетом того, что он не очень разбирается в вопросе ? Судя по Вашему пояснению, вы для установки метки использовали level.map_add_object_spot, метка которого сохраняется только до первого сэйв\лоад. А достаточно было использовать level.map_add_object_spot_ser и никаких описанных Вами заморочек.

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

@AndreySol, самый умный что-ли, а удалять ты ее как собрался? Ждать пока объект из игры бесследно исчезнет? Знаю я все эти методы. Волкодав когда говорил про сид я подразумеваю что он говорил о тасках. Это простой метод постановки по сиду, по айди так не сделать, как сделать нормально - я описал. map_add_object_spot_ser на мой взгляд лучше всегда юзать, т.к. на моей практике мне второй вариант постановки меток был нужен в 1% случаев от всех работ.

 

Вопрос от меня тут по теме меток, я его тут уже раз пять задавал, но так и не ответили внятно. можно-ли как-то расставить приоритеты меток? Т.е. допустим у меня в одном месте много меток, одни перекрывают другие, можно-ли как-то сделать что-бы они все читались? Например метка меченого перекрывает метку хабара когда подбегаем, можно как-то поменять? Что-бы хабар меченого перекрывал? Я как ни пытался в свое время, так ничего и не вышло.

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

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

Объясните мне,_возможно ли заспавнить мутанта через скрипт,_чтобы к нему можно было прицепить файл логики?

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

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

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

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

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

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

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

Войти

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

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

AMK-Team.ru

×
×
  • Создать...