[Qoustion]Attack Packet!

10/05/2011 23:43 Mr_PoP#1
am wondering what the subtype "Kill" is used for , because i though when I send it to the client the client will request GeneralType/Command-> Death . but that is not happening here , i cant see why should i send subtype "Kill" to the Client.... or am doing it wrong?
10/06/2011 00:44 pro4never#2
It displays the death effect (flying backwards on monsters or players like falling over)

If not they just stand there and then turn into ghost.
10/06/2011 02:07 Mr_PoP#3
Quote:
Originally Posted by pro4never View Post
It displays the death effect (flying backwards on monsters or players like falling over)

If not they just stand there and then turn into ghost.
when the Client request the Death subtype?
10/06/2011 11:51 © Haydz#4
[First Post In Ages. . . ]

Pretty sure it displays the death message too.. "%s was killed by %s!".
10/06/2011 21:07 Mr_PoP#5
Quote:
Originally Posted by © Haydz View Post
[First Post In Ages. . . ]

Pretty sure it displays the death message too.. "%s was killed by %s!".
don't think so since the Server is sending a Chat packet of %s was killed by %s!

Code:
Server-(TO)->AttackProxy ID: 3111666 PacketType: Chat Length:79 
4F 00 EC 03 00 00 FF 00 D5 07 00 00 13 06 00 00 00 00 00 00 00 00 00 00 04 06 53 59 53 54 45 4D 08 41 4C 4C 55 53 45 52 53 00 21 41 74 74 61 63 6B 50 72 6F 78 79 20 77 61 73 20 6B 69 6C 6C 65 64 20 62 79 20 47 75 61 72 64 31 21 00 00 00 
O.?..?.?............SYSTEMALLUSERS.!AttackProxy was killed by Guard1!...
10/07/2011 00:42 .Kinshi#6
Quote:
Originally Posted by © Haydz View Post
[First Post In Ages. . . ]

Pretty sure it displays the death message too.. "%s was killed by %s!".
Nice to see you again :)

Quote:
Originally Posted by Mr_PoP View Post
don't think so since the Server is sending a Chat packet of %s was killed by %s!

Code:
Server-(TO)->AttackProxy ID: 3111666 PacketType: Chat Length:79 
4F 00 EC 03 00 00 FF 00 D5 07 00 00 13 06 00 00 00 00 00 00 00 00 00 00 04 06 53 59 53 54 45 4D 08 41 4C 4C 55 53 45 52 53 00 21 41 74 74 61 63 6B 50 72 6F 78 79 20 77 61 73 20 6B 69 6C 6C 65 64 20 62 79 20 47 75 61 72 64 31 21 00 00 00 
O.?..?.?............SYSTEMALLUSERS.!AttackProxy was killed by Guard1!...
Sending the Attack Packet with the Kill subtype does send the "%s was killed by %s!".
10/07/2011 00:59 pwerty#7
Are you guys talking about binary?
Like ppl said before, Kill is send for death effect and soul thingy to add up KO circle!

Im sure that you build your own msg for who kills who (in self programmed servers)
10/07/2011 02:26 Mr_PoP#8
Quote:
Originally Posted by .Kinshi View Post
Sending the Attack Packet with the Kill subtype does send the "%s was killed by %s!".
then why the server is sending the chat packet with "%s was killed by %s!"

Quote:
Originally Posted by pwerty View Post
Are you guys talking about binary?
Like ppl said before, Kill is send for death effect and soul thingy to add up KO circle!

Im sure that you build your own msg for who kills who (in self programmed servers)
nah we are not talking about the binary , i wanna just know when the client is requesting GeneralData->subtype death?
10/07/2011 04:58 .Kinshi#9
Quote:
Originally Posted by Mr_PoP View Post
then why the server is sending the chat packet with "%s was killed by %s!"
No idea lol

Quote:
Originally Posted by Mr_PoP View Post
nah we are not talking about the binary , i wanna just know when the client is requesting GeneralData->subtype death?
The client never requests it.
When a player or mob dies, you send it.
10/07/2011 07:07 pro4never#10
Quote:
Originally Posted by Mr_PoP View Post
then why the server is sending the chat packet with "%s was killed by %s!"



nah we are not talking about the binary , i wanna just know when the client is requesting GeneralData->subtype death?

Question 1: you fucked something up. The server sends KILL subtype of attack packet and NEVER sends that string for it to display (my source never sends the message yet it displays perfectly. If you're sending the packet then that's YOUR fault)


Option 2: It requests the subtype death to transform itself into a ghost. This happens because there is an animation delay between death and the actual addition of ghost mesh (so it can complete before just changing lookface).

If you send the death stateffs properly when an entity is killed then they should be unable to move. This means they will not appear as a walking 'naked' person before the client requests the death subtype at the proper time to transform the character into a ghost (IE: already fallen to the ground, post animation).
10/07/2011 07:49 Mr_PoP#11
Quote:
Originally Posted by pro4never View Post
Question 1: you fucked something up. The server sends KILL subtype of attack packet and NEVER sends that string for it to display (my source never sends the message yet it displays perfectly. If you're sending the packet then that's YOUR fault)
lol! it's from my Proxy , i sniffed TQ's packets and their server is sending that chat packet, am not sending anything am just asking how it works, like when the Target HP hit's 0 what do you send exactly in order!?
10/07/2011 08:10 pro4never#12
In attack handling (however you wish to define that)

if(dmg < target.Health)
//deal damage, send normal attack packet of correct type (magic, bow, melee) with correct info and perform actions such as updating client hp
else
//change attack type to kill and send packet, perform client death actions which includes setting death/ghost status effects which stops movement and stops them from using skill.


Note: above all this (at the start of handling damage) I check to see that the target is alive. This is both a sanity check and also a handling to avoid issues with skills such as triple strike which hit the same target more than once and could (depending on how you coded your system) drop items/give exp 3 times for killing it.

if(!target.Alive)
return;//or continue obv if you are using some sort of foreach loop to go through the targets of a multi target spell. Generally they are separate methods though.
10/07/2011 08:29 Mr_PoP#13
Quote:
Originally Posted by pro4never View Post
In attack handling (however you wish to define that)

if(dmg < target.Health)
//deal damage, send normal attack packet of correct type (magic, bow, melee) with correct info and perform actions such as updating client hp
else
//change attack type to kill and send packet, perform client death actions which includes setting death/ghost status effects which stops movement and stops them from using skill.


Note: above all this (at the start of handling damage) I check to see that the target is alive. This is both a sanity check and also a handling to avoid issues with skills such as triple strike which hit the same target more than once and could (depending on how you coded your system) drop items/give exp 3 times for killing it.

if(!target.Alive)
return;//or continue obv if you are using some sort of foreach loop to go through the targets of a multi target spell. Generally they are separate methods though.
am doing exactly what you just told me :P , thnx you can close it