示例#1
0
        public void InitializeGuild()
        {
            Guild.Guilds = null;

            // Prepara as classes para receber dados
            Guild.Guilds = new HashSet <Guild>();

            // Carrega todos os dados de guild
            WriteLog("Carregando guilds.", Color.Black);
            Guild_DB.GuildInfo();

            WriteLog("Carregando membros.", Color.Black);
            Guild_DB.MemberInfo();
        }
        public static void CreateGuild(string hexID, string gName)
        {
            // Verificar se o personagem já está em uma guild ...
            // Se verdadeiro, enviar mensagem de erro
            if (Authentication.FindByHexID(hexID).GuildID >= 1)
            {
                //WorldServerPacket.Message(hexID, (int)PacketList.WorldServer_UserAlreadyInGuild);
                return;
            }

            // Verificar se o nome já existe no banco de dados ...
            // Se verdadeiro, enviar mensagem ...
            if (Guild_DB.ExistGuild(gName))
            {
                //WorldServerPacket.Message(hexID, (int)PacketList.WorldServer_GuildNameInUse);
                return;
            }

            var pData = Authentication.FindByHexID(hexID);

            // Instancia a lista de membro e historico
            var gData = new Guild(true);

            gData.OwnerID      = pData.CharacterID;
            gData.OwnerName    = pData.CharacterName;
            gData.Name         = gName;
            gData.Level        = 1;
            gData.Announcement = " ";

            // Insere a guild no banco de dados
            Guild_DB.InsertGuild(pData.CharacterID, pData.CharacterName, gName);

            // Pega o ID da guild e altera os valores
            gData.ID      = Guild_DB.GuildID(gName);
            pData.GuildID = gData.ID;

            // Salva o ID de guild do personagem
            Guild_DB.UpdatePlayerGuildID(pData.CharacterID, pData.GuildID);

            // Adiciona novo membro
            GuildMember mData = new GuildMember();

            mData.ID         = pData.CharacterID;
            mData.Name       = pData.CharacterName;
            mData.Access     = 1;
            mData.Permission = "1, 1, 1, 1";
            mData.Status     = true;
            mData.SelfIntro  = " ";

            // Adiciona membro a guild
            gData.Member.Add(mData);

            // Insere novo membro no banco de dados
            Guild_DB.InsertMember(pData.GuildID, pData.CharacterID, pData.CharacterName, "1, 1, 1, 1,");

            // Adiciona novo historico
            var hData = new GuildHistory();

            hData.Date        = DateTime.Now + "";
            hData.PlayerName  = pData.CharacterName;
            hData.Description = pData.CharacterName + " criou a guild.";

            // Adiciona historico a guild
            gData.History.Add(hData);

            // Insere novo historico no banco de dados
            Guild_DB.InsertHistory(pData.GuildID, pData.CharacterName, pData.CharacterName + " criou a guild.");

            // Adiciona a nova guild
            Guild.Guilds.Add(gData);

            // Envia guild para o jogador
            //WorldServerPacket.SendGuild(index);

            // Envia membros para o jogador
            //WorldServerPacket.SendMember(index);

            // Envia historico para o jogador
            // WorldServerPacket.SendHistory(index);
        }
示例#3
0
        public void InitializeServer()
        {
            var error = string.Empty;

            FileLog.OpenFileLog();
            Configuration.ParseConfigFile(Constant.FILE_CONFIG);

            Settings.Name = Configuration.GetString("Name");
            FileLog.WriteLog($"Game Server Name: {Settings.Name}", Color.CornflowerBlue);
            this.Text = $"Game Server @ {Settings.Name}";

            Settings.Discovery = Configuration.GetString("Discovery");
            FileLog.WriteLog($"Discovery: {Settings.Discovery}", Color.Black);

            Settings.Port = Configuration.GetInt32("Port");
            FileLog.WriteLog($"Port: {Settings.Port}", Color.Black);

            Settings.MaxConnection = Configuration.GetInt32("MaximumConnections");
            FileLog.WriteLog($"MaximumConnections: {Settings.MaxConnection}", Color.Black);

            Settings.ConnectionTimeOut = Configuration.GetInt32("ConnectionTimeOut");
            FileLog.WriteLog($"ConnectionTimeOut: {Settings.ConnectionTimeOut}", Color.Black);

            Settings.Logs = Convert.ToBoolean(Configuration.GetInt32("LogSystem"));
            FileLog.WriteLog($"Logs: {Settings.Logs}", Color.Black);

            Settings.Sleep = Configuration.GetInt32("Sleep");
            FileLog.WriteLog($"Sleep: {Settings.Sleep}", Color.Black);

            Settings.ID = Configuration.GetString("ID");
            FileLog.WriteLog($"Game Server ID: {Settings.ID}", Color.Black);

            Settings.WorldServerID = new string[Constant.MAX_SERVER];

            FileLog.WriteLog("Carregando config mysql", Color.Black);

            Common_DB.Server   = Configuration.GetString("MySQL_IP");
            Common_DB.Port     = Configuration.GetInt32("MySQL_Port");
            Common_DB.Username = Configuration.GetString("MySQL_User");
            Common_DB.Password = Configuration.GetString("MySQL_Pass");
            Common_DB.Database = Configuration.GetString("MySQL_DB");

            // Tenta se conectar ao banco de dados
            if (!Common_DB.Connect(out error))
            {
                FileLog.WriteLog(error, Color.Red);
            }
            else
            {
                FileLog.WriteLog("Connectado ao banco de dados", Color.Green);
            }

            if (!string.IsNullOrEmpty(error))
            {
                FileLog.WriteLog(error, Color.Red);
            }

            for (int n = 0; n < Constant.MAX_SERVER; n++)
            {
                Settings.WorldServerID[n] = Configuration.GetString($"{n + 1}_WorldID");
                FileLog.WriteLog($"WorldServer {n + 1}  ID: {Settings.WorldServerID[n]}", Color.Coral);
            }

            FileLog.WriteLog("Carregando experiência", Color.Black);
            ServerData_DB.LoadExperience();

            FileLog.WriteLog($"Level Max: {Experience.Level.LevelMax}", Color.BlueViolet);
            FileLog.WriteLog($"Exp Max: {Experience.Level.GetMaxExp()}", Color.BlueViolet);

            Guild.Guilds = null;
            // Prepara as classes para receber dados
            Guild.Guilds = new HashSet <Guild>();

            // Carrega todos os dados de guild
            FileLog.WriteLog("Carregando guilds", Color.Black);
            Guild_DB.GuildInfo();

            Guild_DB.MemberInfo();
            FileLog.WriteLog("Carregando membros", Color.Black);

            // Classes
            InitializeClasse();

            ///npc
            FileLog.WriteLog("Carregando NPC", Color.Black);
            NpcManager.Npc = new HashSet <NpcData>();
            Npc_DB.InitializeNpc();

            //Inicia mapas de teste
            //Maps.MapGeneral.Map.InitializeMap();
            Maps.MapManager.Add(1);
            Maps.MapManager.Add(2);
            Maps.MapManager.Add(3);

            Authentication.HexID  = new HashSet <HexaID>();
            Authentication.Player = new HashSet <PlayerData>();



            GameNetwork.InitializeServer();
            FileLog.WriteLog("Game Server Start", Color.Green);
        }