aa... using 5181 impulse's source...
i'm making the spawning but i keep geting the same F#!@#% thing wrong...
i would like some help if possible... here is the spawning:
Code:
public enum SOBType : ushort { Gate = 0x1A, Scarecrow = 0x16, Stake = 0x15, Pole = 0x0A } public enum SOBMesh : ushort { LeftGate = 0x00F1, RightGate = 0x0115, Pole = 0x471 } public class Terrain : Writer, Interfaces.IPacket, Interfaces.ITerrain, Interfaces.IMapObject { private byte[] Buffer; private ushort _MapID; private Conquer_Online_Server.Game.Enums.ConquerAngle _Facing; private string _name = ""; public Terrain(string setName) { _name = setName; Buffer = new byte[8 + 36 + setName.Length]; WriteUInt16((ushort)(Buffer.Length - 8), 0, Buffer); WriteUInt16(0x455, 2, Buffer); } public uint UID { get { return BitConverter.ToUInt32(Buffer, 4); } set { WriteUInt32(value, 4, Buffer); } } public uint MaxHitpoints { get { return BitConverter.ToUInt16(Buffer, 8); } set { WriteUInt32(value, 8, Buffer); } } public uint HitPoints { get { return BitConverter.ToUInt16(Buffer, 12); } set { WriteUInt32(value, 12, Buffer); } } public ushort X { get { return BitConverter.ToUInt16(Buffer, 16); } set { WriteUInt16(value, 16, Buffer); } } public ushort Y { get { return BitConverter.ToUInt16(Buffer, 18); } set { WriteUInt16(value, 18, Buffer); } } public SOBMesh Type { get { return (SOBMesh)BitConverter.ToUInt16(Buffer, 20); } set { WriteUInt16((ushort)value, 20, Buffer); } } public SOBType Flag { get { return (SOBType)BitConverter.ToUInt16(Buffer, 22); } set { WriteUInt16((ushort)value, 22, Buffer); } } public byte NameLength { get { return Buffer[27]; } set { WriteByte(value, 27, Buffer); } } public string Name { get { return _name; } set { _name = value; Buffer = new byte[8 + 36 + _name.Length]; WriteUInt16((ushort)(Buffer.Length - 8), 0, Buffer); WriteUInt16(0x455, 2, Buffer); WriteUInt16(11, 24, Buffer); WriteByte(1, 26, Buffer); NameLength = (byte)_name.Length; WriteString(value, 28, Buffer); } } public ushort MapID { get { return _MapID; } set { _MapID = value; } } public Conquer_Online_Server.Game.MapObjectType MapObjType { get { return Conquer_Online_Server.Game.MapObjectType.Terrain; } } public Client.GameState Owner { get { return null; } } public Game.Enums.ConquerAngle Facing { get { return _Facing; } set { _Facing = value; } } public void SendSpawn(Client.GameState client, bool checkScreen) { if (client.Screen.Add(this) || !checkScreen) { client.Send(Buffer); } } public void SendSpawn(Client.GameState client) { SendSpawn(client, false); } public byte[] ToArray() { return Buffer; } public void Deserialize(byte[] buffer) { Buffer = buffer; } public void Send(Client.GameState client) { SendSpawn(client, false); } }
and i'm making this as the npc:
Code:
ITerrain Pole = new Network.GamePackets.Terrain("None"); Pole.Name = "None"; Pole.UID = 6700; Pole.Type = Network.GamePackets.SOBMesh.Pole; Pole.Flag = Network.GamePackets.SOBType.Pole; Pole.X = 84; Pole.Y = 99; Pole.MaxHitpoints = 20000000; Pole.HitPoints = 20000000; Pole.MapID = 1038; AddTerrain(Pole);
and keep geting this (take a look at the screenshot):
thanks in advance...