Это популярное сообщение. Dennis_Chikin 3 658 Опубликовано 16 Мая 2014 Это популярное сообщение. Поделиться Опубликовано 16 Мая 2014 Ковыряемся в файлах ТЧ Прежде чем писать в тему - внимательно читаем первый пост, и пользуемся поиском. Возможно, ответ на Ваш вопрос уже есть. Касательно телепатии: если Вы передаете Ваши файлы телепатическим путем - ответы будут передаваться тоже телепатически. Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком. 4 8 6 12 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Gonarh 5 Опубликовано 30 Декабря 2009 Поделиться Опубликовано 30 Декабря 2009 в зависимости от компа, ну максимум полсекунды - секунда на совсем дохлых машинах 118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105 Ссылка на комментарий
Malandrinus 615 Опубликовано 30 Декабря 2009 Поделиться Опубликовано 30 Декабря 2009 Garry_Galler, в ЗП появилась функция перебора предметов в ящике Gonarh, даже полсекунды как правило неприемлимо, поскольку чаще всего этот перебор надо делать регулярно. Представь себе регулярные полсекундные фризы! Более продуктивный, но более сложный подход: регистрация каждого объекта в общей базе данных при создании/переходе в онлайн. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
Monnoroch 6 Опубликовано 30 Декабря 2009 Поделиться Опубликовано 30 Декабря 2009 (изменено) Gonarh, помнишь мы пересчитывали high(integer) downto 1 ?Было 1.7 секунды А это гораааздо больше,нежели 65 тыщь. Изменено 30 Декабря 2009 пользователем Monnoroch Ссылка на комментарий
Malandrinus 615 Опубликовано 31 Декабря 2009 Поделиться Опубликовано 31 Декабря 2009 Monnoroch, Да ладно, здесь ведь не просто 65 тыс. пересчитать. Здесь же надо с каждым что-то _сделать_. А это вам не плюнуть и растереть. Интерпретация кода скриптовым парсером, да вызовы движка, где десяток символов скрипта - это кто-там-знает-сколько-на-самом-деле операций. Так что линейный перебор - зло! Для экспериментов годится. Для реальных модов - фтопку. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
lekzd 1 Опубликовано 31 Декабря 2009 Поделиться Опубликовано 31 Декабря 2009 А как узнать скорость перемещения актора?? Сообщение от модератора n6260 Цитирую: через actor_binder:update замеряю изменение позиции актора, и времени которое было потрачено на это i-igroman.ru - Мой, принципиально новый сайт о компьютерных играх Ссылка на комментарий
The Postal 0 Опубликовано 31 Декабря 2009 Поделиться Опубликовано 31 Декабря 2009 актор.ltx Ссылка на комментарий
Garry_Galler 7 Опубликовано 31 Декабря 2009 Поделиться Опубликовано 31 Декабря 2009 malandrinus 1. А эту функцию из ЗП можно как то в ТЧ применить? (помню я как то переделал одну функцию из ЧН для телепортации эктора на заданную дистанцию в валидную позицию - все работало). 2. Линейный перебор согласен что зло, но в модах тем не менее используется часто - так как видимо все таки альтернатив для какого-нить конкретного случая нет. 3. для моего случая тоже есть закавыка - итемс чье местоположение в конкретном ящике мне нужно выявить в момент юзания этого ящика эктором, будет спавнится в тот или иной ящик при генерации хабара - спавн хабара у меня рандомный - (принцип спавна отличается от способа рандомной генерации хабара в модах) - у меня скрипт парсит список всех итемсов игры (сам список в отдельном конф. файле) и выдергивает случайную строку с именем итемса, то скока раза он будет читать список опять же задано рандомным лимитом цикла (это для кол-ва вещей)- к тому ж для каждого итемса в списке указана вероятность для спавна - которая опять же будет сравниваться с math.random()<prob then и при true спавнить. поэтому чтобы отследить этот конкретный итемс - (куда он заспавнился) - если не делать линейный перебор - придется как то ловить его по секции в момент спавна и сразу же писать его парент в табличку. А уж потом итерировать уже эту табличку сравнивая айди ящика с записанными парентами этого итемса, что конечно уже игру тормозить не будет....Только не знаю получится ли так... Или делать как ты написал - писать все заспавненые итемсы в таблицу - уж потом ее проверять по секции и паренту с айди ящика. Ссылка на комментарий
Monnoroch 6 Опубликовано 31 Декабря 2009 Поделиться Опубликовано 31 Декабря 2009 Garry_Galler, линейный перебор - не такое уж зло есть во время сделать break - то етсть не перебирать все 65 тыщ. В модах обычно так дела и обстоят - ищется конкретный обьект. Ссылка на комментарий
lekzd 1 Опубликовано 31 Декабря 2009 Поделиться Опубликовано 31 Декабря 2009 через actor_binder:update замеряю изменение позиции актора, и времени которое было потрачено на это замерял я уже изменение позиции - это дает резкие скачки значений(( - это я описывал выше - когда идешь значения 2-7, когда бежишь 3-15 - ну никак нормально не определить, что актор бежит Сообщение от модератора n6260 Ну тогда не знаю... Кнопку бега отследить удастся вряд ли... А если по падению "выносливости"? i-igroman.ru - Мой, принципиально новый сайт о компьютерных играх Ссылка на комментарий
Malandrinus 615 Опубликовано 31 Декабря 2009 Поделиться Опубликовано 31 Декабря 2009 1. А эту функцию из ЗП можно как то в ТЧ применить?Нельзя. Это часть API движка. 2. Линейный перебор согласен что зло, но в модах тем не менее используется часто - так как видимо все таки альтернатив для какого-нить конкретного случая нет.Да не то чтобы альтернатив нет. Просто такой подход начинают использовать сразу, как только учатся писать простейшие циклы. Это всего-лишь самый простой подход. Но далеко не самый лучший. поэтому чтобы отследить этот конкретный итемс - (куда он заспавнился) - если не делать линейный перебор - придется как то ловить его по секции в момент спавна и сразу же писать его парент в табличку. А уж потом итерировать уже эту табличку сравнивая айди ящика с записанными парентами этого итемса, что конечно уже игру тормозить не будет....Только не знаю получится ли так...Почему не получится? В биндере каждого предмета по переходу в онлайн/оффлайн аккуратно регистрировать предмет в базе данных. Сразу сортировать объекты на неписей, монстров, предметы и т.д. Вообще-то что-то такое там и так сделано, ещё в оригинальной игре (таблица db), может стоит разобраться... линейный перебор - не такое уж зло есть во время сделать break - то етсть не перебирать все 65 тыщ. В модах обычно так дела и обстоят - ищется конкретный обьект. В среднем это уменьшает время поиска всего-лишь в два раза. Хрен редьки не слаще =) замерял я уже изменение позиции - это дает резкие скачки значений(( - это я описывал выше - когда идешь значения 2-7, когда бежишь 3-15 - ну никак нормально не определить, что актор бежитТы прочитал мой ответ в теме "справочник"? Тебе для каких целей надо определять состояние бега? Что можно, что нельзя сильно зависит от целей применения. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
C2D 1 Опубликовано 1 Января 2010 Поделиться Опубликовано 1 Января 2010 Люди! Хочу спросить-может кто знает сколько должы весить распакованные архивы игры:db0-dbb? Можно даже скрин со свойствами папки с распакованными архивами.Пожалуйста! Ссылка на комментарий
Gonarh 5 Опубликовано 1 Января 2010 Поделиться Опубликовано 1 Января 2010 118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105 Ссылка на комментарий
C2D 1 Опубликовано 1 Января 2010 Поделиться Опубликовано 1 Января 2010 И опять тупой вопрос-я распаковал все архивы игры в отдельную папку и указываю путь к этой папке в LTX-editor-е.Но он говорит что не хватает некоторых файлов но они есть.По сравнению со скриномGonarh, у меня нет двух файлов...Что это может быть? Винда 64. Ссылка на комментарий
RvP 1 Опубликовано 1 Января 2010 Поделиться Опубликовано 1 Января 2010 C2D, нехватает файлов, так ето может быть, что у Гонара просто ярлык для розпакованого выведен=> у него в етой папке еще и системные файлы есть Vita sine libertate, nihil Vita sine litteris - mors est Ссылка на комментарий
C2D 1 Опубликовано 1 Января 2010 Поделиться Опубликовано 1 Января 2010 (изменено) RvP, возможно... ...Gonarh, у тебя работает ltx editor? Можешь проверить? Уже два анпакера перепробывал,не помогает.. Ещё вопрос-к какой именно папке нужно указывать путь? К папке конфиг или вообще к общей папке (с полностью распакованным сталкером.) Изменено 1 Января 2010 пользователем C2D Ссылка на комментарий
Gonarh 5 Опубликовано 1 Января 2010 Поделиться Опубликовано 1 Января 2010 (изменено) работает, у мну распаковано в x:\gamedata, указывал просто x:\ Изменено 1 Января 2010 пользователем Gonarh 118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105 Ссылка на комментарий
C2D 1 Опубликовано 1 Января 2010 Поделиться Опубликовано 1 Января 2010 (изменено) Gonarh, вот-http://www.playground.ru/files/9500/ Всё работает? Блин надо было геймдату создавать..(вот осёл!).Спасибо большое за помощь! Изменено 1 Января 2010 пользователем C2D Ссылка на комментарий
Garry_Galler 7 Опубликовано 1 Января 2010 Поделиться Опубликовано 1 Января 2010 malandrinus насчет функции из ЗП - жаль конечно, ну да ладно - я уже обошелся и без нее. А таблицу storage я уже и так разобрал по кусочкам и могу и нее выдернуть усе что угодно. (кому надо могу скрипт "досье на всех NPC" выложить) мои сомнения насчет возможности отследить место спавна нужного итемса были так сказать он недостатка самоуверенности :ny_z_4: - это я уже сделал. И без линейного цикла. За советы - спасибо. А теперь о главном: можно ли добавлять в ПДА инфу не из заранее написанного строкового массива, а непосредственно из результата игровой ситауции? Вот допустим месссидж у меня выводится с определенной инфой полученной из скриптовой обработки ситуации -можно ли ее в ПДА тут же перекинуть? (так сказать из кратковременной памяти в долговременную - чтобы не забылась) Ссылка на комментарий
Gonarh 5 Опубликовано 1 Января 2010 Поделиться Опубликовано 1 Января 2010 (изменено) Вот допустим месссидж у меня выводится с определенной инфой полученной из скриптовой обработки ситуации -можно ли ее в ПДА тут же перекинуть? Имхо никак, есть только предопределённые дефайны типа $$ACTION_USE$$, все остальное берется из заранее созданных ХМЛ Изменено 1 Января 2010 пользователем Gonarh 118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105 Ссылка на комментарий
Kirag 39 Опубликовано 2 Января 2010 Поделиться Опубликовано 2 Января 2010 ...можно ли вообще избавиться ситуаций от спавна объектов за пределами карты?... Garry_Galler С наступившим! Насколько я понял, задача состоит в спавне объекта на случайных координатах, желательно еще и не за пределами карты. Для этого берется случайный левел вертекс из заданного диапазона для нужного уровня, по нему берутся координаты и спавнится. Побочный эффект - спавн черт знает где, на Баре и ДТ это особенно вероятно (я так понимаю, из-за того, что эти две локи когда-то была одним целым, а потом разделены, АИ-сетка там очень хитрая и глючная). Все правильно? Я с подобным сталкивался, и обошел этот момент через проверку координат спавна. Практически на любой карте можно наметить прямоугольник (по координатам X и Z), в пределах которого может перемещаться актор и, стало быть, спавн разрешен. Края карты, конечно, неровные, но в большинстве случаев неровности сформируются наличием/отсутствием АИ-сетки, прямоугольник нужен для того, чтобы обрезать те точки АИ-сетки, которые используются НПС для переходов между локами и такие глюки, как на Баре/ДТ В результате, алгоритм выбора точки спавна будет примерно таким: Выбрать случайный номер левел вертекса из диапазона для данного уровня. Определить координаты выбранного левел вертекса. Если координаты левел вертекса выходят за пределы ограничивающего прямоугольника для данного уровня, то _выбираем левел вертекс заново иначе _спавн по выбранным координатам Плюс, еще один момент, на Баре не забыть про то, что объект при таком спавне может забросить на Арену, что врядли нужно. Арена находится под картой и хорошо отсекается по координате Y. Мои работы: Ночные прицелы + смена ножевого слота AI вертолетов + ПЗРК Soul Cube Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем. Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти