.png)
بسم الله الرحمن الرحيم ,
طبعا بعد الابجريد الجديد الى نزل قبل ما ينزل الواتر كونكر خلت حجات كتير تتعدل ,
دا حاجه واحده من وسطهم ,
دا ال BoothItem كامل ياعنى تكشف على اسطف ,
تقعد تبيع فى الماركت ترمى ايتم ايتم صول هيلس دامج سوكت وكل شئ ,
هنخش على ال BoothItem.cs ,
نبدل الى فيه كله بالاكواد دا ,
طبعا بعد الابجريد الجديد الى نزل قبل ما ينزل الواتر كونكر خلت حجات كتير تتعدل ,
دا حاجه واحده من وسطهم ,
دا ال BoothItem كامل ياعنى تكشف على اسطف ,
تقعد تبيع فى الماركت ترمى ايتم ايتم صول هيلس دامج سوكت وكل شئ ,
هنخش على ال BoothItem.cs ,
نبدل الى فيه كله بالاكواد دا ,
// * Created by ElmistRo And Abdalla
// * Copra's team Copyright © 2010-2014
// * Copra - Project
using System;using System.Drawing;using Olymbus.Game;
namespace Olymbus.Network.GamePackets{
public unsafe class BoothItem2 : Interfaces.IPacket
{
private Byte[] mData;
public void ParseItem(ConquerItem i)
{
ItemID = i.ID;
ItemIdentifier = i.UID;
Durability = i.Durability;
MaxDurability = i.MaximDurability;
SocketProgress = i.SocketProgress;
SocketOne = (Byte)i.SocketOne;
SocketTwo = (Byte)i.SocketTwo;
Effect = (UInt16)i.Effect;
Plus = i.Plus;
Bless = i.Bless;
Bound = i.Bound;
Enchant = i.Enchant;
Suspicious = i.Suspicious;
Lock = Convert.ToBoolean(i.Lock);
Color = (UInt32)i.Color;
PlusProgress = i.PlusProgress;
StackSize = i.StackSize;
TimeLeftInMinutes = i.TimeLeftInMinutes;
}
public BoothItem2()
{
mData = new Byte[84 + 8];
Writer.WriteUInt16(((UInt16)(mData.Length - 8)), 0, mData);
Writer.WriteUInt16((UInt16)1108, 2, mData);
}
public UInt32 ItemIdentifier
{
get { return BitConverter.ToUInt32(mData, 4); }
set { Writer.WriteUInt32(value, 4, mData); }
}
public UInt32 Identifier
{
get { return BitConverter.ToUInt32(mData, 8); }
set { Writer.WriteUInt32(value, 8, mData); }
}
public UInt32 Cost
{
get { return BitConverter.ToUInt32(mData, 12); }
set { Writer.WriteUInt32(value, 12, mData); }
}
public UInt32 ItemID
{
get { return BitConverter.ToUInt32(mData, 16 + 4); }
set { Writer.WriteUInt32(value, 16 + 4, mData); }
}
public UInt16 Durability
{
get { return BitConverter.ToUInt16(mData, 20 + 4); }
set { Writer.WriteUInt16(value, 20 + 4, mData); }
}
public UInt16 MaxDurability
{
get { return BitConverter.ToUInt16(mData, 22 + 4); }
set { Writer.WriteUInt16(value, 22 + 4, mData); }
}
public CostTypes CostType
{
get { return (CostTypes)BitConverter.ToUInt16(mData, 24 + 4); }
set { Writer.WriteUInt16((UInt16)value, 24 + 4, mData); }
}
public PacketHandler.Positions Position
{
get { return (PacketHandler.Positions)mData[26 + 4]; }
set { mData[26 + 4] = (Byte)value; }
}
public UInt32 SocketProgress
{
get { return BitConverter.ToUInt32(mData, 28 + 3); }
set { Writer.WriteUInt32(value, 28 + 3, mData); }
}
public Byte SocketOne
{
get { return mData[35]; }
set { mData[35] = value; }
}
public Byte SocketTwo
{
get { return mData[36]; }
set { mData[36] = value; }
}
public UInt16 Effect
{
get { return BitConverter.ToUInt16(mData, 36 + 1); }
set { Writer.WriteUInt16((UInt16)value, 36 + 1, mData); }
}
public Byte Plus
{
get { return mData[42]; }
set { mData[42] = value; }
}
public Byte Bless
{
get { return mData[42 + 1]; }
set { mData[42 + 1] = value; }
}
public Boolean Bound
{
get { return mData[43 + 1] == 0 ? false : true; }
set { mData[43 + 1] = (Byte)(value ? 1 : 0); }
}
public Byte Enchant
{
get { return mData[44 + 1]; }
set { mData[44 + 1] = value; }
}
public Boolean Suspicious
{
get { return mData[53 + 1] == 0 ? false : true; }
set { mData[53 + 1] = (Byte)(value ? 1 : 0); }
}
public Boolean Lock
{
get { return mData[54 + 1] == 0 ? false : true; }
set { mData[54 + 1] = (Byte)(value ? 1 : 0); }
}
public UInt32 Color
{
get { return BitConverter.ToUInt32(mData, 54); }
set { Writer.WriteUInt32((UInt32)value, 54, mData); }
}
public UInt32 PlusProgress
{
get { return BitConverter.ToUInt32(mData, 56); }
set { Writer.WriteUInt32(value, 56, mData); }
}
public uint TimeLeftInMinutes
{
get { return BitConverter.ToUInt32(mData, 68); }
set { Writer.WriteUInt32(value, 68, mData); }
}
public UInt16 StackSize
{
get { return BitConverter.ToUInt16(mData, 72); }
set { Writer.WriteUInt16(value, 72, mData); }
}
public UInt32 PurificationID
{
get { return BitConverter.ToUInt32(mData, 78); }
set { Writer.WriteUInt32(value, 78, mData); }
}
public byte[] ToArray()
{
return mData;
}
public void Deserialize(byte[] buffer)
{
mData = buffer;
}
public void Send(Client.GameClient client)
{
client.Send(mData);
}
public enum CostTypes : ushort
{
Gold = 1,
CPs = 3,
ViewEquip = 4
}
}
public class BoothItem : Writer, Interfaces.IPacket
{
private byte[] Buffer;
public BoothItem(bool Create)
{
if (Create)
{
Buffer = new byte[92];
WriteUInt16(84, 0, Buffer);
WriteUInt16(1108, 2, Buffer);
}
}
public uint UID
{
get { return BitConverter.ToUInt32(Buffer, 4); }
set { WriteUInt32(value, 4, Buffer); }
}
public uint BoothID
{
get { return BitConverter.ToUInt32(Buffer, 8); }
set { WriteUInt32(value, 8, Buffer); }
}
public uint Cost
{
get { return BitConverter.ToUInt32(Buffer, 12); }
set { WriteUInt32(value, 12, Buffer); }
}
public uint ID
{
get { return BitConverter.ToUInt32(Buffer, 20); }
set { WriteUInt32(value, 20, Buffer); }
}
public ushort Durability
{
get { return BitConverter.ToUInt16(Buffer, 24); }
set { WriteUInt16(value, 24, Buffer); }
}
public ushort MaximDurability
{
get { return BitConverter.ToUInt16(Buffer, 26); }
set { WriteUInt16(value, 26, Buffer); }
}
public uint CostType
{
get { return BitConverter.ToUInt32(Buffer, 28); }
set { WriteUInt32(value, 28, Buffer); }
}
public uint SocketProgress
{
get { return BitConverter.ToUInt32(Buffer, 28 + 3); }
set { WriteUInt32(value, 28 + 3, Buffer); }
}
public Enums.Gem SocketOne
{
get { return (Enums.Gem)Buffer[35]; }
set { Buffer[35] = (byte)value; }
}
public Enums.Gem SocketTwo
{
get { return (Enums.Gem)Buffer[36]; }
set { Buffer[36] = (byte)value; }
}
public Enums.ItemEffect Effect
{
get { return (Enums.ItemEffect)BitConverter.ToUInt16(Buffer, 37); }
set { WriteUInt16((ushort)value, 37, Buffer); }
}
public byte Plus
{
get { return Buffer[42]; }
set { Buffer[42] = value; }
}
public byte Bless
{
get { return Buffer[43]; }
set { Buffer[43] = value; }
}
public bool Bound
{
get { return Buffer[44] == 0 ? false : true; }
set { Buffer[44] = (byte)(value ? 1 : 0); }
}
public byte Enchant
{
get { return Buffer[45]; }
set { Buffer[45] = value; }
}
public bool Suspicious
{
get { return Buffer[54] == 0 ? false : true; }
set { Buffer[54] = (byte)(value ? 1 : 0); }
}
public byte Lock
{
get { return Buffer[55]; }
set { Buffer[55] = value; }
}
public Enums.Color Color
{
get { return (Enums.Color)BitConverter.ToUInt32(Buffer, 54); }
set { WriteUInt32((uint)value, 54, Buffer); }
}
public uint PlusProgress
{
get { return BitConverter.ToUInt32(Buffer, 56); }
set { WriteUInt32(value, 56, Buffer); }
}
public bool Inscribed
{
get { return (BitConverter.ToUInt16(this.Buffer, 65) == 1); }
set { Writer.WriteUInt16(value ? ((byte)1) : ((byte)0), 65, this.Buffer); }
}
public uint TimeLeftInMinutes
{
get { return BitConverter.ToUInt32(Buffer, 68); }
set { Writer.WriteUInt32(value, 68, Buffer); }
}
public ushort StackSize
{
get { return BitConverter.ToUInt16(Buffer, 72); }
set { WriteUInt16(value, 72, Buffer); }
}
public uint PurificationID
{
get { return BitConverter.ToUInt32(Buffer, 76); }
set { WriteUInt32(value, 76, Buffer); }
}
public byte[] ToArray()
{
return Buffer;
}
public void Deserialize(byte[] buffer)
{
Buffer = buffer;
}
public void Send(Client.GameClient client)
{
client.Send(Buffer);
}
public override int GetHashCode()
{
return (int)this.UID;
}
public void Fill(Game.ConquerStructures.BoothItem item, uint boothID)
{
UID = item.Item.UID;
BoothID = boothID;
Cost = item.Cost;
ID = item.Item.ID;
Durability = item.Item.Durability;
MaximDurability = item.Item.MaximDurability;
CostType = (byte)item.Cost_Type;
SocketOne = item.Item.SocketOne;
SocketTwo = item.Item.SocketTwo;
Effect = item.Item.Effect;
Bound = item.Item.Bound;
Plus = item.Item.Plus;
Bless = item.Item.Bless;
Enchant = item.Item.Enchant;
SocketProgress = item.Item.SocketProgress;
Color = item.Item.Color;
PlusProgress = item.Item.PlusProgress;
StackSize = item.Item.StackSize;
Inscribed = item.Item.Inscribed;
TimeLeftInMinutes = item.Item.TimeLeftInMinutes;
}
public void Fill(ConquerItem item, uint boothID)
{
UID = item.UID;
BoothID = boothID;
ID = item.ID;
Durability = item.Durability;
MaximDurability = item.MaximDurability;
Buffer[24] = (byte)4;
Buffer[26] = (byte)item.Position;
SocketOne = item.SocketOne;
SocketTwo = item.SocketTwo;
Effect = item.Effect;
Plus = item.Plus;
Bound = item.Bound;
Bless = item.Bless;
Enchant = item.Enchant;
SocketProgress = item.SocketProgress;
Color = item.Color;
PlusProgress = item.PlusProgress;
StackSize = item.StackSize;
Inscribed = item.Inscribed;
TimeLeftInMinutes = item.TimeLeftInMinutes;
}
}
}
هل أعجبك الموضوع؟! ↓

0 التعليقات