Улучшение Сказания Героев

Статус
В этой теме нельзя размещать новые ответы.

uter81

Знающий
Участник
Сообщения
281
Розыгрыши
0
Репутация
1
Реакции
11
Баллы
460
Хроники
  1. Master Class
Исходники
Присутствуют
Сборка
l2jMobius
Подскажите пожалуйста как поправить, при улучшении любым из доступных свитков сказания измерения, сказания эйнхасад, уровня Сказания Героев, выходит ош. Больше нельзя внести предметы.

1727709820415.png
 
Решение
у меня файл выглядит так , как его поправить ? Если вношу правки как у вас выше, бьет ошибки при компиле
Код:
package org.l2jmobius.gameserver.network.serverpackets.herobook;

import org.l2jmobius.commons.network.WritableBuffer;
import org.l2jmobius.gameserver.model.herobook.HeroBookInfoHolder;
import org.l2jmobius.gameserver.model.herobook.HeroBookManager;
import org.l2jmobius.gameserver.network.GameClient;
import org.l2jmobius.gameserver.network.ServerPackets;
import org.l2jmobius.gameserver.network.serverpackets.ServerPacket;

/**
 * @author Index
 */
public class ExHeroBookInfo extends ServerPacket
{
    private final int _level;
    private final int _points;
  
    public ExHeroBookInfo(HeroBookInfoHolder holder)
    {...
uter81, пересмотреть класс org.l2jmobius.gameserver.model.herobook.HeroBookManager а также пакеты org.l2jmobius.gameserver.network.clientpackets.herobook на предмет проверок и ограничений. Может еще где-то, если конечно это не какое-то ограничение клиента.
 
uter81, пересмотреть класс org.l2jmobius.gameserver.model.herobook.HeroBookManager а также пакеты org.l2jmobius.gameserver.network.clientpackets.herobook на предмет проверок и ограничений. Может еще где-то, если конечно это не какое-то ограничение клиента.
проверил пакеты, ограничений нет...
 
бу

Код:
Index: java/org/l2jmobius/gameserver/network/serverpackets/herobook/ExHeroBookInfo.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/java/org/l2jmobius/gameserver/network/serverpackets/herobook/ExHeroBookInfo.java b/java/org/l2jmobius/gameserver/network/serverpackets/herobook/ExHeroBookInfo.java
--- a/java/org/l2jmobius/gameserver/network/serverpackets/herobook/ExHeroBookInfo.java   
+++ b/java/org/l2jmobius/gameserver/network/serverpackets/herobook/ExHeroBookInfo.java    (date 1724423172356)
@@ -30,11 +30,15 @@
 {
     private final int _level;
     private final int _points;
+    private final int _probability;
+    private final int _maxPoints;
    
     public ExHeroBookInfo(HeroBookInfoHolder holder)
     {
         _level = holder.getCurrentLevel();
-        _points = Math.min(HeroBookManager.getExpForNextLevel(_level), holder.getCurrentExp());
+        _maxPoints = HeroBookManager.getExpForNextLevel(_level);
+        _points = Math.min(_maxPoints, holder.getCurrentExp());
+        _probability = (int) (((double) holder.getCurrentExp() / (double) _maxPoints) * 10_000d);
     }
    
     @Override
@@ -43,7 +47,7 @@
         ServerPackets.EX_HERO_BOOK_INFO.writeId(this, buffer);
         buffer.writeInt(_points);
         buffer.writeInt(_level);
-        buffer.writeInt(0); // Prob (474)
-        buffer.writeInt(0); // MaxPoint (474)
+        buffer.writeInt(_probability); // Prob (474)
+        buffer.writeInt(_maxPoints); // MaxPoint (474)
     }
 }
 
бу

Код:
Index: java/org/l2jmobius/gameserver/network/serverpackets/herobook/ExHeroBookInfo.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/java/org/l2jmobius/gameserver/network/serverpackets/herobook/ExHeroBookInfo.java b/java/org/l2jmobius/gameserver/network/serverpackets/herobook/ExHeroBookInfo.java
--- a/java/org/l2jmobius/gameserver/network/serverpackets/herobook/ExHeroBookInfo.java 
+++ b/java/org/l2jmobius/gameserver/network/serverpackets/herobook/ExHeroBookInfo.java    (date 1724423172356)
@@ -30,11 +30,15 @@
 {
     private final int _level;
     private final int _points;
+    private final int _probability;
+    private final int _maxPoints;
  
     public ExHeroBookInfo(HeroBookInfoHolder holder)
     {
         _level = holder.getCurrentLevel();
-        _points = Math.min(HeroBookManager.getExpForNextLevel(_level), holder.getCurrentExp());
+        _maxPoints = HeroBookManager.getExpForNextLevel(_level);
+        _points = Math.min(_maxPoints, holder.getCurrentExp());
+        _probability = (int) (((double) holder.getCurrentExp() / (double) _maxPoints) * 10_000d);
     }
  
     @Override
@@ -43,7 +47,7 @@
         ServerPackets.EX_HERO_BOOK_INFO.writeId(this, buffer);
         buffer.writeInt(_points);
         buffer.writeInt(_level);
-        buffer.writeInt(0); // Prob (474)
-        buffer.writeInt(0); // MaxPoint (474)
+        buffer.writeInt(_probability); // Prob (474)
+        buffer.writeInt(_maxPoints); // MaxPoint (474)
     }
 }
у меня файл выглядит так , как его поправить ? Если вношу правки как у вас выше, бьет ошибки при компиле
Код:
package org.l2jmobius.gameserver.network.serverpackets.herobook;

import org.l2jmobius.commons.network.WritableBuffer;
import org.l2jmobius.gameserver.model.herobook.HeroBookInfoHolder;
import org.l2jmobius.gameserver.model.herobook.HeroBookManager;
import org.l2jmobius.gameserver.network.GameClient;
import org.l2jmobius.gameserver.network.ServerPackets;
import org.l2jmobius.gameserver.network.serverpackets.ServerPacket;

/**
 * @author Index
 */
public class ExHeroBookInfo extends ServerPacket
{
    private final int _level;
    private final int _points;
   
    public ExHeroBookInfo(HeroBookInfoHolder holder)
    {
        _level = holder.getCurrentLevel();
        _points = Math.min(HeroBookManager.getExpForNextLevel(_level), holder.getCurrentExp());
    }
   
    @Override
    public void writeImpl(GameClient client, WritableBuffer buffer)
    {
        ServerPackets.EX_HERO_BOOK_INFO.writeId(this, buffer);
        buffer.writeInt(_points);
        buffer.writeInt(_level);
        buffer.writeInt(0); // Prob (474)
        buffer.writeInt(0); // MaxPoint (474)
    }
}
1727722686268.png
 
Запрещено публиковать исходный код без BB-кода — CODE
у меня файл выглядит так , как его поправить ? Если вношу правки как у вас выше, бьет ошибки при компиле
Код:
package org.l2jmobius.gameserver.network.serverpackets.herobook;

import org.l2jmobius.commons.network.WritableBuffer;
import org.l2jmobius.gameserver.model.herobook.HeroBookInfoHolder;
import org.l2jmobius.gameserver.model.herobook.HeroBookManager;
import org.l2jmobius.gameserver.network.GameClient;
import org.l2jmobius.gameserver.network.ServerPackets;
import org.l2jmobius.gameserver.network.serverpackets.ServerPacket;

/**
 * @author Index
 */
public class ExHeroBookInfo extends ServerPacket
{
    private final int _level;
    private final int _points;
  
    public ExHeroBookInfo(HeroBookInfoHolder holder)
    {
        _level = holder.getCurrentLevel();
        _points = Math.min(HeroBookManager.getExpForNextLevel(_level), holder.getCurrentExp());
    }
  
    @Override
    public void writeImpl(GameClient client, WritableBuffer buffer)
    {
        ServerPackets.EX_HERO_BOOK_INFO.writeId(this, buffer);
        buffer.writeInt(_points);
        buffer.writeInt(_level);
        buffer.writeInt(0); // Prob (474)
        buffer.writeInt(0); // MaxPoint (474)
    }
}
Посмотреть вложение 78558
package org.l2jmobius.gameserver.network.serverpackets.herobook;

import org.l2jmobius.commons.network.WritableBuffer;
import org.l2jmobius.gameserver.model.herobook.HeroBookInfoHolder;
import org.l2jmobius.gameserver.model.herobook.HeroBookManager;
import org.l2jmobius.gameserver.network.GameClient;
import org.l2jmobius.gameserver.network.ServerPackets;
import org.l2jmobius.gameserver.network.serverpackets.ServerPacket;

/**
* @author Index
*/
public class ExHeroBookInfo extends ServerPacket
{
private final int _level;
private final int _points;
private final int _probability;
private final int _maxPoints;

public ExHeroBookInfo(HeroBookInfoHolder holder)
{
_level = holder.getCurrentLevel();
_maxPoints = HeroBookManager.getExpForNextLevel(_level);
_points = Math.min(_maxPoints, holder.getCurrentExp());
_probability = (int) (((double) holder.getCurrentExp() / (double) _maxPoints) * 10_000d);
}

@Override
public void writeImpl(GameClient client, WritableBuffer buffer)
{
ServerPackets.EX_HERO_BOOK_INFO.writeId(this, buffer);
buffer.writeInt(_points);
buffer.writeInt(_level);
buffer.writeInt(_probability); // Prob (474)
buffer.writeInt(_maxPoints); // MaxPoint (474)
}
}
 
Решение
package org.l2jmobius.gameserver.network.serverpackets.herobook;

import org.l2jmobius.commons.network.WritableBuffer;
import org.l2jmobius.gameserver.model.herobook.HeroBookInfoHolder;
import org.l2jmobius.gameserver.model.herobook.HeroBookManager;
import org.l2jmobius.gameserver.network.GameClient;
import org.l2jmobius.gameserver.network.ServerPackets;
import org.l2jmobius.gameserver.network.serverpackets.ServerPacket;

/**
* @author Index
*/
public class ExHeroBookInfo extends ServerPacket
{
private final int _level;
private final int _points;
private final int _probability;
private final int _maxPoints;

public ExHeroBookInfo(HeroBookInfoHolder holder)
{
_level = holder.getCurrentLevel();
_maxPoints = HeroBookManager.getExpForNextLevel(_level);
_points = Math.min(_maxPoints, holder.getCurrentExp());
_probability = (int) (((double) holder.getCurrentExp() / (double) _maxPoints) * 10_000d);
}

@Override
public void writeImpl(GameClient client, WritableBuffer buffer)
{
ServerPackets.EX_HERO_BOOK_INFO.writeId(this, buffer);
buffer.writeInt(_points);
buffer.writeInt(_level);
buffer.writeInt(_probability); // Prob (474)
buffer.writeInt(_maxPoints); // MaxPoint (474)
}
}
получилось, спасибо большое
 
Оверпостинг
Последнее редактирование модератором:
Последнее редактирование модератором:
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху Снизу