i know. but where do i have to look in database.cs? i search for loadmobs and found some thing.
the mobs arent spawning. whats wrong?Quote:
public static void LoadMobs()
{
string[] FMobs = File.ReadAllLines(@"C:\OldCODB\MobInfos.txt");
Hashtable Mobs = new Hashtable(FMobs.Length);
for (int i = 0; i < FMobs.Length; i++)
{
if (FMobs[i][0] != '*')
{
Game.Mob M = new ProjectX.Game.Mob(FMobs[i]);
Mobs.Add(M.MobID, M);
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine("Loading Mob: " + M.MobID);
Console.ResetColor();
}
}
int MobsCount = 0;
string[] FSpawns = File.ReadAllLines(@"C:\OldCODB\MobSpawns.txt");
foreach (string Spawn in FSpawns)
{
if (Spawn[0] == '*') return;
string[] SpawnInfo = Spawn.Split(' ');
int MobID = int.Parse(SpawnInfo[0]);
int Count = int.Parse(SpawnInfo[1]);
ushort Map = ushort.Parse(SpawnInfo[2]);
ushort XFrom = ushort.Parse(SpawnInfo[3]);
ushort YFrom = ushort.Parse(SpawnInfo[4]);
ushort XTo = ushort.Parse(SpawnInfo[5]);
ushort YTo = ushort.Parse(SpawnInfo[6]);
if (!Game.World.H_Mobs.Contains(Map))
Game.World.H_Mobs.Add(Map, new Hashtable());
Hashtable MapMobs = (Hashtable)Game.World.H_Mobs[Map];
DMap D = (DMap)DMaps.H_DMaps[Map];
for (int i = 0; i < Count; i++)
{
Game.Mob _Mob = new ProjectX.Game.Mob((Game.Mob)Mobs[MobID]);
_Mob.Loc = new ProjectX.Game.Location();
_Mob.Loc.Map = Map;
_Mob.Loc.X = (ushort)Program.Rnd.Next(Math.Min(XFrom, XTo), Math.Max(XFrom, XTo));
_Mob.Loc.Y = (ushort)Program.Rnd.Next(Math.Min(YFrom, YTo), Math.Max(YFrom, YTo));
while (D != null && D.GetCell(_Mob.Loc.X, _Mob.Loc.Y).NoAccess)
{
_Mob.Loc.X = (ushort)Program.Rnd.Next(Math.Min(XFrom, XTo), Math.Max(XFrom, XTo));
_Mob.Loc.Y = (ushort)Program.Rnd.Next(Math.Min(YFrom, YTo), Math.Max(YFrom, YTo));
}
_Mob.StartLoc = _Mob.Loc;
_Mob.EntityID = (uint)Program.Rnd.Next(400000, 500000);
while (Game.World.H_Chars.Contains(_Mob.EntityID) || MapMobs.Contains(_Mob.EntityID))
_Mob.EntityID = (uint)Program.Rnd.Next(400000, 500000);
MapMobs.Add(_Mob.EntityID, _Mob);
MobsCount++;
}
}
Program.WriteLine("Mobs loaded " + MobsCount.ToString());
}