Пример #1
0
        public void CreateGuild(RealmTime t, CreateGuildPacket pkt)
        {
            var GuildsActive = true;

            if (GuildsActive == false)
            {
                psr.SendPacket(new CreateGuildResultPacket()
                {
                    Success       = false,
                    ResultMessage = "Guilds currently disabled!"
                });
                return;
            }
            else
            {
                try
                {
                    var name = pkt.Name.ToString();
                    if (psr.Account.Stats.Fame >= 1000)
                    {
                        if (name != "")
                        {
                            if (new Database().GetGuild(name) != null)
                            {
                                psr.SendPacket(new CreateGuildResultPacket()
                                {
                                    Success       = false,
                                    ResultMessage = "Guild already exists!"
                                });
                                return;
                            }
                            using (var db1 = new Database())
                            {
                                try
                                {
                                    if (psr.Account.Guild.Name == "")
                                    {
                                        if (pkt.Name != "")
                                        {
                                            var g = db1.CreateGuild(psr.Account, pkt.Name);
                                            psr.Account.Guild.Name = g.Name;
                                            psr.Account.Guild.Rank = g.Rank;
                                            Guild     = g.Name;
                                            GuildRank = g.Rank;
                                            psr.SendPacket(new NotificationPacket()
                                            {
                                                Text     = "Created guild " + g.Name,
                                                Color    = new ARGB(0xFF008800),
                                                ObjectId = Id
                                            });
                                            psr.SendPacket(new CreateGuildResultPacket()
                                            {
                                                Success       = true,
                                                ResultMessage = "Success!"
                                            });
                                            CurrentFame = psr.Account.Stats.Fame = psr.Database.UpdateFame(psr.Account, -1000);
                                            UpdateCount++;
                                            return;
                                        }
                                        else
                                        {
                                            psr.SendPacket(new CreateGuildResultPacket()
                                            {
                                                Success       = false,
                                                ResultMessage = "Guild name cannot be blank!"
                                            });
                                            return;
                                        }
                                    }
                                    else
                                    {
                                        psr.SendPacket(new CreateGuildResultPacket()
                                        {
                                            Success       = false,
                                            ResultMessage = "You cannot create a guild as a guild member!"
                                        });
                                        return;
                                    }
                                }
                                catch (Exception e)
                                {
                                    psr.SendPacket(new CreateGuildResultPacket()
                                    {
                                        Success       = false,
                                        ResultMessage = e.Message
                                    });
                                    return;
                                }
                            }
                        }
                        else
                        {
                            psr.SendPacket(new CreateGuildResultPacket()
                            {
                                Success       = false,
                                ResultMessage = "Name cannot be empty!"
                            });
                        }
                    }
                    else
                    {
                        psr.SendPacket(new CreateGuildResultPacket()
                        {
                            Success       = false,
                            ResultMessage = "Not enough fame!"
                        });
                    }
                }
                catch (Exception)
                {
                    //Console.WriteLine("Error at line 755 of Player.cs");
                    psr.SendPacket(new TextPacket()
                    {
                        Name       = "",
                        Stars      = -1,
                        BubbleTime = 0,
                        Text       = "Error creating guild!"
                    });
                }
            }
        }
Пример #2
0
        public void CreateGuild(RealmTime t, CreateGuildPacket pkt)
        {
            var GuildsActive = true;

            if (GuildsActive == false)
            {
                psr.SendPacket(new CreateGuildResultPacket()
                {
                    Success       = false,
                    ResultMessage = "Guilds currently disabled!"
                });
                return;
            }
            else
            {
                try
                {
                    var name = pkt.Name.ToString();
                    if (psr.Account.Stats.Fame >= 1000 || Guild != "")
                    {
                        if (name != "")
                        {
                            if (new Database().GetGuild(name) != null)
                            {
                                psr.SendPacket(new CreateGuildResultPacket()
                                {
                                    Success       = false,
                                    ResultMessage = "Guild already exists!"
                                });
                                return;
                            }
                            using (var db1 = new Database())
                            {
                                try
                                {
                                    if (psr.Account.Guild.Rank == 0)
                                    {
                                        if (pkt.Name != "")
                                        {
                                            var g = db1.CreateGuild(psr.Account, pkt.Name);
                                            psr.Account.Guild.Name = g.Name;
                                            psr.Account.Guild.Rank = g.Rank;
                                            Guild     = g.Name;
                                            GuildRank = g.Rank;
                                            psr.SendPacket(new NotificationPacket()
                                            {
                                                Text     = "Created guild " + g.Name,
                                                Color    = new ARGB(0xFF008800),
                                                ObjectId = Id
                                            });
                                            psr.SendPacket(new CreateGuildResultPacket()
                                            {
                                                Success       = true,
                                                ResultMessage = "Success!"
                                            });
                                            CurrentFame = psr.Account.Stats.Fame = psr.Database.UpdateFame(psr.Account, -1000);
                                            UpdateCount++;
                                            return;
                                        }
                                        else
                                        {
                                            psr.SendPacket(new CreateGuildResultPacket()
                                            {
                                                Success       = false,
                                                ResultMessage = "Guild name cannot be blank!"
                                            });
                                            return;
                                        }
                                    }
                                    else
                                    {
                                        var oldname = psr.Account.Guild.Name;
                                        var g       = db1.ChangeGuild(psr.Account, db1.GetGuildId(psr.Account.Guild.Name),
                                                                      0, 0, true);
                                        psr.Account.Guild.Name = g.Name;
                                        psr.Account.Guild.Rank = 0;
                                        Guild     = g.Name;
                                        GuildRank = 0;
                                        UpdateCount++;
                                        psr.SendPacket(new NotificationPacket()
                                        {
                                            Text     = "Left guild " + oldname,
                                            Color    = new ARGB(0xFF008800),
                                            ObjectId = Id
                                        });
                                        psr.SendPacket(new CreateGuildResultPacket()
                                        {
                                            Success = true
                                        });
                                        foreach (var e in from i in RealmManager.Worlds where i.Key != 0 from e in i.Value.Players where e.Value.Client.Account.Guild.Name == oldname select e)
                                        {
                                            e.Value.Client.SendPacket(new TextPacket()
                                            {
                                                BubbleTime = 0,
                                                Stars      = -1,
                                                Name       = "",
                                                Recipient  = "*Guild*",
                                                Text       = psr.Account.Name + " has left the guild!"
                                            });
                                        }
                                        return;
                                    }
                                }
                                catch (Exception e)
                                {
                                    psr.SendPacket(new CreateGuildResultPacket()
                                    {
                                        Success       = false,
                                        ResultMessage = e.Message
                                    });
                                    return;
                                }
                            }
                        }
                        else
                        {
                            psr.SendPacket(new CreateGuildResultPacket()
                            {
                                Success       = false,
                                ResultMessage = "Name cannot be empty!"
                            });
                        }
                    }
                    else
                    {
                        psr.SendPacket(new CreateGuildResultPacket()
                        {
                            Success       = false,
                            ResultMessage = "Not enough fame!"
                        });
                    }
                }
                catch (Exception)
                {
                    Console.WriteLine("Error at line 755 of Player.cs");
                    psr.SendPacket(new TextPacket()
                    {
                        Name       = "",
                        Stars      = -1,
                        BubbleTime = 0,
                        Text       = "Error creating guild!"
                    });
                }
            }
        }
Пример #3
0
        public void CreateGuild(CreateGuildPacket pkt)
        {
            bool GuildsActive = false;

            if (GuildsActive == false)
            {
                psr.SendPacket(new CreateGuildResultPacket()
                {
                    Success       = false,
                    ResultMessage = "Guilds currently disabled, talk with Trapped on the forums."
                });
                return;
            }
            else
            {
                try
                {
                    string name = pkt.Name.ToString();
                    if (psr.Account.Credits >= 1000)
                    {
                        using (Database db1 = new Database())
                        {
                            var cmd = db1.CreateQuery();

                            cmd.CommandText = "INSERT INTO guilds (name, members, level) VALUES (@name,@firstMember,1)";
                            cmd.Parameters.AddWithValue("@name", name);
                            cmd.Parameters.AddWithValue("@firstMember", "," + psr.Account.AccountId.ToString() + ",");
                            if (cmd.ExecuteNonQuery() != 0)
                            {
                                Console.WriteLine("Created guild {0} with founder {1}", name, psr.Account.AccountId + " " + psr.Account.Name);
                                psr.SendPacket(new CreateGuildResultPacket()
                                {
                                    ResultMessage = "Created guild " + name.ToString() + "!",
                                    Success       = true
                                });
                            }
                            else
                            {
                                Console.WriteLine("Error creating guild {0} with founder {1}", name, psr.Account.AccountId + " " + psr.Account.Name);
                                psr.SendPacket(new CreateGuildResultPacket()
                                {
                                    ResultMessage = "Error creating guild!",
                                    Success       = false
                                });
                            }
                            cmd             = db1.CreateQuery();
                            cmd.CommandText = "SELECT id FROM guilds WHERE name = @name";
                            cmd.Parameters.AddWithValue("@name", name);
                            object guildId;
                            if (cmd.ExecuteNonQuery() != 0)
                            {
                                guildId = cmd.ExecuteScalar();
                                GuildId = int.Parse(guildId.ToString());
                            }
                        }
                    }
                    else
                    {
                        psr.SendPacket(new CreateGuildResultPacket()
                        {
                            Success       = false,
                            ResultMessage = "Not enough fame!"
                        });
                    }
                }
                catch
                {
                    Console.WriteLine("Error at line 624 of Player.cs");
                    psr.SendPacket(new TextPacket()
                    {
                        Name       = "",
                        Stars      = -1,
                        BubbleTime = 0,
                        Text       = "Error creating guild!"
                    });
                }
            }
        }