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

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

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

Ответ
Опции темы
Непрочитано 21.03.2010, 12:08   #11
Аватар для DIIZ
Пользователь

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

На этом форуме нет ни кого кто бы шарил в яве.))) Все тырят у юника и здесь размещают. Так что те нуно на юнике раздувать эту тему, тогда будет толк. ))
DIIZ вне форума Отправить сообщение для DIIZ с помощью ICQ Отправить сообщение для DIIZ с помощью Skype™ Ответить с цитированием
Непрочитано 21.03.2010, 12:38   #12
Аватар для Shema
Герой

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

Ребята! Осталось совсем чуть чуть. Нужен коллективный мозг. )) Всеволишь надо понять как присвоить значение target к maxXp.
Ведь target.getLevel() работает в формуле и значение присваивается лвл мобу правильный как по базе.
Просто когда я ввожу target.maxXp(), то пишет неизвестный символ maxXp().

Возможно ошибка в соединении с npc_templates.xml и maxXp() просто не видит тех значений которые там указаны.
Когда ввожу так: public static long calculateSoloExperienceReward(Player player, Creature target)
{
NpcStatsTemplate E = new NpcStatsTemplate ();
int playerLevel = player.getCommonData().getLevel();
int targetLevel = target.getLevel();

//TODO take baseXP from target object (additional attribute in stats template is needed)
int baseXP = E.getMaxXp();

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

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

То опыт равен 0. Так как он не видит числа maxXp()
Shema вне форума Ответить с цитированием
Непрочитано 21.03.2010, 13:23   #13
Пользователь

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

Цитата:
Сообщение от Shema Посмотреть сообщение
/**
*
* @param player
* @param target
* @return XP reward from target
*/
Может нужно еще тут параметр максэксп указать как-то...вроде должно быть что-то вроде targetMaxXp, и в формуле target.getMaxXP() А может и нет, непонимаю в яве и всетут(
celler вне форума Ответить с цитированием
Непрочитано 21.03.2010, 19:00   #14
Аватар для ViAl
Пользователь

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

Для того чтобы во всем этом разобраться нужно разобрать иерархию классов эмулятора. Кода столько, что чёрт ногу сломит %) Пытаюсь всё это разобрать - мозг уходит в перезагрузку.
ViAl вне форума Ответить с цитированием
Непрочитано 23.03.2010, 12:56   #15
Аватар для Shema
Герой

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

Нужна помощь в написание правильного скрипта.
Он должен находиться сдесь:
C:\ae-go\AE-go_GameServer\src\com\aionemu\gameserver\utils\sta ts
Название например NpcXp.java

В нем нужно указать что то вроде:

public int getmaxXp()
{
return getObjectTemplate().getMaxXp();
}

После этого в
C:\ae-go\AE-go_GameServer\src\com\aionemu\gameserver\utils\sta ts

В файле StatFunctions.java нужно заменить int baseXP = targetLevel*80 на
int baseXP = targetLevel.getmaxXp();
Ну еще и прописать путь к файлу.
и поидее все заработает. )))

Так просто прописан скрипт определения лвл для мобов у юников.
Shema вне форума Ответить с цитированием
Непрочитано 23.03.2010, 13:56   #16
Пользователь

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

Щас попробую методом проб и ошибок)))

Добавлено через 34 минуты
Смотри, вот тут вроде вписан максэксп, или это не то?

src\com\aionemu\gameserver\model\templates\stats NpcStatsTemplate.java

Добавлено через 37 минут
Или может сюда нужно добавить параметр максэксп?

AE-go_GameServer\src\com\aionemu\gameserver\model\tem plates NpcTemplate.java

Последний раз редактировалось celler; 23.03.2010 в 14:34. Причина: Добавлено сообщение
celler вне форума Ответить с цитированием
Непрочитано 23.03.2010, 16:10   #17
Аватар для Shema
Герой

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

Смотри. Параметр максХп он видит, он не видит для кого это значение.
Юники прописали для лвл отдельно скрипт, что б при нажатие на моба определялся его лвл , который можно было умножить на 80. Что на данный момент и происходит. Сейчас нужно просто добавить скрипт который определял принадлежность максХп к мобу и тогда все будет ок.
Shema вне форума Ответить с цитированием
Непрочитано 23.03.2010, 16:56   #18
Пользователь

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

Хм, а где ты скрипт на определение лвл моба нашел?

target.getLevel() и targetLevel только в StatFunctions.java присутствуют и больше нигде..
celler вне форума Ответить с цитированием
Непрочитано 23.03.2010, 16:59   #19
Аватар для Shema
Герой

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

public byte getLevel()
{
return getObjectTemplate().getLevel();
}

находится он тут C:\ae-go\AE-go_GameServer\src\com\aionemu\gameserver\model\gam eobjects\npc
Shema вне форума Ответить с цитированием
Непрочитано 23.03.2010, 19:55   #20
Пользователь

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

Сделаю одно - выдает ошибку в другом, поправлю другое - ошибку в третьем... башка взрывается уже))
celler вне форума Ответить с цитированием
Ответ


Здесь присутствуют: 2 (пользователей: 0 , гостей: 2)
 

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

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–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 21:19. Часовой пояс GMT +3.

Вверх