Exemple #1
0
        /// <summary>
        /// Sets a property
        /// </summary>
        /// <param name="player">target player</param>
        /// <param name="name">property name</param>
        /// <param name="value">value</param>
        /// <param name="isInt">send as int?</param>
        internal void Property(Player player, string name, object value, bool isInt)
        {
            PacketStream stream = new PacketStream(0x01FB);

            stream.WriteUInt32(player.Handle);
            stream.WriteBool(isInt);
            stream.WriteString(name, 16);
            if (isInt)
            {
                stream.WriteInt64(Convert.ToInt64(value));
            }
            else
            {
                stream.WriteInt64(0);
                string val = (string)value;
                stream.WriteString(val, val.Length + 1);
            }

            ClientManager.Instance.Send(player, stream, BroadcastArea.Self);
        }
Exemple #2
0
        internal void GoldUpdate(Player player, long gold, int chaos)
        {
            PacketStream stream = new PacketStream(0x03E9);

            stream.WriteInt64(gold);
            stream.WriteInt32(chaos);

            ClientManager.Instance.Send(player, stream, BroadcastArea.Self);
        }
Exemple #3
0
        internal void InventoryList(Player player, List<uint> inventory)
        {
            PacketStream stream = new PacketStream(0x00CF);

            stream.WriteUInt16((ushort)inventory.Count);
            for (int i = 0; i < inventory.Count; i++)
            {
                Item item = (Item) GObjectManager.Instance.Get(ObjectType.Item, inventory[i]);

                // TS_ITEM_BASE_INFO
                stream.WriteUInt32(item.Handle);
                stream.WriteInt32(item.Code);
                stream.WriteInt64(item.UId);
                stream.WriteInt64(item.Count);
                stream.WriteInt32(item.Durability);
                stream.WriteUInt32(item.Endurance);
                stream.WriteByte((byte)item.Enhance);
                stream.WriteByte((byte)item.Level);
                stream.WriteInt32(item.Flag);
                stream.WriteInt32(item.Socket[0]);
                stream.WriteInt32(item.Socket[1]);
                stream.WriteInt32(item.Socket[2]);
                stream.WriteInt32(item.Socket[3]);
                stream.WriteInt32(item.RemainTime);
                stream.WriteByte((byte)item.ElementalEffectType);
                stream.WriteInt32(0); // TODO : elemental_effect_remain_time
                stream.WriteInt32(item.ElementalEffectAttackPoint);
                stream.WriteInt32(item.ElementalEffectMagicPoint);

                // TS_ITEM_INFO
                stream.WriteInt16((short)item.WearInfo);
                stream.WriteUInt32(0); // TODO : own_summon_handle
                stream.WriteInt32(i); // TODO : index
            }

            ClientManager.Instance.Send(player, stream, BroadcastArea.Self);
        }
Exemple #4
0
        internal void ExpUpdate(Player player, long exp, int jp)
        {
            PacketStream stream = new PacketStream(0x03EB);

            stream.WriteUInt32(player.Handle);
            stream.WriteInt64(exp);
            stream.WriteInt32(jp);

            ClientManager.Instance.Send(player, stream, BroadcastArea.Self);
        }