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

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


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

Доброго дня.

Подскажите, пожалуйста, как создать телепорт в определенную часть локаций? Я могу создать аномалию "телепорт" или телепортироваться с помощью ACS, но вот связать аномалию и телепорт не получается!

Если оффтоп - направьте на нужный пост, пожалуйста.

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

Не совсем понял, что такое "ACS", но связывать аномалию (партиклы) и телепорт (спейсрестриктор) не нужно, достаточно просто поставить их на одном и том же месте, собственно как это сделано на ЧАЭС2.

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

Хемуль36рус, "править" ему логику. Для этого смотри файл gulag_mil_village.ltx

  • Нравится 1

Неважно – сколько у тебя друзей. Важно - сколько из них помогут тебе в трудную минуту и сколько вспомнят о тебе когда им хорошо.

"Худ" и "Умное выпадание частей монстров" для Народной солянки

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

Эээ... Всем Солнца. 

Опять вопрос по телепортам: я вот хочу привязать телепортацию с взятием определенного предмета, или даже лучше - сделать телепорт на подобие телепорта Стрелка.

Н-да, кстати, может кто сказать как расчитать игровую мощность оружия?

Вот у АК-74 дульная энергия 1316 Дж, а в игре стоит 0.72 (чего-то). Каким местом считать? У ОИЦВ хит_пауэр = 0.76, а у АУГ он равен 0.81. Это как? Длина ствола в игре учитывается?

 

Если просишь ответы в ЛС, то и задавай в таком случае вопросы тоже в ЛС. Тема общественная и на стол заказов/запросов не очень то и похоже, так что будь любезен... а кто захочет, тот сам тебе в ЛС и ответит.

ColR_iT



ColR_iT, понял.

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

Безлоговый вылет при открытии инвентаря. В config/ui всё правильно. В system.ltx тоже, где же ошибка?

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

Доброго времени суток! 

Я столкнулся с одной жуткой проблемой. Я заспавнил НПС в лагере новичков и прописал ему в логике путь в один из близлежащих домиков. Он заходит в первую дверь, затем поворачивает направо, чтобы зайти в комнату, и тут он встает на пороге, а через пару секунд вылет с логом:

 

Expression    : fatal error
Function      : CScriptEngine::lua_error
File          : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp
Line          : 73
Description   : <no expression>
Arguments     : LUA error: ... publishing\s.t.a.l.k.e.r\gamedata\scripts\_g.script:1150: bad argument #2 to 'format' (string expected, got nil)
 
Я в панике. У меня были грандиозные планы насчет заселения НПС в домики, а тут на тебе...
Вот скриншоты, если они чем-то помогут. 
 
PS: год назад я сталкивался с подобной проблемой, когда пытался провести НПС через тоннель слева от поста военных на мосту. 

Пишу мод с неповторимым сюжетом.

Нужны "модельеры"

Заинтересованным писать в ЛС

J.A.A..gif

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

@J.A.A., в Деревне новичков в домиках нет аи-сетки, поэтому туда ты никого не отправишь, а на сколько мне изместно, никто этого не правил.

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

 Если планы грандиозные используй схему движения к вертексу(не помню принцип работы, но вроде бы и без аи-сетки нормально. Забыл функция utils.send_to_nearest_accessible_vertex согласовывается с АИ-картой или нет) называется она xr_move, или просто спавни нпс там, и в схеме walker пропиши ему состояние какое хочешь(например анимка def_state_standing = sit_ass). Сам так делал, но если НПС попытается сдвинуться с этого места, то либо уйдет под землю, либо пойдет по воздуху.

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

Подскажите где в гулаге блокпоста на кордоне прописаны профили трёх солдат, патрулирующих дорогу туда-сюда. Хочу их удалить. И ещё, как прописать товарищу с того же блокпоста, который бдительно выцеливает в режиме снайпера дорого с АКС74У вместо автомата снайперскую винтовку. Видел такое в одном моде, ковырял, но так и не понял, как ему выдали эту самую снайперку. Заранее спасибо.

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

@J.A.A., в Деревне новичков в домиках нет аи-сетки, поэтому туда ты никого не отправишь, а на сколько мне изместно, никто этого не правил.

В объединённой локации Кордон-Свалка, которую ОГСЕ-команда сделала, в домиках АИ-сетка есть.

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

www.amk-zone.de

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

@ColR_iT, не подскажешь как поправить AI сетку? Просто не хочется иметь дел с новыми картами. Хочу до конца использовать ресурсы дефолтных карт.

 

Декомпилятор вместе с СДК в зубы и вперёд...

ColR_iT

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

Пишу мод с неповторимым сюжетом.

Нужны "модельеры"

Заинтересованным писать в ЛС

J.A.A..gif

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

Может кто подсказать как сделать выпадение с трупов гитар, гармошек, пда и тд? Прописал в файле character_items.xml а их всё равно после смерти НПС нет.

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

@Старлей, ты говоришь про  схему движения к вертексу. Не мог бы поделиться ссылкой, где можно ознакомиться с этой схемой?

 

 

Пишу мод с неповторимым сюжетом.

Нужны "модельеры"

Заинтересованным писать в ЛС

J.A.A..gif

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

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

В файле логики Кордона ищи строчку show_spot = false. Закомеентируй или удали ее совсем. И будет тебе счастье.

Попутно тоже спрошу. Есть мод на базе ОГСМ для ТЧ с добавленными локациями. Но фишка в том, что на этих локах нет укрытий от выброса. А при попытке спавна получаю вылет.

 

function first_run()

 

local ind

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

-- Укрытия в Предбаннике --

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

-- Подвал справа от тоннеля

spawn_restrictor("predbannik", vector():set(2.51,13.23,57.36), 947350, 3996, "stalker", 3)

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

-- Укрытия на Кордоне --

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

-- Бункер Сидора

spawn_restrictor("l01_escape", vector():set(-249.9,-24.8,-134.4), 10136, 7, "fake_", 3)

-- Лагерь новичков

spawn_restrictor("l01_escape", vector():set(-206.5,-22.53,-128.1), 46582, 58, "stalker", 3)

spawn_restrictor("l01_escape", vector():set(-211.4,-23.17,-129.5), 41963, 59, "stalker", 3)

 

 

Добавлена строка, где написано "predbannik"

 

Expression : fatal error

Function : CInifile::r_section

File : E:\stalker\sources\trunk\xrCore\Xr_ini.cpp

Line : 342

Description :

Arguments : Can't open section 'predbannik_hide_restrictor'

 

 

 

function spawn_restrictor(p_level, p_vector, p_lv, p_gv, p_type, p_radius)

 

local p_name

 

if p_type == "pp" then

p_name = p_level.."_psy_restrictor"

else

p_name = p_level.."_hide_restrictor"

end

 

local obj = alife():create(p_name, p_vector, p_lv, p_gv)

 

local hide_name

if string.find(p_type, "_") then hide_name = "ogsm_common_hide"

else hide_name = "ogsm_"..p_type.."_hide" end

 

local mapspot

if p_radius < 4 then mapspot = "ogsm_hide_spot_min"

elseif p_radius < 11 then mapspot = "ogsm_hide_spot_mdl"

else mapspot = "ogsm_hide_spot_max" end

 

local packet = net_packet()

 

obj:STATE_Write(packet)

 

-- свойства cse_alife_object

local game_vertex_id = packet:r_u16()

local cse_alife_object__unk1_f32 = packet:r_float()

local cse_alife_object__unk2_u32 = packet:r_s32()

local level_vertex_id = packet:r_s32()

local object_flags = packet:r_s32()

local custom_data = packet:r_stringZ()

local story_id = packet:r_s32()

local cse_alife_object__unk3_u32 = packet:r_s32()

 

-- свойства cse_shape

local shape_count = packet:r_u8()

local shape_type

local center

local radius

 

if shape_count == 0 then

shape_type = 0

center = vector():set(0,0,0)

radius = 10.0

shape_count = 1

else

for i=1,shape_count do

local shape_type = packet:r_u8()

if shape_type == 0 then

local center = packet:r_vec3()

local radius = packet:r_float()

else

local v1 = packet:r_vec3()

local v2 = packet:r_vec3()

local v3 = packet:r_vec3()

local v4 = packet:r_vec3()

end

end

end

 

-- свойства cse_alife_space_restrictor

local restrictor_type = packet:r_u8()

 

-- свойства cse_alife_object

packet:w_u16(game_vertex_id)

packet:w_float(cse_alife_object__unk1_f32)

packet:w_s32(cse_alife_object__unk2_u32)

packet:w_s32(level_vertex_id)

packet:w_s32(object_flags)

 

if p_type == "pp" then

custom_data = "[logic] \nactive = ogsm_effector \n[ogsm_effector]"

else

custom_data = "[logic] \nactive = sr_mapspot \n[sr_mapspot] \nhint = "..hide_name.." \nlocation = "..mapspot

end

 

local cd = parse_custom_data(custom_data)

if not cd then cd={} end

if not cd.parameters then cd.parameters = {} end

cd.parameters.community = p_type

cd.parameters.radius = p_radius

custom_data = gen_custom_data(cd)

 

packet:w_stringZ(custom_data)

packet:w_s32(story_id)

packet:w_s32(cse_alife_object__unk3_u32)

 

-- свойства cse_shape

packet:w_u8(shape_count)

 

for i=1,shape_count do

packet:w_u8(shape_type)

if shape_type == 0 then

packet:w_vec3(center)

packet:w_float(p_radius)

else

packet:w_vec3(v1)

packet:w_vec3(v2)

packet:w_vec3(v3)

packet:w_vec3(v4)

end

end

 

-- свойства cse_alife_space_restrictor

packet:w_u8(restrictor_type)

 

obj:STATE_Read(packet, packet:w_tell()-packet:r_tell())

 

return obj

end

 

 

 

Собственно, где копать, может подскажете? Я правильно понимаю, что скрипт не видит новых локаций, или что другое не так прописано?

 

AndrewSol, файл логики Кордона называется gulag_escape.ltx. Лежит в gamedata\config\misc

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

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

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

У тебя в логе же чётко указанно что игра не может найти в конфигах секцию  [predbannik_hide_restrictor]
В функции спавна рестриктора ты передаёшь имя уровня, а в скрипте к нему потом дописывается 
_hide_restrictor
Найди в конфигах по аналогии например 
l01_escape_hide_restrictor и глянь что туда писать надо. 

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

Можно просто Shoker, форум АМК съел моё старое имя и не хочет отдавать о_О

Мастер аномалий на свою заднюю точку.

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

У тебя в логе же чётко указанно что игра не может найти в конфигах секцию [predbannik_hide_restrictor] В функции спавна рестриктора ты передаёшь имя уровня, а в скрипте к нему потом дописывается _hide_restrictor Найди в конфигах по аналогии например l01_escape_hide_restrictor и глянь что туда писать надо.

 

Я понимаю, что невозможно открыть такую секцию. Но откуда она читается (или берется) - не понимаю. В самом начале скрипта написано restrictor_list={}. Думаю, что это список рестрикторов, он и заполняется.

 

Я выше привел полностью функцию spawn_restictor. На всякий случай привожу функцию, где этот самый локация_hide_restrictor формируется:

 

function get_level_mobs()

for i=1,65535 do

local obj = alife():object(i)

if obj then

if string.find(get_monster_portion(obj.id), level.name()) then

list_mob_ids[obj.id] = obj.id

end

if string.find(obj:name(), level.name().."_hide_restrictor") then

table.insert(restrictor_list, obj)

end

if string.find(obj:name(), level.name().."_psy_restrictor") then

table.insert(psy_list, obj)

end

end

end

end

 

 

Shoker, я в натуре дико протупил. Он же в system.ltx прописан :(

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

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

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

***STOP*** file 'C:\DEV\Projects\XRAY\xr3DA\xrGame\Weapon.cpp', line 410.
***Reason***: *** Assertion failed ***
Expression: !lst.empty()
shoot1
***STOP*** file '(null)', line 0.
***Reason***: *** Internal Error **
Saved dump file to 'logs\xray_1_11-12-13_20-03-32.mdmp'

 

Заменил мадель форта на пм, двбы настроить файр поинт в билде 2232, но вот вылет на спавнинге.

Что это может быть?

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

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

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

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

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

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

Войти

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

Войти
×
×
  • Создать...