Server Banner

BBya World

Объявление

Мы переехали на новый форум: forum.bbyaworld.com

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » BBya World » Геймплей » Сетка зон влияния кланов


Сетка зон влияния кланов

Сообщений 1 страница 20 из 108

1

Сабж.

Бресс и Драсс, нужна помощь:

- я хочу нанести сетку в виде сот на динмапу, это будут "зоны влияния" кланов;
- сетку я создам сам и всё оформлю;
- но мне её надо как-то планировать, подготовить локально;

- для этого мне нужен какой-нибудь файлик (например, фотошоп, корел или ещё что-нибудь посовременнее и проще) или онлайн сервис;
- мне нужна координатная сетка с центром отсчёта в центре :)
- всё как обычно: по оси "Х" от "0" вправо циферки будут увеличиваться, влево уменьшаться, а по оси "Y" вверх увеличиваться, вниз уменьшаться;
- по сути, это будет координатная плоскость, которая будет олицетворять координаты и плоскость нашего мира;
- она должна быть пролинована достаточно крупно и каждая клетка должна соответствовать каждому блоку в нашем игровом мире (эта плоскость должна масштабироваться скролом как динмапа, т.к. она будет достаточно большой и увеличиваться с размером карты);
- в идеале, чтобы координаты каждой конкретной клетки показывались как в фотошопе и том же кореле при наведении мышки на соответствующую координату, а в низу экрана просто показывается положение мышки (которое соответствовало бы координатам в игровом мире);

- я бы наложил на такую координатную плоскость соты нужного мне размера, пометил бы их "S00001", "S00002" и т.д.;
- а наводя на углы мышку, я бы просто смотрел нужные мне координаты для работы с динмапой;

- при увеличении карты, я бы просто дорисовывал бы соты и продолжал бы работать с новыми объектами :)

Вот такая вот задачка :)

Есть идеи? :)

2

Только одна идея. По старинке сделать компановочный скрин нашей карты и запихнуть его в фотошоп: каждый пиксель = блоку на карте
А с координатами эт чета нереальная замута какаят.

3

надо отскринить все в масштабе 1блок х 1пиксел. Потом просто выставлять центр координат в реальном центре
Будет время могу сделать

4

Ой, а давайте без скрина??

Нам правда не надо ничего скринить!
Нам надо нарисовать соты на динмапе!!

К сожалению, они рисуются по координатам...
Для этого нам нужно знать или высчитывать координаты: я предлагаю не высчитывать их, а просто подсматривать на координатной плоскости, где будут нарисованы наши соты :)

Нам как раз не нужно изображение мира:

- нам нужны только координаты;
- и соты;

Создал тестовую соту над спауном:

- фишка в том, что нужно накидать этих сот на координатную плоскость;
- а потом просто использовать координаты, наводя мышку на углы сот в этом файле;
- из этих координат создавать объекты на динмапе;

P.S.: мне кажется, Бресс лучше поймёт, что надо, для чего и как это делается... и лучше объснит это Драссу, чтобы Драсс мог предлагать идеи :)

5

Можно как вариант в иллюстратре или кореле создать решетку с линиями-помошниками и затем порасставить точки по узлам, и затем тупо смотреть координаты каждой

Если форма и размер утвердились на первой уже созданной на карте то можно продолжить в том же духе

6

я нифига не понял и умываю руки  :canthearyou:

7

Я оч. извиняюсь, что запудрил вам мозги...

Упростил задачу и все проблемы решились сами собой:

- единственная задача это нарисовать правильный шестиугольник примерно такого размера, как он уже есть на динмапе: мне не нравится нынешний и, скорее всего, я просто ошибся с размерами сторон;

Bress Oster написал(а):

Если форма и размер утвердились на первой уже созданной на карте то можно продолжить в том же духе

Как раз я не уверен, что он правильной формы - хочу красивую форму, как на скринах, но не знаю, что я сделал не так (размеры должны остаться примерно такими, как сейчас на карте):

http://s9.uploads.ru/t/gTJH1.jpg http://s8.uploads.ru/t/GUtd7.jpg


Итак, определяемся с формой и как мы будем это всё высчитывать и масштабировать:

- вся фишка будет в названии сот, которое будет содержать всю необходимую инфу для внесения изменений в существующие соты и создания новых;
- все соты будут разделены на 4 группы, каждая из которых будет находиться в одном из четёрёх секторов "воображаемой координатной плоскости";
- названия сот будут начинаться с символов SW, SE, NE, NW (очевидно, что это обозначения сторон света соответствующие своим секторам на "воображаемой координатной плоскости");

http://s8.uploads.ru/t/VWiYa.jpg

- и называться соты будут соответственно своей области (цифрами кодируются координаты по осям "Х" и "Y" от начала координат до бесконечности): "00_0000-000" или "NW_0025-002" (это 25 по горизонтали от центра координат шестиугольник во втором ряду по вертикали, в области NW);
- таким образом, мы легко можем вычислить координат центров нужных нам шестиугольников, а уже от координат центра элементарно рассчитать координаты углов (этим буду заниматься я);
+ решается ещё одна важная проблема: добавление новых "сот" после расширения карты так, чтобы не сбивался порядок и нумерация;

И, кстати, вот как должна выглядеть сетка из сот, чтобы это было стильно!!

http://s8.uploads.ru/t/tZTlw.jpg

Вот, почему мне не нравилась предыдущая фигура - нужно было просто повернуть шестиугольник углами вверх и вниз :)

Осталось только прописать формулы расчёта координат центров шестиугольников и проблема решена!!
Всем спасибо :)

Формулы распишу в первом сообщеении и в теме с настройкой плагина, когда определимся с размерами (вероятно, это будет равнобедренный шестиугольник с "радиусом" = 50, для ровного счёта центров).

Вид формулы будет простым:

- допустим, вам надо поработать с 325-ой сотой по горизонтали в 5-ом ряду области NW (называться эта сота будет "NW_0325-0005");
- название соты будет соответствовать id-области в динмапе (соответственно, её будет легко изменить);

+ допустим, к ней пририсовать 326-ую соту в этом же ряду этой же области;

Для этого нам нужно найти координаты центра 325-го шестиугольника по следующей формуле:

"Коррдината центра Х" = (325 / 2) х (50 х 2) - 50;

"Координата центра Y" = (5 / 2) х (50 х 2) - 50;

"Координаты центра нужного шестиугольнкика X Y Z" = 16200 100 200

Далее легко вычислить координаты всех углов, если понадобится:\

- верхний угол: 16200 100 250;
- нижний: 16200 100 150;

- левый верхний: 16250 100 225;
- левый нижний: 16250 100 175;

- правый верхний: 16150 100 225;
- правый нижний: 16150 100 175

Типа, поработали...

- теперь пририсовываем 326-ую соту;
- берём координаты 325-ой и увеличиваем координату "Х" на 100 = 16300 100 200;
- высчитываем углы для нового шестиугольника;
- создаём новую область: /dmarker addarea id:NW_0326-0005 "NW_0326-005 (free)" set:Clans color:404040 fillcolor:8080808 fillopacity:0.1 weight:1


Та-да-ммммм....  :jumping:

Теперь поправьте мои ошибки и я всё сделаю )))))

8

ДЕБИЛЫ!!!

ето не равнобедренный шестиугольник!
см скрин
http://s8.uploads.ru/t/340iU.png

приму благодарность в виде ББ за правильное ориентирование шестиугольника в пространстве

9

Dosia написал(а):

ДЕБИЛЫ!!!

дебил - остальные просто мыли руки )

10

Dosia написал(а):

ДЕБИЛЫ!!!
ето не равнобедренный шестиугольник!
см скрин

Бл..ин, вот зачем обзываться. Та фигура что уже есть тоже отлично стакается с себе подобными!!!
Другой вопрос, что хочется именно равнобедренный!!!!

11

Dosia написал(а):

ДЕБИЛЫ!!!

Сам дебил

12

Bress Oster написал(а):

Бл..ин, вот зачем обзываться.

я ему так сказал написать )

Bress Oster написал(а):

хочется именно равнобедренный!!!!

не - не хочется:

1. тот, что на скрине Доси вполне себе "равнобедренно" выглядит, хоть и показано, что он не равнобедренный;
2. зато этот скрин полностью подтверждает расчёты и позволяет пользоваться удобными координатами :)

13

VELVET написал(а):

2. зато этот скрин полностью подтверждает расчёты и позволяет пользоваться удобными координатами

Согласен, что там не равнобедренный и согласен, что нам нужны округленные дельты

И если уж следовать положению и размеру уже существующей, то это будет так

http://s8.uploads.ru/t/JK9Ot.png

14

считай что у нас самая длинная дельта 160 и маленькая 80. и 160 в высоту

прошу учесть что у нас 2 блока с нулевыми координатами.
ибо:
0,0     0,-0
-0,0   -0,-0

Собственно столб в центре вселенной нанимает эти нулевые координаты

15

скрин стака

16

Bress Oster написал(а):

И если уж следовать положению и размеру уже существующей

не - надо повернуть соты на 90 градусов в любую сторону, чтобы вверху и внизу был углы, а не "бёдра" (так будет красивее) :)

Bress Oster написал(а):

считай что у нас самая длинная дельта 160 и маленькая 80. и 160 в высоту

прошу учесть что у нас 2 блока с нулевыми координатами.
ибо:
0,0     0,-0
-0,0   -0,-0

не оч. понял, как связаны размеры 80 и несколько нулей в центре и что нужно делать?
и как надо правильно высчитывать координаты центров сот и их углов, что изменится в расчётах выше?


+ не слишком ли большая площадь для одной соты получится??

Я не знаю, каким должен быть размер этих сот, но они должны быть:

- не слишком большими и не слишком маленькими;
- чтобы с одной стороны кланы не тратили кучу времени на захват территории по 1000 маленьких сот;
- но с другой стороны, они не должны захватить сразу пол карты, просто набрав 20 участников...
- и даже 10% территории для одного клана это достаточно много (если только это не какой-нибудь оч. древний и мега-крутой клан, который вполне себе может и 30% захапать);

Как вообще будет происходить захват сот??

- добавить можно будет только соседние соты с уже вашими;
- точно с помощью количества участников: в любой момент добавление нового участника обязует основателя клана к добавлению новой соты;
+ их нужно разрешить покупать за изумруды (цена как раз будет зависеть от размера соты): в любомй момент основатель клана может подготовить нужное количество изюма и добавить нужное количество сот;
+ цена в изумрудах должна увеличиваться в зависимости от количества уже имеющихся сот;

Как будет увеличиваться цена (стоимость сот):

- первая сота выдаётся бесплатно, т.к. её дают при регистрации клана основателем, который является игроком-участником;
- любую соту можно добавить, приняв нового участника;
- если нужно купить соту, то стартовая цена для соты будет, например, в размере 10 стеков изумрудных блоков (5 760 изумрудов);
- каждая следующая сота будет стоить на 2 стека изумрудов больше;
- чтобы определить стоимость соты, нужно будет либо посмотреть список цен как с сундуками, либо посчитать самому;
- важно, что при расчёте стоимости будут учитываться все существующие соты, даже, если они были получены бесплатно;

- например, в любой момент можно всегда добавить бесплатно новую соту, приняв нового участника;
- но при этом 10-ая сота всегда будет стоить 26 стеков изумрудных блоков;

Цены на соты:

.

1 - бесплатно
2 - 10 стеков (5 760)
3 - 12 стеков (6 912)
4 - 14 стеков (8 064)
5 - 16 стеков (9 216)
6 - 18 стеков (10 368)
7 - 20 стеков (11 520)
8 - 22 стека (12 672)
9 - 24 стека (13 824)
10 - 26 стеков (14 976)
11 - 28 стеков (16 128)
12 - 30 стеков (17 280)
13 - 32 стека (18 432)
14 - 34 стека (19 584)
15 - 36 стеков (20 736)
16 - 38 стеков (21 888)
17 - 40 стеков (23 040)
18 - 42 стека (24 192)
19 - 44 стека (25 344)
20 - 46 стеков (26 496)
21 - 48 стеков (27 648)
22 - 50 стеков (28 800)
23 - 52 стека (29 952)
24 - 54 стека (31 104)
25 - 56 стеков (32 256)
26 - 58 стеков (33 408)
27 - 60 стеков (34 560)
28 - 62 стека (35 712)
29 - 64 стека (36 864)
30 - 66 стеков (38 016)
31 - 68 стеков (39 168)
32 - 70 стеков (40 320)
33 - 72 стека (41 472)
34 - 74 стека (42 624)
35 - 76 стеков (43 776)
36 - 78 стеков (44 928)
37 - 80 стеков (46 080)
38 - 82 стека (47 232)
39 - 84 стека (48 384)

Самое интересное - это захват чужих сот (элементарно и красиво):

- чужую соту можно будет захватить только, если она соседняя к вашим;
- захват чужих сот будет происходить по той же схеме, что и свободных;
- основная фишка в том, что стоимость захвата для влиятельного клана с 30-ю сотами 31-ой чужой соты будет стоить для него 39к зиумрудов;
- а для начинающего клана с 10-ю сотами будет стоить всего 16к изумрудов :)
- нельзя захватить стартовую соту с флагом, если рядом с ней есть соседние этого же клана или у этого клана есть зоны влияния в других местах;
- чтобы полностью "уничтожить"/расформировать враждебный клан, нужно полностью захватить все его соты ("стартовая сота" с флажком захватывается в последнюю очередь);
- после расформирования клана все его участники перестают быть участниками клана и становятся обычными игроками;

Как учитывать мёртвые души и вовремя отнимать таких несуществующих участников?

- во-первых, по желанию основателя или самого участника, который хочет выйти из клана;
- во-вторых, если игрока банят или он просто давно не играет и я его вычёркиваю из списка игроков (кстати, в клан нужно разрешать брать только граждан, что вполне естественно);
+ основная фишка будет в том, что уходящий участник забирает "свою" соту: какую именно - может выбрать основатель;

Отличительные особенности кланов:

- уникальный цвет сфер влияния;
- уникальное название;
- клан-код над башкой? :)
- услуга покраски алмазной брони в цвет клана?

17

Ну как вариант попробуй размер 50 или 60
дельты 50;100  и 60;120 соответственно.

На счет координат в центре, просто учти, что у фигур, которые пересекают нулевые оси может на 1 блок смещатся координата. Хотя это может и не принципиально, никто и не заметит.

Поворот фигуры тогда как у доси

как считать:
пусть у нас дельта 60

           0, -60        x+60         x+60           x+60
         /        \     /        \
       /           \  /            \
  -60,-30     60,-30         x+120         x+120
      |             |               |
      |             |               |
      |             |               |
  -60, 30      60, 30         x+120         x+120
        \          / \             /
         \       /     \         /
          0, 60        x+60         x+60           x+60
            |             |               
            |             |               
            |             |             
          y+60        y+60
              \          /
                \       /   
                  y+120
тут изначальные координаты и смещение по дельте

18

Bress Oster написал(а):

На счет координат в центре, просто учти, что у фигур, которые пересекают нулевые оси может на 1 блок смещатся координата. Хотя это может и не принципиально, никто и не заметит.

надо их сделать исключительными, чтобы остальные фигуры не страдали )

19

VELVET написал(а):

надо их сделать исключительными, чтобы остальные фигуры не страдали )

не пострадают, если у других фигур устанавливать те же координаты по углам

20

ладно, вкурю ближе к делу )


Вы здесь » BBya World » Геймплей » Сетка зон влияния кланов