Re: Делаем ТП в бездну
Цитата:
|
Re: Делаем ТП в бездну
Цитата:
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> Компилируем, врубаем, радуемся своему новому, рабочему, рифту. |
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 стандартных рифтов будут проспавнены на карте одновременно. П.С.: теория, сам не пробовал :) |
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 Компилируем, радуемся портам в бездну |
Re: Делаем ТП в бездну
Или этот патч:)
|
Re: Делаем ТП в бездну
Цитата:
Добавлено через 1 минуту Цитата:
|
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 |
Re: Делаем ТП в бездну
У мну вопрос. Я не могу найти этот путь к файлу? Где он находится или его нужно создать?
|
Re: Делаем ТП в бездну
Цитата:
|
Re: Делаем ТП в бездну
Есть ссылка на последнею ревизию? Или где ее глянуть можно
|
Текущее время: 04:29. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot