public override void Read() { _player = new Player(); short nameOffset = (short)ReadH(); short details1Offset = (short)ReadH(); short details1Length = (short)ReadH(); short details2Offset = (short)ReadH(); short details2Length = (short)ReadH(); _player.gender = (Player_Gender)ReadD(); _player.race = (Player_Race)ReadD(); _player.classId = (Player_Class)ReadD(); _player.details3 = ReadB(8); Reader.BaseStream.Seek(nameOffset - 4, SeekOrigin.Begin); _player.name = ReadS(); _player.details1 = ReadB(details1Length); _player.details2 = ReadB(details2Length); Class_Template template = Class_Template.ClassTemplates[Convert.ToInt32(_player.classId)]; _player.playerStats.hp = template.maxHp; _player.playerStats.mp = template.maxMp; _player.playerStats.maxHp = template.maxHp; _player.playerStats.maxMp = template.maxMp; _player.playerStats.walkSpeed = template.walkSpeed; _player.playerStats.movementSpeed = template.movementSpeed; _player.playerStats.critRate = template.critRate; _player.playerStats.critResist = template.critResist; _player.playerStats.critPower = template.critPower; _player.playerStats.staminaMax = template.maxStamina; _player.playerStats.stamina = template.maxStamina; //stun rate //periodic rate //weakening rate _player.playerStats.resistWeakening = template.weakeningResist; _player.playerStats.resistPeriodic = template.periodicResist; _player.playerStats.resistStun = template.stunResist; }
private void loadPlayerStats(Player player) { Console.WriteLine("ID : " + player.playerId); string SQL = "SELECT * FROM player_stats WHERE `playerid` = ?id"; MySqlCommand command = new MySqlCommand(SQL, this._mySqlConnection); command.Parameters.AddWithValue("?id", player.playerId); MySqlDataReader reader = command.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { player.playerStats.hp = (int)reader.GetValue(reader.GetOrdinal("hp")); player.playerStats.mp = (int)reader.GetValue(reader.GetOrdinal("mp")); player.playerStats.stamina = (int)reader.GetValue(reader.GetOrdinal("stamina")); Class_Template template = Class_Template.ClassTemplates[Convert.ToInt32(player.classId)]; player.playerStats.maxHp = template.maxHp; player.playerStats.maxMp = template.maxMp; player.playerStats.walkSpeed = template.walkSpeed; player.playerStats.movementSpeed = template.movementSpeed; player.playerStats.critRate = template.critRate; player.playerStats.critResist = template.critResist; player.playerStats.critPower = template.critPower; player.playerStats.staminaMax = template.maxStamina; //stun rate //periodic rate //weakening rate player.playerStats.resistWeakening = template.weakeningResist; player.playerStats.resistPeriodic = template.periodicResist; player.playerStats.resistStun = template.stunResist; } } reader.Close(); Console.WriteLine("done"); }
public Server() { try { Console.WriteLine("Starting Server..."); this.TcpServer = new TCPServer("*", Config.getServerPort(), Config.getServerMaxConnection()); Connection.SendAllThread.Start(); Levels.LoadLevels(); Console.WriteLine("Loading templates..."); Class_Template.LoadTemplates(); Console.WriteLine("Loaded " + Class_Template.ClassTemplates.Count + " templates"); Console.WriteLine("Loading Achievements..."); Achievements.LoadAchievementsFromFile(); Console.WriteLine("Loaded " + Achievements.achievementList.Count + " achievements"); Console.WriteLine("Loading OpCodes..."); OpCodes.Init(); Console.WriteLine("Loaded " + (OpCodes.ClientTypes.Count + OpCodes.ServerTypes.Count) + " OpCodes"); DAOManager.Initialise("SERVER=" + Config.getDatabaseHost() + ";DATABASE=" + Config.getDatabaseName() + ";UID=" + Config.getDatabaseUser() + ";PASSWORD="******";PORT=" + Config.getDatabasePort() + ";charset=utf8"); Console.WriteLine("Loading TCP..."); this.TcpServer.BeginListening(); Connection.sendThread.Start(); Console.WriteLine("Server Started !"); Server.serverOn = true; } catch (Exception exception) { Console.WriteLine("Can't start server : ", exception.Message); return; } }