New Packets, Party Booking etc |
![]() ![]() |
New Packets, Party Booking etc |
Mar 25 2010, 03:20 PM
Post
#1
|
|
|
Keks? Group: eA Community Contributors Posts: 764 Joined: 19-December 04 From: Aurich, Deutschland Member No.: 100,017 |
There ya go. Too lazy to implement is myself (IMG:style_emoticons/default/smile.gif)
(I think the Job IDs are not right, because some of them are used more than one time, but this is not important for server-side implementation (IMG:style_emoticons/default/wink.gif) ) CODE C>S 0x0802 | Recruit Party Members { 0.W PackID 2.W minLevel 4.W map // See 0x0804 6.W job1 // see 0x0804 8.W job2 // see 0x0804 10.W job3 // see 0x0804 12.W job4 // see 0x0804 14.W job5 // see 0x0804 16.W job6 // see 0x0804 } C<S 0x0803 | Party Recruit Ack { 0.W PackID 2.W failed // 0: success -> LSD Video; >0: failed } C>S 0x0804 | Search Party { 0.W PackID 2.W minLevel 4.W map /* 00 = All 0100 = Prontera Fields 0101 = Culvert 1 0102 = Culvert 2 0103 = Culvert 3 0104 = Culvert 4 0200 = Geffen Fields 0201 = Gypsy Fields 0202 = Geffen Dungeon 1 0203 = Geffen Dungeon 2 0204 = Geffen Dungeon 3 [...] */ 6.W job /* FF FF = All 01 = Attack 02 = Defense 03 = Recovery 04 = Support 07 = Swordsman 08 = Mage 09 = Archer 0A = Acolyte 0B = Merchant 0C = Thief 14 = Knight 15 = Priest 16 = Wizard 17 = Blacksmith 18 = Hunter 19 = Assassin 1A = Crusader 1B = Monk 1C = Sage 1D = Rogue 1E = Alchemist 1F = Bard 20 = Dancer 1A = Rune Knight 1B = Warlock 1C = Ranger 1D = Arch Bishop 1E = Mechanic 1F = Guillotine Cross 21 = Royal Guard 22 = Sorcerer 23 = Minstrel 24 = Wanderer 25 = Sura 26 = Genetic 27 = Shadow Chaser 27 = Swordman High 28 = Mage High 29 = Archer High 2A = Acolyte High 2B = Merchant High 2C = Thief High 34 = Lord Knight 35 = High Priest 36 = High Wizard 37 = Whitesmith 38 = Sniper 39 = Assassin Cross 3A = Paladin 3B = Champion 3C = Professor 3D = Stalker 3E = Creator 3F = Clown 40 = Gypsy 01 = Novice 02 = Novice High 03 = Super Novice 04 = Gunslinger 05 = Ninja 06 = TK Boy/Girl 07 = Star Gladiator 08 = Soul Linker */ 8.L ?? //0x00 12.W Levelrange //fixed 0A } C<S 0x0805 | Search Party Ack { 0.W PackID 2.W Size 4.B Success //0=no party found (Size=5) 5.L BookingID 9.24B Name of Leader 33.L Time //UNIX timestamp 37.W Level 39.W Map 41.W Job1 43.W Job2 45.W Job3 47.W Job4 49.W Job5 51.W Job6 } C>S 0x0806 | Cancel Party Recruiting { 0.W PackID } C<S 0x0807 | Cancel Party Recr Ack { 0.W PackID 2.W success //0=success } C>S 0x0808 | Change Joblist ? { 0.W PackID 2.W job1 // see 0x0804 4.W job2 // see 0x0804 6.W job3 // see 0x0804 8.W job4 // see 0x0804 10.W job5 // see 0x0804 12.W job6 // see 0x0804 } C<S 0x0809 | { 0.W PackID 2.L BookingID // 0x0115, party id? 6.24B Name of Leader 30.L Time //UNIX timestamp 34.W Level 36.W Map 38.W Job1 40.W Job2 42.W Job3 44.W Job4 46.W Job5 48.W Job6 } C<S 0x080A | Change Joblist Ack?/Update Party List { 0.W PackID 2.L BookingID 6.W job1 // see 0x0804 8.W job2 // see 0x0804 10.W job3 // see 0x0804 12.W job4 // see 0x0804 14.W job5 // see 0x0804 16.W job6 // see 0x0804 } C<S 0x080B | Delete Booking { 0.W PackID 2.L BookingID } EDIT: CODE C<S 0x7DB | Update Homun Window
{ 0.W PackID 2.W Type // 1=EXP, 5=HP, 7=SP 4.L Value } This post has been edited by LightFighter: Mar 25 2010, 05:27 PM |
|
|
|
Mar 25 2010, 03:23 PM
Post
#2
|
|
|
ASM apprentice Group: eA Community Contributors Posts: 621 Joined: 21-July 05 From: Germany Member No.: 118,649 |
While we're at it:
CODE C<S 0x7E2 | Display Message { 0.W PackID 2.W MsgStringTable.txt Line Index (= line number - 1) 4.L Number Value } Prints the specified msgstringtable.txt line with 'Number' as %d parameter. CODE C<S 0x07FA | Delete item from inventory { 0.W PackID 2.W Unused 2.W Inventory Index 2.W Amount } Deletes n items from the specified inventory slot. 2nd offset is definitely unused. 0x7FB - Clone of 0x13E with additional code (skill-id specified checks.. dunno exactly) CODE C<S 0x07FC | Change Party Leader { 0.W PackID 2.L Old Leader AID 6.L New Leader AID } Changes the leader to the new AID and displays "Party leader is '%s'". CODE C<S 0x07FD | Notify Item Drop { 0.W PackID 2.L Length 4.B Identifier Flag 5.W Item ID 7.B Name Length 9.?B Name ?.B Length 2 IF 4.B == 0 ?.W Name 2 (from Item ID) ELSE ?.?B Name 2 } This packet displays msgstringtable.txt line 1629: (%ITEM% has been obtained by %NAME% from %NAME 2% - no translation yet) CODE C<S 0x07FE | Play BGM mp3 { 0.W PackID 2.24B MP3 Name } Plays bgm/<name>.mp3 as BGM! CODE C<S 0x081F | Chat Message with filter option { 0.W PackID 2.W Length 4.B Chat Filter ID (Global / Party / Guild / Item / ...) 5.? Message } We might want to change command output to the 81F packet - way better than 'dispself'. 81D / 81E seem to related to the new EP 14 summons. Couldn't quite figure it out. Edit: Added 7FD This post has been edited by Sirius_White: Mar 25 2010, 04:46 PM |
|
|
|
Mar 25 2010, 04:37 PM
Post
#3
|
|
|
eA Apprentice ![]() ![]() ![]() Group: eA Level 5 (Super) Posts: 232 Joined: 30-November 05 Member No.: 133,294 |
Older packets not currently in eathena xP
0x2eb - 2 byte extension of 0x73 with user's font 0x2c6 - Replacement of 0xfe using party ID instead of account id CODE C<S 0x2c6 | Party invite { 0.W PackID 2.L Party ID 6.? Party Name } 0x214 - Reply packet for /check <name> CODE C<S 0x214 | Character Info { 0.W PackID 2.W STR 4.W AGI 6.W VIT 8.W INT 10.W DEX 12.W LUK 14.W ATK1 16.W ATK2 18.W MATK max 20.W MATK min 22.W DEF1 24.W DEF2 26.W MDEF1 28.W MDEF2 30.W HIT 32.W Flee 34.W Perfect Flee 36.W ??? 38.W ASPD 40.W ??? // Movement speed? } 0x2bb CODE C<S 0x2BB | Equip damage packet { 0.W PackID 2.W Equip Index 4.L ID } 0x440 CODE C<S 0x440 | Millennium Shield { 0.W PackID 2.L ID 6.W Shields 8.W ??? // 0x0 } 0x220 - Makes names RED CODE C<S 0x220 | Crazy Killer packet { 0.W PackID 2.L Account ID 6.L Char ID } Does anyone know what the packet structure of 0x1f2 (replacement of 0x16d?) This post has been edited by HiddenDragon: Mar 25 2010, 04:58 PM |
|
|
|
Mar 25 2010, 04:49 PM
Post
#4
|
|
|
@diego_fsf ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Group: eA Level 5 (Super) Posts: 3,196 Joined: 19-October 08 From: Manaus - Amazon Member No.: 273,955 |
Thanks lightfighter these packets will be usefull for me
|
|
|
|
Mar 25 2010, 05:08 PM
Post
#5
|
|
|
ASM apprentice Group: eA Community Contributors Posts: 621 Joined: 21-July 05 From: Germany Member No.: 118,649 |
HiddenDragon:
CODE // packet 0x1f2 struct PACKET_ZC_UPDATE_CHARSTAT2 { /* this+0x0 */ short PacketType /* this+0x2 */ unsigned long AID /* this+0x6 */ unsigned long GID /* this+0xa */ int status /* this+0xe */ short sex /* this+0x10 */ short head /* this+0x12 */ short headPalette } // packet 0x16d struct PACKET_ZC_UPDATE_CHARSTAT { /* this+0x0 */ short PacketType /* this+0x2 */ unsigned long AID /* this+0x6 */ unsigned long GID /* this+0xa */ int status } It's possible to change hairstyle and gender of members (IMG:style_emoticons/default/smile.gif) |
|
|
|
Mar 25 2010, 05:13 PM
Post
#6
|
|
|
eA Apprentice ![]() ![]() ![]() Group: eA Level 3 (Normal) Posts: 51 Joined: 2-April 06 Member No.: 156,331 |
Edit:
Oh... somebody posted my structures. ee. CODE // packet 0x213
struct PACKET_CZ_REQ_STATUS_GM { /* this+0x0 */ short PacketType /* this+0x2 */ char CharName[24] } // packet 0x214 struct PACKET_ZC_ACK_STATUS_GM { /* this+0x0 */ short PacketType /* this+0x2 */ unsigned char str /* this+0x3 */ unsigned char standardStr /* this+0x4 */ unsigned char agi /* this+0x5 */ unsigned char standardAgi /* this+0x6 */ unsigned char vit /* this+0x7 */ unsigned char standardVit /* this+0x8 */ unsigned char Int /* this+0x9 */ unsigned char standardInt /* this+0xa */ unsigned char dex /* this+0xb */ unsigned char standardDex /* this+0xc */ unsigned char luk /* this+0xd */ unsigned char standardLuk /* this+0xe */ short attPower /* this+0x10 */ short refiningPower /* this+0x12 */ short max_mattPower /* this+0x14 */ short min_mattPower /* this+0x16 */ short itemdefPower /* this+0x18 */ short plusdefPower /* this+0x1a */ short mdefPower /* this+0x1c */ short plusmdefPower /* this+0x1e */ short hitSuccessValue /* this+0x20 */ short avoidSuccessValue /* this+0x22 */ short plusAvoidSuccessValue /* this+0x24 */ short criticalSuccessValue /* this+0x26 */ short ASPD /* this+0x28 */ short plusASPD } // packet 0x220 struct PACKET_ZC_NOTIFY_CRAZYKILLER { /* this+0x0 */ short PacketType /* this+0x2 */ unsigned long AID /* this+0x6 */ int isCrazyKiller } // packet 0x2bb struct PACKET_ZC_EQUIPITEM_DAMAGED { /* this+0x0 */ short PacketType /* this+0x2 */ unsigned short wearLocation /* this+0x4 */ unsigned long accountID } // packet 0x2c4 struct PACKET_CZ_PARTY_JOIN_REQ { /* this+0x0 */ short PacketType /* this+0x2 */ char characterName[24] } // packet 0x2c5 struct PACKET_ZC_PARTY_JOIN_REQ_ACK { /* this+0x0 */ short PacketType /* this+0x2 */ char characterName[24] /* this+0x1a */ enum PACKET_ZC_PARTY_JOIN_REQ_ACK::enumAnswer answer { ANSWER_ALREADY_OTHERGROUPM = 0x0, ANSWER_MEMBER_OVERSIZE = 0x3, ANSWER_JOIN_ACCEPT = 0x2, ANSWER_JOIN_REFUSE = 0x1, ANSWER_DUPLICATE = 0x4, ANSWER_JOINMSG_REFUSE = 0x5, ANSWER_UNKNOWN_ERROR = 0x6, ANSWER_UNKNOWN_CHARACTER = 0x7, ANSWER_INVALID_MAPPROPERTY = 0x8 } } // packet 0x2c6 struct PACKET_ZC_PARTY_JOIN_REQ { /* this+0x0 */ short PacketType /* this+0x2 */ unsigned long GRID /* this+0x6 */ char groupName[24] } // packet 0x2c7 struct PACKET_CZ_PARTY_JOIN_REQ_ACK { /* this+0x0 */ short PacketType /* this+0x2 */ unsigned long GRID /* this+0x6 */ bool bAccept } // packet 0x2c8 struct PACKET_CZ_PARTY_CONFIG { /* this+0x0 */ short PacketType /* this+0x2 */ bool bRefuseJoinMsg } // packet 0x2c9 struct PACKET_ZC_PARTY_CONFIG { /* this+0x0 */ short PacketType /* this+0x2 */ bool bRefuseJoinMsg } // packet 0x2eb struct PACKET_ZC_ACCEPT_ENTER2 { /* this+0x0 */ short PacketType /* this+0x2 */ unsigned long startTime /* this+0x6 */ unsigned char PosDir[3] /* this+0x9 */ unsigned char xSize /* this+0xa */ unsigned char ySize /* this+0xb */ short font } // packet 0x440 struct PACKET_ZC_MILLENNIUMSHIELD { /* this+0x0 */ short PacketType /* this+0x2 */ unsigned long AID /* this+0x6 */ short num /* this+0x8 */ short state } This post has been edited by k.LabMouse: Mar 25 2010, 05:10 PM |
|
|
|
Mar 25 2010, 05:18 PM
Post
#7
|
|
|
eA Apprentice ![]() ![]() ![]() Group: eA Level 5 (Super) Posts: 232 Joined: 30-November 05 Member No.: 133,294 |
HiddenDragon: CODE // packet 0x1f2 struct PACKET_ZC_UPDATE_CHARSTAT2 { /* this+0x0 */ short PacketType /* this+0x2 */ unsigned long AID /* this+0x6 */ unsigned long GID /* this+0xa */ int status /* this+0xe */ short sex /* this+0x10 */ short head /* this+0x12 */ short headPalette } // packet 0x16d struct PACKET_ZC_UPDATE_CHARSTAT { /* this+0x0 */ short PacketType /* this+0x2 */ unsigned long AID /* this+0x6 */ unsigned long GID /* this+0xa */ int status } It's possible to change hairstyle and gender of members (IMG:style_emoticons/default/smile.gif) EDIT: Oh I see Lemme try this out :3 EDIT2: one more 0x7e6 - A general-purpose packet to print msgstringtable entries with skill name attached (all in blue) CODE 0x7E6 | Skill Message
{ 0.W PackID 2.W SkillID 4.L Msgstringtable.txt # } This post has been edited by HiddenDragon: Mar 25 2010, 05:27 PM |
|
|
|
Mar 25 2010, 10:18 PM
Post
#8
|
|
|
eA Apprentice ![]() ![]() ![]() Group: eA Level 3 (Normal) Posts: 51 Joined: 2-April 06 Member No.: 156,331 |
HiddenDragon
Some Additions. May-be you have, may-be not. CODE // packet 0x7dc
struct PACKET_CZ_SEEK_PARTY { /* this+0x0 */ short PacketType /* this+0x2 */ unsigned long Option } // packet 0x7dd struct PACKET_ZC_SEEK_PARTY { /* this+0x0 */ short PacketType /* this+0x2 */ char Name[24] /* this+0x1a */ unsigned long Job /* this+0x1e */ unsigned long Level /* this+0x22 */ char mapName[16] /* this+0x32 */ unsigned long Option } // packet 0x7de struct PACKET_CZ_SEEK_PARTY_MEMBER { /* this+0x0 */ short PacketType /* this+0x2 */ unsigned long Job /* this+0x6 */ unsigned long Level /* this+0xa */ char mapName[16] /* this+0x1a */ unsigned long Option } // packet 0x7df struct PACKET_ZC_SEEK_PARTY_MEMBER { /* this+0x0 */ short PacketType /* this+0x2 */ char Name[24] /* this+0x1a */ unsigned long Job /* this+0x1e */ unsigned long Level /* this+0x22 */ char mapName[16] /* this+0x32 */ unsigned long Option } // packet 0x7e0 struct PACKET_ZC_ES_NOTI_MYINFO { /* this+0x0 */ short PacketType /* this+0x2 */ short esNo /* this+0x4 */ char esname[54] } This post has been edited by k.LabMouse: Mar 25 2010, 10:20 PM |
|
|
|
Mar 25 2010, 11:04 PM
Post
#9
|
|
|
@diego_fsf ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Group: eA Level 5 (Super) Posts: 3,196 Joined: 19-October 08 From: Manaus - Amazon Member No.: 273,955 |
I'm not a "expert about packet" but is this clif function to delete booking right ?:
CODE void clif_partybooking_delete(struct map_session_data *sd, unsigned int book_id) { int fd; nullpo_retr(0,sd); fd=sd->fd; WFIFOHEAD(fd,packet_len(0x080B)); WFIFOW(fd,0)=0x080B; WFIFOL(fd,2)= book_id; WFIFOSET(fd,packet_len(0x080B)); } The only problem for me is the packet_db file This post has been edited by TecnoCronus: Mar 26 2010, 07:30 PM |
|
|
|
Mar 26 2010, 12:56 AM
Post
#10
|
|
|
Keks? Group: eA Community Contributors Posts: 764 Joined: 19-December 04 From: Aurich, Deutschland Member No.: 100,017 |
CODE 0x0802,18
0x0803,4 0x0804,14 0x0805,-1 0x0806,2 0x0807,4 0x0808,14 0x0809,50 0x080A,18 0x080B,6 0x080C,2 0x080D,3 0x080E,14 0x080F,20 0x0810,3 0x0811,-1 0x0812,86 0x0813,-1 0x0814,2 0x0815,6 0x0816,6 0x0817,-1 0x0818,-1 0x0819,10 0x081A,4 0x081B,4 0x081C,6 0x081D,22 0x081E,8 0x081F,-1 |
|
|
|
Mar 26 2010, 03:25 PM
Post
#11
|
|
|
hah, jguy lol Group: eA Community Contributors Posts: 1,718 Joined: 11-November 05 From: Russia, Moscow Member No.: 131,241 |
Nice work (IMG:style_emoticons/default/biggrin.gif)
|
|
|
|
Mar 26 2010, 04:17 PM
Post
#12
|
|
|
?php $local = "err" echo "$local"; ![]() ![]() ![]() ![]() ![]() ![]() ![]() Group: eA Level 5 (Super) Posts: 1,133 Joined: 6-March 07 From: Terra do Nunca Member No.: 219,316 |
very very nice!
thx a lot dude! (IMG:style_emoticons/default/laugh.gif) |
|
|
|
Mar 26 2010, 08:06 PM
Post
#13
|
|
|
@diego_fsf ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Group: eA Level 5 (Super) Posts: 3,196 Joined: 19-October 08 From: Manaus - Amazon Member No.: 273,955 |
@Sirius_White:
About the 0x07E2 packet, how this message will be shown ? just like 0x017f packet ( i.e dispbottom) shows ? or into another way ? I know that the min client required is 2009-08-05aRagexeRE. but I'm without RO here to test now ... |
|
|
|
Mar 26 2010, 08:21 PM
Post
#14
|
|
|
ASM apprentice Group: eA Community Contributors Posts: 621 Joined: 21-July 05 From: Germany Member No.: 118,649 |
Like dispbottom, different color though. (White I think)
This post has been edited by Sirius_White: Mar 26 2010, 08:23 PM |
|
|
|
Apr 8 2010, 10:57 AM
Post
#15
|
|
|
*Nitrão* ![]() ![]() ![]() ![]() ![]() ![]() Group: eA Level 5 (Super) Posts: 839 Joined: 31-December 05 From: Portugal Member No.: 137,813 |
some estimates to put in eAthena Trunk?
|
|
|
|
![]() ![]() |
| Lo-Fi Version | Time is now: 3rd September 2010 - 06:47 PM |