Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Lineage II (https://forum.zone-game.info/forumdisplay.php?f=34)
-   -   Работа над Goddess of Destruction (part 2) (https://forum.zone-game.info/showthread.php?t=14176)

ANZO 28.05.2011 11:51

Re: Работа над Godess of Destruction (part 2)
 
Цитата:

Сообщение от l2j-ct (Сообщение 123967)
Ладно декодированные есть а кадировать как потом при переводе?Грубо говоря декодированные помогут ну максимум в сервер название итема вбить не более. Если б структуру дат едита или хотя бы пример что б построить структуру!Так бы часть руоффа перевода вставил бы и часть кое как руками!Уже б было что то!

Структура есть в дампе, дальше дело техники.

Bacek 28.05.2011 12:18

Re: Работа над Godess of Destruction (part 2)
 
Меняю пакет MagicSkillUse на другие пакеты ..


darkevil 28.05.2011 12:28

Re: Работа над Godess of Destruction (part 2)
 
Цитата:

Сообщение от geordg (Сообщение 123991)
не заходит ) после создания чара пытаюсь зайти и связь обрывается.

Патчь какой-то кривой у тебя...

Мой тащи, правда руссик не пашет:
_http://anime-dream.com/down/system.7z

VISTALL 28.05.2011 14:08

Re: Работа над Godess of Destruction (part 2)
 
Цитата:

Сообщение от geordg (Сообщение 123991)
не заходит ) после создания чара пытаюсь зайти и связь обрывается.

все норм заходит

l2j-ct 28.05.2011 14:13

Re: Работа над Godess of Destruction (part 2)
 
То не патчь кривой то строка в л2 ини у него 100% уверен в этом!


Я вот не пойму что в структуре itemname-ru моей не так?
Вот она сама:
Код:

FS = "\t";
HEADER = 1;
RECCNT = OFF;
MTXCNT_OUT = 1;
MATCNT_OUT = 1;
ORD_IGNORE = 0;

{
  UNICODE item_name_begin;
  UINT item_id;
  UNICODE name;
  UNICODE additionalname;
  INT popup;
  ASCF description;
  UNICODE name_class;

  UNICODE setid_1;
  UNICODE effect_1;
  UNICODE setid_2;
  UNICODE effect_2;
  UNICODE setid_3;
  UNICODE effect_3;

  UNICODE set_enchant_count;
  UNICODE set_enchant_effect;
  UNICODE item_name_end;
}


ANZO 28.05.2011 14:30

Re: Работа над Godess of Destruction (part 2)
 
Во первых не item_id, а id. item_name_end и item_name_begin убрать. Не все поля UNICODE.

l2j-ct 28.05.2011 14:35

Re: Работа над Godess of Destruction (part 2)
 
Вот кому надо, бо быстрому накатал структурку, проверял работает только надо тип столбца задавать правельно, кому надо поправте itemstatdata.dat
Код:

FS = "\t";
HEADER = 1;
RECCNT = OFF;
MTXCNT_OUT = 1;
MATCNT_OUT = 1;
ORD_IGNORE = 0;

{
        UINT object_id;
        UINT pDefense;
        UINT mDefense;
        UINT pAttack;
        UINT mAttack;
        UINT pAttackSpeed;
        UINT mAttackSpeed;
        UINT pHit;
        UINT mHit;
        UINT pCritical;
        UINT mCritical;
        UINT speed;
        UINT ShieldDefense;
        UINT ShieldDefenseRate;
        UINT pavoid;
        UINT mavoid;
        UINT property_params;
}


ANZO 28.05.2011 14:51

Re: Работа над Godess of Destruction (part 2)
 
Там флоаты:

Код:

FS = "\t";
HEADER = 1;
RECCNT = OFF;
MTXCNT_OUT = 1;
MATCNT_OUT = 1;
ORD_IGNORE = 0;

{
        UINT object_id;
        FLOAT pDefense;
        FLOAT mDefense;
        FLOAT pAttack;
        FLOAT mAttack;
        FLOAT pAttackSpeed;
        FLOAT mAttackSpeed;
        FLOAT pHit;
        FLOAT mHit;
        FLOAT pCritical;
        FLOAT mCritical;
        FLOAT speed;
        FLOAT ShieldDefense;
        FLOAT ShieldDefenseRate;
        FLOAT pavoid;
        FLOAT mavoid;
        FLOAT property_params;
}


l2j-ct 28.05.2011 15:15

Re: Работа над Godess of Destruction (part 2)
 
я вот не могу не как норм зделать itemname-ru
Вот что у меня получилось:
Код:

FS = "\t";
HEADER = 1;
RECCNT = OFF;
MTXCNT_OUT = 1;
MATCNT_OUT = 1;
ORD_IGNORE = 0;

{
  UINT item_id;
  ASCF name;
  ASCF additionalname;
  INT popup;
  ASCF description;
  ASCF name_class;
  UINT setid_1;
  UINT effect_1;
  UINT setid_2;
  UINT effect_2;
  UINT setid_3;
  UINT effect_3;
  UINT set_enchant_count;
  UINT set_enchant_effect;
}

Если все UINT открывает но сами понимаете как! Пробывал по разному не как не хочет открывать. name и подобные столбци пробывал и юникод и так и сяк!Не как.

Bacek 28.05.2011 15:21

Re: Работа над Godess of Destruction (part 2)
 
Цитата:

Сообщение от l2j-ct (Сообщение 124005)
Если все UINT открывает но сами понимаете как! Пробывал по разному не как не хочет открывать. name и подобные столбци пробывал и юникод и так и сяк!Не как.

У меня пишет ошибку

Код HTML:

|  | File scan error:
|  |  row: 1 / 25358
|  |  field: 6 / 13 (name: setid_1)


l2j-ct 28.05.2011 15:23

Re: Работа над Godess of Destruction (part 2)
 
У меня так открывает itemname-ru мой.
Код:

FS = "\t";
HEADER = 1;
RECCNT = OFF;
MTXCNT_OUT = 1;
MATCNT_OUT = 1;
ORD_IGNORE = 0;

{
  UINT item_id;
  UINT name;
  UINT additionalname;
  INT popup;
  UINT description;
  UINT name_class;
  UINT setid_1;
  UINT effect_1;
  UINT setid_2;
  UINT effect_2;
  UINT setid_3;
  UINT effect_3;
  UINT set_enchant_count;
  UINT set_enchant_effect;
}

Но типы столбцов надо править не могу задать текстовым полям тип!Тогда перестаёт работать!Вот сижу думаю!

ANZO 28.05.2011 15:28

Re: Работа над Godess of Destruction (part 2)
 
http://rghost.ru/8313631
Данные с itemstatsdata в sql варианте под сборку

l2j-ct 28.05.2011 15:30

Re: Работа над Godess of Destruction (part 2)
 
Может кто зделал itemname-k структуру?Поделитесь для перевода надо))

Всё что макс получилось получить это 1-ну строку открытую и то криво:
Код:

item_id        name        additionalname        popup        description        name_class        setid_1        effect_1        setid_2        effect_2        setid_3        effect_3        set_enchant_count        set_enchant_effect
25359        a,\0\0\0\n\0\0\0˜°4» \0TÖ´À        a,        -1660944384        u,㒰岻₸찀뒴쓅⃉吀듖⻀ 㐀঻₮尀壖⃇吀듖峀₸가꧀        3837009094        11954        4294967040        255        0        0        0        0        0


ANZO 28.05.2011 16:17

Re: Работа над Godess of Destruction (part 2)
 
Цитата:

Сообщение от l2j-ct (Сообщение 124009)
Может кто зделал itemname-k структуру?Поделитесь для перевода надо))

Всё что макс получилось получить это 1-ну строку открытую и то криво:
Код:

item_id        name        additionalname        popup        description        name_class        setid_1        effect_1        setid_2        effect_2        setid_3        effect_3        set_enchant_count        set_enchant_effect
25359        a,\0\0\0\n\0\0\0˜°4» \0TÖ´À        a,        -1660944384        u,㒰岻₸찀뒴쓅⃉吀듖⻀ 㐀঻₮尀壖⃇吀듖峀₸가꧀        3837009094        11954        4294967040        255        0        0        0        0        0


Давай ddf, Доколупаю пока на работе.

Добавлено через 1 час 33 минуты
flymovename-e.dat
Более менее ясно теперь, где прыгать можно. Не так все радужно как хотелось бы :)
http://rghost.ru/8331561

Примерный перевод:

Код:

path        node        name
14        1        u,North Woods\0
14        5        u,Timmy the arms of Nathaniel\0
15        1        u,Deep southern forest\0
15        9        u,Timmy the arms of Nathaniel\0
18        23        u,West garden\0
18        25        u,East Garden\0
18        11        u,Fountain garden\0
18        13        u,Los sick Garden\0
18        4        u,Los sick Garden\0
18        19        u,Los sick Garden\0
18        15        u,Los sick Garden\0
18        5        u,One thousand and four-phase Garden\0
19        1        u,Los sick Garden\0
19        2        u,Los sick Garden\0
19        4        u,Progress\0
19        7        u,Fountain garden\0
19        11        u,Genesis Garden entrance\0
21        1        u,Bloody swamp\0
21        7        u,The altar of evil\0

Дифка:
Код:

FS = "\t";
HEADER = 1;
RECCNT = OFF;
MTXCNT_OUT = 1;
MATCNT_OUT = 1;
ORD_IGNORE = 0;

{
  UINT path;
  UINT node;
  ASCF name;
}


JimmTor 28.05.2011 18:13

Re: Работа над Godess of Destruction (part 2)
 
Цитата:

Сообщение от darkevil (Сообщение 123985)
Можешь у мну бегать на тестовом... 91.210.87.123

А ,что с акком??Или там авто?

l2j-ct 28.05.2011 19:05

Re: Работа над Godess of Destruction (part 2)
 
Вот с такой структурой выбивает ту 1-ну строку:
Код:

FS = "\t";
HEADER = 1;
RECCNT = 1;
MTXCNT_OUT = 1;
MATCNT_OUT = 1;
ORD_IGNORE = 0;

{
  UINT item_id;
  ASCF name;
  ASCF additionalname;
  INT popup;
  ASCF description;
  UINT name_class;
  UINT setid_1;
  UINT effect_1;
  UINT setid_2;
  UINT effect_2;
  UINT setid_3;
  UINT effect_3;
  UINT set_enchant_count;
  UINT set_enchant_effect;
}


Paka 28.05.2011 19:22

Re: Работа над Godess of Destruction (part 2)
 
Короче хз, http://rghost.ru/8331061, что не так даж незнаю( хэлп плз.

VISTALL 28.05.2011 22:24

Re: Работа над Godess of Destruction (part 2)
 
	<file pattern="itemname-[\w]+\.dat">
		<node name="data" reader="UINT"/>
		<for name="data">
			<node name="item_id" reader="UINT" />
			<node name="name" reader="UNICODE" />
			<node name="additionalname" reader="UNICODE" />
			<node name="popup" reader="ASCF" />
			<node name="description" reader="INT" />
			<node name="name_class" reader="UINT" />
			<for name="name_class">
				<node name="name_class_sub" reader="UINT" />
				<for name="name_class_sub">
					<node name="name_class_sub2" reader="UINT" />
				</for>
			</for>
			<node name="setid_1" reader="UINT" />
			<for name="setid_1">
				<node name="seteffect_1" reader="ASCF" />
			</for>
			<node name="setid_2" reader="UINT" />
			<for name="setid_2">
				<node name="seteffect_2_sub" reader="UINT" />
				<for name="seteffect_2_sub">
					<node name="seteffect_2_sub2" reader="UINT" />
				</for>
			</for>
			<node name="setid_3" reader="UINT" />
			<for name="setid_3">
				<node name="seteffect_3" reader="ASCF" />
			</for>
			<node name="unknown_1" reader="UINT" />
			<node name="unknown_2" reader="UINT" />
			<node name="set_enchant_count" reader="UINT" />
			<node name="set_enchant_effect" reader="ASCF" />
			<node name="color" reader="UINT" />
		</for>
		<node name="file_end" reader="ASCF" value="SafePackage" />
	</file>
Code: XML
Добавлено через 17 минут
Структура странна, я доставал розборным методом по байтах

l2j-ct 28.05.2011 23:02

Re: Работа над Godess of Destruction (part 2)
 
Просто я структуру мучал по дампу который тут выложен!И там даже столбцов таких нет как у тебя в структуре!Странно!

VISTALL 29.05.2011 00:20

Re: Работа над Godess of Destruction (part 2)
 
Цитата:

Сообщение от l2j-ct (Сообщение 124060)
Просто я структуру мучал по дампу который тут выложен!И там даже столбцов таких нет как у тебя в структуре!Странно!

я выходные файлы давал смотри, кстати к названия присмотрись, если там 1 поле в дампе клиенте , это не 1 поле (может быть цыкл)

ANZO 29.05.2011 00:56

Re: Работа над Godess of Destruction (part 2)
 
вв распакованном варианте дллки все есть, но как сказал товарищ вистал не достаточно знать структуру - многое приходиться делать тупым перебором

l2j-ct 29.05.2011 01:10

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;
}

На щёт тупого перебора!Я уже сутки тупо перебираю))

VISTALL 29.05.2011 01:17

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

l2j-ct 30.05.2011 12:55

Re: Работа над Godess of Destruction (part 2)
 
Цитата:

Сообщение от VISTALL (Сообщение 124091)
сложные файлы методом перебора никак не сделаеш.



и орыгинал
  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 ? Если да то не как не найду где структуры хранятся в нём!

VISTALL 30.05.2011 14:31

Re: Работа над Godess of Destruction (part 2)
 
Цитата:

Сообщение от l2j-ct (Сообщение 124225)
А что это у тебя за структуры интерестные!Каким едитором пользуешся? L2Dat_DecEnc ? Если да то не как не найду где структуры хранятся в нём!

свою прогу Path Editor (наследний L2Dat_DecEnc), я признал устаревшим и пишу новую прогу, и структура с неё

l2j-ct 30.05.2011 17:41

Re: Работа над Godess of Destruction (part 2)
 
Понятно!Ну эт плохо не могу перевод зделать!Хотя бы где структуры лежат в L2Dat_EncDec ? облазил много там нет!Файл эдитор знаю где а тут не найду!

LaysMan 30.05.2011 19:48

Re: Работа над Godess of Destruction (part 2)
 
Народ, поделитесь пожалуйста RequestActionUse.java :+25 Duals:

VISTALL 31.05.2011 01:08

Re: Работа над Godess of Destruction (part 2)
 
http://dump.ru/file/5246966 декодированый npcgrp.dat

Paka 31.05.2011 03:30

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. завал на работе( Прихожу домой и смотрю в один и тот же код и немогу понять где ошибаюсь.

Bonux 31.05.2011 08:08

Re: Работа над Godess of Destruction (part 2)
 
Цитата:

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

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

Tram 31.05.2011 08:28

Re: Работа над Godess of Destruction (part 2)
 
Цитата:

Сообщение от VISTALL (Сообщение 124236)
свою прогу Path Editor (наследний L2Dat_DecEnc), я признал устаревшим и пишу новую прогу, и структура с неё

Будем надеется что Новая лучшая программа будет в шаре!

l2j-ct 31.05.2011 10:13

Re: Работа над Godess of Destruction (part 2)
 
Цитата:

Сообщение от VISTALL (Сообщение 124091)
сложные файлы методом перебора никак не сделаеш.



и орыгинал
  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

Цитата:

Сообщение от Tram (Сообщение 124331)
Будем надеется что Новая лучшая программа будет в шаре!

Сильно в этом сомниваюсь!Хотя б структуру под файл элит только itemname-k.dat
То не как не хочет моя работать))

Paka 31.05.2011 11:17

Re: Работа над Godess of Destruction (part 2)
 
Цитата:

Сообщение от Bonux (Сообщение 124328)
Надо не в In_game, а в AUTHED

Всеравно результата нет, за основу взял х5 от лыжи.

l2j-ct 31.05.2011 12:00

Re: Работа над Godess of Destruction (part 2)
 
ГГ а какая разница х5 или х100 и от лыжи или нет!Вход в принципе в игру везде одинаков! Это уже остальные пакеты в разных тимах разные а так практически одно и тоже пакеты на создание чара и вход!

Paka 31.05.2011 12:12

Re: Работа над Godess of Destruction (part 2)
 
Ну так где может быть косяк? Вроде все правильно, а чар не создается, тоесть появляется форма создания чара, но при нажатии кнопки готово ничего не происходит.

[STIGMATED] 31.05.2011 12:19

Re: Работа над Godess of Destruction (part 2)
 
l2j-ct, х5 имелось в виду ХФ5 (High Five).

l2j-ct 31.05.2011 12:19

Re: Работа над Godess of Destruction (part 2)
 
Проверяй файл создания чара я расписывал тут в теме какой пакет за что отвечает!Буквально пару страниц пролистать назад!

OSTIN 31.05.2011 13:04

Re: Работа над Godess of Destruction (part 2)
 
Помогите плиз. Сделал 2 пакета. Прописал один из них в L2GamePacketHandler оппкод 0xb0

RequestCharacterNameCreatable и ExIsCharNameCreatable

Но при создании чара в ГС пишет:

Цитата:

INFO [31 May 12:53:37,476] 3 x Unknown Packet: 0xd0 : 0xb0, Client: [State: AUTH
ED | IP: 127.0.0.1 | Account: test ]
INFO [31 May 12:53:37,476] 3 x 0000: 4f 00 53 00 54 00 49 00 4e 00 00 00
O.S.T.I.N...

l2j-ct 31.05.2011 14:55

Re: Работа над Godess of Destruction (part 2)
 
Кто то разобрался с атакой магической! Проблемма когда бью моба, чар стреляет куда то в сторону бывает даже назад, когда стреляет моб исчезает но таргет показует что я его убил и чат! Зато когда атакую нпц, всё нормально и ровно атакуется! Сборка SunDev 613 рева.

Tram 31.05.2011 15:19

Re: Работа над Godess of Destruction (part 2)
 
Цитата:

Сообщение от l2j-ct (Сообщение 124394)
Кто то разобрался с атакой магической! Проблемма когда бью моба, чар стреляет куда то в сторону бывает даже назад, когда стреляет моб исчезает но таргет показует что я его убил и чат! Зато когда атакую нпц, всё нормально и ровно атакуется! Сборка SunDev 613 рева.

такая же проблема проблема!
Думаю загвоздка в пакет НпсИнфо



Текущее время: 17:48. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot