Серверные пакеты - Страница 3 - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Сообщество Календарь
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II

Lineage II
Дискуссии на тему создания, настройки и обслуживания серверов Lineage 2. При поддержке: Премиум услуги по рекламе

Ответ
Опции темы
Непрочитано 17.02.2013, 14:17   #21
Забанен за кидаловo/обман/развод

По умолчанию Re: Серверные пакеты

 
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));
	}
}
 
Code: 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);
	}
}
 
Code: Java
PrimeShop button:


Full realized PS:
KilRoy вне форума Отправить сообщение для KilRoy с помощью ICQ Отправить сообщение для KilRoy с помощью Skype™ Ответить с цитированием
Сказали спасибо:
Непрочитано 18.02.2013, 01:06   #22
Аватар для apocalipce
Пользователь

По умолчанию Re: Серверные пакеты

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?
apocalipce вне форума Ответить с цитированием
Непрочитано 18.02.2013, 01:44   #23
Забанен за кидаловo/обман/развод

По умолчанию Re: Серверные пакеты

Цитата:
Сообщение от apocalipce Посмотреть сообщение
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
KilRoy вне форума Отправить сообщение для KilRoy с помощью ICQ Отправить сообщение для KilRoy с помощью Skype™ Ответить с цитированием
Непрочитано 18.02.2013, 02:45   #24
Аватар для apocalipce
Пользователь

По умолчанию Re: Серверные пакеты

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
apocalipce вне форума Ответить с цитированием
Непрочитано 18.02.2013, 10:07   #25
Пользователь

По умолчанию Re: Серверные пакеты

Цитата:
Сообщение от 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);
        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);	
        }
    }
}
writeH(0xFA);

=> in ExAcquireSkillInfo opcode will writeH(0xFC);
fear111 вне форума Ответить с цитированием
Непрочитано 19.02.2013, 01:15   #26
Аватар для apocalipce
Пользователь

По умолчанию Re: Серверные пакеты

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);	
        }
    }
}
apocalipce вне форума Ответить с цитированием
Непрочитано 19.02.2013, 21:16   #27
Аватар для elastic
Ooh, who's that handsome devil?

Автор темы (Топик Стартер) Re: Серверные пакеты

Дабы не создавать новую тему, напишу здесь:
Решил потренироваться, взял другие исходы таути и сдвинул все опкоды, под 488 протокол, ну и соответственно структурку пакетов некоторых поменял.
Но нарисовалась проблема: при входе в аккаунт, вылезает табличка "Вы не смогли купить предмет. errorcode:0".
Создать персонажа невозможно, кнопка "принять" возле написанного ника не реагирует. Я в печале. Может сталкивался кто-то? Или может я что-то не так делаю?
elastic вне форума Отправить сообщение для elastic с помощью ICQ Ответить с цитированием
Непрочитано 19.02.2013, 21:31   #28
Аватар для kloni1
Пользователь

По умолчанию Re: Серверные пакеты

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

По умолчанию Re: Серверные пакеты

elastic,
Скорее всего патч, потому что сам решил под 488 сдвинуть и та же ошибка, а потом крит)
fear111 вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 20.02.2013, 00:58   #30
Аватар для apocalipce
Пользователь

По умолчанию Re: Серверные пакеты

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

I understand it you could arrange the packets could log in and play, can indicate what changes you made​​? share?
apocalipce вне форума Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
клиент пакеты авторизации Murzik Lineage II 12 05.02.2013 13:14
Пакеты клиента l2 Virt Программирование / Programming 5 30.10.2012 11:36
UDP и ICMP пакеты Joker Курилка / Yak floor 4 04.03.2011 14:06
Баффер пакеты UFODriverr Lineage II 0 26.05.2010 17:26
серверные html Jao Lineage II 5 14.05.2009 12:21


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 01:11. Часовой пояс GMT +3.

Вверх