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

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


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

 

 

  AndrewMor писал(а):
А вот с новым патроном, правда, не у меня самого, а у другогго мододела, был вылет. И пока он патрон в _г.скрипт не прописал, вылет не исчез. Возможно, это связано с перепаковщиком патронов (dunin_ammo.script).

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

 

@Vadyanchikus, ну так тут давно перестали обсуждать только оригинал, почему-бы и нет?;)

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

Хочу локацию выдрать из одного мода, но проблемка возникла. Не умею я граф распаковывать/запаковывать, на сталкерине нашел какой-то ggtool, но не допёр, как им пользоваться, может, поможет кто?

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

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

@BoBaH_671http://rghost.ru/8s2BVq2xK- прога GGRC. Распаковка и слияние графов. Батник для распаковки внутри. Просто кидай свой game.graph в папку с утилитой и жми батник. Не забудь скачать свежий Perl.

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

============================

Вопрос по оллспавну.

Добавил 10 секций новых.  Но есть засада небольшая.

У меня файл с последним № секции это - alife_limansk.ltx Туда и добавил десяток своих новых секций в самый конец файла. Номера секций выставил от последнего бОльшего номера.

Но в этих новых секция изменения на ЧАЭС. Я читал что компилятор сам как надо соберёт по локациям мою добавку и согласно lv добавить мои секции именно в ЧАЭС.

Но существует ещё файл с расширением *локация.section*

 

1. Имеет ли принципиальное значение порядок следования имён секций в этом файле ?

Т.е. если например в файле "alife_loka.ltx" первая секция идёт с именем name=12345restriktor, то я и в файле "loka.section" должен первым указать именно это имя.

 

2. Если я внёс 10 новых секций в файл alife_limansk.ltx, то мне надо их описание уже вносить в chaes.section или всё таки в limansk.section ?

 

Запутался чо то мну немного.

Изменено пользователем BFG
  • Спасибо 1

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

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

Всем привет, нужна помощь !

Когда игрок смотрит на предмет появляется надписи типа:" открыть ящик", "поднять предмет" и т.п., как скриптами определить этот  момент, когда игрок смотрит на какой-то предмет и определить что это(мне нужен объект ящика когда игрок смотрит на него)

Ссылка на комментарий
  BFG писал(а):

Если я внёс 10 новых секций в файл alife_limansk.ltx, то мне надо их описание уже вносить в chaes.section или всё таки в limansk.section ?

В хххх.section ничего вносить не нужно.

  antihumanist писал(а):

(мне нужен объект ящика когда игрок смотрит на него

Ищи его в распакованном all.spawn. В помощь: найти и скачать Mobile Manager v1.1.004.04a. Изменено пользователем alen_fantom
  • Спасибо 1
  • Не нравится 1
Ссылка на комментарий
  alen_fantom писал(а):
Ищи его в распакованном all.spawn. В помощь: найти и скачать Mobile Manager v1.1.004.04a.

И что толку мне распаковывать спавн - это мне не нужно !

Мне нужно скриптами как-то (я не знаю как ! калбека такого нет, но где-то все равно это должно быть, а все скрипты мне не осилить ! я не знаю как это найти) понять когда игроку рисуется на экране надпись о том что он смотрит на какой либо юзебельный объект(оружие. труп, ящик ...) вот мне нужно в этот момент проверять СКРИПТАМИ(своими) что за объект перед ним, если это ящик то я хочу сделать кнопку что-бы в него положить все из инвентаря ГГ

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

@antihumanist, как вариант, можно сканировать объекты в радиусе юзабельности от актора выбрать объекты подходящего класса, выяснять направление на объект, сравнить с направлением камеры актора, И если все проверки прошли то вот оно искомое событие.

Костыль конечно, но работать будет.

А по хорошему вот на это например событие можно было бы когда-то в далеком и светлом будущем добавить колбек в движке. Но пока его просто нету.

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на 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.

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

Хм. я думал что где-то зарыты такие функции ... ну или хотя-бы узнать скриптом что появилась надпись, а уже потом делать все эти проверки.

Дело в том что есть игровое меню описанное в файлах "%gamefolder%\gamedata\config\ui\carbody_new_16.xml" и "%gamefolder%\gamedata\config\ui\carbody_new.xml"

 

Но при попытке добавить туда свою кнопку ничего не происходит, она не отрисовывается :-( Потому-что ее нужно регистрировать, а походу это происходит в движке игры :-(

А  добавить в уже созданный объект этого окна регистрацию новой кнопки ведь не получится, да и кроме того ей понадобится тогда функция обработчик.

Так-же есть калбек на момент когда актор забирает что либо из ящика, но нет калбека на момент когда он туда что либо кладет :-(

 

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

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

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

Выстрел подобным же методом ловят, и ничего.

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на 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.

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

@antihumanist, используй xray extensions, если нет возможности самому в движке добавить, что тебе нужно. Там есть методы:

db.actor:get_target_obj()  - возвращает объект, на который смотрит ГГ

level.get_target_dist() - расстояние до него

Ссылка на комментарий
  antihumanist писал(а):

понять когда игроку рисуется на экране надпись о том что он смотрит на какой либо юзебельный объект

 

Вот тебе ButcherMod_SoC, в нем есть практически все, что тебе надобно. Сделай по аналогии и будет тебе счастье...

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

Прописал в логике непися такую штуку:

on_actor_dist_ge_nvis = 200| {!pda_ruksak} %=kill%

Если ГГ отойдет на 200 метров от непися и выполнено условие pda_in_ruksak, то непись умирает. (Должен умирать, читаем дальше.)

 

xr_conditions.script, функция:

function pda_ruksak()
return vovan.box_is_full("vovan_rukzak",leha_gps)
end
  vovan.script (Показать)
Изменено пользователем BoBaH_671

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

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

 

 

  UnLoaded писал(а):
Вот тебе ButcherMod_SoC, в нем есть практически все, что тебе надобно. Сделай по аналогии и будет тебе счастье...

там вообще не нашел расчета направления взгляда и т.п. насколько понял там по хиту определяется и расчет этот не требуется

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

@BoBaH_671, может на 200 метрах нпс в оффлайн уходит и потому его логика уже не просчитывается?

В диалоге-то он заведомо в онлайне.

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

 

 

  Charsi писал(а):
может на 200 метрах нпс в оффлайн уходит и потому его логика уже не просчитывается? В диалоге-то он заведомо в онлайне.

Похоже на то. Вот строка из alife.ltx:

switch_distance = 150


 

 

  antihumanist писал(а):
там вообще не нашел расчета направления взгляда и т.п.

А на кой тебе вообще направление взгляда ? У тебя задача, как я понял из твоих пояснений:

 

 

  Цитата
если это ящик то я хочу сделать кнопку что-бы в него положить все из инвентаря ГГ

Ящик в который можно что-то положить - это инвентарный ящик. Для него имеется стандартный UI-интерфейс, чем он тебе не гож ? Или ты хочешь что-то ложить в НЕ инвентарные ящики ? Если да, то вобщем это можно скостылить, но как тогда из НЕ инвентарных ящиков брать что-то, туда положеное ? Ведь нужен UI-интерфейс, а он будет только у инвентарного ящика.

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

 

 

  _Val_ писал(а):
Но и ходить(бегать) медленно тоже не в кайф.

Ну скажем так, это меня не пугает, иначе не шел бы на это, да и потом, уже после первого ответа я подогнал скорость ГГ под рядовых сталкеров методом проб и ошибок ;)


  21.08.2015 в 03:49, Zander_driver сказал:

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

Дело в том, что я не пишу мод и даже не программист и то что ты расписал, для меня китайская грамота, в модостроении я разбираюсь... хм... как собака и пловец в воде, так вот я та собака =).

 

 

  _Val_ писал(а):
Насколько я понимаю - тебе надоело натыкаться на кого-нить во время сопровождения и т.д.

Товарищ попал прямо в точку, я просто хотел подогнать игру под себя ;)

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

Подскажите пожалуйста такую вещь :

- есть рестриктор, заходя в который (наш ГГ ) на экран отправляется СМС, а потом через некоторое время ещё одно СМС.

Вот логика:

[logic]
active = sr_idle
[sr_idle]
on_actor_inside = {+ataka_start} sr_idle@time %=arhara_dialog.ataka_sms%
[sr_idle@time]
on_timer = 6000 | sr_idle@nil %+ataka2_start =arhara_dialog.ataka2_sms%
[sr_idle@nil]
END

На Вики читал статью, но ничего не понял, понял только что куда то надо поставить nil

Правильно ли он здесь поставлен ? У меня почему то СМС выдаются 2 раза. Как сделать так, чтобы срабатывал он только один раз ?

Спасибо.

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

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

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

@BFG, думаю, имелось ввиду просто nil. Вот так:

on_timer = 6000 | nil %+ataka2_start =arhara_dialog.ataka2_sms%
Типа специальный идентификатор, после которого отключается обработка логики. Изменено пользователем abramcumner
  • Спасибо 1
Ссылка на комментарий

@abramcumner, Тогда ОБА смс не будет выдаваться повторно ? 

И забыл 2 вопрос :

- если я поменяю как у тебя на примере, запакую оллспавн, то нужна ли будет НИ ? Или достаточно будет переиграть до получения поршня ataka_start ?

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

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

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

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

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

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

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

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

Войти

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

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

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