and inside line 1183 is the save char region.
Code:
public static void SaveCharacter(Game.Character C, string Acc)
{
try
{
FileStream FS = new FileStream(@"C:\OldCODB\Users\Characters\" + C.Name + ".chr", FileMode.Open);
BinaryWriter BW = new BinaryWriter(FS);
int DoubleExp = C.DoubleExpLeft;
if (C.DoubleExp)
DoubleExp -= (int)(DateTime.Now - C.ExpPotionUsed).TotalSeconds;
[COLOR="Red"]LINE 1183 is here[/COLOR]
BW.Write(Acc);
BW.Write(C.EntityID);
BW.Write(C.Avatar);
BW.Write(C.Body);
BW.Write(C.Hair);//Hair
BW.Write(C.Loc.Map);//Map
BW.Write(C.Loc.X);//X
BW.Write(C.Loc.Y);//Y
BW.Write(C.Loc.PreviousMap);//Previous Map
BW.Write(C.Job);
BW.Write(C.PreviousJob);//Previous Job, 1st RB
BW.Write(C.Level);//Level
BW.Write(C.Experience);//Experience
BW.Write(C.Str);
BW.Write(C.Agi);
BW.Write(C.Vit);
BW.Write(C.Spi);
BW.Write(C.StatPoints);//Stat Points
BW.Write(C.CurHP);
BW.Write(C.CurMP);//MP
BW.Write(C.Nobility.Donation);
BW.Write(C.Silvers);//Silvers
BW.Write(C.CPs);
BW.Write(C.WHSilvers);//Warehouse Silvers
BW.Write(C.VP);//Virtue Points
BW.Write(C.PKPoints);//PK Points
if (C.MyGuild != null)
{
BW.Write(C.MyGuild.GuildID);//Guild
BW.Write(C.GuildDonation);//Guild Donation
BW.Write((byte)C.GuildRank);//Guild Rank
}
else BW.Write(new byte[7]);
C.Equips.WriteThis(BW);
BW.Write((byte)C.Inventory.Count);
foreach (Game.Item I in C.Inventory)
I.WriteThis(BW);
C.Warehouses.WriteThis(BW);
BW.Write((byte)C.Skills.Count);
foreach (Game.Skill I in C.Skills.Values)
I.WriteThis(BW);
BW.Write((byte)C.Profs.Count);
foreach (Game.Prof I in C.Profs.Values)
I.WriteThis(BW);
BW.Write((byte)C.Friends.Count);
foreach (Game.Friend I in C.Friends.Values)
I.WriteThis(BW);
BW.Write((byte)C.Enemies.Count);
foreach (Game.Enemy I in C.Enemies.Values)
I.WriteThis(BW);
BW.Write(C.DoubleExp);
BW.Write(DoubleExp);
BW.Write(C.BlessingLasts);
BW.Write(C.BlessingStarted.Ticks);
if (C.GettingLuckyTime)
{
if (!C.Prayer)
C.LuckyTime += (uint)(DateTime.Now - C.PrayDT).TotalSeconds;
else
C.LuckyTime += (uint)(DateTime.Now - C.PrayDT).TotalSeconds * 3;
C.PrayDT = DateTime.Now;
}
BW.Write(C.LuckyTime);
BW.Write(C.ExpBallsUsedToday);
BW.Write(C.Reborns);
BW.Write((byte)C.Merchant);//
BW.Write(C.VipLevel);//
BW.Write(DateTime.Now.Ticks);//When logged off, for otg feature purposes
BW.Write((ushort)(C.TrainTimeLeft + ((DateTime.Now - C.LoggedOn).TotalMinutes * 10)));//Train time left (in minutes)
BW.Write(C.InOTG);
BW.Write(C.LotteryUsed);
BW.Write(C.WHPassword);
BW.Write(C.Spouse);
BW.Write(C.UniversityPoints);//Quiz Pts
if (C.MyClient != null && C.MyClient.AuthInfo.Status != "[GM]" && C.MyClient.AuthInfo.Status != "[PM]")
{
if (C.WHSilvers + C.Silvers >= 50000000)
Console.WriteLine(C.Name + " has suspiciously much silvers: " + (C.WHSilvers + C.Silvers));
if (C.CPs >= 100000)
Console.WriteLine(C.Name + " has suspiciously much cps: " + C.CPs);
}
BW.Flush();
FS.Flush();
BW.Close();
FS.Close();
}
catch (Exception Exc) { Console.WriteLine(Exc); }
}






