Рейтинг темы:
  • 1 Голос(ов) - 1 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Сервер L2jTeon 723
#21
Скомпилить получилось, спасибо) шас попробую потестить.

Добавлено через 19 минут
Ситуация такая:
беру 20\40\76 вылетает окошко(само по себе) и предлогает нажать на фрофу, когда я нажимаю ничего не происходит, а когда жмёщ на кота вылетает тоже самое окно. Кот в таргет не берётся.
Ответ
#22
Joker Написал:беру 20\40\76 вылетает окошко(само по себе)
вот это классно))
Joker Написал:когда я нажимаю ничего не происходит, а когда жмёщ на кота вылетает тоже самое окно. Кот в таргет не берётся.
а вот это неочень)

Странно вроде насчет таргета и окошка ничего не меняли . . .
Пока не знаю в чем дело, может так:
PHP код:
<?php 
private void changeClass(L2PcInstance player, int val)
{

if (
Config.DEBUG )
for (
int i = 0; i < FIRST_CLASS_IDS.length; i++)
{
_log.fine("Changing class to ClassId:" + val);
if (
val == FIRST_CLASS_IDS[i])
{
player.destroyItemByItemId("class_change_pay", 57, 100000, player, true);
player.setClassId(val);
}
}

for (
int i = 0; i < SECONDN_CLASS_IDS.length; i++)
{
_log.fine("Changing class to ClassId:" + val);
if (
val == SECONDN_CLASS_IDS[i])
{
player.destroyItemByItemId("class_change_pay", 57, 200000, player, true);
player.setClassId(val);
}
}

if(
val >= 88)
{
_log.fine("Changing class to ClassId:" + val);
player.destroyItemByItemId("class_change_pay", 57, 300000, player, true);
player.setClassId(val);
}

if (
player.isSubClassActive()&& val >= 88)
{
player.destroyItemByItemId("class_change_pay", 57, 300000, player, true);
player.getSubClasses().get(player.getClassIndex()).setClassId(player.getActiveClass());
}
else
player.setBaseClass(player.getActiveClass());
player.broadcastUserInfo();

}
}
Пару строчек поменял.
Ответ
#23
Точно также,даже если с очень большого расстояния жмёщ на кота оно вылетает)
Ответ
#24
Нормульная сборкаSmile
Мне понравилась
Ответ
#25
Joker, мне пришло озарение)))
Убирай всё, что я тут насочинял;
А в исходном коде найди это место и измени его вот так:
PHP код:
<?php 
// prevents changing between same level jobs
if (newJobLevel != jobLevel + 1)
return;
if (
level < 20 && newJobLevel > 1)
return;
if (
level < 40 && newJobLevel > 2)
return;
if (
level < 75 && newJobLevel > 3)
return;
// -- prevention ends
if (newJobLevel == 1)
player.destroyItemByItemId("class_change_pay", 57, 100000, player, true);
if (
newJobLevel == 2)
player.destroyItemByItemId("class_change_pay", 57, 200000, player, true);
if (
newJobLevel == 3)
player.destroyItemByItemId("class_change_pay", 57, 300000, player, true);
changeClass(player, val);
player.rewardSkills();
Ответ
#26
Array а этот недочет как я понял теперь повиля во всех новых версиях теона или нет, просто их еще не тестил но желание вот это и отбивает.
Ответ
#27
axion, это не недочет даже, и цену за профы нетрудно поставить - а это просто мы тут изобретали велосипед, причем неправильный)

PS: новая версия:
PHP код:
<?php 
// -- prevention ends

if(player.getInventory().getAdena()>=100000*newJobLevel)
{
player.destroyItemByItemId("class_change_pay", 57, 100000*newJobLevel, player, true);
changeClass(player, val);
player.rewardSkills();
}
else
{
NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
TextBuilder sb = new TextBuilder();
sb.append("<html><body>");
sb.append("You have not enough adena.");
sb.append("</body></html>");
html.setHtml(sb.toString());
player.sendPacket(html);
}
Ответ
#28
PHP код:
<?php 
int
[] PRICE_CHANGE_CLASS = {0, 100000, 10000000, 100000000};

if (
player.getInventory().getAdena() < PRICE_CHANGE_CLASS[newJobLevel])
return;

player.destroyItemByItemId("pay_change_class", 57, PRICE_CHANGE_CLASS[newJobLevel], player, true);
Ответ
#29
Array Написал:Убирай всё, что я тут насочинял;
Компилил это классмастер без изменений, неберёт денег.
шас попробую новые версии.

Добавлено через 42 минуты
Всё наконецто получилось)
PHP код:
<?php 
int
[] PRICE_CHANGE_CLASS = {0, 100000, 10000000, 100000000};

if (
player.getInventory().getAdena() < PRICE_CHANGE_CLASS[newJobLevel])
return;

player.destroyItemByItemId("pay_change_class", 57, PRICE_CHANGE_CLASS[newJobLevel], player, true);
Спасиб всем огромное!

Добавлено через 49 минут
Но вот если нет денег в логе пишет
Код:
Bad RequestBypassToServer:
java.lang.ArrayIndexOutOfBoundsException: 4
        at net.sf.l2j.gameserver.model.actor.instance.L2ClassMasterInstance.onBy
passFeedback(L2ClassMasterInstance.java:256)
        at net.sf.l2j.gameserver.network.clientpackets.RequestBypassToServer.run
Impl(RequestBypassToServer.java:187)
        at net.sf.l2j.gameserver.network.clientpackets.L2GameClientPacket.run(L2
GameClientPacket.java:74)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source
)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
Ответ
#30
Joker, а с "моим" кодом тоже такая ошибка?)
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Русский Никнейм PTS Сервер! Kenrix 6 4,512 11-26-2023, 09:32 AM
Последний пост: ОргазмО
  где сервер гранит файлы ява? doloto777 3 2,043 04-15-2023, 11:44 AM
Последний пост: gorodetskiy
  Требуется Тех. Администратор на сервер Interlude/High Five! sfmusic 1 1,745 03-15-2023, 01:11 PM
Последний пост: Adamheers
  Требуется Тех. Администратор на сервер essence (mobius) sfmusic 0 1,297 03-06-2023, 05:26 PM
Последний пост: sfmusic
  Не пускает на сервер Nab 8 4,009 02-01-2022, 12:01 PM
Последний пост: Nab
  Ищу опытного рекламщика чтобы совместно держать готовый сервер Донат - 50 на 50.- xevilx 3 2,264 08-25-2021, 10:09 PM
Последний пост: Lord_Gothic
  Сервер lineage 2 chronicle 1 harbingers of war на node.js space2pacman 3 3,584 02-26-2020, 08:42 AM
Последний пост: space2pacman
  Не пускает дальше в логин сервер Kennedy 2 2,441 12-26-2018, 11:22 PM
Последний пост: n3k0nation
  Инвестиции в сервер DeverGenT 7 4,035 06-13-2018, 03:36 AM
Последний пост: Shell
  Ищу сервер L2 C4 StepanAMK 1 1,975 04-04-2018, 02:18 AM
Последний пост: StepanAMK

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)