|
You last visited: Today at 11:57
Advertisement
Request Server Listing ?
Discussion on Request Server Listing ? within the SRO Coding Corner forum part of the Silkroad Online category.
06/04/2011, 23:47
|
#1
|
elite*gold: 166
Join Date: Apr 2009
Posts: 2,339
Received Thanks: 2,661
|
Request Server Listing ?
Trying to find out hpmp update packets .. see
|
|
|
06/04/2011, 23:59
|
#2
|
elite*gold: 0
Join Date: May 2007
Posts: 99
Received Thanks: 39
|
hi,
before posting something like that,
Please search in forum threads. there's source code of your request
|
|
|
06/05/2011, 11:22
|
#3
|
elite*gold: 0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,811
|
In the login screen is a button to choose the server u want to play on. If u click on it u will receive your A101. Before receiving it, you will get the 6101 (S->C). Now, just send C->S 6101 (without data) and u will get the A101 as response.
Not hard at all, hm? Just need to know how to use an analyzer.
|
|
|
06/07/2011, 23:04
|
#4
|
elite*gold: 166
Join Date: Apr 2009
Posts: 2,339
Received Thanks: 2,661
|
I didnt want to create a new topic and cause spam.
Now im trying to find how hpmp update packets are built
i tried already but couldn't find anywhere and there is no any clear guide for it.
Thank you , sarkolata
|
|
|
06/08/2011, 09:36
|
#5
|
elite*gold: 0
Join Date: Jan 2010
Posts: 1,484
Received Thanks: 809
|
You can take lesderid's login server documentation that should do the trick it's stickied btw.
Owh and something which isn't told in his documentation. the server list of isro (idk if it's also in another version) is a bit different since the amount of players is in a float so 0.00 = server empty 0.50 = half full and 1 = server full.
in some other version or older ones the capacity was a word or dword I can't remember and there are 2 of them so the first one is the current amount of players and the second one the max amount of players.
Keep this in mind if you get strange values
|
|
|
06/08/2011, 14:16
|
#6
|
elite*gold: 0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,811
|
Quote:
|
Trying to find out hpmp update packets .. see Request Server Listing ?
|
Code:
HP/MP Update
AD 8A 4E 00 object id
04 type 1
02 type 2
FC 00 00 00 new value
If type 2 = 3 or 5, then a trailing dword is added for MP value.
Type 1:
10 increase
01 hp decrease
04 mp decrease
Type 2:
01 hp
02 mp
03 hp & mp
04 ?
05 mob hp & mp
From SREmu...
|
|
|
06/08/2011, 14:38
|
#7
|
elite*gold: 166
Join Date: Apr 2009
Posts: 2,339
Received Thanks: 2,661
|
Quote:
Originally Posted by xKraizy
Code:
HP/MP Update
AD 8A 4E 00 object id
04 type 1
02 type 2
FC 00 00 00 new value
If type 2 = 3 or 5, then a trailing dword is added for MP value.
Type 1:
10 increase
01 hp decrease
04 mp decrease
Type 2:
01 hp
02 mp
03 hp & mp
04 ?
05 mob hp & mp
From SREmu...
|
I have the same. I couldn't understand it from there..
|
|
|
06/08/2011, 16:14
|
#8
|
elite*gold: 0
Join Date: Jan 2010
Posts: 1,484
Received Thanks: 809
|
Owh sorry I thought your were talking about the server list xD
kinda confusing title.
but if you want the hp and mp of your character and follow the updates you need to parse the 0x3013 or 0x34e5 packet if i am correct at least the big character data packet. one of the first bytes is the hp and mp and the stats packet which comes a bit after that one (idk the opcode) contains the current hp and mp.
now you need to do something which changes your hp like casting a pot and check the packets you logged to find the correct one which contains the hp and mp and with edx silkroad loader it'll already be parsed so all you need to do is read the packet.
|
|
|
06/08/2011, 18:51
|
#9
|
elite*gold: 0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,811
|
Well, I didn't test it yet so there could be some mistakes, but you could try something like that (no C&P-Code):
PHP Code:
int objectid = packet.read_dword
byte type1 = packet.read_byte //increase or decrease, unnecessary atm...
byte type2 = packet.read_byte //hp or mp or hp&mp
switch type2
{
case 1 //hp
if objectid = me.objectid then
me.currenthp = packet.read_dword
elseif moblist.contains(objectid) then
moblist(objectid).currenthp = packet.read_dword
end if
case 2 //mp
if objectid = me.objectid then
me.currentmp = packet.read_dword
end if
case 3 //hp & mp
if objectid = me.objectid then
me.currenthp = packet.read_dword
me.currentmp = packet.read_dword
end if
}
|
|
|
06/08/2011, 19:05
|
#10
|
elite*gold: 166
Join Date: Apr 2009
Posts: 2,339
Received Thanks: 2,661
|
Quote:
Originally Posted by kevin_owner
Owh sorry I thought your were talking about the server list xD
kinda confusing title.
but if you want the hp and mp of your character and follow the updates you need to parse the 0x3013 or 0x34e5 packet if i am correct at least the big character data packet. one of the first bytes is the hp and mp and the stats packet which comes a bit after that one (idk the opcode) contains the current hp and mp.
now you need to do something which changes your hp like casting a pot and check the packets you logged to find the correct one which contains the hp and mp and with edx silkroad loader it'll already be parsed so all you need to do is read the packet.
|
Pservers doesnt support edx loader 
@xKraizy
I will check it out. thanks
|
|
|
06/21/2011, 12:23
|
#11
|
elite*gold: 166
Join Date: Apr 2009
Posts: 2,339
Received Thanks: 2,661
|
Fixed it finally... Here if it helps you ;
PHP Code:
Dim ms As New MemoryStream(data) Dim bn As New BinaryReader(ms) Dim objectid As UInt32 = bn.ReadUInt32 Dim i As Byte = bn.ReadByte Dim type As Byte = bn.ReadByte
Select Case CByte((type - 1)) Case 0 hpcur = bn.ReadUInt32 Exit Select Case 1 mpcur = bn.ReadUInt32 Exit Select Case 2 hpcur = bn.ReadUInt32 mpcur = bn.ReadUInt32 Exit Select Case 3 Dim b As Byte = bn.ReadByte Exit Select End Select
|
|
|
06/22/2011, 11:59
|
#12
|
elite*gold: 0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,811
|
Why do u do type -1? Just do type and:
1: Char.HP
2: Char.MP
3: Char.HP & Char.MP
4: dunno
5: Mob.HP (u will need it later if u r gonna make a bot)
|
|
|
 |
Similar Threads
|
Privat server listing
02/28/2021 - Perfect World - 119 Replies
If you want to post or advertise a private server for perfect world, do it here.
All other threads will be deleted.
Please post some more info than only the address, something like rates or server details.
All thanks posts, questions etc. will be deleted without a comment. (better you write a PM to the author)
|
Charakter Stats listing
11/03/2010 - General Gaming Discussion - 24 Replies
</span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>
QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->
Mage
Base Attributes
Basic Attack: 60
Range Attack: 90
Special Attack: 100
Grip Attack: 100
|
ZhuXian private server listing
05/08/2010 - Private Server Advertising - 15 Replies
These are all private servers in chinese found...
Some tested and others not so much, so try them out
and give me some feedback on them...
No flaming/spamming/cursing of any kind, or you'll have some fun
with infractions and what not....
ALL THESE SERVERS REQUIRE THE CHINESE CLIENT!!!
1) 008zx.com
Registration:
|
How is top 20 listing determined?
10/13/2007 - Conquer Online 2 - 11 Replies
Hi, i have 3 lvl 130 archer, however, it nvr shown in the top 20 listing of my server..
i noted those top 20 are always the same few player. anyone know how is it determined?
|
All times are GMT +1. The time now is 11:58.
|
|