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

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

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

1 час назад, UriZzz сказал:

Я вот даже гейм граф перекампилировал в ltx

Зря ты связался с Мап-паком. Если ты почитаешь тему СДК на пару лет назад, то там ещё есть мои посты с вопросами и ответы на них по этому паку. Я так и не сумел научится собирать глобальный граф в СДК, а без этого нет смысла вообще там что-то адаптировать. В мап-паке в локациях не хватает каких то там нужных файлов, которые не вложили. Как их чудесном образом получить, мне объясняли, ну как всегда способ работающий через заднепроходное отверстие. Моих мозгов не хватило, чтоб понять это. Плюнул через пару недель жалких попыток.Не работай с мап-паком, там и в локах косяков в геометрии и сетке достаточно, их все надо исправлять. Лучше собирай свой пак из локаций в теме мапперов. Каждую смотри отдельно, смотри все файлы, адаптирую каждую в СДК, и тогда будешь заселять нормально и спавн собирать в 5 секунд и глобальный граф. Это действительно легче. Но с маппаком это не реально. Одумайся )))

  • Спасибо 1
  • Согласен 1
  • Полезно 1

"Кругом зомби.....у меня кончаются патроны...."

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

@BFG ну что тут скажешь, а я грешил на свою, в чем то экстраординарную тупость, я так же клял сдк на чем солнечный круг вертится, представь, взял одну локу из пака - болота, всё делал по тутару и тем не менее ошибка несоответствия аллспавна геймграфу мне весь головной желудок вынесла, хм... Интересно... эхх буду сдк переустанавливать:facepalm:

 Моя нычкаНычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

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

Нас семеро вместе с Джимом! Я тоже по старинке пересобираю спавн, снимая координаты через "Мобилу модмейкера" и ничего зазорного в этом не вижу. Там есть опция valid_ai = true / false, очень удобно.

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

Всегда говорил, что спавн через СДК - зло. Только что в очередной раз убедился. То есть, там, конечно, не через СДК сделано, но с СДК по-другому вообще в принципе невозможно.

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

@ed_rez , а что там за косяки с бампами в ЧН?

 

@BFG , давно использую немного изменённый скрипт (вывод позиции гг) бардака:

 

в \scripts\_g.script добавить,

function vec_to_string(vector)
	if vector == nil then return "nil" end
	return string.format("%s,%s,%s", vector.x, vector.y, vector.z)
end

в \scripts\ui_main_menu.script, в функцию function main_menu:OnKeyboard, где действия на опр. кнопки,

if dik == DIK_keys.DIK_P then
	if (level.present() and db.actor ~= nil and db.actor:alive()) then
		local pos = db.actor:position()
		local gvid = db.actor:game_vertex_id()
		local lvid = db.actor:level_vertex_id()
		local lv = level.name()
		local pos2 = level.vertex_position(lvid)
		local ai = pos2:distance_to(pos) <= 0.7
		console:execute("load log:"..string.format("actor_pos: %s,%s,%s,%s,%s", vec_to_string(pos), tostring(gvid), tostring(lvid), tostring(lv), tostring(ai)))
	end
end

Ид кнопки (DIK_P) можно взять из \scripts\lua_help.script, class DIK_keys. В консоли, при нажатии, будет: actor_pos: 0.0,0.0,0.0,92,66380,l05_bar,true - где true / false - наличие аи-сетки.

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

@h0N0r У меня вот такой вывод координат на экран

local function show_actor_position()
  if level.present() and (db.actor ~= nil) then
   local text
   local vid, gvid
   local a = vector()
   a = db.actor:position()
   lvid = db.actor:level_vertex_id()
   gvid = db.actor:game_vertex_id()
   text = "Позиция:\\nX= "..a.x.."\\nY= "..a.y.."\\nZ= "..a.z.."\\nlevel_vertex= "..lvid.."\\ngame_vertex_id= "..gvid
   news_manager.send_tip(db.actor, text, nil, nil, 30000)
end
end
show_actor_position()

Тоже назначен на кнопку через ui_main_menu.script

Вроде похожи некоторые строки. Впрочем они наверно у всех похожи в разных вариантах.

"Кругом зомби.....у меня кончаются патроны...."

Ссылка на комментарий
3 часа назад, h0N0r сказал:

что там за косяки с бампами в ЧН?

Сделаны под OpenGL движок. А Сталкер бегает на Direct3D. 

  • Смешно 1

ed_rez.gif

c1f11b67ff360413e81b4e4dcf21eb41.jpg

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

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

 

Ссылка на комментарий
21 минуту назад, dsh сказал:

Не могу понять ... в X-10 ... изначально нет миникарты? В смысле, она с оригинала там пустая?

Точно так, нет её изначально.

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

@monk мда... вон оно как, а я на движок новый грешу уже неделю. А в каких-нибудь модах делал кто-нибудь недостающие миникарты к подземельям?

 

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

@dsh кстати недавно был вопрос по миникартам в подземках, вот в ЗП, в х-8, миникарта отображается по уровням/этажам, т.е. где находится ГГ, та часть карты/текстурка и подгружается, а в ТЧ такого нету, там только одна текстура, и на миникарте не разберёшь где находишься, а когда в подземке много уровней в высоту/глубину.... Вот это бы в движке посмотреь. Ну как я понял - в ЗП текстурки привязываются к секторам локации, надо в ЗП посмотреть.

 

Мать: ASRock X470 Master SLI. Процессор: AMD Ryzen 9 3900X 12-Core(4200 MHz).
Память: Patriot Memory 3200 C16 Series. DDR4-3200(1600МГц), 16Гбх2(32Гб).
Видео: GeForce GTX 1060 6GB. Блок питания: CoolerMaster 750 Вт. Корпус: Zalman i3 Edge.

Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор

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

Отцы модостроя !  Вопрос жизни и смерти.

- имеется стандартный рестр. ГГ кидает в него итем\ствол\колбасу\документ\артефакт. Есть ли способ отследить что именно ЭТО попало в ЭТОТ рестр ?

Ну и соотвественно выдать маленький поршенёк по этому незначительному событию.

Платформа ТЧ, само собой, расширения движка не предлагать, увы (

Спасибо.

"Кругом зомби.....у меня кончаются патроны...."

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

@BFG ты уверен, что хочешь именно такой извращенный способ? Почему бы не упростить задачу: если актор находится в рестрикторе и он выбросил предмет X, выдать поршень Y. Зачем вот этом вот "рядом", зачем вот это, что бы оно именно попало в какую-то область пространства? Иногда проще изменить условия задачи, чем реализовать, если это не является прямо уж так необходимым. А переформулированная задача, кстати, в солянке уже сделана. Это варка артефактов.

 

 

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

Именно рестриктором - нет. Можно только отслеживать, что что-то выброшено, и проверять координаты.выброшенного.

В частности для Мухи -

function life_heart2( item )
    local obj = sim:object( item:id() )
    local obj1 = sim:object( "hospital_muha_trup" )
    if obj and obj1 and obj1.position:distance_to_sqr( actor:position() ) < 9 then

 

Для живого  сердца -

function life_heart1( item )
    local obj = sim:object( item:id() )
    if obj and level.vertex_position( 1379 ):distance_to_sqr( actor:position() ) < 5 then

 

подробности см. в xl_story_hospital.script

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

@Romann мне бы простую миникарту осилить починить, а ты тут такое предлагаешь. Кстати, а разве X-18 не отображается по этажам на миникарте?

 

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

@BFG Петрович, могу предложить такой вариант - использование коллбека на выбрасывание предмета из инвентаря, там проверять наличие ГГ в нужном рестрикторе. Какая разница, кого проверям в зоне - ГГ или итем? Расстоянием в ~0,5 м можно пренебречь, согласись. Тогда в bind_stalker.script, после actor_binder:on_item_drop (obj) помещаем такой код:

if xr_conditions.actor_in_zone(nil, nil, {"your_restr"}) and obj:section() == "medkit" and not has_alife_info("your_info") then
	db.actor:give_info_portion("your_info")
end

Расшифровываю: your_restr - имя рестриктора, в котором должен быть ГГ, medkit - секция нужного тебе предмета (в данном случае аптечка), your_info - выдаваемый инфопоршень при выполнении всех условий.

Ранее был известен под ником BoBaH_671.

Ссылка на комментарий
47 минут назад, dsh сказал:

Кстати, а разве X-18 не отображается по этажам на миникарте?

В X-8, в ЗП да, да даже в текстурки загляни - даже когда в ТЧ тащили X-8, зачем-то и все миникарты затянули, xотя зачем, если в ТЧ оно не используется.

 

Мать: ASRock X470 Master SLI. Процессор: AMD Ryzen 9 3900X 12-Core(4200 MHz).
Память: Patriot Memory 3200 C16 Series. DDR4-3200(1600МГц), 16Гбх2(32Гб).
Видео: GeForce GTX 1060 6GB. Блок питания: CoolerMaster 750 Вт. Корпус: Zalman i3 Edge.

Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор

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

@Romann не-не, не X-8, а X-18. Разве она не по этажам отображается или я опять незаметил?

 

Ссылка на комментарий
1 минуту назад, dsh сказал:

Разве она не по этажам отображается

Неа, ну по крайней мере в соли(первой/ОП-1/ОП-2 не отображается, xотя текстурка и разделена на сектора. Может задумывалось, но не было доделано.

 

Мать: ASRock X470 Master SLI. Процессор: AMD Ryzen 9 3900X 12-Core(4200 MHz).
Память: Patriot Memory 3200 C16 Series. DDR4-3200(1600МГц), 16Гбх2(32Гб).
Видео: GeForce GTX 1060 6GB. Блок питания: CoolerMaster 750 Вт. Корпус: Zalman i3 Edge.

Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор

Ссылка на комментарий
2 часа назад, dsh сказал:

Почему бы не упростить задачу

Да без проблем. Упрости. Мне лишь бы код для рестра  с поршнем. А там у ж я сам наворочу такого... уууу....

2 часа назад, BoBaH_671 сказал:

использование коллбека на выбрасывание предмета

Проверю. Спасибо.

 

2 часа назад, Dennis_Chikin сказал:

В частности для Мухи -

Денис, я ничо не понял. 

Мне нужна логика для рестра, а не этот код, который я не понимаю вообще. Ни куда его вставлять, ни чо с ним делать.

Я не скриптер. Мне нужно готовое решение для нуба.

"Кругом зомби.....у меня кончаются патроны...."

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

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

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

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

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

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

Войти

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

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

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

AMK-Team.ru

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