Current Packets from spelluse

05/21/2013 23:30 zakkwilde_17#1
I wish someone send me the current packets SpellUse.

i have this packets:
Code:
public byte[] ToArray()
        {
            byte[] buffer = new byte[60 + Targets.Count * 32];
            Writer.WriteUInt16((ushort)(buffer.Length - 8), 0, buffer);
            Writer.WriteUInt16(1105, 2, buffer);
            Writer.WriteUInt32(Attacker, 4, buffer);
            Writer.WriteUInt16(X, 8, buffer);
            Writer.WriteUInt16(Y, 10, buffer);
            Writer.WriteUInt16(SpellID, 12, buffer);
            Writer.WriteUInt16(SpellLevel, 14, buffer);
            Writer.WriteUInt32((uint)Targets.Count, 17, buffer);
            ushort offset = 20;
            uint uid = 0;
            foreach (KeyValuePair<uint, DamageClass> target in Targets.Base)
            {
                if (constC)
                {
                    if (uid == 0)
                        uid = target.Key;
                    Writer.WriteUInt32(uid, offset, buffer);
                }
                else
                    Writer.WriteUInt32(target.Key, offset, buffer);
                offset += 4;
                Writer.WriteUInt32(target.Value.Damage, offset, buffer); offset += 4;
                Writer.WriteBoolean(target.Value.Hit, offset, buffer); offset += 4;
                Writer.WriteByte((Byte)Effect1, offset, buffer); offset += 1;
                Writer.WriteByte((Byte)Effect2, offset, buffer); offset += 1;
                offset += 18;
            }
            return buffer;
        }
I think, that is responsible for not sending some effects to the screen. As an example, the effect of Intensify whit the blue bar... Correct me if I'm wrong ...
05/22/2013 10:05 Super Aids#2
Does your skills work at all, I mean it shows damage? Then it's not. I am not sure what you mean by effect (I assume it's not skill animation in this case.)
Perhaps statuseffect? Then it's most likely spawnpacket and/or updatepacket.
05/22/2013 11:40 teroareboss1#3
Intensify was changed.

use this:

packet.WriteTQKey();
packet.WriteUint(0, 4);
packet.WriteUshort(client.Player.MyLocation.X, 16);
packet.WriteUshort(client.Player.MyLocation.Y, 18);
packet.WriteUint(my_spell.ID, 24);
packet.WriteUshort(my_spell.Level, 26);
client.Enqueue(packet.ToArray());

packet = packet receive(1022)
05/23/2013 03:08 zakkwilde_17#4
Quote:
Originally Posted by teroareboss1 View Post
Intensify was changed.

use this:

packet.WriteTQKey();
packet.WriteUint(0, 4);
packet.WriteUshort(client.Player.MyLocation.X, 16);
packet.WriteUshort(client.Player.MyLocation.Y, 18);
packet.WriteUint(my_spell.ID, 24);
packet.WriteUshort(my_spell.Level, 26);
client.Enqueue(packet.ToArray());

packet = packet receive(1022)
wow, got it! it works fine for me now ^^

Code:
                                            Writer.WriteUInt16(0, 4, attack.ToArray());
                                            Writer.WriteUInt16(attack.X, 16, attack.ToArray());
                                            Writer.WriteUInt16(attack.Y, 18, attack.ToArray());
                                            Writer.WriteUInt16(spell.ID, 24, attack.ToArray());
                                            Writer.WriteByte(spell.Level, 26, attack.ToArray());
[Only registered and activated users can see links. Click Here To Register...]

Topic can be close now
06/08/2013 15:09 Arby#5
#closed