Перейти к контенту
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% случаев от всех работ.

 

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

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

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

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

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

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

Присоединиться к обсуждению

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

Гость
К сожалению, ваш пост содержит слова, запрещенные в нашем сообществе. Пожалуйста, измените ваш текст так, чтобы в нем не оставалось слов, указанных ниже. Помните, что публикация вами даже видоизмененного запрещенного слова может нарушать законодательство РФ и Правила форума.
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

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

AMK-Team.ru

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