Сообщений: 1,065
Тем: 33
Зарегистрирован: Jul 2012
Репутация:
2,109
KilRoy Написал:Тру отцы используют для редактирования ХуманДварфЕдитор, подвинченный Дрином. Ну и коннекторы к клиенту + девмод клиента + билдер клиента. Инфа? инфы тонны, правда по билдеру - придется самому чуток мозг включать
можно ссылочки на сие божественные програмки:redlol:
Сообщений: 2,267
Тем: 6
Зарегистрирован: Aug 2009
Репутация:
8,698
Zubastic Написал:ANZO, этот пост с ссылкой остался:
Ссылки помоему достаточно.
ps самого интересует, начал читать тему в 200 страниц - тупой брейнфак, хотя это не выгодно продавцам гео ибо бизнес явно накроется...
Добавлено через 6 минут
Вообщем как я понял:
1) билдим клиентом гео (оффлайк билд)
2) редактируем гео, исправляем глюки билдера оффа
3) получаем профит
Гео сейчас мало кто продает, имеется ввиду собственноручно сгенеренную.
На рынке в основном остались реселлеры, которые одну и туже гео по 150 раз продают на дню дорисовывая выдуманные ревизии. Хотя там править нечего если гео билдится как положено, как грится сбилдил и забыл.
На сколько я понял автору не нужна инфа как билдить гео, а как ее редактировать, редактировать онли HDGE или L2MGeoEditor других софтин лучше этих в шаре просто нет.
P.S. Да и если честно сейчас гео практически никто не покупает, гео от С4 до HF давно по енету в свободном доступе гуляет бери не хочу. А ГоД++ серверов не так много что бы срывать большие суммы за гео. Прошли те времена когда за гео стазиса килобаксы отдавали.
Сообщений: 1,065
Тем: 33
Зарегистрирован: Jul 2012
Репутация:
2,109
darkevil Написал:Гео сейчас мало кто продает, имеется ввиду собственноручно сгенеренную.
На рынке в основном остались реселлеры, которые одну и туже гео по 150 раз продают на дню дорисовывая выдуманные ревизии. Хотя там править нечего если гео билдится как положено, как грится сбилдил и забыл.
На сколько я понял автору не нужна инфа как билдить гео, а как ее редактировать, редактировать онли HDGE или L2MGeoEditor других софтин лучше этих в шаре просто нет.
P.S. Да и если честно сейчас гео практически никто не покупает, гео от С4 до HF давно по енету в свободном доступе гуляет бери не хочу. А ГоД++ серверов не так много что бы срывать большие суммы за гео. Прошли те времена когда за гео стазиса килобаксы отдавали.
спасибо уже скачал, буду править че)
да в шаре стизиса только фрея, HF не найти, всем нужны деньги) я бы дал бы денег за гео от стизиса HF, да не кто не продает чет
Сообщений: 5,863
Тем: 105
Зарегистрирован: Sep 2010
Репутация:
13,014
darkevil, оно мне нужно Хочется своими руками с генерить. В шаре есть, но свое как-то роднее и для понимания норм.
Сообщений: 2,102
Тем: 40
Зарегистрирован: Apr 2008
Репутация:
12,296
Вообще по хорошему - начинать нужно с темы про БуилдЗону. А дальше - думать и учится
Сообщений: 2,267
Тем: 6
Зарегистрирован: Aug 2009
Репутация:
8,698
Zubastic Написал:darkevil, оно мне нужно Хочется своими руками с генерить. В шаре есть, но свое как-то роднее и для понимания норм.
То что я выкладывал и описывал тут на форуме что и где нупить будет достаточно чтобы понять что к чему и даже сбилдить гео, я практически 80% инфы дал для изучения, оставшиеся 20% - это как довести билдер до совершенства.
Сообщений: 5,863
Тем: 105
Зарегистрирован: Sep 2010
Репутация:
13,014
KilRoy Написал:Вообще по хорошему - начинать нужно с темы про БуилдЗону. А дальше - думать и учится Я ее начал читать как-то, 50 страниц особой радости не представляют
Сообщений: 2,303
Тем: 24
Зарегистрирован: Sep 2010
Репутация:
5,617
Это мне напоминает:
Сообщений: 5,863
Тем: 105
Зарегистрирован: Sep 2010
Репутация:
13,014
10-16-2012, 04:18 PM
(Сообщение последний раз редактировалось: 10-16-2012, 04:49 PM Zubastic.)
darkevil, хм, вот нашел.
Мб сделать тему Vol2 и перезалить и вынести все нужное из первой темы?
Все ссылки соотвественно умерли (дамп, он такой).
Добавлено через 2 минуты
Вообщем буду сейчас читать тему http://forum.zone-game.info/showthread.php?t=2890 и выносить что-то интересное.
Добавлено через 3 минуты
KilRoy, завтра, если все пройдет гладко, посылка уйдет к тебе . А то я все никак до почты не дойду(
копипаст с старой темы
старый билдер
Цитата:Для билда квадратов гео с клиента, эта папка уже полностью готова.Также проставлены правильные коллизии (Надеюсь что проставлены )
geostudio - ( Сама папка с активированной буилдзоной)
Alpha - ( Прога для склеивания нескольких билдов)
PandasBuildzoneConv - ( Прога для конверта полученного билда в готовый квадрат геодаты)
Остальное (HD GeoEditor, L2EncDec) найдёте на просторах инета.
Так-же если что-то непонятно, советую обратиться на форум ПП (http://www.postpacific.com/)
==============
!!!ВАЖНО:Для правильной смены названия папки (geostudio) нужно также прописать новое
название в l2.ini (Надеюсь разберётесь )
==============
/-----------------------------------------------------------------------------------\
Краткое описание процесса билда квадрата:
1) Меняем LocalMap=16_10.unr (16_10.unr) в l2.ini, на нужный нам.
(к примеру 20_17 = LocalMap=20_17.unr (!!!Не забывайте что .unr нужен ))
2) Важно учесть, что квадрат за 1н раз не сбилдишь полностью, приходиться делать 3 захода,
следовательно при 1м билде опцию "IsL2Seamless" в l2.ini, ставим на "false".
а) 1й билд: IsL2Seamless=false (Билдим с любой точки заданного квадрата)
б) 2й билд: IsL2Seamless=true (Билдим с правого края, визуально найти центр края квадрата (отступ делать на 2ва блока (блок=8точек) NSEW, по редактору геодаты)
в) 3й билд: IsL2Seamless=true (Билдим с нижнего края, визуально найти центр края квадрата (отступ делать на 2ва блока (блок=8точек) NSEW, по редактору геодаты)
P.S чтобы не бегать как дибил по квадрату в клиенте, просто открываем такойже квадрат геодаты любой другой команды,
ищем края, выделяем любую ПРОХОДИМУЮ (Чтобы перс на неё мог стать и не скатиться в низ и т.д) точку,
запоминаем координаты (Вида: XXXXXX, YYYYYY, ZZZZZZ) и в запущенном клиенте прописываем их через "c_teleport X= Y= Z=" (Без кавычек)
3) Вроде все настройки проставили, запускаем клиент, если это 1й билд то с любого места в консоле ( ~ - тильда (Она-же "Ё")),
пишем волшебное слово buildzone map=XX_YY (тут без .unr (место XX_YY пишем то что прописали в l2.ini на "LocalMap=")).
После ввода команды, клиент как бы поймает фриз, если этот фриз длиться уже 5 минут, то всё проходит успешно .
4) После удачного билда клиент отвиснет, а в папке появится файл "x_path.txt" (за место Х, будет первая цифра квадрата (Тоесть если квадрат
19_20, то будет 1_path.txt, если 20_11 то 2_path.txt)). Копируем его в любое удобное место, переименовываем к примеру в
XX_YY_center.txt (Если это первый билд то center, если 2й то leftside, если 3й то downside (ну все это лишь для удобства )
5) Дальше добилдиваем оставшиеся стороны (не забываем менять IsL2Seamless в l2.ini).В итоге получится 3 файла, каждый весом ~100МБ.
Запускаем программу Alpha, выбираем в "Сколько файлов объединить" - 3, в каждое окошко засовываем наши 3 сбилденных ТХТ файла
(Важно, квадрат что билдили с IsL2Seamless=false должен быть засунут в 1е окошко!!!), далее жмём "Сохранить в...", пишем имя файла и сохраняем.
6)Открываем PandasBuildzoneConv, в поля X и Y пишем то что писали в LocalMap в l2.ini, далее жмём "Load *_path.txt", выбираем ТХТ файл
сделанный через прогу Alpha, она пару секунд проанализирует файл и дальше станет активным окно "Save *_conv.dat", используем его по назначению
В итоге получается готовый квадрат НО на расстоянии в 2ва блока остаётся маленькая линия по правому и нижнему краю, их надо будет убирать,
тут помогут мануалы по редактированию геодаты (гугл в руки + надо будет вручную дорисовать правый нижний угол (4ре блока)
Также, если в квадрате есть двери, то в помощь l2wh.com + мануалы на просторе по декодированию и обратному шифрованию файлов л2
(Расшифровать и обратно нужно именно тот квадрат в котором есть двери)
\-----------------------------------------------------------------------------------/
© KilRoy - Специально для DuoTM (http://duotm.com)
Цитата:Писать необходимо: buildzone map=XX_YY width=65535 top=65535.
Цитата:IsL2Seamless=false использовалось на билдерах эпохи СТ1.5 - ГП2 (На билдерах от фьюри) и они не вызывали никаких критов.
Цитата:xD ей богу, это смешно. Для начала хотя бы наглядно смотрим что делает данная опция (При труе грузится вся карта л2, при фалсе лишь заданный квадрат)
Можно билдить с труе, но для этого всего лишь ставим перса в центр квадрата. Вот и вся наука.
можно до кучи попробовать билдить с центра + с командами width и top равными 65535. Хотя врятли они чем помогут, т.к там отключён так называемый приёмник команд на fworldbilder
Цитата:Смотрю тема умерла окончательно видимо в связи с тем что в нете валяется чертова туча гео под разные хроники. Но разве не интересно разобраться в процессе билда гео?
Собственно сам продвинулся не так далеко, но некоторые идеи все же есть.
Всем известный мануал от Фьюри можно похоронить т.к. нету его старых дллок на основе которой писался мануал, мануал который написан на mmocore жалкое подобие сделать билдер и сделан совершенно бездумно на скорую руку, отсюда (как многие думают) время билда, хотя если смотреть через дебагер то билдер похоже уходит в бесконечный цикл при построении мира.
Хочу поделиться своими мыслями, ну и просто для единомышленников т.к. застрял на важном в билдере - это работа с ослоями.
1. Метод разлочки билда: Билдим в ручную с указанием width и top, определяет кол-во слоев корректно но билдит всего 1н уровень. (Часто пре билде "виснет", процесс l2 не завершается просто нет никакой активности, на разных картах по разному бывает билдит бывает нет, не смог понять почему)
2. Метод разлочки билда: Билдим в ручную с указанием width и top, определяет кол-во слоев корректно билдит вроде все слои. (Часто пре билде "виснет", процесс l2 не завершается просто нет никакой активности, на разных картах по разному бывает билдит бывает нет, не смог понять почему)
Эти два метода не очень удобны т.к. билд происходит от точки где стоит "чар" по направлению вниз и вправо, да и вменяемого билда где width больше чем 22000 я не смог добиться, на разных картах по разному, видно из за слоев он на них похоже запинается.
3. Метод разлочки билда: Билдим автоматом всю карту сразу достаточно команды buildzone map=X_Y без width и top, "чар" выставляется в блок [0:0] и билдит до блока [2047:2047], определяет кол-во слоев корректно но опять таки билдит только 1н уровень. (Пока остановился на этом варианте т.к. билдит всю карту сразу но подходит больше для мест где нету закрытых мест откуда "чар" не сможет выбраться, если "чар" попадает в такого рода место билд либо прерывается не закончив билд карты до конца или вылетает крит. Но опять таки билдит не все карты, карты где есть возвышающиеся острова например деревня светлых эльфов он тоже впадает в какой-то своего рода ступор, не вылетает не критует, но и не билдит ждал довольно продолжительное время и без результатов.
4. Метод такой же как и 3й только только билдит все слои куда может добраться "чар". (Не применим т.к. почти на всех картах впадает в ступор), прокатило только на карте 25_21 (ЛОА) но тоже через жопу, т.к. везде где "чар" смог беспрепятственно передвигаться сбилдилось нормально, а вот в само логово "чар" попасть не смог и в итоге само (ЛОА) не билдся.
Вывод, возможно 4й метод верный, но я не смог дождаться времени билда, но также возможно метод не верный в корне и рыть нужно куда-то еще.
Провел очень много времени с дллкой, но так раскрыть и понять все не смог, почему чар отказывается билдить карты некоторые, почему отказывается билдить карты почти всегда с включенной генерацией всех слоев, как заставить чара проникать в те места куда не попасть допустим без ТП на примере (ЛОА), это те вещи над которыми я думаю по сей день.
P.S. Тему развиваю ради интереса т.к. порой такие загадки очень затягивают ну и увлекают до жути
Теперь от слов к практике.
Рассматривать все мои методы не буду, рассмотрю только 3й т.к. отличия между ними минимальны, отличаются только переходы от одного участка кода к другому etc.
За основу была взят faq с ммокора только доработана и без дурацкого "нупа", хроники HF.
Скажу прямо в асме не силен и как работают некоторые блоки не разобрался да и какое несут значение тем более, все познавалось методом проб и ошибок, угробив очень много времени и бессонных ночей.
1. Сразу разлочим вывод x_path.txt дабы потом туда не возвращаться:
Код: .text:201B19FA cmp dword ptr [ebx+4], 0
.text:201B19FE jnz loc_201B1BA0 (Изменяем на jz)
.text:201B1A04 lea edx, [ebp+64h+var_638]
.text:201B1A0A push edx
.text:201B1A0B push offset aS_path_txt ; "%S_path.txt"
2. На сколько я понял это переход на метод который как раз и билдит т.е. строит NSWE.
Код: .text:201B08BF loc_201B08BF: ; CODE XREF: FWorldBuilder::buildWorldStructure(ULevel *,wchar_t *,UViewport *,int,int)+9B9j
.text:201B08BF cmp [ebp+64h+var_C8], 0
.text:201B08C3 jz loc_201B10C2
.text:201B08C9 cmp dword ptr [ebx+4], 0
.text:201B08CD jz loc_201B0C32 (Изменяем на jnz)
.text:201B08D3 xor esi, esi
3. Если правильно понял этот переход на метод который строит карту высот.
Код: .text:201B0339 mov [eax+8], esi
.text:201B033C cmp dword ptr [ebx+4], 0
.text:201B0340 jz short loc_201B035A (Изменяем на jnz)
.text:201B0342 mov esi, [ebp+64h+arg_4]
.text:201B0345 push esi
4. Переход не маловажный, если его не менять то билдить нужно будет задавая width и top, если делаем джамп то билдить будет автоматом с блока [0:0]
Код: .text:201AFD45 loc_201AFD45: ; CODE XREF: FWorldBuilder::buildWorldStructure(ULevel *,wchar_t *,UViewport *,int,int)+224j
.text:201AFD45 cmp dword ptr [ebx+4], 0
.text:201AFD49 jz loc_201AFE0E (Изменяем на jnz)
.text:201AFD4F fstp st
.text:201AFD51 fld dword ptr [edi+1B4h]
Допустим все это мы сделали, теперь тестим что у нас вышло т.к. мы сделали некоторые финты билдит карту от 5 минут до 20, если не зависает, если висит долго без изменений то можно завершать процесс т.к. он не сгенерит мапу (Хотя я могу ошибаться, ведь все карты различаются как по уровням(слоям) так и по сложности в связи с кучей разных объектов которые ему нужно "обрисовать", но я вроде оставлял на сутки когда билд подвисал и ничего в итоге не выходило, процесс так и висел.)
Сделал для примера карту 18_21 и вот что вышло: http://file.karelia.ru/4rtdsg/
Как мы можем заметить есть огромный косяк с билдом, бросается в глаза что сбилден только 1н уровень если не видите сравните с гео из пака pts фреи который выкладывали в шару.
По идее переход который вроде как отвечает за многослойность:
Код: .text:201B01D1 loc_201B01D1: ; CODE XREF: FWorldBuilder::buildWorldStructure(ULevel *,wchar_t *,UViewport *,int,int)+6B3j
.text:201B01D1 cmp dword ptr [ebx+4], 0
.text:201B01D5 jnz loc_201B0285 (Меняем на jz)
.text:201B01DB mov eax, ds:?GWarn@@3PAVFFeedbackContext@@A ; FFeedbackContext * GWarn
.text:201B01E0 mov eax, [eax]
.text:201B01E2 mov ecx, [eax]
.text:201B01E4 push offset aSettingInitial ; "Setting Initial Points"
Но тогда мапы при билде просто в какой-то момент замирают, и походу перестают билдиться, трудно сказать т.к. с таким методом у меня сбилдилась только одна мапа 25_21 и то криво, на других мапах либо начинает билдить и зависает, либо просто процесс умирает с завершением.
Вообще мб есть кто продвинулся в этой теме дальше? И кому не жалко хотя дать совет что не так делаю или куда копать дальше.
P.S. На очепятки не смотреть т.к. в лом было проверять и так 2е недели над билдером просидел.
P.S.S. За основу брал Engine от HF которую выложила в своем блоге Фьюри за что ей огромное спасибо.
Вот еще парочка копипаст
Добавлено через 33 секунды
darkevil, :redlol: только что скопировал и вынес
Добавлено через 14 минут
Цитата:Не забываем про двери (Вырезать ) ну и не начинаем билдить из крытых мест (каты, скрытые комнаты и т.д)... <--- вот это проблема на самом деле...
Цитата:Цитата:Есть мнение что есть места где еще нужно фиксить, кроме метода FWorldBuild
Вот что у меня получилось на карте 22_22 (забыл двери только вырезать).
http://file.karelia.ru/rvsgtj/
Goddess of Destruction 404pr
Код: JZ = JE
201D7B95 |> 837B 04 00 CMP DWORD PTR DS:[EBX+4],0
201D7B99 |. 0F84 BF000000 JE Engine.201D7C5E <-- Отрубаем реагирование на Width TO JNZ
201D818C |. 837B 04 00 CMP DWORD PTR DS:[EBX+4],0
201D8190 |. 74 3A JE SHORT Engine.201D81CC ?? кАРТА высот to JNZ
201D8709 |. 837B 04 00 CMP DWORD PTR DS:[EBX+4],0
201D870D |. 0F84 59030000 JE Engine.201D8A6C , NWSE to JNZ
201D980F |> 837B 04 00 CMP DWORD PTR DS:[EBX+4],0
201D9813 |. 0F85 9C010000 JNZ Engine.201D99B5 TO JZ
201D9819 |. 8D95 24FAFFFF LEA EDX,DWORD PTR SS:[EBP-5DC]
201D981F |. 52 PUSH EDX
201D9820 |. 68 AC326320 PUSH Engine.206332AC ; ASCII "%S_path.txt"
20290A80 > 55 PUSH EBP
[WorldBuildOptions]
RunWalkbuild=true
GeoTestDuringBuild=false
RunPostBuild=false
Таким образом квадраты генерируются 5-20 минут.
НО не генерирует закрытые помещения, или локации в которые клиент запрещает проходить... Например не генерирует музей под новым Говорящем Островом
В чем может быть проблема?...
Цитата:Как я помню по билдерам фьюри - у неё перс ставился в 1, ибо 1я клетка всегда имела битую координату "0" (но при этом на клетке висела НСЕВ) - ну это если мне память не изменяет
---
Цитата:Висяк исчезает когда в куске кода где происходит инициализация физ процессоров с 4х выставить на 1, что логично т.к. у меня 1н камень.
Вот тогда он нигде не зависает и билдит все бодренько, на карту мин 10-20. Простые мапы так вообще как с пулемета выплевывает.
Сообщений: 2,267
Тем: 6
Зарегистрирован: Aug 2009
Репутация:
8,698
Zubastic Написал:darkevil, хм, вот нашел.
Все ссылки соотвественно умерли (дамп, он такой).
Мб сделать тему Vol2 и перезалить и вынести все нужное из первой темы?
Да на ммокоме тема про билдзону умерла еще во времена Камаеля все что там написано не актуально.
Бери за основу: http://forum.zone-game.info/showthread.p...one&page=9
|