Глобальная карта мира RO, сотканная из .fld-шек [idea]

Разработка новых функций.

Модератор: 4epT

Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Глобальная карта мира RO, сотканная из .fld-шек [idea]

Сообщение piroJOKE »

Для wx-режима была бы не лишней глобальная карта мира RO, сотканная из .fld-шек. Ведь у нас есть изображение каждой из карт, так? Теперь осталось лишь их расположить на какой-то сетке - и будет карта мира.

Эту карту можно будет использовать просто как "справочник" и ещё для навигации. Ну скажем, ткнешь в нее где-нить - бот туда и пойдеть...
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Аватара пользователя
Rosetta
Грамотный
Сообщения: 155
Зарегистрирован: Вт ноя 21, 2006 7:04 pm

Сообщение Rosetta »

piroJOKE писал(а):Теперь осталось лишь их расположить на какой-то сетке - и будет карта мира.
и всетки ет не так просто... а как же данжи? их на плоскую сетку не сделаеш. Придеца вкладки там всякие делать....
Я както пробовала в хтмле карту мира делать на типа мотровой, но гиморно ето,а толку малко.
Изображение
Tray
Грамотный
Сообщения: 259
Зарегистрирован: Вс ноя 05, 2006 6:17 pm

Сообщение Tray »

отличная кстати идея. Иногда требуется по быстрому указать боту, чтоб он шел к примеру через 3 карты
Я не бот, я просто мозг отключил.
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

Спасибо, но просьба не флудить.
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Angell
Модератор
Сообщения: 43
Зарегистрирован: Сб мар 03, 2007 6:42 pm

Сообщение Angell »

Еше было бы не плохо добавить что-то типа функции создания варп переходов с записью в portals.txt
типа ткнул на карту в 1 точки и на 2 карте во 2 точке и создалась варп строка
Изображение
Аватара пользователя
kLabMouse
Профессионал
Сообщения: 4776
Зарегистрирован: Вс ноя 05, 2006 4:32 pm

Сообщение kLabMouse »

Angell
НАХ трындеть???? Я не вижу на етом форуме (кроме пары мемберов) что хоть хто-то что-то делает сам и делится с другими. Так что нех флудить.
* Что меня касается тоже*
Аватара пользователя
DeniZka
Разработчик
Сообщения: 410
Зарегистрирован: Ср ноя 15, 2006 6:36 pm
Сервер RO:: rRO AsgardRO
Откуда: Mos-Cow Citadel
Контактная информация:

Сообщение DeniZka »

Хочу сделать сие для dKore и отобразить на карте всех работающих ботов.

Помогите разобраться. Открыл gon_test.fld в бинарном виде.

Код: Выделить всё

64 00 78 00 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 .. ..
как я понял все 01- это non-walkable block

Код: Выделить всё

0 = walkable block 
1 = non-walkable block 
2 = non-walkable water (not snipable) 
3 = walkable water 
4 = non-walkable water (snipable) 
5 = cliff (snipable) 
6 = cliff (not snipable) 
7 = unknown
а что есть 64 00 78 00?
Изображение
1t 1$ t00 900d d4y 2 d1e

?(???)?(???)?( ?Д?)?
Аватара пользователя
Gans
Грамотный
Сообщения: 162
Зарегистрирован: Вт дек 26, 2006 12:20 pm

Сообщение Gans »

Очевидно, заголовок файла. ;) Например, размер карты.
Насколько я помню, в Вики ОпенКоры описан формат fld-шек.
Изображение
Аватара пользователя
Jerry
Профессионал
Сообщения: 1047
Зарегистрирован: Сб ноя 04, 2006 12:26 pm
Контактная информация:

Сообщение Jerry »

размер по x, размер по y
Аватара пользователя
DeniZka
Разработчик
Сообщения: 410
Зарегистрирован: Ср ноя 15, 2006 6:36 pm
Сервер RO:: rRO AsgardRO
Откуда: Mos-Cow Citadel
Контактная информация:

Сообщение DeniZka »

Разобрался.
Размер карты высчитывается следующим образом:

Код: Выделить всё

Ширина = D1b + D2b * 256
Высота = D3b + D4b * 256
Пример:

Код: Выделить всё

gon_test.fld
64 00 78 00 -это HEX, переводим в DEC
Ширина = 100 + 0 * 256 = 100
Высота = 120 + 0 * 256 = 120
Еще пример:
prontera.fld

Код: Выделить всё

38 01 88 01
Ширина = 56 + 1 * 256 = 312
Высота = 136 + 1 * 256 = 392
Остальные байты - это построчная отрисовка пикселя каждого поля, снизу вверх.
Изображение
1t 1$ t00 900d d4y 2 d1e

?(???)?(???)?( ?Д?)?
Ответить