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...






