示例#1
0
        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;
        }
示例#2
0
        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");
        }
示例#3
0
        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;
            }
        }