elite*gold: 0
Join Date: Mar 2014
Posts: 46
Received Thanks: 0
|
I cant still Gain ExpBar Still Zero. But when i log out and log in back it will Gain ExpBar
namespace ShekoProject.Database
{
using ShekoProject;
using ShekoProject.Client;
using ShekoProject.ServerBase;
using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
public static class DataHolder
{
private static byte[] _SteedSpeed = new byte[] { 0, 5, 10, 15, 20, 30, 40, 50, 0x41, 0x55, 90, 0x5f, 100 };
private static SafeDictionary<byte, string> ArcherStats = new SafeDictionary<byte, string>(130);
private static ushort[] ComposePoints = new ushort[] { 20, 20, 80, 240, 720, 0x870, 0x1950, 0x4bf0, 0xe3d0, 0xa8c, 0x157c, 0x2328, 0 };
private static string ConnectionString;
public static ushort[] Disguises = new ushort[] { 0x6f, 0xe0, 0x75, 0x98, 0x71, 0x341, 0x74, 0xf5, 0xdf, 0x70, 0xde, 0x72, 0xdd, 0x73, 220 };
private static ulong[] levelExperience = new ulong[] {
120L, 180L, 240L, 360L, 600L, 960L, 0x4b0L, 0x960L, 0xe10L, 0x20d0L, 0x2ee0L, 0x3840L, 0x4650L, 0x5460L, 0x5876L, 0x7dcbL,
0x9239L, 0xb9c4L, 0xdd21L, 0x10ca4L, 0x11373L, 0x128a0L, 0x17dc5L, 0x1c094L, 0x1d815L, 0x1e44dL, 0x1ef00L, 0x239d6L, 0x2a57cL, 0x3040eL, 0x316d3L, 0x33cc0L,
0x3b9deL, 0x45c7fL, 0x4ab42L, 0x4c620L, 0x4f380L, 0x59658L, 0x69f27L, 0x7072eL, 0x7bb72L, 0x8b28aL, 0xb1dcfL, 0xcfb8dL, 0xdfbffL, 0xe44ceL, 0xe5b00L, 0x106d71L,
0x136bccL, 0x14b8aaL, 0x15219dL, 0x168f00L, 0x18e8b6L, 0x1d0a00L, 0x1f867aL, 0x201e5cL, 0x1d503dL, 0x24e232L, 0x2b8a56L, 0x2e9beeL, 0x2f7931L, 0x313800L, 0x3a2692L, 0x43b788L,
0x4a78ddL, 0x4bd9d2L, 0x4dee00L, 0x564026L, 0x6463daL, 0x68f327L, 0x6c591cL, 0x6d3799L, 0x8af5acL, 0xa1b02eL, 0xab3645L, 0xae1728L, 0xae5100L, 0xc49408L, 0xe784c7L, 0xf2919eL,
0xf6a3d7L, 0x1005900L, 0x1256e48L, 0x1554418L, 0x16b7430L, 0x1718f88L, 0x17b6500L, 0x19f0a4dL, 0x1e8c98dL, 0x2029599L, 0x20b3e75L, 0x2153400L, 0x25a2a63L, 0x2bc0d27L, 0x2ea864cL, 0x2f6cec4L,
0x30b4c00L, 0x353917bL, 0x3ddd6aaL, 0x41393fbL, 0x4250d02L, 0x48e1f38L, 0x5c75a05L, 0x6b74f93L, 0x7286f72L, 0x7427e88L, 0x79c3e00L, 0x83145e7L, 0xb8bdf02L, 0x185e4896L, 0x1b19c8fdL, 0x1b7c38fdL,
0x1bf744fdL, 0x1c7250fdL, 0x1ca388fdL, 0x1ced5cfdL, 0x1d6868fdL, 0x229af2ceL, 0x2ac3095bL, 0x10d3290aL, 0x143097a6L, 0x183a4f94L, 0x1d12c5e4L, 0x22e353dfL, 0x29dd97d8L, 0x323d1c9dL, 0x3c495589L, 0x3fffffffL,
0x3fffffffL, 0x3fffffffL, 0x3fffffffL, 0x3fffffffL, 0x3fffffffL, 0x3fffffffL, 0x3fffffffL, 0x3fffffffL, 0x3fffffffL, 0x3fffffffL, 0x3fffffffL
};
private static SafeDictionary<byte, string> MonkStats = new SafeDictionary<byte, string>(130);
private static string MySqlDatabase;
private static string MySqlHost;
private static string MySqlPassword;
private static string MySqlUsername;
private static SafeDictionary<byte, string> NinjaStats = new SafeDictionary<byte, string>(130);
private static uint[] proficiencyLevelExperience = new uint[] {
0, 0x4b0, 0x109a0, 0x3d090, 0x9c400, 0x186a00, 0x3d0900, 0x989680, 0x14fb180, 0x2625a00, 0x55d4a80, 0x5a995c0, 0x87e60a0, 0xcbd90f0, 0x131c5968, 0x1caa861c,
0x2affc92a, 0x407fadbf, 0x60bf849f, 0x7d2b7500, 0
};
private static ushort[] purifyStabilizationPoints = new ushort[] { 10, 30, 60, 100, 150, 200 };
private static ushort[] refineryStabilizationPoints = new ushort[] { 10, 30, 70, 150, 270 };
private static ushort[] StonePoints = new ushort[] { 1, 10, 40, 120, 360, 0x438, 0xca8, 0x25f8, 0x71e8 };
private static ushort[] TalismanExtra = new ushort[] { 0, 6, 30, 70, 240, 740, 0x8c0, 0x1a0e, 0x4e20, 0xea60 };
private static SafeDictionary<byte, string> TaoistStats = new SafeDictionary<byte, string>(130);
private static SafeDictionary<byte, string> TrojanStats = new SafeDictionary<byte, string>(130);
private static SafeDictionary<byte, string> WarriorStats = new SafeDictionary<byte, string>(130);
static SafeDictionary<byte, string> PirateStats = new SafeDictionary<byte, string>(130);
public static uint ComposePlusPoints(int plus)
{
return ComposePoints[Math.Min(plus, 12)];
}
public static void CreateConnection(string user, string password, string database, string host)
{
MySqlUsername = user;
MySqlHost = host;
MySqlPassword = password;
MySqlDatabase = database;
ConnectionString = "Server=" + MySqlHost + ";Database='" + MySqlDatabase + "';Username='" + MySqlUsername + "';Password='" + MySqlPassword + "';Pooling=true; Max Pool Size = 100000; Min Pool Size = 5";
}
public static ushort[] FindReviveSpot(ulong mapID)
{
IniFile file = new IniFile(@"database\RevivePoints.ini");
string str = file.ReadString(mapID.ToString(), "Value");
if (str == string.Empty)
{
return new ushort[] { 0x3ea, 430, 380 };
}
if (str.Contains("L"))
{
str = file.ReadString(str.Remove(0, 7), "Value");
}
string[] strArray = str.Split(new char[] { ' ' });
List<ushort> list = new List<ushort>();
try
{
list.Add(ushort.Parse(strArray[0]));
list.Add(ushort.Parse(strArray[1]));
list.Add(ushort.Parse(strArray[2]));
}
catch
{
ShekoProject.Console.WriteLine("Revive spot with error: " + str);
return new ushort[] { 0x3ea, 430, 380 };
}
return list.ToArray();
}
public static void GetStats(byte inClass, byte inLevel, Client.GameState client)
{
string Class = "";
inClass = (byte)((inClass / 10) * 10);
switch (inClass)
{
case 10: Class = "Trojan"; break;
case 20: Class = "Warrior"; break;
case 40: Class = "Archer"; break;
case 50: Class = "Ninja"; break;
case 60: Class = "Monk"; break;
case 70: Class = "Pirate"; break;
default: Class = "Taoist"; break;
}
inLevel = Math.Max((byte)10, inLevel);
inLevel = Math.Min((byte)120, inLevel);
string[] Data = null;
if (Class == "Trojan")
Data = TrojanStats[inLevel].Split(',');
else if (Class == "Warrior")
Data = WarriorStats[inLevel].Split(',');
else if (Class == "Archer")
Data = ArcherStats[inLevel].Split(',');
else if (Class == "Ninja")
Data = NinjaStats[inLevel].Split(',');
else if (Class == "Taoist")
Data = TaoistStats[inLevel].Split(',');
else if (Class == "Monk")
Data = MonkStats[inLevel].Split(',');
else if (Class == "Pirate")
Data = PirateStats[inLevel].Split(',');
client.Entity.Strength = Convert.ToUInt16(Data[0]);
client.Entity.Vitality = Convert.ToUInt16(Data[1]);
client.Entity.Agility = Convert.ToUInt16(Data[2]);
client.Entity.Spirit = Convert.ToUInt16(Data[3]);
}
public static ulong LevelExperience(byte Level)
{
return levelExperience[Math.Min(Math.Max(Level - 1, 0), 135)];
}
public static uint ProficiencyLevelExperience(byte Level)
{
return proficiencyLevelExperience[Math.Min(Level, (byte)20)];
}
static uint[] proficiencyLevelExperience = new uint[21] { 0, 1200, 68000, 250000, 640000, 1600000, 4000000, 10000000, 22000000, 40000000, 90000000, 95000000, 142500000, 213750000, 320625000, 480937500, 721406250, 1082109375, 1623164063, 2100000000, 0 };
static ulong[] levelExperience = new ulong[139] { 120, 180, 240, 360, 600, 960, 1200, 2400, 3600, 8400, 12000, 14400, 18000, 21600, 22646, 32203, 37433, 47556, 56609, 68772, 70515, 75936, 97733, 114836, 120853, 123981, 126720, 145878, 173436, 197646, 202451, 212160, 244190, 285823, 305986, 312864, 324480, 366168, 433959, 460590, 506738, 569994, 728527, 850829, 916479, 935118, 940800, 1076593, 1272780, 1357994, 1384861, 1478400, 1632438, 1903104, 2066042, 2104924, 1921085, 2417202, 2853462, 3054574, 3111217, 3225600, 3810962, 4437896, 4880605, 4970962, 5107200, 5652518, 6579162, 6877991, 7100700, 7157657, 9106860, 10596398, 11220549, 11409192, 11424000, 12882952, 15172807, 15896990, 16163799, 16800000, 19230280, 22365208, 23819312, 24219528, 24864000, 27200077, 32033165, 33723801, 34291317, 34944000, 39463523, 45878567, 48924236, 49729220, 51072000, 55808379, 64870058, 68391931, 69537026, 76422968, 96950789, 112676755, 120090482, 121798280, 127680000, 137446887, 193715970, 408832150, 454674685, 461125885, 469189885, 477253885, 480479485, 485317885, 493381885, 580580046, 717424987, 282274058, 338728870, 406474644, 487769572, 585323487, 702388184, 842865821, 1011438985, 1073741823, 1073741823, 8589134588, 25767403764, 77302211292, 231906633876, 347859950814, 447859950814, 547859950814, 1174030000000, 1761040000000, 2641550000000 };
public static ushort PurifyStabilizationPoints(byte plevel)
{
return purifyStabilizationPoints[Math.Min(plevel - 1, 5)];
}
public static void ReadStats()
{
string str = @"database\Stats.ini";
IniFile file = new IniFile(str);
for (byte i = 1; i < 0x7a; i = (byte)(i + 1))
{
string key = "Archer[" + i + "]";
string str3 = file.ReadString("Stats", key);
try
{
ArcherStats.Add(i, str3);
key = "Ninja[" + i + "]";
str3 = file.ReadString("Stats", key);
NinjaStats.Add(i, str3);
key = "Warrior[" + i + "]";
str3 = file.ReadString("Stats", key);
WarriorStats.Add(i, str3);
key = "Trojan[" + i + "]";
str3 = file.ReadString("Stats", key);
TrojanStats.Add(i, str3);
key = "Taoist[" + i + "]";
str3 = file.ReadString("Stats", key);
TaoistStats.Add(i, str3);
key = "Monk[" + i + "]";
str3 = file.ReadString("Stats", key);
MonkStats.Add(i, str3);
key = "Pirate[" + i + "]";
str3 = file.ReadString("Stats", key);
PirateStats.Add(i, str3);
}
catch
{
ShekoProject.Console.WriteLine(str3);
}
}
}
public static ushort RefineryStabilizationPoints(byte elevel)
{
return refineryStabilizationPoints[Math.Min(elevel - 1, 4)];
}
public static byte SteedSpeed(int plus)
{
return _SteedSpeed[Math.Min(plus, 12)];
}
public static uint StonePlusPoints(int plus)
{
return StonePoints[Math.Min(plus, 8)];
}
public static ushort TalismanPlusPoints(int plus)
{
return TalismanExtra[Math.Min(plus, 9)];
}
public static MySql.Data.MySqlClient.MySqlConnection MySqlConnection
{
get
{
return new MySql.Data.MySqlClient.MySqlConnection { ConnectionString = ConnectionString };
}
}
}
}
|