IPB

Welcome Guest ( Log In | Register )



2 Pages V   1 2 >  
Reply to this topicStart new topic
New Packets, Party Booking etc
LightFighter
post Mar 25 2010, 03:20 PM
Post #1


Keks?
Group Icon

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
Go to the top of the page
 
+Quote Post
Sirius_White
post Mar 25 2010, 03:23 PM
Post #2


ASM apprentice
Group Icon

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
Go to the top of the page
 
+Quote Post
HiddenDragon
post 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
Go to the top of the page
 
+Quote Post
TecnoCronus
post 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
Go to the top of the page
 
+Quote Post
Sirius_White
post Mar 25 2010, 05:08 PM
Post #5


ASM apprentice
Group Icon

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)
Go to the top of the page
 
+Quote Post
k.LabMouse
post 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
Go to the top of the page
 
+Quote Post
HiddenDragon
post 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



QUOTE (Sirius_White @ Mar 25 2010, 01:08 PM) *
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)


Rofl, female body with male hairstyle perhaps? ;D
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
Go to the top of the page
 
+Quote Post
k.LabMouse
post 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
Go to the top of the page
 
+Quote Post
TecnoCronus
post 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
Go to the top of the page
 
+Quote Post
LightFighter
post Mar 26 2010, 12:56 AM
Post #10


Keks?
Group Icon

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
Go to the top of the page
 
+Quote Post
Sam3000
post Mar 26 2010, 03:25 PM
Post #11


hah, jguy lol
Group Icon

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)
Go to the top of the page
 
+Quote Post
kyoshiraa
post 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)
Go to the top of the page
 
+Quote Post
TecnoCronus
post 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 ...
Go to the top of the page
 
+Quote Post
Sirius_White
post Mar 26 2010, 08:21 PM
Post #14


ASM apprentice
Group Icon

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
Go to the top of the page
 
+Quote Post
[NITRO]FOX
post 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?
Go to the top of the page
 
+Quote Post

2 Pages V   1 2 >
Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



Lo-Fi Version Time is now: 3rd September 2010 - 06:47 PM
Bridged By IpbWiki: Integration Of Invision Power Board and MediaWiki © GlobalSoft