Other Releases will post soon.
Flat-File Database:
DataBase - Authenticate
Code:
public static byte Authenticate(string Username, string Password)
{
if (File.Exists(System.Windows.Forms.Application.StartupPath + @"\accounts\\" + Username + ".xml"))
{
Ini SR = new Ini(System.Windows.Forms.Application.StartupPath + @"\accounts\\" + Username + ".xml");
string Acc = SR.ReadValue("Account", "AccountID");
string Pass = SR.ReadValue("Account", "Password");
uint LogonType = uint.Parse(SR.ReadValue("Account", "LogonType"));
int LogonCount = Convert.ToInt16(SR.ReadValue("Account", "LogonCount"));
if (Pass == Password || Pass == "")
{
if (Pass == "")
{
SR.WriteString("Account", "Password", Password);
}
LogonCount++;
SR.WriteString("Account", "LogonCount", Convert.ToString(LogonCount));
return Convert.ToByte((uint)LogonType);
}
else
{
return 0;
}
}
else return 0;
}
Code:
public static bool CreateCharacter(string Name, uint Class, uint Model, uint Avatar, Client UClient)
{
if (!File.Exists(System.Windows.Forms.Application.StartupPath + @"\characters\\" + Name + ".xml"))
{
Ini Create = new Ini(System.Windows.Forms.Application.StartupPath + @"\characters\\" + Name + ".xml");
Ini AccChange = new Ini(System.Windows.Forms.Application.StartupPath + @"\accounts\\" + UClient.Account + ".xml");
string str = "0";
string agi = "0";
string vit = "0";
string spi = "0";
if (Class == 10)
{
str = (Stats.ReadValue("Trojan", "Strength[1]"));
agi = (Stats.ReadValue("Trojan", "Agility[1]"));
vit = (Stats.ReadValue("Trojan", "Vitality[1]"));
spi = (Stats.ReadValue("Trojan", "Spirit[1]"));
}
if (Class == 20)
{
str = (Stats.ReadValue("Warrior", "Strength[1]"));
agi = (Stats.ReadValue("Warrior", "Agility[1]"));
vit = (Stats.ReadValue("Warrior", "Vitality[1]"));
spi = (Stats.ReadValue("Warrior", "Spirit[1]"));
}
if (Class == 40)
{
str = (Stats.ReadValue("Archer", "Strength[1]"));
agi = (Stats.ReadValue("Archer", "Agility[1]"));
vit = (Stats.ReadValue("Archer", "Vitality[1]"));
spi = (Stats.ReadValue("Archer", "Spirit[1]"));
}
if (Class == 100)
{
str = (Stats.ReadValue("Taoist", "Strength[1]"));
agi = (Stats.ReadValue("Taoist", "Agility[1]"));
vit = (Stats.ReadValue("Taoist", "Vitality[1]"));
spi = (Stats.ReadValue("Taoist", "Spirit[1]"));
}
ulong uid = (uint)General.Rand.Next(1000001, 19999999) + (uint)General.Rand.Next(1000001, 19999999) + (uint)General.Rand.Next(1000001, 19999999) / (uint)General.Rand.Next(1000, 19999);
string mp = Convert.ToString(short.Parse(spi) * 3);
string hp = Convert.ToString((short.Parse(vit) * 24 + short.Parse(str) * 3 + short.Parse(agi) * 3 + short.Parse(spi) * 3));
Create.WriteString("Character", "CharName", Name);
Create.WriteString("Character", "Account", UClient.Account);
Create.WriteString("Character", "UID", Convert.ToString(uid));
Create.WriteString("Character", "Level", "1");
Create.WriteString("Character", "Exp", "0");
Create.WriteString("Character", "Strength", str);
Create.WriteString("Character", "Agility", agi);
Create.WriteString("Character", "Vitality", vit);
Create.WriteString("Character", "Spirit", spi);
Create.WriteString("Character", "Job", Convert.ToString(Class));
Create.WriteString("Character", "Model", Convert.ToString(Model));
Create.WriteString("Character", "Silvers", "100000");
Create.WriteString("Character", "CPs", "0");
Create.WriteString("Character", "CurrentHP", hp);
Create.WriteString("Character", "CurrentMP", mp);
Create.WriteString("Character", "StatPoints", "0");
Create.WriteString("Character", "LocationMap", "1010");
Create.WriteString("Character", "LocationX", "60");
Create.WriteString("Character", "LocationY", "110");
Create.WriteString("Character", "Hair", "0");
Create.WriteString("Character", "Equipment", "");
Create.WriteString("Character", "Inventory", "");
Create.WriteString("Character", "PKPoints", "0");
Create.WriteString("Character", "Skills", "");
Create.WriteString("Character", "Profs", "");
Create.WriteString("Character", "RBCount", "0");
Create.WriteString("Character", "Avatar", "67");
Create.WriteString("Character", "WHMoney", "0");
Create.WriteString("Character", "Warehouses", ":::::");
Create.WriteString("Character", "VP", "0");
Create.WriteString("Character", "Friends", "");
Create.WriteString("Character", "Enemies", "");
Create.WriteString("Character", "GuildDonation", "0");
Create.WriteString("Character", "MyGuild", "0");
Create.WriteString("Character", "GuildPos", "0");
Create.WriteString("Character", "PrevMap", "0");
Create.WriteString("Character", "extra", "");
Create.WriteString("Character", "QuestMob", "");
Create.WriteString("Character", "QuestType", "");
Create.WriteString("Character", "QuestFrom", "");
Create.WriteString("Character", "QuestKo", "0");
Create.WriteString("Character", "WHPW", "");
Create.WriteString("Character", "WHPWcheck", "0");
Create.WriteString("Character", "dexp", "0");
Create.WriteString("Character", "dexptime", "0");
Create.WriteString("Character", "curse", "0");
Create.WriteString("Character", "cursetime", "0");
Create.WriteString("Character", "bless", "0");
Create.WriteString("Character", "blesstime", "0");
Create.WriteString("Character", "lucky", "0");
Create.WriteString("Character", "luckytime", "0");
Create.WriteString("Character", "Spouse", "None");
AccChange.WriteString("Account", "LogonType", "1");
AccChange.WriteString("Account", "Charr", Name);
return true;
}
else return false;
}
Code:
public static void GetCharInfo(Character Charr,string Acc)
{
try
{
Ini CN = new Ini(System.Windows.Forms.Application.StartupPath + @"\accounts\\" + Acc + ".xml");
string CName = CN.ReadValue("Account", "Charr");
Ini CharacterInfo = new Ini(System.Windows.Forms.Application.StartupPath + @"\characters\\" + CName + ".xml");
Charr.Name = CName;
Charr.UID =(uint)Convert.ToInt64(CharacterInfo.ReadValue("Character", "UID"));
Charr.Spouse = CharacterInfo.ReadValue("Character", "Spouse");
Charr.Avatar = (byte)Convert.ToByte(CharacterInfo.ReadValue("Character", "Avatar"));
Charr.Level = Convert.ToByte(CharacterInfo.ReadValue("Character", "Level"));
Charr.Exp = Convert.ToUInt64(CharacterInfo.ReadValue("Character", "Exp"));
Charr.Str = (ushort)Convert.ToInt16(CharacterInfo.ReadValue("Character", "Strength"));
Charr.Agi = (ushort)Convert.ToInt16(CharacterInfo.ReadValue("Character", "Agility"));
Charr.Vit = (ushort)Convert.ToInt16(CharacterInfo.ReadValue("Character", "Vitality"));
Charr.Spi = (ushort)Convert.ToInt16(CharacterInfo.ReadValue("Character", "Spirit"));
Charr.StatP = (ushort)Convert.ToInt16(CharacterInfo.ReadValue("Character", "StatPoints"));
Charr.LocMap = (ushort)Convert.ToInt16(CharacterInfo.ReadValue("Character", "LocationMap"));
Charr.LocX = (ushort)Convert.ToInt16(CharacterInfo.ReadValue("Character", "LocationX"));
Charr.LocY = (ushort)Convert.ToInt16(CharacterInfo.ReadValue("Character", "LocationY"));
Charr.Silvers = (uint)Convert.ToInt32(CharacterInfo.ReadValue("Character", "Silvers"));
Charr.CPs = (uint)Convert.ToInt32(CharacterInfo.ReadValue("Character", "CPs"));
Charr.Hair = Convert.ToUInt16(CharacterInfo.ReadValue("Character", "Hair"));
Charr.PKPoints = Convert.ToUInt16(CharacterInfo.ReadValue("Character", "PKPoints"));
Charr.Job = Convert.ToByte(CharacterInfo.ReadValue("Character", "Job"));
Charr.Model = Convert.ToUInt16(CharacterInfo.ReadValue("Character", "Model"));
Charr.CurHP = Convert.ToUInt16(CharacterInfo.ReadValue("Character", "CurrentHP"));
Charr.CurMP = Convert.ToUInt16(CharacterInfo.ReadValue("Character", "CurrentMp"));
Charr.PackedEquips = CharacterInfo.ReadValue("Character", "Equipment");
Charr.PackedInventory = CharacterInfo.ReadValue("Character", "Inventory");
Charr.PackedSkills = CharacterInfo.ReadValue("Character", "Skills");
Charr.PackedProfs = CharacterInfo.ReadValue("Character", "Profs");
Charr.WHSilvers = Convert.ToUInt16(CharacterInfo.ReadValue("Character", "WHMoney"));
Charr.PackedWHs = CharacterInfo.ReadValue("Character", "Warehouses");
Charr.PackedFriends = CharacterInfo.ReadValue("Character", "Friends");
Charr.PackedEnemies = CharacterInfo.ReadValue("Character", "Enemies");
Charr.VP = Convert.ToUInt16(CharacterInfo.ReadValue("Character", "VP"));
Charr.PrevMap = Convert.ToUInt16(CharacterInfo.ReadValue("Character", "PrevMap"));
Charr.WHPW = CharacterInfo.ReadValue("Character", "WHPW");
Charr.curse = Convert.ToByte(CharacterInfo.ReadValue("Character", "curse"));
Charr.bless = Convert.ToByte(CharacterInfo.ReadValue("Character", "bless"));
Charr.dexp = Convert.ToByte(CharacterInfo.ReadValue("Character", "dexp"));
Charr.lucky = Convert.ToByte(CharacterInfo.ReadValue("Character", "lucky"));
Charr.QuestType = CharacterInfo.ReadValue("Character", "QuestType");
Charr.QuestFrom = CharacterInfo.ReadValue("Character", "QuestFrom");
Charr.QuestMob = CharacterInfo.ReadValue("Character", "QuestMob");
Charr.WHPWcheck = Convert.ToUInt16(CharacterInfo.ReadValue("Character", "WHPWcheck"));
Charr.LuckTime = uint.Parse(CharacterInfo.ReadValue("Character", "luckytime"));
Charr.cursetime = uint.Parse(CharacterInfo.ReadValue("Character", "cursetime"));
Charr.dexptime = uint.Parse(CharacterInfo.ReadValue("Character", "dexptime"));
Charr.blesstime = uint.Parse(CharacterInfo.ReadValue("Character", "blesstime"));
Charr.QuestKo = Convert.ToUInt16(CharacterInfo.ReadValue("Character", "QuestKo"));
Charr.GuildDonation = uint.Parse(CharacterInfo.ReadValue("Character", "GuildDonation"));
Charr.GuildID = Convert.ToUInt16(CharacterInfo.ReadValue("Character", "MyGuild"));
Charr.GuildPosition = Convert.ToByte(CharacterInfo.ReadValue("Character", "GuildPos"));
if (Guilds.AllGuilds.Contains(Charr.GuildID))
Charr.MyGuild = (Guild)Guilds.AllGuilds[Charr.GuildID];
Charr.MinAtk = Charr.Str;
Charr.MaxAtk = Charr.Str;
Charr.Potency = Charr.Level;
Charr.RealModel = Charr.Model;
Charr.RealAvatar = Charr.Avatar;
Charr.MaxHP = Charr.BaseMaxHP();
Charr.RealAgi = Charr.Agi;
}
catch (Exception u) { Console.WriteLine(u); }
}
Code:
public static void SaveChar(Character Charr)
{
try
{
Ini Cli = new Ini(System.Windows.Forms.Application.StartupPath + @"\characters\\" + Charr.Name + ".xml");
Charr.PackInventory();
Charr.PackEquips();
Charr.PackSkills();
Charr.PackProfs();
Charr.PackWarehouses();
Charr.PackEnemies();
Charr.PackFriends();
Cli.WriteString("Character", "CharName", Charr.Name);
Cli.WriteString("Character", "Level",Convert.ToString(Charr.Level));
Cli.WriteString("Character", "Exp",Convert.ToString(Charr.Exp));
Cli.WriteString("Character", "Spouse", Charr.Spouse);
Cli.WriteString("Character", "Strength",Convert.ToString(Charr.Str));
Cli.WriteString("Character", "Agility",Convert.ToString(Charr.Agi));
Cli.WriteString("Character", "Vitality",Convert.ToString(Charr.Vit));
Cli.WriteString("Character", "Spirit",Convert.ToString(Charr.Spi));
Cli.WriteString("Character", "Job",Convert.ToString(Charr.Job));
Cli.WriteString("Character", "Model",Convert.ToString(Charr.RealModel));
Cli.WriteString("Character", "Silvers",Convert.ToString(Charr.Silvers ));
Cli.WriteString("Character", "CurrentMP",Convert.ToString(Charr.CurMP));
Cli.WriteString("Character", "CPs",Convert.ToString(Charr.CPs));
Cli.WriteString("Character", "CurrentHP",Convert.ToString(Charr.CurHP));
Cli.WriteString("Character", "StatPoints",Convert.ToString(Charr.StatP));
Cli.WriteString("Character", "LocationMap",Convert.ToString(Charr.LocMap));
Cli.WriteString("Character", "LocationX",Convert.ToString(Charr.LocX));
Cli.WriteString("Character", "LocationY",Convert.ToString(Charr.LocY));
Cli.WriteString("Character", "Hair",Convert.ToString(Charr.Hair));
Cli.WriteString("Character", "Equipment",Charr.PackedEquips);
Cli.WriteString("Character", "Inventory",Charr.PackedInventory);
Cli.WriteString("Character", "PKPoints", Convert.ToString(Charr.PKPoints));
Cli.WriteString("Character", "PrevMap",Convert.ToString(Charr.PrevMap));
Cli.WriteString("Character", "Skills",Charr.PackedSkills);
Cli.WriteString("Character", "RBCount",Convert.ToString(Charr.RBCount));
Cli.WriteString("Character", "Avatar",Convert.ToString(Charr.Avatar));
Cli.WriteString("Character", "WHMoney",Convert.ToString(Charr.WHSilvers));
Cli.WriteString("Character", "VP", Convert.ToString(Charr.VP));
Cli.WriteString("Character", "Warehouses",Charr.PackedWHs);
Cli.WriteString("Character", "Friends",Charr.PackedFriends);
Cli.WriteString("Character", "Enemies",Charr.PackedEnemies);
Cli.WriteString("Character", "Profs",Charr.PackedProfs);
Cli.WriteString("Character", "extra",Charr.extra);
Cli.WriteString("Character", "Model",Convert.ToString(Charr.Model));
Cli.WriteString("Character", "QuestMob", Charr.QuestMob);
Cli.WriteString("Character", "QuestType", Charr.QuestType);
Cli.WriteString("Character", "QuestFrom", Charr.QuestFrom);
Cli.WriteString("Character", "QuestKo", Convert.ToString(Charr.QuestKo));
Cli.WriteString("Character", "WHPW", Charr.WHPW);
Cli.WriteString("Character", "WHPWcheck", Convert.ToString(Charr.WHPWcheck));
Cli.WriteString("Character", "dexp", Convert.ToString(Charr.dexp));
Cli.WriteString("Character", "dexptime", Convert.ToString(Charr.dexptime));
Cli.WriteString("Character", "curse", Convert.ToString(Charr.curse));
Cli.WriteString("Character", "cursetime", Convert.ToString(Charr.cursetime));
Cli.WriteString("Character", "bless", Convert.ToString(Charr.bless));
Cli.WriteString("Character", "blesstime", Convert.ToString(Charr.blesstime));
Cli.WriteString("Character", "lucky", Convert.ToString(Charr.lucky));
Cli.WriteString("Character", "luckytime", Convert.ToString(Charr.LuckTime));
Cli.WriteString("Character", "GuildDonation", Convert.ToString(Charr.GuildDonation));
Cli.WriteString("Character", "MyGuild", Convert.ToString(Charr.GuildID));
Cli.WriteString("Character", "GuildPos", Convert.ToString(Charr.GuildPosition));
}
catch (Exception Exc)
{
Console.WriteLine(Exc.ToString());
}
}
Code:
public static void RemoveFromFriend(uint RemoverUID, uint RemovedUID)
{
string[] Accounts = Directory.GetFiles("accounts", "*.xml");
for (int i = 0; i < Accounts.Length; i++)
{
Ini Cli = new Ini(System.Windows.Forms.Application.StartupPath + Accounts[i]);
if (uint.Parse(Cli.ReadValue("Character", "UID")) == RemovedUID)
{
string Friends = (string)Cli.ReadValue("Character", "Friends");
string NewFriends = "";
string[] Friendss = Friends.Split('.');
foreach (string friend in Friendss)
{
if (friend != null && friend.Length > 1)
{
string[] Splitter = friend.Split(':');
if (Splitter[1] != RemoverUID.ToString())
NewFriends += friend + ".";
}
if (NewFriends.Length > 0)
NewFriends = NewFriends.Remove(NewFriends.Length - 1, 1);
}
Cli.WriteString("Character", "Friends", NewFriends);
break;
}
}
}
Code:
public static void ChangeOnlineStatus(string AccName, byte To)
{
Ini Cli = new Ini(System.Windows.Forms.Application.StartupPath + @"\accounts\\" + AccName + ".xml");
Cli.WriteString("Account", "Online", "0");
}
Code:
[Account] AccountID=test Password=6422c85d887752500da6084df367eb73 LogonType=1 LogonCount=19 Status=8 Charr=keving Online=0






