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

uter81

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

1727709820415.png
 

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)
}
}
получилось, спасибо большое
 
Назад
Сверху Снизу