PHP Code:
codes here
codes here
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), 138)];
}
public static uint ProficiencyLevelExperience(int Level)
{
return proficiencyLevelExperience[Math.Min(Level, 20)];
}
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 };
}
}
}
}
if (Class == "Trojan")
Data = TrojanStats[inLevel].Split(',');
xD the code he is just give u will make the app closeQuote:
its give me error this one Class[b] = 'C';
byte[] Buffer;
const byte minBufferSize = 84;
public Update(bool Create)
{
if (Create)
{
Buffer = new byte[minBufferSize + 8];
WriteUInt16(minBufferSize, 0, Buffer);
WriteUInt16(10017, 2, Buffer);
}
}
public uint UID
{
get { return BitConverter.ToUInt32(Buffer, 4); }
set { WriteUInt32(value, 4, Buffer); }
}
public uint Duration
{
get
{
return BitConverter.ToUInt32(this.Buffer, 20);
}
set
{
WriteUInt32(value, 20, this.Buffer);
}
}
public uint UpdateCount
{
get { return BitConverter.ToUInt32(Buffer, 8); }
set
{
byte[] buffer = new byte[minBufferSize + 8 + 20 * value];
Buffer.CopyTo(buffer, 0);
WriteUInt16((ushort)(minBufferSize + 20 * value), 0, buffer);
Buffer = buffer;
WriteUInt32(value, 8, Buffer);
}
}
public void SoulShackle(ShekoProject.Game.Entity Entity, int Dmg, byte SpellLevel, byte Time_)
{
byte[] Buf = new byte[52 + 8];
WriteUInt16(52, 0, Buf);//Packet Lenght
WriteUInt16(10017, 2, Buf);//Status Packet Id
WriteUInt32(Entity.UID, 4, Buf);//Client Id
WriteUInt32(2, 8, Buf);// Switch
WriteUInt32(25, 12, Buf); // Status Effect Type
//WriteUInt64((ulong)Entity.EntityFlag, 16, Buf);//Status flag 1
WriteUInt64((ulong)Entity.StatusFlag2, 24, Buf);//Status flag 2
WriteUInt32(54, 32, Buf); //StatusTypes.AzureShield
WriteUInt32(113, 36, Buf);//i guess Sybtype ,,
WriteUInt32(Time_, 40, Buf);//Time duration for the effect
WriteUInt32((uint)Dmg, 44, Buf);//Damage Coused by the skill
WriteUInt32(SpellLevel, 48, Buf); //the SoulShackle Skill Level
if (ShekoProject.ServerBase.Kernel.GamePool.ContainsKey(Entity.UID))
{
Client.GameState Cl = ShekoProject.ServerBase.Kernel.GamePool[Entity.UID];
Cl.Send(Buf);
}
// Entity.AddFlag2(Update.Flags2.SoulShackle);
}
public void AzureShield(ShekoProject.Game.Entity Entity, int Dmg, byte SpellLevel, byte Time_)
{
byte[] Buf = new byte[52 + 8];
WriteUInt16(52, 0, Buf);//Packet Lenght
WriteUInt16(10017, 2, Buf);//Status Packet Id
WriteUInt32(Entity.UID, 4, Buf);//Client Id
WriteUInt32(2, 8, Buf);// Switch
WriteUInt32(25, 12, Buf); // Status Effect Type
//WriteUInt64((ulong)Entity.EntityFlag, 16, Buf);//Status flag 1
WriteUInt64((ulong)Entity.StatusFlag2, 24, Buf);//Status flag 2
WriteUInt32(49, 32, Buf); //StatusTypes.AzureShield
WriteUInt32(93, 36, Buf);//i guess Sybtype ,,
WriteUInt32(Time_, 40, Buf);//Time duration for the effect
WriteUInt32((uint)Dmg, 44, Buf);//Damage Coused by the skill
WriteUInt32(SpellLevel, 48, Buf); //the Azure Skill Level
if (ShekoProject.ServerBase.Kernel.GamePool.ContainsKey(Entity.UID))
{//3alashan ngeeb el client
Client.GameState Cl = ShekoProject.ServerBase.Kernel.GamePool[Entity.UID];
Cl.Send(Buf);
}
//Entity.AddFlag2(Update.Flags2.AzureShield);
}
public void Append(byte type, byte value)
{
UpdateCount = UpdateCount + 1;
ushort offset = (ushort)(12 + ((UpdateCount - 1) * 20));
WriteUInt32(type, offset, Buffer);
WriteUInt64(value, offset + 4, Buffer);
}
public void Append(byte type, ushort value)
{
UpdateCount = UpdateCount + 1;
ushort offset = (ushort)(12 + ((UpdateCount - 1) * 20));
WriteUInt32(type, offset, Buffer);
WriteUInt64(value, offset + 4, Buffer);
}
public void Add2(UInt32 type, UInt32 value, UInt32 value1, UInt32 value2 = 0)
{
UInt16 offset = 12;
WriteUInt32(type, offset, Buffer);
WriteUInt32(value, offset + 4, Buffer);
WriteUInt32(value1, offset + 20, Buffer);
WriteUInt32(value2, offset + 24, Buffer);
//32 and 36
}
public void AppendFull(byte type, ulong val1, ulong val2)
{
UpdateCount = UpdateCount + 1;
ushort offset = (ushort)(12 + ((UpdateCount - 1) * 20));
WriteUInt32(type, offset, Buffer);
WriteUInt64(val1, offset + 4, Buffer);
WriteUInt64(val2, offset + 12, Buffer);
}
public void AppendFull2(byte type, ulong val1, ulong val2,ulong val3)
{
UpdateCount = UpdateCount + 1;
ushort offset = (ushort)(12 + ((UpdateCount - 1) * 20));
WriteUInt32(type, offset, Buffer);
WriteUInt64(val1, offset + 4, Buffer);
WriteUInt64(val2, offset + 12, Buffer);
WriteUInt64(val3, offset + 20, Buffer);
}
public void Append(byte type, uint value)
{
UpdateCount = UpdateCount + 1;
ushort offset = (ushort)(12 + ((UpdateCount - 1) * 20));
WriteUInt32(type, offset, Buffer);
WriteUInt64(value, offset + 4, Buffer);
}
public void Append(byte type, ulong value)
{
UpdateCount = UpdateCount + 1;
ushort offset = (ushort)(12 + ((UpdateCount - 1) * 20));
WriteUInt32(type, offset, Buffer);
WriteUInt64(value, offset + 4, Buffer);
}
public void Append2(byte type, byte value)
{
UpdateCount = UpdateCount + 1;
ushort offset = (ushort)(12 + ((UpdateCount - 1) * 20));
WriteUInt32(type, offset, Buffer);
WriteUInt64(value, offset + 12, Buffer);
}
public void Append2(byte type, ushort value)
{
UpdateCount = UpdateCount + 1;
ushort offset = (ushort)(12 + ((UpdateCount - 1) * 20));
WriteUInt32(type, offset, Buffer);
WriteUInt64(value, offset + 12, Buffer);
}
public void Append2(byte type, uint value)
{
UpdateCount = UpdateCount + 1;
ushort offset = (ushort)(12 + ((UpdateCount - 1) * 20));
WriteUInt32(type, offset, Buffer);
WriteUInt64(value, offset + 12, Buffer);
}
public void Append2(byte type, ulong value)
{
UpdateCount = UpdateCount + 1;
ushort offset = (ushort)(12 + ((UpdateCount - 1) * 20));
WriteUInt32(type, offset, Buffer);
WriteUInt64(value, offset + 12, Buffer);
}
public void Clear()
{
byte[] buffer = new byte[minBufferSize + 8];
WriteUInt16(minBufferSize, 0, Buffer);
WriteUInt16(10017, 2, Buffer);
WriteUInt32(UID, 4, buffer);
Buffer = buffer;
}
public List<UpdateStruct> Updates
{
get
{
List<UpdateStruct> structs = new List<UpdateStruct>();
ushort offset = 12;
if (UpdateCount > 0)
{
for (int c = 0; c < UpdateCount; c++)
{
UpdateStruct st = new UpdateStruct();
st.Type = BitConverter.ToUInt32(Buffer, offset); offset += 4;
st.Value1 = BitConverter.ToUInt64(Buffer, offset); offset += 8;
st.Value2 = BitConverter.ToUInt64(Buffer, offset); offset += 8;
structs.Add(st);
}
}
return structs;
}
}
public byte[] ToArray()
{
return Buffer;
}
public void Deserialize(byte[] buffer)
{
Buffer = buffer;
}
public void Send(Client.GameState client)
{
client.Send(Buffer);
}
public void Append(byte type, byte value, byte second, byte second2, byte second3, byte second4, byte second5, byte second6, byte second7)
{
UpdateCount = UpdateCount + 1;
ushort offset = (ushort)(UpdateCount * 12);
WriteUInt32(type, offset, Buffer);
WriteUInt64(value, offset + 4, Buffer);
WriteByte(second, offset + 12, Buffer);
WriteByte(second2, offset + 13, Buffer);
WriteByte(second3, offset + 14, Buffer);
WriteByte(second4, offset + 15, Buffer);
WriteByte(second5, offset + 16, Buffer);
WriteByte(second6, offset + 17, Buffer);
WriteByte(second7, offset + 18, Buffer);
}
}
}
public void IncreaseExperience(ulong experience, bool addMultiple)
public ulong Experience
{
get
{
return _experience;
}
set
{
if (EntityFlag == EntityFlag.Player)
//Update(Network.GamePackets.Update.Experience, value, false);
_experience = value;
}
}
public ushort EnlightenPoints
{
get
{
return _enlightenPoints;
}
set
{
_enlightenPoints = value;
}
}
public byte ReceivedEnlightenPoints
{
get
{
return _receivedEnlighenPoints;
}
set
{
_receivedEnlighenPoints = value;
}
}
public ushort EnlightmentTime
{
get
{
return _enlightmenttime;
}
set
{
_enlightmenttime = value;
}
}
uncomment thatQuote:
This Is It. Or you want the all the Entity.cs
//Update(Network.GamePackets.Update.Experience, value, false);
Update(Network.GamePackets.Update.Experience, value, false);