Esempio n. 1
0
 public static void AddNewNobility(int Identifier, string Name, long Donation)
 {
     using (var sql = new SqlHandler(Program.Config.ReadString("GameConnectionString")))
     {
         using (var cmd = new SqlCommandBuilder(sql, SqlCommandType.INSERT, false))
         {
             cmd.AddInsertValue("PlayerID", Identifier);
             cmd.AddInsertValue("PlayerName", Name);
             cmd.AddInsertValue("NobilityDonation", Donation);
             cmd.Finish("DB_NobilityBoard");
         }
         sql.Execute();
     }
 }
Esempio n. 2
0
        public static void AddNewMonsterSpawn(ushort mapid, ushort x, ushort y, int monsterid, int count, int drop, int range, bool guard)
        {
            using (var sql = new SqlHandler(Program.Config.ReadString("GameConnectionString")))
            {
                using (var cmd = new SqlCommandBuilder(sql, SqlCommandType.INSERT, false))
                {
                    cmd.AddInsertValue("MonsterID", monsterid);
                    cmd.AddInsertValue("CenterX", x);
                    cmd.AddInsertValue("CenterY", y);
                    cmd.AddInsertValue("Drop", drop);
                    cmd.AddInsertValue("Count", count);
                    if (guard)
                    {
                        cmd.AddInsertValue("Range", (int)1);
                    }
                    else
                    {
                        cmd.AddInsertValue("Range", range);
                    }
                    cmd.Finish("DB_MobSpawns");
                }
                sql.Execute();
            }

            for (int i = 0; i < count; i++)
            {
                Entities.Monster spawnmob = Core.Kernel.Monsters[monsterid].Copy();
                spawnmob.Direction = (byte)ProjectX_V3_Lib.ThreadSafe.RandomGenerator.Generator.Next(0, 8);
                if (Core.Kernel.Maps[mapid].EnterMap(spawnmob))
                {
                    Maps.MapPoint Location = spawnmob.Map.CreateAvailableLocation <Entities.Monster>(x, y, range);
                    if (Location != null)
                    {
                        spawnmob.X             = Location.X;
                        spawnmob.Y             = Location.Y;
                        spawnmob.OriginalRange = range;
                        spawnmob.OriginalX     = x;
                        spawnmob.OriginalY     = y;

                        //if (drop > 0)
                        //{
                        //	spawnmob.DropData = Core.Kernel.DropData[drop].Copy();
                        //}

                        Threads.MonsterThread.AddToMonsterThread(spawnmob, !(((byte)spawnmob.Behaviour) < 3 || spawnmob.Behaviour == Enums.MonsterBehaviour.PhysicalGuard));

                        spawnmob.Screen.UpdateScreen(null);
                    }
                }
            }
        }
Esempio n. 3
0
        public static void UpdateAuthentication(Client.AuthClient client)
        {
            if (PlayerExists(client.DatabaseUID))
            {
                using (var sql = new SqlHandler(Program.Config.ReadString("GameConnectionString")))
                {
                    using (var cmd = new SqlCommandBuilder(sql, SqlCommandType.UPDATE, true))
                    {
                        cmd.AddWhereValue("PlayerID", client.DatabaseUID);
                        cmd.AddUpdateValue("PlayerLastEntityUID", client.EntityUID);
                        cmd.AddUpdateValue("PlayerLoginOK", true);

                        cmd.Finish("DB_Players");
                    }
                    sql.Execute();
                }
            }
            else
            {
                using (var sql = new SqlHandler(Program.Config.ReadString("GameConnectionString")))
                {
                    using (var cmd = new SqlCommandBuilder(sql, SqlCommandType.INSERT, false))
                    {
                        cmd.AddInsertValue("PlayerID", client.DatabaseUID);
                        cmd.AddInsertValue("PlayerNew", true);
                        cmd.AddInsertValue("PlayerAccount", client.Account);
                        cmd.AddInsertValue("PlayerLastEntityUID", client.EntityUID);
                        cmd.AddInsertValue("PlayerLoginOK", true);
                        cmd.AddInsertValue("PlayerServer", client.Server);

                        cmd.Finish("DB_Players");
                    }
                    sql.Execute();
                }
            }
        }
Esempio n. 4
0
        public static bool Create(Entities.GameClient leader, string Name)
        {
            using (var sql = new SqlHandler(Program.Config.ReadString("GameConnectionString")))
            {
                using (var cmd = new SqlCommandBuilder(sql, SqlCommandType.INSERT, false))
                {
                    cmd.AddInsertValue("GuildName", Name);
                    cmd.AddInsertValue("GuildBullentin", "");
                    cmd.AddInsertValue("GuildFund", (ulong)0);
                    cmd.AddInsertValue("GuildCPsFund", (uint)0);
                    cmd.AddInsertValue("GuildLevel", (byte)0);
                    cmd.AddInsertValue("GuildAllie1", "");
                    cmd.AddInsertValue("GuildAllie2", "");
                    cmd.AddInsertValue("GuildAllie3", "");
                    cmd.AddInsertValue("GuildAllie4", "");
                    cmd.AddInsertValue("GuildAllie5", "");
                    cmd.AddInsertValue("GuildEnemy1", "");
                    cmd.AddInsertValue("GuildEnemy2", "");
                    cmd.AddInsertValue("GuildEnemy3", "");
                    cmd.AddInsertValue("GuildEnemy4", "");
                    cmd.AddInsertValue("GuildEnemy5", "");
                    cmd.Finish("DB_Guilds");
                }
                sql.Execute();
            }
            using (var sql = new SqlHandler(Program.Config.ReadString("GameConnectionString")))
            {
                using (var cmd = new SqlCommandBuilder(sql, SqlCommandType.SELECT, true))
                {
                    cmd.AddWhereValue("GuildName", Name);
                    cmd.Finish("DB_Guilds");
                }
                if (!sql.Read())
                {
                    return(false);
                }

                Data.Guild newGuild = new ProjectX_V3_Game.Data.Guild();
                newGuild.DatabaseID    = sql.ReadUInt32("GuildID");
                newGuild.Name          = sql.ReadString("GuildName");
                newGuild.Bullentin     = sql.ReadString("GuildBullentin");
                newGuild.MoneyDonation = sql.ReadUInt64("GuildFund");
                newGuild.CPDonation    = sql.ReadUInt32("GuildCPsFund");
                newGuild.Level         = sql.ReadByte("GuildLevel");

                if (Core.Kernel.Guilds.TryAdd(newGuild.GuildID, newGuild.Name, newGuild))
                {
                    newGuild.Leader          = new Data.GuildMember(leader);
                    newGuild.Leader.Rank     = Enums.GuildRank.GuildLeader;
                    newGuild.Leader.JoinDate = Core.Kernel.TimeGet(Enums.TimeType.Day);
                    newGuild.Members.TryAdd(leader.DatabaseUID, leader.Name, newGuild.Leader);
                    leader.Guild           = newGuild;
                    leader.GuildMemberInfo = newGuild.Leader;
                    leader.SendGuild();
                    Database.CharacterDatabase.Save(leader);
                    return(true);
                }
            }

            return(false);
        }
Esempio n. 5
0
        public static void AddNewArenaInfo(Data.ArenaInfo arena)
        {
            using (var sql = new SqlHandler(Program.Config.ReadString("GameConnectionString")))
            {
                using (var cmd = new SqlCommandBuilder(sql, SqlCommandType.INSERT, false))
                {
                    cmd.AddInsertValue("PlayerID", arena.DatabaseID);
                    cmd.AddInsertValue("PlayerName", arena.Name);
                    cmd.AddInsertValue("ArenaLevel", arena.Level);
                    cmd.AddInsertValue("ArenaClass", arena.Class);
                    cmd.AddInsertValue("Mesh", arena.Mesh);
                    cmd.AddInsertValue("HonorPoints", arena.DatabaseID);
                    cmd.AddInsertValue("ArenaPoints", arena.ArenaPoints);
                    cmd.AddInsertValue("TotalWins", arena.ArenaTotalWins);
                    cmd.AddInsertValue("TotalWinsToday", arena.ArenaWinsToday);
                    cmd.AddInsertValue("TotalLoss", arena.ArenaTotalLoss);
                    cmd.AddInsertValue("TotalLossToday", arena.ArenaLossToday);
                    cmd.AddInsertValue("TodayUpdate", DateTime.Now);
                    cmd.Finish("DB_ArenaQualifier");
                }
                sql.Execute();
            }

            SetRecordID(arena);
        }