TODO
Adds new member to a party.
0a43
0a44
implemented in #1884
'0069':
[
(
("accept login", (0, 100000000)),
[
('auth code', generic, 4, 1),
('account id', generic, 4, 1),
('level', generic, 4, 1),
('last ip', generic, 4, 1, getInt, printIp),
('last time', string, 26, 1),
('sex', generic, 1, 1, getInt, printSex),
(' num', counter, 0, 1),
(' ip', generic, 4, 1, getInt, printIp),
(' port', generic, 2, 1),
(' name', string, 20, 1),
(' user count', generic, 2, 1),
(' state', generic, 2, 1, getInt, printCharServerState),
(' server type', generic, 2, 1, getInt, printCharServerType),
]
),
],
'0ac4':
[
(
("accept login", (0, 100000000)),
[
('auth code', generic, 4, 1),
('account id', generic, 4, 1),
('level', generic, 4, 1),
('last ip', generic, 4, 1, getInt, printIp),
('last time', string, 26, 1),
('sex', generic, 1, 1, getInt, printSex),
('unknown', unknown, 17, 1),
(' num', counter, 0, 1),
(' ip', generic, 4, 1, getInt, printIp),
(' port', generic, 2, 1),
(' name', string, 20, 1),
(' user count', generic, 2, 1),
(' state', generic, 2, 1, getInt, printCharServerState),
(' server type', generic, 2, 1, getInt, printCharServerType),
(' unknown', unknown, 128, -7),
]
),
],
#if PACKETVER >= 20170315
memset(WFIFOP(fd,47),0,17); // Unknown
#endif
for( i = 0, n = 0; i < ARRAYLENGTH(ch_server); ++i ) {
if( !session_isValid(ch_server[i].fd) )
continue;
subnet_char_ip = lan_subnetcheck(ip); // Advanced subnet check [LuzZza]
WFIFOL(fd,header+n*size) = htonl((subnet_char_ip) ? subnet_char_ip : ch_server[i].ip);
WFIFOW(fd,header+n*size+4) = ntows(htons(ch_server[i].port)); // [!] LE byte order here [!]
memcpy(WFIFOP(fd,header+n*size+6), ch_server[i].name, 20);
WFIFOW(fd,header+n*size+26) = ch_server[i].users;
WFIFOW(fd,header+n*size+28) = ch_server[i].type;
WFIFOW(fd,header+n*size+30) = ch_server[i].new_;
#if PACKETVER >= 20170315
memset(WFIFOP(fd, header+n*size+32), 0, 128); // Unknown
#endif
new account_server_info for sT2017+
New charBlockSize for client 201708+
New recv in client 201708+
// 20170830
packet(SMSG_PLAYER_STAT_UPDATE_7,0x0acb, 12, &PlayerRecv::processPlayerStatUpdate7,20170830);
packet(SMSG_PLAYER_GET_EXP2,0x0acc, 18, &PlayerRecv::processPlayerGetExp2,20170830);
// 20171207
if (packetVersion >= 20171207)
{
packet(SMSG_PARTY_MEMBER_INFO,0x0ae4, 89, &PartyRecv::processPartyMemberInfo,20171207);
packet(SMSG_PARTY_INFO,0x0ae5, -1, &PartyRecv::processPartyInfo,20171207);
}
https://gitlab.com/manaplus/manaplus/blob/master/src/net/eathena/packetsout.inc
add packet send in sT
All blocksizes is already implemented in servertype 0 and Poseidon
@alisonrag
not work in pServer client 201708+
test with charblocksizes 155 dont work in clientdate 202171213
You are now attacking Monster Rocker (0)
[100/100] You attack Monster Rocker (0) (Dmg: Miss!) (Delay: 100ms)
[100/100] You attack Monster Rocker (0) (Dmg: Miss!) (Delay: 100ms)
[100/100] You attack Monster Rocker (0) (Dmg: -20097) (Delay: 100ms)
Target died
------------------- Exp Report -------------------
Botting time : 3 minutes 44 seconds
BaseExp : 0
JobExp : 0
BaseExp/Hour : 0
JobExp/Hour : 0
zeny : 0
zeny/Hour : 0
Base Levelup Time Estimation : 0 seconds
Job Levelup Time Estimation : 0 seconds
Died : 0
Bytes Sent : 3,027
Bytes Rcvd : 21,968
--------------------------------------------------
Sakexe_0 miss many new packet .
need rework . T.T
@sctnightcore
a lot of packets is already implemented in st0
we need to move duplicated packets to receive / send .pm

Some packets were added, such as bank(9A6 until 9AA and login_data (one before last)
These are just received packets, need to check all that are sent.
@sctnightcore
test with charblocksizes 155 dont work in clientdate 202171213
Dont show EXP after kill mob
Dont show Exp bar
You are now attacking Monster Rocker (0)
[100/100] You attack Monster Rocker (0) (Dmg: Miss!) (Delay: 100ms)
[100/100] You attack Monster Rocker (0) (Dmg: Miss!) (Delay: 100ms)
[100/100] You attack Monster Rocker (0) (Dmg: -20097) (Delay: 100ms)
Target died
Dmg is -20k ?
How about charBlockSize problem since you are posting somekind of login ?
charBlockSize doesn't have nothing with EXP bar of monsters EXP and including monster damage.
I need only charBlockSize :p
@moneyisgod
Charblock size is related to exp.
Since 2017 exp change from 4 bytes to 8 bytes.
Openkore is not able to parse fields that have more than 4 bytes.
In charselect screen the server send to us the current exp base.
After that every time when we kill a monster we receive only the exp amount, kore use the exp base and the new exp to calculate current exp percent
Can you contact me in discord?
Packets Missing :
@sctnightcore link updated :
http://forums.openkore.com/viewtopic.php?f=43&t=212303&start=0

:p
@moneyisgod
http://forums.openkore.com/viewtopic.php?f=67&t=212303
@alisonrag @sctnightcore
Could be this 082d causing this problem ?
I'm in doubt 'cause of this :
why'd you close?
Hi sctnightcore,
Where and how do you add the code for 0ac4 ?
What I understand is that we shall edit the servertype.pm with notepad and add it right ?
Anyway I don't really know how to do that in a way I don't get an error in the code,
Could you lead me ?
Thanks you very much,
Best,
Hi sctnightcore,
Where and how do you add the code for 0ac4 ?
What I understand is that we shall edit the servertype.pm with notepad and add it right ?
Anyway I don't really know how to do that in a way I don't get an error in the code,
Could you lead me ?
Thanks you very much,
Best,
0AC4 is already implemented in openkore
https://github.com/OpenKore/openkore/blob/1c4634dbe103ce73560575bfc5467f377edbe517/src/Network/Receive.pm#L965-L970