Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Серверная часть (https://forum.zone-game.info/forumdisplay.php?f=148)
-   -   Делаем ТП в бездну (https://forum.zone-game.info/showthread.php?t=6176)

ViAl 15.02.2010 14:24

Re: Делаем ТП в бездну
 
Цитата:

Сообщение от {Xo_Wind_oX} (Сообщение 55542)
Я справился частично...тупо открыл туда рифты и сделал их постоянными...тупо но всё же...

Так рифты не юзабельные же вроде?

MetaWind 15.02.2010 16:17

Re: Делаем ТП в бездну
 
Цитата:

Сообщение от ViAl (Сообщение 55566)
Так рифты не юзабельные же вроде?

Открываем в исходниках
AE-go_GameServer\src\com\aionemu\gameserver\spawnengi ne\RiftSpawnManager.java


Сейчас обьясню по блокам что к чему
Этот блок отвичает за респ рифтов, а конкретно за количество респающихся одновременно. Добавим один свой рифт в Абисс.

{
RiftEnum rift1 = RiftEnum.values()[Rnd.get(0, 6)];
RiftEnum rift2 = RiftEnum.values()[Rnd.get(7, 13)];
RiftEnum rift3 = RiftEnum.values()[Rnd.get(14, 20)];
RiftEnum rift4 = RiftEnum.values()[Rnd.get(21, 27)];
RiftEnum rift5 = RiftEnum.values()[Rnd.get(28,29)];

spawnRift(rift1);
spawnRift(rift2);
spawnRift(rift3);
spawnRift(rift4);
spawnRift(rift5);
}


Теперь у нас есть рифт и мы должны указать точку респауна

Обратите внимание - Последняя указанная точка спауна - это конец перечисления и после нее всегда ставится не точка, а точка с запятой(!)

Теперь мы напишем спаун одного своего рифта(в блоке перечисления private enum RiftEnum):

ELTENENABYSS_VHOD("ELTENENABYSS_VHOD", "ELTENENABYSS_VIHOD", 99, 50);

у нас получилось примерно так:

ELTNEN_AM("ELTNEN_AM", "MORHEIM_AS", 12, 28),
ELTNEN_BM("ELTNEN_BM", "MORHEIM_BS", 20, 32),
ELTNEN_CM("ELTNEN_CM", "MORHEIM_CS", 35, 36),
ELTNEN_DM("ELTNEN_DM", "MORHEIM_DS", 35, 37),
ELTNEN_EM("ELTNEN_EM", "MORHEIM_ES", 45, 40),
ELTNEN_FM("ELTNEN_FM", "MORHEIM_FS", 50, 40),
ELTNEN_GM("ELTNEN_GM", "MORHEIM_GS", 50, 45),

HEIRON_AM("HEIRON_AM", "BELUSLAN_AS", 24, 35),
HEIRON_BM("HEIRON_BM", "BELUSLAN_BS", 36, 35),
HEIRON_CM("HEIRON_CM", "BELUSLAN_CS", 48, 46),
HEIRON_DM("HEIRON_DM", "BELUSLAN_DS", 48, 40),
HEIRON_EM("HEIRON_EM", "BELUSLAN_ES", 60, 50),
HEIRON_FM("HEIRON_FM", "BELUSLAN_FS", 60, 50),
HEIRON_GM("HEIRON_GM", "BELUSLAN_GS", 72, 50),

MORHEIM_AM("MORHEIM_AM", "ELTNEN_AS", 12, 28),
MORHEIM_BM("MORHEIM_BM", "ELTNEN_BS", 20, 32),
MORHEIM_CM("MORHEIM_CM", "ELTNEN_CS", 35, 36),
MORHEIM_DM("MORHEIM_DM", "ELTNEN_DS", 35, 37),
MORHEIM_EM("MORHEIM_EM", "ELTNEN_ES", 45, 40),
MORHEIM_FM("MORHEIM_FM", "ELTNEN_FS", 50, 40),
MORHEIM_GM("MORHEIM_GM", "ELTNEN_GS", 50, 45),

BELUSLAN_AM("BELUSLAN_AM", "HEIRON_AS", 24, 35),
BELUSLAN_BM("BELUSLAN_BM", "HEIRON_BS", 36, 35),
BELUSLAN_CM("BELUSLAN_CM", "HEIRON_CS", 48, 46),
BELUSLAN_DM("BELUSLAN_DM", "HEIRON_DS", 48, 40),
BELUSLAN_EM("BELUSLAN_EM", "HEIRON_ES", 60, 50),
BELUSLAN_FM("BELUSLAN_FM", "HEIRON_FS", 60, 50),
BELUSLAN_GM("BELUSLAN_GM", "HEIRON_GS", 72, 50),


ELTENENABYSS_VHOD("ELTENENABYSS_VHOD", "ELTENENABYSS_VIHOD", 99, 50);

Где в скобках первое значение - константа входного рифта, а второе константа выходного рифта (пропишем координаты позднее), 99 это количество проходящих в рифт за промежуток его респауна и 50 - максимальный уровень персоонажа который сможет в него пройти.

наша добавленная строчка будет стоять в конце, потому ставим после нее ; а перед предыдущей строчкой меняем ; на ,

И так...теперь нам нужно сделать так, чтобы рифты у нас не удалялись долгий промежуток. Это решается двумя методами, я расскажу самый простой и легкий

в этой строке меняем множитель

private static final int RIFT_LIFETIME = 26 * 60 * 1000;
на
private static final int RIFT_LIFETIME = 99 * 60 * 1000;

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

И так всё готово, нам осталось только прописать координаты рифтов, для этого открываем фаил
data\static_data\spawns\Rifts\rifts.xml

прописываем туда свой рифты... таким методом
Первый рифт этот тот в который мы войдем

<spawn map="210020000" npcid="700137" pool="1" handler="RIFT" anchor="ELTENENABYSS_VHOD">
<object x="икс рифта" y="У рифта" z="З рифта" h="0"/>
</spawn>

Где anchor обозначает тип рифта (вход или выход)

Второй это тот из которого выйдем

<spawn map="400010000" npcid="700137" pool="1" handler="RIFT" anchor="ELTENENABYSS_VIHOD">
<object x="икс рифта" y="У рифта" z="З рифта" h="0"/>
</spawn>


Компилируем, врубаем, радуемся своему новому, рабочему, рифту.

ViAl 17.02.2010 10:03

Re: Делаем ТП в бездну
 
Либо прописать все рифты в виде:
{
RiftEnum rift1 = RiftEnum.values()[0];
RiftEnum rift2 = RiftEnum.values()[1];
RiftEnum rift3 = RiftEnum.values()[2];
RiftEnum rift4 = RiftEnum.values()[3];
...
RiftEnum riftn = RiftEnum.values()[n];

spawnRift(rift1);
spawnRift(rift2);
spawnRift(rift3);
spawnRift(rift4);
....
spawnRift(riftn);
}
тогда все 28 стандартных рифтов будут проспавнены на карте одновременно.
П.С.: теория, сам не пробовал :)

MetaWind 20.02.2010 13:07

Re: Делаем ТП в бездну
 
Решил проблему исчерпывающе
кидаем в исходники в эту папку AE-go_GameServer\data\scripts\system\handlers\quest этот файл

http://rapidshare.com/files/35323794...rtObjects.java


И с заменой кидаем сюда AE-go_GameServer\src\com\aionemu\gameserver\model\gam eobjects\player этот файл

http://rapidshare.com/files/35323841...seHandler.java

Компилируем, радуемся портам в бездну

ALeKsIuS 20.02.2010 13:33

Re: Делаем ТП в бездну
 
Или этот патч:)

nelegal 01.03.2010 09:15

Re: Делаем ТП в бездну
 
Цитата:

Сообщение от ALeKsIuS (Сообщение 56397)
Или этот патч:)

1285 рева не патчится.

Добавлено через 1 минуту
Цитата:

Сообщение от {Xo_Wind_oX} (Сообщение 56393)
Решил проблему исчерпывающе
кидаем в исходники в эту папку AE-go_GameServer\data\scripts\system\handlers\quest этот файл

http://rapidshare.com/files/35323794...rtObjects.java


И с заменой кидаем сюда AE-go_GameServer\src\com\aionemu\gameserver\model\gam eobjects\player этот файл

http://rapidshare.com/files/35323841...seHandler.java

Компилируем, радуемся портам в бездну

Перезалей на депозит плиз.

MetaWind 01.03.2010 11:50

Re: Делаем ТП в бездну
 
AE-go_GameServer\data\scripts\system\handlers\quest
http://depositfiles.com/files/tb8ealabw

AE-go_GameServer\src\com\aionemu\gameserver\model\gam eobjects\player
http://depositfiles.com/files/fpzqcd4oq

Shema 01.03.2010 15:34

Re: Делаем ТП в бездну
 
У мну вопрос. Я не могу найти этот путь к файлу? Где он находится или его нужно создать?

paravozik 01.03.2010 17:04

Re: Делаем ТП в бездну
 
Цитата:

Сообщение от ALeKsIuS (Сообщение 56397)
Или этот патч:)

хзхз... мну пустило)))) ревизия.... ммм... в основе лежит 1225, но была она апдейчена до 1270+ точно не помню

Shema 01.03.2010 19:31

Re: Делаем ТП в бездну
 
Есть ссылка на последнею ревизию? Или где ее глянуть можно


Текущее время: 04:29. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot