Java EXP - Страница 3 - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > MMO > Aion > Серверная часть

Важная информация

Серверная часть Обсуждения вопросов по установке и настройке эмулятора Aion-Emu, для совершенно новой и необыкновенно красивой игры - Aion.

Ответ
Опции темы
Непрочитано 23.03.2010, 21:15   #21
Аватар для Shema
Герой

Автор темы (Топик Стартер) Re: Java EXP

Посоветовали здесь добавить скрипт для определения моба с его хпр
C:\ae-go\AE-go_GameServer\src\com\aionemu\gameserver\controlle rs\MonsterController.java

Я только не понял как там getOwner() присвоилось к мобу. Мозг летит в топку но чувствую конец близок))

Ща разберусь с этим скриптом только

public void doReward(Creature creature)
{
super.doReward(creature);

if(creature instanceof Player)
{
Player player = (Player) creature;
if(player.getPlayerGroup() == null) //solo
{
long xpReward = StatFunctions.calculateSoloExperienceReward(player , getOwner());
player.getCommonData().addExp(xpReward);

Такое ощущение что приехал в Китай и пытаюсь написать стихотворение на их языке. )))
Shema вне форума Ответить с цитированием
Непрочитано 24.03.2010, 14:31   #22
Пользователь

По умолчанию Re: Java EXP

Вобщем фигня какая-то. Экспа прописана в NpcStatsTemplate.java,

тут "public static long calculateSoloExperienceReward(Player player, Creature target)" как я понял идет проверка intов в соответствии с файлами "player" и "Creature"

остается понять как правильно из NpcStatsTemplate.java выдернуть макс эксп и описать ее чтобы ява поняла...

Добавлено через 1 час 1 минуту
Написал так:
Цитата:
public static long calculateSoloExperienceReward(Player player, Creature target)
{
int playerLevel = player.getCommonData().getLevel();
int targetLevel = target.getLevel();
NpcStatsTemplate maxXp = ((Npc) target).getObjectTemplate().getStatsTemplate().get MaxXp();
при компиляции тыкает на ошибку вот в этйо скобке NpcStatsTemplate maxXp = ((Npc) target).getObjectTemplate().getStatsTemplate().get MaxXp()

Поидее если скомпилится, то должно заработать...

Последний раз редактировалось celler; 24.03.2010 в 15:32. Причина: Добавлено сообщение
celler вне форума Ответить с цитированием
Непрочитано 24.03.2010, 16:27   #23
Аватар для zaqwer
Пользователь

По умолчанию Re: Java EXP

Не NPC а Creature...

Добавлено через 32 секунды
Т.е. ((Creature) target).getObjectTemplate().getStatsTemplate().get MaxXp()

Последний раз редактировалось zaqwer; 24.03.2010 в 16:28. Причина: Добавлено сообщение
zaqwer вне форума Ответить с цитированием
Непрочитано 24.03.2010, 17:05   #24
Аватар для Shema
Герой

Автор темы (Топик Стартер) Re: Java EXP

Нужно правильно указать класс с символами, а то он просто ни видит этих символов и выдает ошибку.
Нужно в этом классе прописать значение класса NpcStatsTempletes и его внутренней переменной getMaxXp(), тогда все заработает.
Я просто не знаю как синтаксически правильно написать это. Кто в яве шарит, то смогут быстро это сделать. На серверах ,где вобло зарабатываю это уже исправили(( Я просил что б дали скрипт, мне сказали 300 у.е. (( жлобы.
Shema вне форума Ответить с цитированием
Непрочитано 24.03.2010, 17:10   #25
Пользователь

По умолчанию Re: Java EXP

Ну вобщем в StatFunctions чуть ниже есть формулы расчета ДП, там указывается ранк моба. Делаю аналогично для экспы, и вот ошибку с этой скобкой выдает((

Щас проверю еще одну мысль, может получится..

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

public static long calculateSoloExperienceReward(Player player, Creature target)
{
int playerLevel = player.getCommonData().getLevel();
int targetLevel = target.getLevel();
int maxXp = ((Npc) target).getObjectTemplate().getStatsTemplate().get MaxXp();
//TODO take baseXP from target object (additional attribute in stats template is needed)
int baseXP = maxXp;

int xpPercentage = XPRewardEnum.xpRewardFrom(targetLevel - playerLevel);

return (int) Math.floor(baseXP * xpPercentage * player.getRates().getXpRate() / 100);
}

Последний раз редактировалось celler; 24.03.2010 в 20:13. Причина: Добавлено сообщение
celler вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 24.03.2010, 22:01   #26
Аватар для Shema
Герой

Автор темы (Топик Стартер) Re: Java EXP

Молодца. Респект и уважуха.

Теперь нужно мозг добить со штрафом на дроп по лвл и вооще супер будет.

Там формулу можно взять их по процентам на разницу лвл. Как всегда просто добавть строку в получении дропа. ))))
Shema вне форума Ответить с цитированием
Непрочитано 25.03.2010, 09:09   #27
Аватар для ViAl
Пользователь

По умолчанию Re: Java EXP

Shema, celler, у вас это компилируется?
ViAl вне форума Ответить с цитированием
Непрочитано 25.03.2010, 09:36   #28
Аватар для zaqwer
Пользователь

По умолчанию Re: Java EXP

У меня нет...
zaqwer вне форума Ответить с цитированием
Непрочитано 25.03.2010, 09:59   #29
Аватар для Shema
Герой

Автор темы (Топик Стартер) Re: Java EXP

Все работает. Поменяйте файл перед компиляцией.
C:\ae-go\AE-go_GameServer\src\com\aionemu\gameserver\utils\sta ts
Вложения
Тип файла: zip StatFunctions.zip (3.9 Кб, 9 просмотров)
Shema вне форума Ответить с цитированием
Непрочитано 25.03.2010, 13:51   #30
Аватар для Shema
Герой

Автор темы (Топик Стартер) Re: Java EXP

Для пати нужно прописать другую формулу. Где
int baseXP = maxXp нужно умножить или поделить (кому как нравится) на количество игроков в пати;
Но где определение количества членов в группе я ни нашел. Если кто знает киньте путь.
И тогда будет правильное распределение экспы.
Shema вне форума Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
java Shot Lineage II 2 27.02.2010 12:35
PTS & Java PuShKinG Lineage II 7 20.08.2009 23:08
Java virus Курилка / Yak floor 6 20.12.2008 03:50


© 2007–2020 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 06:16. Часовой пояс GMT +3.

Вверх