Единственное что нашел это вывод по сравнению с зоной в say2:
Код:
int region = MapRegionTable.getInstance().getMapRegion(activeChar.getX(), activeChar.getY());
for(L2PcInstance player : L2World.getInstance().getAllPlayers())
{
if(region == MapRegionTable.getInstance().getMapRegion(player.getX(), player.getY()))
{
player.sendPacket(cs);
}
Но здесь из активчар получает координаты персонажа, затем сравнивает с плеерами, которые входят в регион и тогда уже выводит \ или не выводит пакет.
А как бы есть нет активчара? Сообщения выводятся от нпц с обжектайди = 0, этот нпц не существует, это просто кричалка. координаты получить не возможно, но хотелось бы знать как четко вывести в зону гирана, адена или годдарда, например.
покопал файлы мепрегиона:
Код:
public final int getMapRegion(int posX, int posY)
{
return _regions[getMapRegionX(posX)][getMapRegionY(posY)];
}
и его таблицы:
Код:
# region;sec0;sec1;sec2;sec3;sec4;sec5;sec6;sec7;sec8;sec9
# 0 = "Talking Island Village"
# 1 = "Elven Village"
# 2 = "Dark Elven Village"
# 3 = "Orc Village"
# 4 = "Dwarven Village"
# 5 = "Town of Gludio"
# 6 = "Gludin Village"
# 7 = "Town of Dion"
# 8 = "Town of Giran"
# 9 = "Town of Oren"
# 10 = "Town of Aden"
# 11 = "Hunters Village"
# 12 = "Giran Harbor"
# 13 = "Heine"
# 14 = "Rune Township"
# 15 = "Town of Goddard"
# 16 = "Town of Shuttgart"
# 17 = "Floran Village"
# 18 = "Primeval Isle"
# default = "Town of Aden"
# _8
0;3;3;3;3;3;4;4;4;4;4
# _9
1;3;3;3;3;3;4;4;4;4;4
# _10
2;3;3;7;9;11;4;4;4;4;4
# _11
3;3;3;3;3;3;4;4;4;4;4
# _12
4;3;3;3;3;3;4;4;4;4;4
# _13
5;3;3;3;3;3;16;16;16;15;15
# _14
6;3;3;3;3;3;16;16;16;15;15
# _15
7;3;3;3;3;3;14;14;15;15;15
# _16
8;3;3;3;14;14;14;14;15;15;15
# _17
9;2;2;2;2;18;2;9;9;10;10
# _18
10;2;2;2;2;2;9;9;10;10;10
# _19
11;2;2;2;2;1;1;9;11;10;10
# _20
12;6;6;2;5;1;1;9;11;11;11
# _21
13;6;6;5;5;7;7;8;8;8;8
# _22
14;6;6;6;5;7;7;8;8;8;8
# _23
15;0;6;6;5;17;12;13;13;13;13
# _24
16;0;0;6;6;12;12;13;13;13;13
# _25
17;0;0;0;0;0;0;13;13;13;13
немного не могу понять по какому принципу это работает, и как я могу использовать таблицу что бы подставить координаты определенной локации в переменную региона:
Код:
int region = MapRegionTable.getInstance().getMapRegion(activeChar.getX(), activeChar.getY());
где находится активчар.
Помогите разобраться пожалуйста....=(