 |
|
| Автор |
Сообщение |
|
| 04-07-2011 12:46 GMT3 час. #1499139 |
подскажите плиз если я в левл едиторе изменю положение спавн обьектов то они в игре изменят положение? (В смысле не level.spawn а all.spawn)? приоритет где больше скажем так? |
|
|
|
| 04-07-2011 12:57 GMT3 час. #1499146 |
Artos Вычисление макимального левел вертекса по соответствующему гейм-вертексу для данной локации дает число = 3971, однако, один из монолитовцев (спавн из all.spawn), имеет путь, с точкой в 3981-й левел-вертекс. И то, что в оригинальной игре это никак не вызывает ошибок и доп.проверка валидности этого вертекса - говорят о вполне корректном значении, которое лежит за пределами вычисленного диапазона доступных вертексов.
Само собой. При определении макс. левел-вертекса, мы ведь только определяем центральный левел-вертекс максимального гейм-вертекса. А сколько их ещё находится там же, не известно.Вот график гейм-вертекса, и находящихся в нём левел-вертексов:
Где, зелёный квадрат - гейм-вертек, красные квадраты - левел-вертексы.
Определяя левел-вертекс, по гейм-вертексу, мы получаем центральный левел-вертекс. В данном случае, под номером 40. А ведь их ещё несколько в диапазоне гейм-вертекса.
По сути, определив количество левел-вертексов в пределах одного гейм-вертекса, можно посредством математических действий, определить и действительный макс. левел-вертекс. Но... Фиксировано ли количество левел-вертексов, в пределах гейм-вертекса?! Оно ведь может быть и разным. Разве что, пробегаться по всем гейм-вертексам (от минимального, к максимальному), и так же не хитрым мат. подсчётом, определять их размеры. Так как левел-вертексы начинаются с нуля, то составить мат. действие не составит труда.
Это только предположение, и как вариант. А по сути, нужно всё полностью проанализировать. И наконец определиться в зависимостях гейм и левел-вертексов. Как они связаны? И что вообще из себя представляют левел-вертексы?
Казус валидности со значительным превышением макс. значения, мне тоже не даёт покоя. |
отредактировал(а) singapur22: 04-07-2011 13:10 GMT3 час.
|
|
|
| 04-07-2011 14:03 GMT3 час. #1499159 |
Люди попытался вытащить модель нпс из ЗП в ТЧ но при загрузки вылет с помощи Actor editor |
|
|
|
| 04-07-2011 14:34 GMT3 час. #1499167 |
Подскажите пожалуйста дорогу на радар или кто может подсказать в игре дорогу на радар? |
|
|
|
| 04-07-2011 14:50 GMT3 час. #1499170 |
singapur22
Предлагаю отвлечься от упрощений, так только запутаемся.
Исходные данные (кратко):
1. Гейм-вертексы (Gv) являются элементами структуры (сетки) глобальной карты. Их последовательность непрерывна для всей карты. Каждая локация имеет некий диапазон Gv, присущих только этой локации.
2. Левел-вертексы (Lv) - элементы структуры (координатной сетки) каждой конкретной локации, собственно и определяющие позиционирование на локации.
3. Взаимосвязь между Gv и Lv жесткая, но условна и определена при компиляции всей глобальной карты с локациями. Кол-во Lv соотносящихся с конкретным Gv для каждой локации свое и различно.
Понятно, что перебирая все Gv и определяя некий Lv, являющийся условно центром области сопоставленной с данным Gv, мы получаем некую сплошную область (собственно почти равную рабочей площади локации). Однако,
как минимум из однозначно определенного валидного кол-ва Lv, находящихся внутри области, остается неопределенным периметр, т.е. области тех Gv, которые приходятся на края локации. Эта полоска/кайма и является искомой целью, т.к. немало объектов располагаются именно по краям карт (переходы, пути, и т.п.)
Цель: Получить достаточно безопасный (для процесса игра) метод/инструмент определения рабочего диапазона левел-вертексов и на краях карт, для безопасного использования как для спавна объектов, так и для их перемещения.
К сожалению метод определения валидности Lv как в ЗП, в ТЧ отсутствует. Метод определения по доступности координат элемента координатной сетки приводит к фатальным ошибкам при выходе за рабочую область.
Теоретически можно методом итерации и фиксации в логе проверенных индексов Lv получить некие крайние значения, но ... это будет частный случай для конкретного набора скомпилированных локаций и не универсален.
Требуется безопасный метод ... Пока в тупике ... |
|
|
|
| 04-07-2011 16:45 GMT3 час. #1499214 |
|
|
|
|
|
| 04-07-2011 17:11 GMT3 час. #1499224 |
Artos Попробывал снимать координаты валидных левел-вертексов, вне диапазона определяемого общеизвестной функцией. По большей части, получил вообще казусные результаты. Координаты выдавались в основном вне геометрии. Тоесть, или ниже геометрии, или выше её. Но многие, просто за пределами локации. Некоторые выдавали дублирующие координаты. Тобишь находятся в тех же координатах, что и некоторые из пределов диапазона. Короче, некая свалка вертексов (вне диапазона), разбросанных по всей локации, возможно даже не привязанных к графам. Возможно, это вообще мусор, образовавшийся неидеальностью компилятора локаций.
Тут уже дело вопроса. А нужно ли их юзать?! Может стоит ограничиться теми левел-вертексами, которые находятся в пределах определяемых гейм-вертексов?! Тем более, размеры гейм_вертексов, не на столько велики, чтобы визуально было заметно несоответствие макс. значения. Да и определение всего дипазона левел-вертексов не происходит только у одного (последнего) гейм-вертекса.
Ещё бы не мешало узнать, как производится компиляция вертексов. Пронумеровка, я так понимаю, производится во время компиляции, а не во время построения локации. Если так, то в каком порядке она производится?! Возможно ли такое, что макс. гейм_вертекс, может оказаться не с краю локации, а по её центру, или где ещё, в её пределах?! |
отредактировал(а) singapur22: 04-07-2011 17:24 GMT3 час.
|
|
|
| 04-07-2011 17:55 GMT3 час. #1499238 |
singapur22
Думается что востребованность есть и будет, поясню.
Если не принимать в расчет ошибки кодеров при заселении локаций и определения точек в путях, то все одно остается и оригинал игры и куча нынешних модов, которые сидят на потенциальных ошибках.
Не так давно, расчистив очередной пласт заглушек от разрабов, на Янтаре обнаужилась ошибка, при которой Зомби прописан камп в несуществующий вертекс. Начав копать далее увидел, что достаточно большое кол-во точек путей с разных локаций явно заглушены разоабами. Им присвоен или гейм-вертекс заведомо за пределами глобальной карты (51048) или левый левел-вертекс (-1).
Установив заглушку от использования подобных путей по принципу предварительной валидации точек пути по принадлежности к рабочему диапазону левел-вертексов локации - всплыло немалое кол-во огрех метода.
1. Выше уже упоминал о монолитовце, которому прописана точка пути на самом краю локации (Управление монолитом). Эта точка лежит как раз на всего десяток индексов выше максимума. В итоге запрещение этой точки привело в вылету по стеку из-за постоянных дерганий схемой. Отключать же схему - рушится геймплей.
2. На локации Саргофага точки для вертушек с тем же десантом лежат выше диапазона на ~4000 (~1%) ...
3. Немало точек для направления взгляда также уводят за вычисленный диапазон.
... и т.д. и т.п. Вспомним уходящих в даль на Янтарь Круглова и д.р.
То, что ты обнаружил дублирование координат и пр. 'мусор' - стОит помнить, что координатная сетка местами слоеная. Как еще НП могут передвигаться по разным этажам домов ...
Вот за алгоритм компилляции не скажу, тут нет пока достаточных познаний. Однако уровень до компиляции имеет уже координатную сетку, которая служит основой AI-сетки. Конечно нумерация зависит от конечно выбранной точке отсчета (начала координат). А вот порядок ... хм ... если вспомнить локацию "Кишка", то можем совсем запутаться, локации часто далеки от близких к классическим кругам и прямоугольникам. Математический просчет 'от формы' тут врядли возможен.
Пока только идея:
Если мы можем вычислить расстояние между центрами соседних гейм-вертексов -> можем вычислить средний шаг между ними для любой локации.
Если можем узнать кол-во левел-вертексов, укладывающихся в этот шаг -> можем вычислить среднюю плотность и уже ориентировочно кол-во вертексов с учетом края ('окаймления'), т.к. имея ориентировочный шаг между гейм-вертексами -> можно накинуть на края по пол-шага (иль для надежности чуть менее).
Но оптимальным все же было бы найти безопасный метод для валидации любого разумного индекса.
Пока же ... чуть больше -> тихая смерть треда. |
|
|
|
| 04-07-2011 21:21 GMT3 час. #1499299 |
Strchi, если ты изменишь положение spawn-объектов в редакторе, выполнишь команду Compile --> Make Game, из полученных файлов level.spawn собирёшь all.spawn (например aiwrapper'ом (-s)) и положишь его в папку с игрой (если у SDK отдельная папка) так, что он не будет перекрываться другим файлом all.spawn, тогда положение объектов в игре изменится.
По поводу приоритета, вроде, level.spawn не влияет на объекты в игре. |
|
|
|
| 06-07-2011 03:23 GMT3 час. #1499638 |
Максим Р. Ок ясно спасибо
у меня еще вопрос, как сделать такую приятную графику как в солянке? (нехочу чужие файлы брать оттуда) а настроить все сам, (в смысле не текстуры а шейдеры?) я так непонял насчет настройки шейдеров (например перенос из билда 2215 тех самых r2 с тенями и динамическим освещением?) просто я думал сделать зорю утреннюю чтобы тени были как надо! (Красота русской природы))):-) |
|
|
|
| 06-07-2011 13:45 GMT3 час. #1499732 |
Приступил к редактированию автоматов и нашёл такую строчку: min_radius = 30 ; [] for AI - эта строчка что делает и этот коммент что обозначает? И ещё хотел спросить, какая строчка отвечает за точность при одетом глушителе? Dark Skripter, подскажи пожалуйста, в ui_wpn_params.script что надо править если я изменял скорострельность, удобность и точность собираюсь? |
отредактировал(а) Dmitriy_Dark_Stalker: 06-07-2011 14:53 GMT3 час.
|
|
|
| 06-07-2011 16:25 GMT3 час. #1499763 |
Я вот скачал ACDC. Решил попробывать путь сделать. в way на escape сделал свой путь. поставил его к нужному нпс, а он просто по зоне гуляет. Расскажите как пути сделать для НПС или ссылку дайте на обучение.
добавлено спустя 5 минут
И есть где-нибудь учебник по SDK? Ничего там понять не могу... |
отредактировал(а) VOva-VIP: 06-07-2011 16:31 GMT3 час.
|
|
|
| 06-07-2011 21:54 GMT3 час. #1499868 |
VOva-VIP
тут все про СДК и учебник 100%
|
|
|
|
| 07-07-2011 15:16 GMT3 час. #1499962 |
Можно ли в СДК открыть Кордон из одиночной. Если да, то как? |
|
|
|
| 07-07-2011 17:01 GMT3 час. #1499980 |
VOva-VIP перекомпилируй его сначала) сталкер вики в помощь! |
|
|
|
| 07-07-2011 19:29 GMT3 час. #1500036 |
Strchi я сделал всё как там написано. Я вот запускаю .bat собственно сделанный. Там грузит, но останавливается на этом:
И там я всё таки не понял где искать получившийся файл? |
|
|
|
| 07-07-2011 19:34 GMT3 час. #1500038 |
Нужно подождать от 10 и до 1 часа, в зависимости от компа и локации |
|
|
|
| 07-07-2011 19:38 GMT3 час. #1500040 |
Ma$ter это шутка, нет? Ладно час, но 10 это перебор какой то. Неужели это так? |
|
|
|
| 07-07-2011 20:02 GMT3 час. #1500047 |
VOva-VIP От 10 минут до 1 часа)) ждать в смысле |
|
|
|
| 07-07-2011 20:06 GMT3 час. #1500052 |
Мда. Ну вот например я там сделал с кордоном что-нибудь. Как теперь отредактированные уровень вернуть в игру? В wiki ничего не нашёл
добавлено спустя 19 минут
Мда. Я вот дождался. Нашёл файл. Открываю в СДК и на последнем моменте ошибка, типа не может найти что то связанное с helicopter. |
отредактировал(а) VOva-VIP: 07-07-2011 20:25 GMT3 час.
|
|
|
| 08-07-2011 11:19 GMT3 час. #1500251 |
VOva-VIP,
... не может найти что то связанное с helicopter.
Полностью скопируй из геймдаты игры в геймдату СДК папку anims, и будет нормально.
Как теперь отредактированные уровень вернуть в игру? В wiki ничего не нашёл
Плохо искал:-). Вот ссылка на статью
|
отредактировал(а) Angel from Hell: 08-07-2011 11:31 GMT3 час.
|
|
|
| 08-07-2011 11:31 GMT3 час. #1500254 |
VOva-VIP есть там! компиляций уровня в игру нажми в игре параметры задай название и качество (чем меньше тем быстрей) батник в сдк создай и пропиши @start bins\compiler\xrLC.exe -название карты (с тире) которое прописал в параметрах и в кордоне например l01_escape надо в параметрах прописать чтоб в сингле был измененный! если что в ПМ мне пиши! |
|
|
|
| 09-07-2011 11:32 GMT3 час. #1500607 |
Вопрос, а нет ли случаем функции, ускоряющее время? А то нужна такая фигня, чтобы время очень быстро пролетело, пока в игре ночь не наступила. |
|
|
|
| 09-07-2011 12:42 GMT3 час. #1500636 |
Mehanik Yar Метод level.set_time_factor(number). Скорость течения времени в игре. Где, number -- коэффициент скорости (во сколько раз быстрее, должно проходить время в игре, чем в реале). |
|
|
|
| 09-07-2011 13:12 GMT3 час. #1500649 |
Mehanik Yar Вот функции на основе метода**5001618d69873ce82a42** level.set_time_factor(F)
news_manager.send_tip(actor, "%c[0,-170,-45,-170]ТАЙМФАКТОР СТАНДАРТНЫЙ: "..F, nil, nil, 10000)
end[/code]
Брал из keylogger`a |
|
|
|
| 10-07-2011 11:07 GMT3 час. #1500910 |
Можно как нибудь сделать, чтобы actor быстрее доставал оружие, или быстрее перезаряжал, быстрее махал ножом? |
|
|
|
| 10-07-2011 12:35 GMT3 час. #1500942 |
VOva-VIP Можно. Встречный вопрос: А зачем? :-) |
|
|
|
| 10-07-2011 18:46 GMT3 час. #1501090 |
Вопрос, что означает этот лог:
Expression : false
Function : CXml::Init
File : E:\stalker\patch_1_0004\xrXMLParser\xrXMLParser.cpp
Line : 87
Description : XML file:gameplay\game_tasks.xml value: errDescr:Error reading end tag. |
|
|
|
| 10-07-2011 19:57 GMT3 час. #1501103 |
xxx5 А перевести слабо?! Лог говорит о том, что в файле "gameplay\game_tasks.xml" отсут |
|
|
|
| 10-07-2011 20:38 GMT3 час. #1501108 |
karavan а как, если можно? :-) Я просто решил сделать например, если на тебе вблизи монстр напал какой-нибудь. Все конечно если монстр мощный начнут патроны высаживать все. А вот если бы можно было быстро доставать нож и быстро им махать. Куда интереснее, да и патроны тратить не надо. |
|
|
Эта тема закрыта, публикация новых сообщений недоступна.
| | |
|