You last visited: Today at 03:52
Advertisement
[Help] Terrain (SOB) spawning...
Discussion on [Help] Terrain (SOB) spawning... within the CO2 Private Server forum part of the Conquer Online 2 category.
12/01/2010, 10:50
#1
elite*gold: 0
Join Date: Apr 2009
Posts: 782
Received Thanks: 458
[Help] Terrain (SOB) spawning...
heya.... i'm trying to make the guild war...
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...
12/01/2010, 10:56
#2
elite*gold: 0
Join Date: Feb 2009
Posts: 262
Received Thanks: 161
Buffer[26] = 1;
12/01/2010, 11:00
#3
elite*gold: 0
Join Date: Apr 2009
Posts: 782
Received Thanks: 458
thanks..... btw
there is diference in write the byte using the packet builder and simple making Buffer[x] = y;?
//worked ^^
12/01/2010, 13:54
#4
elite*gold: 21
Join Date: Jul 2005
Posts: 9,193
Received Thanks: 5,383
Nope, a single element of the array = 1 byte so using the packet builder or w/e is just a simpler way of modifying the array.
12/01/2010, 22:21
#5
elite*gold: 0
Join Date: Jun 2010
Posts: 38
Received Thanks: 10
I'm gonna guess Buffer[26] is the string count.
Similar Threads
ot in der terrain.epk
05/24/2010 - Metin2 Private Server - 0 Replies
hi hab mal ne frage ich wollte die ot tesxturen in feuerland ändern aber ich find den ot texturordner in der terrain.epk nicht welcher ist es?
Desert terrain now as Bird Island terrain!!!
10/30/2007 - Conquer Online 2 - 27 Replies
Preview:
http://img241.imageshack.us/img241/5958/betterter rainzq4.png
Overview:
This changes the bright yellow desert terrain to the nice dark green terrain of Bird Island. If you hunt or are leveling at Desert City, you may find this very helpful!
So now items are alot easier to be seen and your eyes aren't being burned out by the brightness of this annoying map, especially when you gotta level there for like 20 levels.
Terrain.MPQ
04/15/2007 - World of Warcraft - 7 Replies
Muh,
Ich suche dringend die Terrain.MPQ aus dem WOW Beta Client (nich die aus der BC beta) !
gibt auch +k :smashfreak:
little AV Terrain Bug
08/12/2006 - WoW Exploits, Hacks, Tools & Macros - 11 Replies
Look at the pics, not a big thing.
http://img104.imageshack.us/img104/4227/av1nr9.th .jpghttp://img69.imageshack.us/img69/1244/av2kj7.t h.jpg
All times are GMT +2. The time now is 03:53 .