open client.cs search for
Add below
open General.cs search for
Add below
and Search for
add under
Add in timers
open Word.cs search for
add under
public static void GetCharInfo(Character Charr, string UserName)
[/code]
add under
Work in all Sources..
Code:
if (World.AllChars.Contains(MyChar.UID))
World.AllChars.Remove(MyChar.UID);
}
catch (Exception Exc) { General.WriteLine(Exc.ToString()); }
Code:
Console.WriteLine("Account: " + Account + " Character " + MyChar.Name + " has logged off.");
World.SaveAllChars();
Code:
GameServer = new ServerSocket();
GameServer.Port = 5816;
GameServer.MaxPacketSize = 4096;
GameServer.MaxThreads = 300;
GameServer.OnClientDisconnect += new SocketDisconnectEvent(GameDisconnectionHandler);
GameServer.OnReceivePacket += new SocketEvent(GamePacketHandler);
GameServer.Enabled = true;
Console.WriteLine("");
Code:
Thetimer = new System.Timers.Timer();
Thetimer.Interval = 300000;
Thetimer.Elapsed += new ElapsedEventHandler(Thetimer_Elapsed);
Thetimer.Start();
Code:
public static void DoStuff()
Code:
public static void Thetimer_Elapsed(object sender, ElapsedEventArgs e)
{
World.SendMsgToAll("Your account has been saved", "SYSTEM", 2005);
World.SaveAllChars();
}
Code:
public static System.Timers.Timer Thetimer;
Code:
public static void PlayersOffLottery()
Code:
public static void SaveAllChars()
{
try
{
foreach (DictionaryEntry DE in AllChars)
{
Character Charr = (Character)DE.Value;
DataBase.SaveChar(Charr);
}
Guilds.SaveAllGuilds();
}
catch (Exception Exc) { General.WriteLine(Convert.ToString(Exc)); }
}
open DataBase.cs search for
[/code]
add under
Code:
public static void SaveChar(Character Charr)
{
try
{
Charr.PackInventory();
Charr.PackEquips();
Charr.PackSkills();
Charr.PackProfs();
Charr.PackWarehouses();
Charr.PackEnemies();
Charr.PackFriends();
MySqlCommand Command = null;
Command = new MySqlCommand("UPDATE `Characters` SET `CharName` = '" + Charr.Name + "', `Level` = " + Charr.Level + ",`Exp` = " + Charr.Exp + ",`GuildDonation` = " + Charr.GuildDonation + ",`Strength` = " + Charr.Str + ",`Agility` = " + Charr.Agi + ",`Vitality` = " + Charr.Vit + ",`Spirit` = " + Charr.Spi + ",`Job` = " + Charr.Job + ",`Model` = " + Charr.Model + ",`Money` = " + Charr.Silvers + ",`CPs` = " + Charr.CPs + ",`CurrentHP` = " + Charr.CurHP + ",`CurrentMP` = " + Charr.CurMP + ",`StatPoints` = " + Charr.StatP + ",`MyGuild` = " + Charr.GuildID + ",`GuildPos` = " + Charr.GuildPosition + ",`LocationMap` = " + Charr.LocMap + ",`LocationX` = " + Charr.LocX + ",`LocationY` = " + Charr.LocY + ",`Hair` = " + Charr.Hair + ",`Equipment` = '" + Charr.PackedEquips + "',`Inventory` = '" + Charr.PackedInventory + "',`PKPoints` = " + Charr.PKPoints + ",`PrevMap` = " + Charr.PrevMap + ", `Skills` = '" + Charr.PackedSkills + "', `Profs` = '" + Charr.PackedProfs + "',`RBCount` = " + Charr.RBCount + ",`Avatar` = " + Charr.Avatar + ",`WHMoney` = " + Charr.WHSilvers + ",`VP` = " + Charr.VP + ",`Warehouses` = '" + Charr.PackedWHs + "',`Friends` = '" + Charr.PackedFriends + "',`dexp` = '" + Charr.dexp + "',`dexptime` = '" + Charr.dexptime + "',`Enemies` = '" + Charr.PackedEnemies + "' WHERE `Account` = '" + Charr.MyClient.Account + "'", DataBase.Connection);
Command.ExecuteNonQuery();
}
catch (Exception Exc) { General.WriteLine(Convert.ToString(Exc)); }
}
Work in all Sources..