Сказания Героев протокол 502

  • Автор темы Автор темы uter81
  • Дата начала Дата начала

uter81

Друг форума
Участник
Старожил I степени
Сообщения
469
Розыгрыши
0
Репутация
2
Реакции
19
Баллы
960
Хроники
  1. Master Class
Исходники
Присутствуют
Сборка
L2J_Mobius_12.3_Superion
Всем привет, подскажите как исправить сказания героев. пробовал из сообщения которые ранее писал на 474 протокол, на 502 не пофиксилось.
1771154841982.webp

Код:
    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)
    }
}

сейчас протокол 502
Код:
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 Atronic
 */
public class ExHeroBookInfo extends ServerPacket
{
    private final int _level;
    private final int _points;
    private final int _chance;
    private final int _maxPoints;
    
    public ExHeroBookInfo(HeroBookInfoHolder holder)
    {
        _level = holder.getCurrentLevel();
        _points = Math.min(HeroBookManager.getExpForNextLevel(_level), holder.getCurrentExp());
        final int expForNextLevel = HeroBookManager.getExpForNextLevel(Math.min(holder.getCurrentLevel(), 300));
        _chance = (int) Math.min(((double) holder.getCurrentExp() / expForNextLevel) * 10000, 10000);
        _maxPoints = HeroBookManager.getExpForNextLevel(_level);
    }
    
    @Override
    public void writeImpl(GameClient client, WritableBuffer buffer)
    {
        ServerPackets.EX_HERO_BOOK_INFO.writeId(this, buffer);
        buffer.writeInt(_points);
        buffer.writeInt(_level);
        buffer.writeInt(_chance);
        buffer.writeInt(_maxPoints);
    }
}
 
Призываем фаната мобиуса MrKirill1232
 
Diff:
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)
     }
 }
 

Похожие темы

Назад
Сверху Снизу