Malandrinus 615 Опубликовано 18 Января 2013 Поделиться Опубликовано 18 Января 2013 Clayman, а бокс как программно проверяется? Если лезть в подробности, то надо сначала понять, как бокс задаётся. Известно, что в нетпакете бокс задаётся четырьмя векторами. Но это на на самом деле не просто векторы, а строки матрицы (к слову, поэтому правильней для чтения/записи использовать функцию чтения/записи матрицы). Матрица эта используется движком следующим образом: 1. берётся куб со стороной, равной 1, и центром в координатах (0,0,0). 2. Координаты вершин куба трансформируются этой матрицей в новые координаты. Полученный параллелепипед (который в общем случае может быть даже не прямоугольным, т.е. и не боксом вовсе) как раз и представляет собой то, что вы нарисовали в SDK (естественно, ранее SDK выполнил обратную операцию: сконвертировал нарисованный вами бокс в эту самую матрицу). 3. На основе координат вершин движок вычисляет положение плоскостей в виде пары: единичный вектор нормали к плоскости + расстояние до плоскости от точки (0,0,0). Дальнейшие операции выполняются с этим набором данных. Собственно проверка точки на нахождение внутри бокса сводится к перебору этих шести векторов, скалярному умножению положения точки на нормаль, сравнению с расстоянием с учётом ориентации поверхности. Если точка находится по одну сторону от каждой из шести поверхностей, значит она внутри бокса. ColR_iT, не такой уж этот разговор и оффтоп. Касается же скриптов и именно в сталкере, а не где-то ещё. Заводить для этого лишнюю тему уж точно будет ни к чему, поскольку общаться там никто не будет. Да и здесь разговор уже себя исчерпал. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
Clayman 104 Опубликовано 18 Января 2013 Поделиться Опубликовано 18 Января 2013 malandrinus, спасибо, это и было интересно Я тут согласен с ColR_iT, в том плане, что наверное действительно стоит открыть отдельную тему, которая касается именно оптимизации игры. Потому как многие наверное сталкиваются с тем, что при расширении мира и наполнении контентом, не говоря уже о скриптовых и геймплейных фичах, возрастает многократно нагрузка и соответственно лаги. Думаю, полезно будет обсуждать, делиться советами и наработками по оптимизации и улучшению чего бы то ни было: скриптов и кода, спавна, какие то хитрости и свои метода, работа с графикой и прочее. Потрите пост, если оффтоп. 1 Ссылка на комментарий
Artos 99 Опубликовано 18 Января 2013 Поделиться Опубликовано 18 Января 2013 (изменено) Скрипты (сценарии/алгоритмы) - это то, что связывает в игре все остальные составные части (движок, конфиги, звуки, модели/текстуры, ...) в единое целое и что доступно каждому (знающему Lua) модмейкеру. Можно, конечно, говорить/писать о чем угодно, ежели в вопросе упоминается иль подразумевается слово "скрипт"... Однако, Под 'едою' тоже немало чего подразумевается, но(!) никому в голову не приходит валить/лить/сыпать все в одно корыто и хлебать из него получившуюся баланду (сорри, за подобную аналогию). Невозможно в одном топике обсуждать совершенно разные как по сложности, так и по сути вопросы, да еще и руководствуясь субъективными критериями (которые каждый имеет, но очень редко высказывает). Даже тема "оптимизации", затронутая тут, вызывает скорее спор, чем обсуждение, т.к. каждый говорит на разном техническом уровне и имея в голове свои критерии, да еще и о некоей своей частности, которая кажется именно сейчас для него важной. Заметьте(!), что почти все не задают на эту тему вопрос, а конспективно высказывают иль свое мнени или пожелание, а до обсуждения так и не доходит (т.к. "каждый о своем"). 'Оптимизация' - невозможна 'сама по себе', т.е. в отрыве от жестко заданных конкртеных критериев, которые нередко могут и противоречить друг другу или даже взаимоисключать. В итоге: поболтали, выпустили малость пару и разошлись. ;-) Наверное просто каждому стОит перед вопросом иль ответом подумать: а будет ли какая-то конкретная польза кому-то от "лишнего" поста (кроме "выговориться")? ... Изменено 18 Января 2013 пользователем Artos 1 1 "Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени Ссылка на комментарий
Outlaw 85 Опубликовано 19 Января 2013 Поделиться Опубликовано 19 Января 2013 (изменено) Вопрос не в по адресу. Загляни в шапку, чтобы определиться... ColR_iT Изменено 19 Января 2013 пользователем ColR_iT Ссылка на комментарий
Sany@Prizrak 1 Опубликовано 20 Января 2013 Поделиться Опубликовано 20 Января 2013 У меня вопрос - возможно ли изменение значения определённого параметра в конфигах скриптовым путём? Допустим, увеличить переносимый вес при определённом условии, или высоту прыжка. И насколько это реализуемо с технической точки зрения? Задался этим вопросом в связи с наличием подобного аспекта в некоторых разрабатываемых модификациях. Ссылка на комментарий
Shredder 49 Опубликовано 20 Января 2013 Поделиться Опубликовано 20 Января 2013 Без ковыряния движка невозможно. Ссылка на комментарий
S.t.A.l.K.e.Z 5 Опубликовано 20 Января 2013 Поделиться Опубликовано 20 Января 2013 (изменено) Доброй ночи, товарищи, нужна ваша помощь. Допустим, что у меня есть скрипт (myscript.script) а в нем (class "myclass") и функция (function myclass:myfunct()). Так вот, как мне вызвать эту функцию из другого скрипта, скажем, из bind_stalker.script? Пробовал вот так: myscript.myclass:myfunct(), но получил вылет. Изменено 20 Января 2013 пользователем S.t.A.l.K.e.Z Ссылка на комментарий
Artos 99 Опубликовано 20 Января 2013 Поделиться Опубликовано 20 Января 2013 Shredder, не стОит давать однобокие субъективные "шаблонные" ответы... Скрипты бывают не только в самой игре "Сталкер", немало вариантов установки игры, в которых имеются батники (командные файлы) или те же *vbs , которыми как раз конфиги очень легко (подменяются). Известны и внешние приблуды, типа трейнеров или лаунчеров (пример NLC6), когда параметры меняются без правок движка. Да и в самой игре, без приблуд иль ковыряний движка, можно поизворачиваться, удаляя/перемещая одни конфиги, а на их месте создавать новые или переименовывать имеющиеся. Пример в том же SIMBION'е, когда игра сама подстраивается под версию патча игры (1.0004<>1.0005/6). Иной вопрос, что все это требует перезагрузок игры, чтобы принять изменения... однако(!), как раз в вопросе говорится о замене в конфигах, а не в игре! ;-) S.t.A.l.K.e.Z, почитай мануалы по программированию (хотя бы начального уровня), на тему: чем отличается класс и его методы от 'обычных' функций. Подсказка: myscript.myclass():myfunct() - ежели у тебя твой класс написан 'по-уму'. 1 "Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени Ссылка на комментарий
Shredder 49 Опубликовано 21 Января 2013 Поделиться Опубликовано 21 Января 2013 (изменено) Shredder, не стОит давать однобокие субъективные "шаблонные" ответы... Это не субъективный "шаблонный" ответ, а ответ по существу. В вопросе присутствует "Допустим, увеличить переносимый вес при определённом условии, или высоту прыжка". В одном случае предложенные тобой методы сродни ковырянию движка, а с другой необходимость перезагрузки делает эти методы абсолютно неприемлимыми. Одел на пояс артефакт, увеличивающий высоту прыжка. Делаем сохранение, правим скриптом конфиги, загружаем его, ну бред же. Изменено 21 Января 2013 пользователем Shredder Ссылка на комментарий
Artos 99 Опубликовано 21 Января 2013 Поделиться Опубликовано 21 Января 2013 (изменено) Shredder, не занимайся, плз, демагогией, в очередной раз засоряя топик. Помимо упомянутого тобою варианта (и твоего исключения иного вообще!), как минимум есть еще два, а "бред" это или нет, и "сродни" ли ковыряние движка с написанием внешнего приклада - решает каждый за себя. Примечание: Почему то ты не называешь "бредом" перезагрузки, например, при переходе с Кордона на Свалку, когда всего то "шагнул в дверь и оказался за воротами"... это и есть - шаблонность и субъективность мышления... Изменено 21 Января 2013 пользователем Artos "Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени Ссылка на комментарий
Malandrinus 615 Опубликовано 21 Января 2013 Поделиться Опубликовано 21 Января 2013 (изменено) Artos, я лично понял исходный вопрос в том же смысле, как и Shredder. Ну давай сформулируем вопрос иначе: "можно ли сделать то или иное с привлечением подходов, не выходящих за рамки редактирования текстовых файлов скриптов и конфигов". Давай не будем называть "ковырянием движка" любой из подобных "выходящих за рамки" подходов. Ни суть вопроса, ни правильность ответа Shredder-а от этого не изменятся. И вообще, на мой погляд надо быть более снисходительным друг к другу. Здесь же не юридические документы составляют с трёхстраничным списком оговорок и уточнений к какой-либо единственной фразе. Можно и проще относиться к лаконичности и размытости чужих формулировок. Изменено 21 Января 2013 пользователем malandrinus 3 1 Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
Artos 99 Опубликовано 21 Января 2013 Поделиться Опубликовано 21 Января 2013 (изменено) malandrinus, хотя я и не причисляю себя к кашпировским, но тоже пытаюсь все же понять "о чем же вопрошается?"... но, наблюдая за нынешними моддмейкерами-ковырялкинами, все более убеждаюсь, что именно "лаконичность" вопросов и ответов, да и всего их общения в стиле чатов, в купе с "лаконичными" знаниями и навыками - и приводят к тому, что моддинг вырождается, сводясь к копипастам и мергерам. 1. Мы в разделе "Школа моддинга"(!), а не в погадайке. - вероятно учить(ся) задавать вопросы тоже и немаловажно, и стОит делать, а не выдавать за единственную истину результаты гадания на кофейной гуще. Исходный вопрос задан достаточно однозначно(!): вопрос - возможно ли изменение значения определённого параметра в конфигах скриптовым путём? Т.е. говорится именно про изменение конфигов (читаем "ltx-файлы из папки gamedata\config\").Соглашусь, что дальнейшее пояснение "на примерах", скорее говорит о желании автора вопроса менять параметры "на лету", т.е. в игре в зависимости от той или иной ситуации/условия. Однако, не факт, что: - автор вопроса до сих пор не знает, что любое изменение файлов в конфигах значений параметров читаемых движком игры в любом случае требует перезагрузки игры (save->load); - автор не имеет желание подстраивать "уровни сложности" игры самим игроком из игры (что может предусматривать перезагрузку). Т.о. если вопрос задан некорректно или двусмысленно - стОит подсказать автору вопроса "как задавать вопросы" и/или уточнить вопрос, чтобы не разводить викторин "кто правильнее угадает". Да и зачем же отметать заранее то, что может и кому-то кажется "бредом", но другому потребно? 2. Проекту "xRay Extensions" не так уж много времени, чем моддингу Сталкера. И как то ведь обходились без правок движков, лаунчеров, трейнеров... ;-) Находили те или иные варианты именно скриптами или "вдруг обнаруженными недокументированными возможностями движка" обходиться. Вспомни (или спроси у KamikaZze) про момент из "Компаньонов 2", когда удалось избежать необходимости перезагрузок или правки движка, а только скриптами получить желаемое. Так зачем же, находясь в разделе "Скриптование", заранее бить по рукам и завязывать все на правки движка, даже не дав ни достаточной информации по сути вопроса, ни дав ссылки на соотв.топик "xRay Extensions", и не дав все же попробовать поковыряться со скриптами? Чуть перефразирую известную фразу: "Простота порою хуже воровства". Простота вопросов, ответов и обсуждений (в стиле чатов) приводит к вырождению как самих моддмейкеров, так и подобных топиков и раздела... :-( ИМХО Пора дать отдохнуть (полгодика-годик-...) и себе и комьюнити от вредного Artos'а... P.S. Дык, по сути на СП разделы моддинга уже почили и "все" оттуда перекочевало сюды, хорошо разбавив и без того поредевшие ряды... Ну а про 'резкие действия' - это не столь с текушими постами связано (две недели читал и не мог заставить себя что-то писАть/отвечать)... это скорее одна из последних капель... Просто, если не дать (хотя бы себе) передышку - могу наломать дров... Ну и у вас - вполне может что-то и получится с толерантностью и простотою. ;-) Изменено 21 Января 2013 пользователем Artos 1 1 "Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени Ссылка на комментарий
Nazgool 250 Опубликовано 21 Января 2013 Поделиться Опубликовано 21 Января 2013 (изменено) Artos Да ведь тут, без тебя, СП организуется. Неееет. На энто я пойтить не могу. Не предпринимай резких действий. Всё образуется. Изменено 21 Января 2013 пользователем Gun12 Ссылка на комментарий
Malandrinus 615 Опубликовано 22 Января 2013 Поделиться Опубликовано 22 Января 2013 Artos, полгодика-годик-... У меня есть ощущение, что ещё год это всё может и не продлиться. В самом деле, сколько уже прошло с выпуска ТЧ? Больше шести лет, так? А последняя игра в серии, ЗП? Больше трёх кажется. Для игры это приличный срок. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
proper70 74 Опубликовано 23 Января 2013 Поделиться Опубликовано 23 Января 2013 (изменено) Господа, вопрос: можно ли в ТЧ скриптово сделать ГГ неуязвимым к хитам на короткое время? Если да, то как? Как вариант, сделать конфиг арта со 100% защитами от всего, и вешать его на пояс. Но как скриптово повешать арт на пояс? Может, есть еще какие варианты? С броником такой вариант не проходит, т.к. броник в ТЧ защищает только сам себя... Изменено 23 Января 2013 пользователем proper70 Ссылка на комментарий
Malandrinus 615 Опубликовано 23 Января 2013 Поделиться Опубликовано 23 Января 2013 proper70, вопрос скорее в ковырялку, поскольку собственно скрипты здесь не так много делают. Насчёт костюма ты неправ. Можно сделать костюм с полной защитой от любого типа повреждения. Скорее всего, такое мнение сложилось по причине того, что защита от пуль (от чего чаще хиты и бывают) настраивается не так, как защита от любых других типов повреждений. Если не ошибаюсь, для этого там есть ссылка bones_koeff_protection на дополнительную секцию с настройкой защиты для каждой кости. В данном случае в этой секции можно не настраивать все кости, а задать дефолтовые значения для всех сразу с помощью параметра default. Также надо установить hit_fraction в ноль, иначе при любом хите будет обязательно некий малый урон. Остаётся вопрос, как помещать в слот нужный предмет или арт на пояс. Если честно, то уже и не вспомню, как это делать без помощи модификаций движка. А если с модификациями, то тогда проще и всю задачу решить иначе. К примеру, можно просто поставить режим бога дополнительной консольной командой. Или пропатчить в памяти глобальные иммуниеты актора, или перехватить событие хита и почистить его данные. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
Shredder 49 Опубликовано 23 Января 2013 Поделиться Опубликовано 23 Января 2013 (изменено) Остаётся вопрос, как помещать в слот нужный предмет или арт на пояс. Если честно, то уже и не вспомню, как это делать без помощи модификаций движка.Поместить комбез в слот можно так:1) Скриптом выбрасываем и телепортируем текущий комбез, если он есть 2) Спавним новый комбез со 100% защитой. Он автоматически разместится в слоте 3) Когда защиту нужно убрать - удаляем комбез со 100% защитой, возвращаем предыдуший комбез (если он был) актору. Геморно конечно, но у меня в ЗП другого выбора нет. А так конечно посоветовал бы использовать x-ray extensions. В версии для ТЧ очень много полезных плюшек.P.S. Эх, для ЗП бы хоть процентов 30% того функционала... И для каждого комбеза делать ещё одну секцию со ста процентной защитой? ColR_iT Нет. В моменты такой защиты, если есть возможность юзать инвентарь, то можно в момент открытия делать обратную подмену, в момент закрытия опять подменять. Правда пока инвентарь открыт ГГ станет уязвимым. Но всё конечно зависит от того, что конкретно нужно сделать. Ну и даже ещё одна секция для комбеза это тоже не проблема: [novice_outfit_100]:novice_outfit [stalker_outfit_100]:stalker_outfit Я проблем не вижу. Изменено 23 Января 2013 пользователем Shredder Ссылка на комментарий
Malandrinus 615 Опубликовано 23 Января 2013 Поделиться Опубликовано 23 Января 2013 Косяки такого подхода с подменой комбеза: 1. что делать, если ГГ сейчас без костюма? 2. ГГ при гибели всегда будет показывать один и тот-же визуал, если конечно не плодить дубликаты для каждой секции. 3. Постоянно будет выключаться лампочка Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
Shredder 49 Опубликовано 23 Января 2013 Поделиться Опубликовано 23 Января 2013 1) Спавнить броник с пустой иконкой. 2) Какая гибель, мы же вроде 100%-ную защиту хотим дать. 3) Ну тут сдаюсь Ссылка на комментарий
Malandrinus 615 Опубликовано 23 Января 2013 Поделиться Опубликовано 23 Января 2013 Shredder, мы же вроде 100%-ную защиту хотим дать. Да, как-то не подумал. Однако, в связи с этим вспомнил ещё про такой момент. В движке есть косяк: когда в инвентарь попадает костюм, то визуал у ГГ обнуляется. Знаете этот залипон? Берёшь из тайника костюм, а почему-то выключается лампочка и ПНВ. Это потому, что движок посчитал, что ты костюм снял. Я не проверял, но есть вероятность, что не только визуал и лампочка, но и соответственно параметры защиты обнуляются. Если так, то отсюда дополнительный гемор по слежению за этой ситуацией. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти