Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Серверные пакеты
#21
[SRC="java"]
package ru.ljts.gameserver.network.clientpackets.PremiumShop;

import ru.ljts.gameserver.data.xml.holder.ProductHolder;
import ru.ljts.gameserver.model.Player;
import ru.ljts.gameserver.model.ProductItem;
import ru.ljts.gameserver.network.clientpackets.L2GameClientPacket;
import ru.ljts.gameserver.network.serverpackets.premiumShop.ExBR_NewIConCashBtnWnd;

/**
* @author KilRoy
*/
public class RequestBR_NewIConCashBtnWnd extends L2GameClientPacket
{
private int productID;
private boolean isNewAllowed = false;

@Override
protected void readImpl() throws Exception
{
productID = readD();
}

@Override
protected void runImpl() throws Exception
{
Player player = getClient().getActiveChar();

if(player == null)
return;

for(ProductItem product : ProductHolder.getInstance().getAllItems())
{
if(product.getTabId() == 3 && !isNewAllowed)
{
isNewAllowed = true;
break;
}
}

if(isNewAllowed && productID != 0)
player.sendPacket(new ExBR_NewIConCashBtnWnd(productID));
}
}
[/SRC]
----------------
[SRC="java"]
package ru.ljts.gameserver.network.serverpackets.premiumShop;

import ru.ljts.gameserver.network.serverpackets.L2GameServerPacket;

/**
* @author KilRoy
*/
public class ExBR_NewIConCashBtnWnd extends L2GameServerPacket
{
private int productID;

public ExBR_NewIConCashBtnWnd(int productID)
{
this.productID = productID;
}

@Override
protected void writeImpl()
{
writeFe(getClass());
writeD(productID);
}
}
[/SRC]
PrimeShop button:
[Изображение: wuGIU.th.png]

Full realized PS:
[Изображение: YAv0t.th.jpg]
Ответ
#22
Ohh .. Thanks friend, I added the right packages! but still the critical error persists, the revised packages charinfo, userinfo, charselect .... I do not know what is! anyone have any ideas? any package that changed?
Ответ
#23
apocalipce;277578 Написал:Ohh .. Thanks friend, I added the right packages! but still the critical error persists, the revised packages charinfo, userinfo, charselect .... I do not know what is! anyone have any ideas? any package that changed?
Show your ExAcquirableSkillListByClass, and view - he is sent with EnterWorld. *Info have not changed since Tauti
Ответ
#24
Thanks my friend ....
same problem Critical error in enter

In enter world packets activeChar.sendPacket(new ExAcquirableSkillListByClass(activeChar));


ExAcquirableSkillListByClass .java
Код:
package l2ft.gameserver.serverpackets;

import java.util.Collection;

import l2ft.gameserver.data.xml.holder.SkillAcquireHolder;
import l2ft.gameserver.model.Player;
import l2ft.gameserver.model.Skill;
import l2ft.gameserver.model.SkillLearn;
import l2ft.gameserver.tables.SkillTable;


public class ExAcquirableSkillListByClass extends L2GameServerPacket {
    private final Collection<SkillLearn> allskills;
    
    public ExAcquirableSkillListByClass(Player player) {
        allskills = SkillAcquireHolder.getInstance().getAvailableAllSkills(player);
        
    }

    @Override
    protected final void writeImpl() {
        writeC(0xfe);
        writeH(0xf9);

        writeD(allskills.size());
        for (SkillLearn sk : allskills) {
            writeD(sk.getId());
            writeD(sk.getLevel());
            writeD(sk.getCost());
            writeH(sk.getMinLevel());
            writeH(0); // return in glory days ?
            writeD(sk.getRequiredItems().size());
            for(int itemId : sk.getRequiredItems().keySet()) {
                writeD(itemId);
                writeQ(sk.getRequiredItems().get(itemId));
            }
            Skill skkill = SkillTable.getInstance().getInfo(sk.getId(), sk.getLevel());
            if (skkill != null && skkill.isRelationSkill())
            {
                int[] _ss = skkill.getRelationSkills();
                writeD(_ss.length);// deletedSkillsSize
                for (int skillId : _ss)
                {
                    writeD(skillId);// skillId
                    writeD(SkillTable.getInstance().getBaseLevel(skillId));// skillLvl
                }
            } else
            writeD(0x00);    
        }
    }
}
Thanks
Ответ
#25
apocalipce Написал:
Код:
package l2ft.gameserver.serverpackets;

import java.util.Collection;

import l2ft.gameserver.data.xml.holder.SkillAcquireHolder;
import l2ft.gameserver.model.Player;
import l2ft.gameserver.model.Skill;
import l2ft.gameserver.model.SkillLearn;
import l2ft.gameserver.tables.SkillTable;


public class ExAcquirableSkillListByClass extends L2GameServerPacket {
    private final Collection<SkillLearn> allskills;
    
    public ExAcquirableSkillListByClass(Player player) {
        allskills = SkillAcquireHolder.getInstance().getAvailableAllSkills(player);
        
    }

    @Override
    protected final void writeImpl() {
        writeC(0xfe);
        [color=Red]writeH(0xf9);[/color]

        writeD(allskills.size());
        for (SkillLearn sk : allskills) {
            writeD(sk.getId());
            writeD(sk.getLevel());
            writeD(sk.getCost());
            writeH(sk.getMinLevel());
            writeH(0); // return in glory days ?
            writeD(sk.getRequiredItems().size());
            for(int itemId : sk.getRequiredItems().keySet()) {
                writeD(itemId);
                writeQ(sk.getRequiredItems().get(itemId));
            }
            Skill skkill = SkillTable.getInstance().getInfo(sk.getId(), sk.getLevel());
            if (skkill != null && skkill.isRelationSkill())
            {
                int[] _ss = skkill.getRelationSkills();
                writeD(_ss.length);// deletedSkillsSize
                for (int skillId : _ss)
                {
                    writeD(skillId);// skillId
                    writeD(SkillTable.getInstance().getBaseLevel(skillId));// skillLvl
                }
            } else
            writeD(0x00);    
        }
    }
}

writeH(0xFA);

=> in ExAcquireSkillInfo opcode will writeH(0xFC);
Ответ
#26
Okay ExAcquirableSkillListByClass now writeH(0xFA); and ExAcquireSkillInfo i dont understand look my ExAcquireSkillInfo
changed the class ExAcquirableSkillListByClass as indicated but still the same situation occurs in critical error, there is another package that has changed these packages?

Class:ExAcquireSkillInfo
Код:
public class ExAcquireSkillInfo extends L2GameServerPacket {
    private Player player;
    private SkillLearn skillLearn;

    public ExAcquireSkillInfo(Player player, SkillLearn skillLearn) {
        this.player = player;
        this.skillLearn = skillLearn;
    }

    @Override
    protected void writeImpl() {
        writeEx(0xFC);

        writeD(skillLearn.getId());//Skill ID
        writeD(skillLearn.getLevel());//Skill Level
        writeD(skillLearn.getCost());// sp_cost
        writeH(skillLearn.getMinLevel());// Required Level
        writeH(0);  // Tauti
        writeD(skillLearn.getRequiredItems().size());
        for(int itemId : skillLearn.getRequiredItems().keySet()) {
            writeD(itemId);
            writeQ(skillLearn.getRequiredItems().get(itemId));
        }
        Skill skkill = SkillTable.getInstance().getInfo(skillLearn.getId(), skillLearn.getLevel());
        if (skkill.isRelationSkill())
        {
            int[] _ss = skkill.getRelationSkills();
            writeD(_ss.length);// deletedSkillsSize
            for (int skillId : _ss)
            {
                writeD(skillId);// skillId
                writeD(SkillTable.getInstance().getBaseLevel(skillId));// skillLvl
            }
        } else
        writeD(0x00);    
    }
}

class ExAcquirableSkillListByClass
Код:
public class ExAcquirableSkillListByClass extends L2GameServerPacket {
    private final Collection<SkillLearn> allskills;
    
    public ExAcquirableSkillListByClass(Player player) {
        allskills = SkillAcquireHolder.getInstance().getAvailableAllSkills(player);
        
    }

    @Override
    protected final void writeImpl() {
        writeEx(0xFA);

        writeD(allskills.size());
        for (SkillLearn sk : allskills) {
            writeD(sk.getId());
            writeD(sk.getLevel());
            writeD(sk.getCost());
            writeH(sk.getMinLevel());
            writeH(0); // return in glory days ?
            writeD(sk.getRequiredItems().size());
            for(int itemId : sk.getRequiredItems().keySet()) {
                writeD(itemId);
                writeQ(sk.getRequiredItems().get(itemId));
            }
            Skill skkill = SkillTable.getInstance().getInfo(sk.getId(), sk.getLevel());
            if (skkill != null && skkill.isRelationSkill())
            {
                int[] _ss = skkill.getRelationSkills();
                writeD(_ss.length);// deletedSkillsSize
                for (int skillId : _ss)
                {
                    writeD(skillId);// skillId
                    writeD(SkillTable.getInstance().getBaseLevel(skillId));// skillLvl
                }
            } else
            writeD(0x00);    
        }
    }
}
Ответ
#27
Дабы не создавать новую тему, напишу здесь:
Решил потренироваться, взял другие исходы таути и сдвинул все опкоды, под 488 протокол, ну и соответственно структурку пакетов некоторых поменял.
Но нарисовалась проблема: при входе в аккаунт, вылезает табличка "Вы не смогли купить предмет. errorcode:0".
Создать персонажа невозможно, кнопка "принять" возле написанного ника не реагирует. Я в печале. Может сталкивался кто-то? Или может я что-то не так делаю?
Ответ
#28
elastic Написал:Дабы не создавать новую тему, напишу здесь:
Решил потренироваться, взял другие исходы таути и сдвинул все опкоды, под 488 протокол, ну и соответственно структурку пакетов некоторых поменял.
Но нарисовалась проблема: при входе в аккаунт, вылезает табличка "Вы не смогли купить предмет. errorcode:0".
Создать персонажа невозможно, кнопка "принять" возле написанного ника не реагирует. Я в печале. Может сталкивался кто-то? Или может я что-то не так делаю?

Попробуйте поменять патч или отключить защиту.
Помог не забудь "Спасибо" Smile
Ответ
#29
elastic,
Скорее всего патч, потому что сам решил под 488 сдвинуть и та же ошибка, а потом крит)
Ответ
#30
elastic Написал:Дабы не создавать новую тему, напишу здесь:
Решил потренироваться, взял другие исходы таути и сдвинул все опкоды, под 488 протокол, ну и соответственно структурку пакетов некоторых поменял.
Но нарисовалась проблема: при входе в аккаунт, вылезает табличка "Вы не смогли купить предмет. errorcode:0".
Создать персонажа невозможно, кнопка "принять" возле написанного ника не реагирует. Я в печале. Может сталкивался кто-то? Или может я что-то не так делаю?


I understand it you could arrange the packets could log in and play, can indicate what changes you made​​? share?
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Пакеты HF sten4eg 1 1,819 09-10-2020, 03:30 AM
Последний пост: Zubastic
  Неизвестные пакеты Lindvior WoWan-SM 4 2,025 07-22-2014, 12:29 PM
Последний пост: WoWan-SM
  C2 пакеты qweqwe1 0 1,048 02-17-2013, 09:57 AM
Последний пост: qweqwe1
  Пакеты Glory Days kloni1 7 2,114 02-12-2013, 09:38 PM
Последний пост: kloni1
  God пакеты elastic 1 1,564 02-11-2013, 10:24 PM
Последний пост: fear111
  клиент пакеты авторизации Murzik 12 3,471 02-05-2013, 01:14 PM
Последний пост: R2D2
  GoD пакеты для Overworld Raymon 2 1,486 02-03-2013, 11:13 PM
Последний пост: Mifesto
  Как отправлять пакеты из CommunitySevrer? cpp 18 4,040 10-23-2012, 10:34 PM
Последний пост: cpp
  пакеты нужна небольшая помошь Vlad2000 4 1,951 09-30-2012, 02:27 AM
Последний пост: Vlad2000
  Опять пакеты :) AlkBy 2 1,555 09-03-2012, 12:19 PM
Последний пост: Earwood

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


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