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

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

Закрытая тема
Опции темы
Непрочитано 29.05.2011, 00:56   #221
Аватар для ANZO
Разработчик BDO Emu

По умолчанию Re: Работа над Godess of Destruction (part 2)

вв распакованном варианте дллки все есть, но как сказал товарищ вистал не достаточно знать структуру - многое приходиться делать тупым перебором
ANZO вне форума Отправить сообщение для ANZO с помощью ICQ Отправить сообщение для ANZO с помощью Skype™
Непрочитано 29.05.2011, 01:10   #222
Пользователь

По умолчанию Re: Работа над Godess of Destruction (part 2)

А как задать цикл в структуре дат едитора?
Пытался так открывать тоже не как!
Код:
FS = "\t"; 
HEADER = 1; 
RECCNT = OFF; 
MTXCNT_OUT = 1; 
MATCNT_OUT = 1; 
ORD_IGNORE = 0; 

{ 
   UINT item_id;
   UNICODE name;
   UNICODE additionalname;
   ASCF popup;
   INT description;
   UINT name_class;
   UINT setid_1;
   ASCF effect_1;
   UINT setid_2;
   UINT effect_2;
   UINT setid_3;
   ASCF effect_3;
   UINT set_enchant_count;
   ASCF set_enchant_effect;
}
На щёт тупого перебора!Я уже сутки тупо перебираю))
l2j-ct вне форума
Непрочитано 29.05.2011, 01:17   #223
Аватар для VISTALL
Illussion is real

По умолчанию Re: Работа над Godess of Destruction (part 2)

сложные файлы методом перебора никак не сделаеш.

Цитата:
200BAA85 PUSH Engine.205909F8 UNICODE "questmark_begin"
200BAAFA PUSH Engine.20590A18 UNICODE "quest_id"
200BAB6D PUSH Engine.2058FCF8 UNICODE "npc_id"
200BABE0 PUSH Engine.20590A2C UNICODE "race_filter"
200BAC53 PUSH Engine.20590A44 UNICODE "class_filter"
200BACC6 PUSH Engine.20590A60 UNICODE "start_npc_loc"
200BAD39 PUSH Engine.20590A7C UNICODE "questmark_end"
200BADC5 PUSH Engine.20590970 UNICODE "FL2QuestMarkConditionDataManager::FL2QuestMarkCon ditionDataManager"
и орыгинал
  1.  
  2. <file pattern="questmarkconditiondata.dat">
  3. <node name="data" reader="UINT"/>
  4. <for name="data">
  5. <node name="quest_id" reader="UINT" />
  6. <node name="npc_id" reader="UINT" />
  7. <node name="race_filter" reader="SHORT_SHORT" />
  8. <for name="race_filter">
  9. <node name="race" reader="UINT" />
  10. </for>
  11. <node name="class_filter" reader="SHORT_SHORT" />
  12. <for name="class_filter">
  13. <node name="class" reader="UINT" />
  14. </for>
  15. <node name="start_npc_x" reader="FLOAT" />
  16. <node name="start_npc_y" reader="FLOAT" />
  17. <node name="start_npc_z" reader="FLOAT" />
  18. </for>
  19. <node name="file_end" reader="ASCF" value="SafePackage" />
  20. </file>
  21.  
Code: XML
VISTALL вне форума
Сказали спасибо:
Непрочитано 30.05.2011, 12:55   #224
Пользователь

По умолчанию Re: Работа над Godess of Destruction (part 2)

Цитата:
Сообщение от VISTALL Посмотреть сообщение
сложные файлы методом перебора никак не сделаеш.



и орыгинал
  1.  
  2. <file pattern="questmarkconditiondata.dat">
  3. <node name="data" reader="UINT"/>
  4. <for name="data">
  5. <node name="quest_id" reader="UINT" />
  6. <node name="npc_id" reader="UINT" />
  7. <node name="race_filter" reader="SHORT_SHORT" />
  8. <for name="race_filter">
  9. <node name="race" reader="UINT" />
  10. </for>
  11. <node name="class_filter" reader="SHORT_SHORT" />
  12. <for name="class_filter">
  13. <node name="class" reader="UINT" />
  14. </for>
  15. <node name="start_npc_x" reader="FLOAT" />
  16. <node name="start_npc_y" reader="FLOAT" />
  17. <node name="start_npc_z" reader="FLOAT" />
  18. </for>
  19. <node name="file_end" reader="ASCF" value="SafePackage" />
  20. </file>
  21.  
Code: XML
А что это у тебя за структуры интерестные!Каким едитором пользуешся? L2Dat_DecEnc ? Если да то не как не найду где структуры хранятся в нём!
l2j-ct вне форума
Непрочитано 30.05.2011, 14:31   #225
Аватар для VISTALL
Illussion is real

По умолчанию Re: Работа над Godess of Destruction (part 2)

Цитата:
Сообщение от l2j-ct Посмотреть сообщение
А что это у тебя за структуры интерестные!Каким едитором пользуешся? L2Dat_DecEnc ? Если да то не как не найду где структуры хранятся в нём!
свою прогу Path Editor (наследний L2Dat_DecEnc), я признал устаревшим и пишу новую прогу, и структура с неё
VISTALL вне форума
Непрочитано 30.05.2011, 17:41   #226
Пользователь

По умолчанию Re: Работа над Godess of Destruction (part 2)

Понятно!Ну эт плохо не могу перевод зделать!Хотя бы где структуры лежат в L2Dat_EncDec ? облазил много там нет!Файл эдитор знаю где а тут не найду!
l2j-ct вне форума
Непрочитано 30.05.2011, 19:48   #227
Новичок

По умолчанию Re: Работа над Godess of Destruction (part 2)

Народ, поделитесь пожалуйста RequestActionUse.java
LaysMan вне форума Отправить сообщение для LaysMan с помощью ICQ Отправить сообщение для LaysMan с помощью Skype™
Непрочитано 31.05.2011, 01:08   #228
Аватар для VISTALL
Illussion is real

По умолчанию Re: Работа над Godess of Destruction (part 2)

http://dump.ru/file/5246966 декодированый npcgrp.dat
VISTALL вне форума
Сказали спасибо:
Непрочитано 31.05.2011, 03:30   #229
Пользователь

По умолчанию Re: Работа над Godess of Destruction (part 2)

Еще раз всем привет. Подскажите, где я ошибаюсь.

PHP код:
package com.l2jserver.gameserver.network.clientpackets;

import com.l2jserver.gameserver.network.serverpackets.ExIsCharNameCreatable;

public class 
RequestCharacterNameCreatable extends L2GameClientPacket 

    protected 
String _name
     
    @
Override 
    
protected void readImpl() 
    { 
        
_name readS(); 
    } 

    @
Override 
    
protected void runImpl() 
    { 
        
sendPacket(new ExIsCharNameCreatable()); 
    } 
    
    @
Override 
    
public String getType() 
    { 
        return 
"[С] D0:B0 RequestCharacterNameCreatable".intern(); 
    } 

PHP код:
package com.l2jserver.gameserver.network.serverpackets;

public class 
ExIsCharNameCreatable extends L2GameServerPacket 
{
    @
Override 
    
protected void writeImpl()
    { 
        
writeC(0xfe); 
        
writeH(0x10f); 
        
writeD(0x01);    
    } 

    @
Override 
    
public String getType() 
    { 
        return 
"[S] FE:10F ExIsCharNameCreatable".intern(); 
    } 

CharSelectionInfo
PHP код:
protected final void writeImpl()
    {
        
writeC(0x09);
        
int size = (_characterPackages.length);
        
writeD(size);
        
        
// Can prevent players from creating new characters (if 0); (if 1, the client will ask if chars may be created (0x13) Response: (0x0D) )
        
writeD(0x07);
        
writeC(0x00);
        
        
long lastAccess 0L;
        
        if (
_activeId == -1)
        {
            for (
int i 0sizei++)
            {
                if (
lastAccess _characterPackages[i].getLastAccess())
                {
                    
lastAccess _characterPackages[i].getLastAccess();
                    
_activeId i;
                }
            }
        }
        
        for (
int i 0sizei++)
        {
            
CharSelectInfoPackage charInfoPackage _characterPackages[i];
            
writeS(charInfoPackage.getName());
            
writeD(charInfoPackage.getCharId());
            
writeS(_loginName);
            
writeD(_sessionId);
            
writeD(charInfoPackage.getClanId());
            
writeD(0x00); // ??
            
writeD(charInfoPackage.getSex());
            
writeD(charInfoPackage.getRace());
            if (
charInfoPackage.getClassId() == charInfoPackage.getBaseClassId())
                
writeD(charInfoPackage.getClassId());
            else
                
writeD(charInfoPackage.getBaseClassId());
            
writeD(0x01); // active ??
            
writeD(charInfoPackage.getX()); // x
            
writeD(charInfoPackage.getY()); // y
            
writeD(charInfoPackage.getZ()); // z
            
writeF(charInfoPackage.getCurrentHp()); // hp cur
            
writeF(charInfoPackage.getCurrentMp()); // mp cur
            
writeD(charInfoPackage.getSp());
            
writeQ(charInfoPackage.getExp());
            
writeF((float)(charInfoPackage.getExp() - Experience.LEVEL[charInfoPackage.getLevel()]) / (Experience.LEVEL[charInfoPackage.getLevel() + 1] - Experience.LEVEL[charInfoPackage.getLevel()])); // High Five exp %
            
writeD(charInfoPackage.getLevel());
            
writeD(charInfoPackage.getKarma()); // karma
            
writeD(charInfoPackage.getPkKills());
            
writeD(charInfoPackage.getPvPKills());
            
writeD(0x00);
            
writeD(0x00);
            
writeD(0x00);
            
writeD(0x00);
            
writeD(0x00);
            
writeD(0x00);
            
writeD(0x00);
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_HAIR));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_REAR));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_LEAR));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_NECK));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_RFINGER));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_LFINGER));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_HEAD));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_RHAND));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_LHAND));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_GLOVES));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_CHEST));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_LEGS));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_FEET));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_CLOAK));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_RHAND));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_HAIR));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_HAIR2));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_RBRACELET));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_LBRACELET));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_DECO1));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_DECO2));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_DECO3));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_DECO4));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_DECO5));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_DECO6));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_BELT));
            
writeD(charInfoPackage.getHairStyle());
            
writeD(charInfoPackage.getHairColor());
            
writeD(charInfoPackage.getFace());
            
writeF(charInfoPackage.getMaxHp()); // hp max
            
writeF(charInfoPackage.getMaxMp()); // mp max
            
long deleteTime charInfoPackage.getDeleteTimer();
            
int deletedays 0;
            if (
deleteTime 0)
                
deletedays = (int)((deleteTime-System.currentTimeMillis())/1000);
            
writeD(deletedays); // days left before
            // delete .. if != 0
            // then char is inactive
            
writeD(charInfoPackage.getClassId());
            if (
== _activeId)
                
writeD(0x01);
            else
                
writeD(0x00); //c3 auto-select char
            
            
writeC(charInfoPackage.getEnchantEffect() > 127 127 charInfoPackage.getEnchantEffect());
            
writeH(0);
            
writeH(0);
            
//writeD(charInfoPackage.getAugmentationId());

            
            //writeD(charInfoPackage.getTransformId()); // Used to display Transformations
            
writeD(0x00); // Currently on retail when you are on character select you don't see your transformation.
            
            // Freya by Vistall:
            
writeD(0); // npdid - 16024    Tame Tiny Baby Kookaburra        A9E89C
            
writeD(0); // level
            
writeD(0); // ?
            
writeD(0); // food? - 1200
            
writeF(0); // max Hp
            
writeF(0); // cur Hp
            
            // High Five by Vistall:
            
writeD(charInfoPackage.getVitalityPoints());    // H5 Vitality
        
}
    } 
В L2GamePacketHandler зарегистрировал RequestCharacterNameCreatable как B0 в In_Game.
PS. завал на работе( Прихожу домой и смотрю в один и тот же код и немогу понять где ошибаюсь.
Paka вне форума
Непрочитано 31.05.2011, 08:08   #230
Аватар для Bonux
Пользователь

По умолчанию Re: Работа над Godess of Destruction (part 2)

Цитата:
Сообщение от Paka Посмотреть сообщение
Еще раз всем привет. Подскажите, где я ошибаюсь.

PHP код:
package com.l2jserver.gameserver.network.clientpackets;

import com.l2jserver.gameserver.network.serverpackets.ExIsCharNameCreatable;

public class 
RequestCharacterNameCreatable extends L2GameClientPacket 

    protected 
String _name
     
    @
Override 
    
protected void readImpl() 
    { 
        
_name readS(); 
    } 

    @
Override 
    
protected void runImpl() 
    { 
        
sendPacket(new ExIsCharNameCreatable()); 
    } 
    
    @
Override 
    
public String getType() 
    { 
        return 
"[С] D0:B0 RequestCharacterNameCreatable".intern(); 
    } 

PHP код:
package com.l2jserver.gameserver.network.serverpackets;

public class 
ExIsCharNameCreatable extends L2GameServerPacket 
{
    @
Override 
    
protected void writeImpl()
    { 
        
writeC(0xfe); 
        
writeH(0x10f); 
        
writeD(0x01);    
    } 

    @
Override 
    
public String getType() 
    { 
        return 
"[S] FE:10F ExIsCharNameCreatable".intern(); 
    } 

CharSelectionInfo
PHP код:
protected final void writeImpl()
    {
        
writeC(0x09);
        
int size = (_characterPackages.length);
        
writeD(size);
        
        
// Can prevent players from creating new characters (if 0); (if 1, the client will ask if chars may be created (0x13) Response: (0x0D) )
        
writeD(0x07);
        
writeC(0x00);
        
        
long lastAccess 0L;
        
        if (
_activeId == -1)
        {
            for (
int i 0sizei++)
            {
                if (
lastAccess _characterPackages[i].getLastAccess())
                {
                    
lastAccess _characterPackages[i].getLastAccess();
                    
_activeId i;
                }
            }
        }
        
        for (
int i 0sizei++)
        {
            
CharSelectInfoPackage charInfoPackage _characterPackages[i];
            
writeS(charInfoPackage.getName());
            
writeD(charInfoPackage.getCharId());
            
writeS(_loginName);
            
writeD(_sessionId);
            
writeD(charInfoPackage.getClanId());
            
writeD(0x00); // ??
            
writeD(charInfoPackage.getSex());
            
writeD(charInfoPackage.getRace());
            if (
charInfoPackage.getClassId() == charInfoPackage.getBaseClassId())
                
writeD(charInfoPackage.getClassId());
            else
                
writeD(charInfoPackage.getBaseClassId());
            
writeD(0x01); // active ??
            
writeD(charInfoPackage.getX()); // x
            
writeD(charInfoPackage.getY()); // y
            
writeD(charInfoPackage.getZ()); // z
            
writeF(charInfoPackage.getCurrentHp()); // hp cur
            
writeF(charInfoPackage.getCurrentMp()); // mp cur
            
writeD(charInfoPackage.getSp());
            
writeQ(charInfoPackage.getExp());
            
writeF((float)(charInfoPackage.getExp() - Experience.LEVEL[charInfoPackage.getLevel()]) / (Experience.LEVEL[charInfoPackage.getLevel() + 1] - Experience.LEVEL[charInfoPackage.getLevel()])); // High Five exp %
            
writeD(charInfoPackage.getLevel());
            
writeD(charInfoPackage.getKarma()); // karma
            
writeD(charInfoPackage.getPkKills());
            
writeD(charInfoPackage.getPvPKills());
            
writeD(0x00);
            
writeD(0x00);
            
writeD(0x00);
            
writeD(0x00);
            
writeD(0x00);
            
writeD(0x00);
            
writeD(0x00);
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_HAIR));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_REAR));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_LEAR));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_NECK));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_RFINGER));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_LFINGER));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_HEAD));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_RHAND));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_LHAND));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_GLOVES));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_CHEST));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_LEGS));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_FEET));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_CLOAK));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_RHAND));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_HAIR));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_HAIR2));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_RBRACELET));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_LBRACELET));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_DECO1));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_DECO2));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_DECO3));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_DECO4));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_DECO5));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_DECO6));
            
writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_BELT));
            
writeD(charInfoPackage.getHairStyle());
            
writeD(charInfoPackage.getHairColor());
            
writeD(charInfoPackage.getFace());
            
writeF(charInfoPackage.getMaxHp()); // hp max
            
writeF(charInfoPackage.getMaxMp()); // mp max
            
long deleteTime charInfoPackage.getDeleteTimer();
            
int deletedays 0;
            if (
deleteTime 0)
                
deletedays = (int)((deleteTime-System.currentTimeMillis())/1000);
            
writeD(deletedays); // days left before
            // delete .. if != 0
            // then char is inactive
            
writeD(charInfoPackage.getClassId());
            if (
== _activeId)
                
writeD(0x01);
            else
                
writeD(0x00); //c3 auto-select char
            
            
writeC(charInfoPackage.getEnchantEffect() > 127 127 charInfoPackage.getEnchantEffect());
            
writeH(0);
            
writeH(0);
            
//writeD(charInfoPackage.getAugmentationId());

            
            //writeD(charInfoPackage.getTransformId()); // Used to display Transformations
            
writeD(0x00); // Currently on retail when you are on character select you don't see your transformation.
            
            // Freya by Vistall:
            
writeD(0); // npdid - 16024    Tame Tiny Baby Kookaburra        A9E89C
            
writeD(0); // level
            
writeD(0); // ?
            
writeD(0); // food? - 1200
            
writeF(0); // max Hp
            
writeF(0); // cur Hp
            
            // High Five by Vistall:
            
writeD(charInfoPackage.getVitalityPoints());    // H5 Vitality
        
}
    } 
В L2GamePacketHandler зарегистрировал RequestCharacterNameCreatable как B0 в In_Game.
PS. завал на работе( Прихожу домой и смотрю в один и тот же код и немогу понять где ошибаюсь.
Надо не в In_game, а в AUTHED
Bonux вне форума Отправить сообщение для Bonux с помощью ICQ Отправить сообщение для Bonux с помощью Skype™
Закрытая тема

Метки
god, goddess of destruction, jafo мудень, lf pts god, volond1 мудак барыга, volond1 охуел!, атата, волосатое стекло, геодата бункера, левый мадскиллз, мешок картошки, мы везем с собой кота, правая пятка за ухом, саркисян кусает локти, угофф


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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Goddess of Destruction AmigoZ Курилка / Yak floor 24 09.05.2012 01:44
Работа над Goddess of Destruction (part 4) Ozzy Lineage II 494 20.12.2011 11:29
Работа над Goddess of Destruction (part 3) Ozzy Lineage II 442 28.09.2011 03:39
Работа над Goddess of Destruction JaFo Lineage II 409 20.05.2011 01:48


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

Вверх