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

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

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

Artos, спасибо! Именно эти параметры искал. Простите за скрипт, просто раньше спавнил так НПС и мутантов (а сейчас не получается).

 

Парни, недавно скачал билд 2604 - (Aug 18 2006) - практически финалка, (файловая структура немного различается и все. Обнаружил в ней, работающий пулемет (на крыше АТП), попробовал заспавнить (использовал ACDC) в финалке. Заспавнился, стреляет - но при использовании, переносит игрока на другие координаты). Возможно ли его заспавнить без багов? Или он привязан к локации?

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

Steel[RAZOR], во всех перечисленных тобою файлах имеются строки кодаЮ которые отвечают "за обыск трупов НПС'ями". Сама AI-схема естественно реализована скриптом watcher_act.

Параметров (вынесенных отдельно, и в разных редакциях могут иметь самые разные названия) схема "Собирательства" не имеет, так что радиус(ы) прописаны в "теле" схемы. Например, local dist_limit =1000 в методе ev_see_stuff:evaluate() - отвечает за "дальнозоркость" непися при поиске барахла иль трупов. И т.п.

 

Gaz24, заспавнить актору поврежденный костюм - запросто! Спавнишь целый костюм, и задаешь ему требуемую "потрепанность". ;-)

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

 

stillmozz, ты бы не 'спасибы' писал бы, а читал бы и пользовался советами! Тебе дали вариант проверки "твоей" функции, что мешает проверить чекером и получить от него ответ об ошибке?! Переведя и поняв ответ - исправляешь и... радуешься, что "сам" исправил ошибку и "починил" функцию.

Ну а по "работающему пулемету" - не задавай тут вопрос-викторину, на тему "кто угадает какой код я использую и что же в нем у меня не получается". Приводи конкретику (коды под спойлер) и тогда может быть разговор и советы, или используй готовое, благо добра в рабочих модах достаточно, и не обязательно выдирать из билдов не имея навыков.

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

Artos,

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

Там не в скриптах дело. Проблема в самом движковом классе станкового оружия. Когда создаёшь объект, он почему-то визуально находится не на том месте, где его создал, а где-то в начале локации. Если с точно тем-же визуалом создать обычный физический объект с такими же ровно координатами, то он создаётся нормально (хоть и не стреляет разумеется), так что проблема не в визуале и не в методе спавна, а именно в движковом классе. Эти объекты архаичные, на каком-то древнем этапе разработки в вигре были, но до релиза не дошли. По всей видимости что-то где-то было изменено в общем классе оружия, а эти объекты соответственно не обновили. Или может просто исходно не доделали. Кто теперь скажет наверняка...

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

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

malandrinus, наверное ты прав, но не хотелось бы чтобы затевалось бесцельное обсуждение, т.к. не билд же stillmozz восстанавливает, и, как уже упомянул, имеются вполне рабочие варианты турелек/пулеметов для финалки ТЧ. Т.о. более продуктивно в сторону рабочих модов направить интерес.

Замечу только, конечно без притензий на 'правоту', что не класс же stillmozz выдрал из билдового движка и портировал в финалку... Вероятно (а может и нет), он все же именно скриптам попытался с'эмулировать подобный сурогат класса и попытался билдовскую модель заспавнить. Вот тут то, ИМХО, вполне можно попытаться избавиться от завязки на точку спавна, ведь имеем дело не с движком из билда, а с движком финалки и, соответственно, уже со "своим" квази-классом..

Но в качестве совета для stillmozz'а, я посоветовал бы не рыскать в билдах и брать оттуда (все же это занятие требует знаний и навыков), а взять готовые и вполне рабочие наработки.

 

Боюсь, что не найдёт он ничего. Станкового пулемёта в рабочем варианте ещё не было...

ColR_iT

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

ColR_iT, а как же вариант от XStream? Ее вариант вполне нормальный, просто немного другой.

 

Запамятовал. :) Значит шанс есть...

ColR_iT

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

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

 

Рабочих же пулемётов в финалке на основе родных классов станкового оружия вроде как не делал никто. Собственно, если бы удалось решить проблему появления визуала объекта в неправильном месте, то работало бы просто так: заспавнил любым способом и сразу работает. И не нужны бы ли бы ни скрипты, ни извраты с моделями.

 

По моему, что-то там накосячено с пересчётом координат при переходе из режима худа и обратно, но уверенности нет.

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

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

Все же викторина-погадайка состоялась. ;-)

В вопросе от stillmozz упомянут "работающий пулемет" и дана только одна наводка: "на крыше АТП". Я не билдоман и не могу судить, что там в билде на крыше АТП, ну а пулемет - он и a африке пулемет... ;-)

Рабочие варианты пулеметов (на базе обычного автоматического оружия) в модах имеются (миниганами в обиходе обзываются).

Станковые пулеметы, то бишь турельные, в модах тоже имеются (начиная с Zenobian-мода на базе класса вертолета) да и в ЧН имеется.

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

Хотя... если "Заспавнился, стреляет - но при использовании, переносит игрока на другие координаты" - напрашивается костыль в виде: в режиме стрельбы мониторить и запоминать координаты актора и по окончании - телепортировать его обратно, ежели "отдачей" отбросило на край локации. Грубовато, но вроде как для любителей пострелять от души - вполне играбельно может получиться. ;-)

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

Можно управлять таким пулемётом скриптово, т.е. это будет автономная сущность, однако, из него не пострелять актору.

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

edwin0.gif

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

edwin0,

Если не ошибаюсь, это было сделано примерно так: актор телепортируется постоянно относительно вертолёта, таким образом как-бы летит вместе с вертолётом. С другой стороны сам вертолёт управляется скриптом и отслеживает направление актора. Соответственно летит туда, куда смотрит актор. Детали остального не знаю, в том числе как там управляли скоростью и оружием. В то время возможностей ловить ввод от актора было мало, разве что fov оружия измерять или патроны в текущем оружии. Я не уверен даже, что там вертолёт не самодеятельно стреляет, без участия актора вообще.

 

На то время конечно было круто, хотя применимость в реальном моде весьма ограниченная. Куда там летать то, на пятачке в 500 метров? =)

 

Artos,

напрашивается костыль в виде: в режиме стрельбы мониторить и запоминать координаты актора и по окончании - телепортировать его обратно, ежели "отдачей" отбросило на край локации.

Там не так, объект как-бы и есть и находится на своём месте, но его визуал торчит чёрт те где. Если туда пойти и взяться за пулемёт, то вроде как окажешься там, где объект был заспавлен и пострелять из него можно. Опускаешь - оказываешься опять там, где стоит мировая модель. Я на самом деле не уверен, что при использовании пулемёта переношусь туда, где он заспавнен. Я тестировал на маленькой тестовой локации. Там было не понять, где точно находишься.

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

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

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

edwin0, никакой там стрельбы вертолета от первоГо лица нет. Скрипт всего этого хозяйства писАлся мною и malandrinus правильно описал суть "полета", т.е. летит туда, куда смотрит актор (с некоторыми поправками). Стреляет же исходя из параметров в его логике, т.е., в зависимости от разрешенного режима огня, скрипт выбирает наиболее доступную цель и сам(!) вертолет (точнее движок) ведет огонь. Можно конечно заставить вертушку вести огонь и по командам от актора (средствами кейлоггера), но к исходному вопросу по "пулемету на крыше" это все не имеет отношения.

 

malandrinus, хотя я не любитель арсеналов в Сталкере, но не прочь поразгадывать шарады... заинтересовало... нужно будет взглянуть на это хозяйство поближе и может чего интересного объявится... ;-)

"Полет" изначально писался (Lost Strаnger'ом) не для игры, а скорее как исследование возможностей движка/модели. Позднее, было очень удобно исследовать локацию с высоты птичьего полета (демо-рекорд все же совсем иное).

Сейчас скрипт и схема переделаны и отвязаны от путей (path_walk...), так что на любой локации просто выбирается подходящий пятачок и? активировав маячок? вызывается в эту точку вертушка. Ну а далее - можно и за периметр слетать иль на крышу высотки взлететь иль на пригорок... Т.е. опять же не для игры, а скорее разнообразить возможности перемещения в Зоне и достичь недосягаемых пешим ходом мест.

 

 

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

Тут проблема получилась, делал значит я квест по уроку http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BB%D0%BE%D0%B6%D0%BD%D1%8B%D0%B9_%D0%BA%D0%B2%D0%B5%D1%81%D1%82_%D0%BD%D0%B0_%D0%BE%D0%B1%D0%BE%D1%80%D0%BE%D0%BD%D1%83_%D0%BB%D0%B0%D0%B3%D0%B5%D1%80%D1%8F#.D0.98.D0.BD.D1.84o.D0.BFop.D1.88.D0.BD.D1.8B_2

и после диалога вместо того что бы заспавнить нпсов, происходит вылет с ошибкой, что значит эта ошибка? Заранее спасибо.

Expression : no_assert

Function : CXML_IdToIndex<class CCharacterInfo>::GetById

File : e:\stalker\sources\trunk\xr_3da\xrgame\xml_str_id_loader.h

Line : 112

Description : item not found, id

Arguments : esc_bandit_ataka_1

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

malandrinus,

 

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

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

SkyLoader,

Идея интересная, однако есть несколько моментов. Для начала, на чистой игре нет движкового способа просоединить актора к объекту типа CHolderCustom. Значит нужны правки, и всё становится не так просто. Потом, появятся дополнительные проблемы. Нужно будет убирать на время использования фейковый объект, поскольку он находится в том же месте, что и турель. Где-то будет торчать собственно сама турель, и возможно это место будет достижимо актором, и турель эта будет видима, и её можно будет использовать с понятными последствиями. Я пока не знаю, может ли турель на родном класса использоваться скриптами, как веротолёт или машина, но это было бы желательно.

 

Короче, по всему выходит, что решение не намного лучше, чем, скажем, решение на основе машины. Тоже нужны костыли в виде скриптов и правок движка.

 

Artos,

ничего сложного с турелью нет. Секции stationary_mgun или mounted_weapon. Это два разных класса оба для станкового оружия. Один из них кажется более доделан, чем другой, но я не помню какой именно. Визуал у них должен быть уже прописан прямо в секции, и модель в ресурсах игры тоже вроде как есть.

 

При спавне прямо перед актором объект на мгновение даже появляется, но потом исчезает. Я подробно с этим не разбирался, но походу переносится в начало локации (так мне говорили). Кроме того, я не уверен на самом деле, что при юзании объекта актор переносится в место спавна турели, а не ещё куда-то.

 

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

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

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

malandrinus,

 

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

Можно скриптами привязать с турели айдишники физ.объектов и при использовании турели тепепортировать физ.объект в никуда, потом возвращать.

 

Где-то будет торчать собственно сама турель, и возможно это место будет достижимо актором, и турель эта будет видима, и её можно будет использовать с понятными последствиями.

Это можно решить, изменив модель. Чтобы модель была без визуала и над костями в сдк поработать. Тогда игрок не должен иметь возможности ее использовать.

 

Короче, по всему выходит, что решение не намного лучше, чем, скажем, решение на основе машины. Тоже нужны костыли в виде скриптов и правок движка.

Да, без этого не обойтись :)

 

Я подробно с этим не разбирался, но походу переносится в начало локации (так мне говорили). Кроме того, я не уверен на самом деле, что при юзании объекта актор переносится в место спавна турели, а не ещё куда-то.

Да, визуал переносится в нулевые координаты локации, а коллизия турели остается на месте. При использовании ее гг перемещается на место турели.

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

SkyLoader,

Это можно решить, изменив модель. Чтобы модель была без визуала и над костями в сдк поработать. Тогда игрок не должен иметь возможности ее использовать.

У этого объекта нет худа. Когда актор к нему аттачится, он использует мировую модель. Так что убрать её не получится.

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

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

malandrinus,

Можно скриптами привязать с турели айдишники физ.объектов и при использовании турели тепепортировать физ.объект в никуда, потом возвращать.

 

Это можно решить, изменив модель. Чтобы модель была без визуала и над костями в сдк поработать. Тогда игрок не должен иметь возможности ее использовать.

 

Да, без этого не обойтись :)

 

Да, визуал переносится в нулевые координаты локации, а коллизия турели остается на месте. При использовании ее гг перемещается на место турели.

--- Bопрос: a eсли зaбыть о билдe и использовaть для турeли рaбочиe модeли -ПК, Миними, Минигaн иль НСBТ? Зaпрeт нa движeниe, и к модeли трeногу. ---- HUD подпрaвить, вид -кaк в рeaлe, вижу короб, прицeл и вeрх ст.коробки. Огрaничить сeктор -горизонт, вeртикaль. Изменено пользователем ColR_iT
Ссылка на комментарий

Priboj37,

в смысле, чтобы в худовой модели тренога была? Это не будет нормально выглядеть. Пулемёт вращается вокруг треноги, а худовое оружие - вместе с актором. Тренога не будет стоять на месте.

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

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

malandrinus,

У этого объекта нет худа. Когда актор к нему аттачится, он использует мировую модель. Так что убрать её не получится.

Можно опять же написать функцию для смены визуала.

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

SkyLoader,

смена визуала для онлайнового объекта? Можно наверно, но это ещё одна правка движка. Я уж тогда точно на основе машинки стал бы делать.

 

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

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

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

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

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

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

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

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

Войти

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

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

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

AMK-Team.ru

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