示例#1
0
        public void AnnounceCommand(Client player, string message)
        {
            if (NAPI.Data.GetEntityData(player, EntityData.PLAYER_KILLED) != 0)
            {
                NAPI.Chat.SendChatMessageToPlayer(player, Constants.COLOR_ERROR + Messages.ERR_PLAYER_IS_DEAD);
            }
            else
            {
                int money = NAPI.Data.GetEntitySharedData(player, EntityData.PLAYER_MONEY);
                if (money < Constants.PRICE_ANNOUNCEMENT)
                {
                    NAPI.Chat.SendChatMessageToPlayer(player, Constants.COLOR_ERROR + Messages.ERR_PLAYER_NOT_ENOUGH_MONEY);
                }
                else
                {
                    AnnoucementModel annoucement = new AnnoucementModel();
                    annoucement.winner      = NAPI.Data.GetEntityData(player, EntityData.PLAYER_SQL_ID);
                    annoucement.amount      = Constants.PRICE_ANNOUNCEMENT;
                    annoucement.annoucement = message;
                    annoucement.given       = false;

                    annoucement.id = Database.SendAnnoucement(annoucement);

                    // Removes player money
                    NAPI.Data.SetEntitySharedData(player, EntityData.PLAYER_MONEY, money - Constants.PRICE_ANNOUNCEMENT);

                    SendNewsMessage(player, message);
                    NAPI.Chat.SendChatMessageToPlayer(player, Constants.COLOR_INFO + Messages.INF_ANNOUNCE_PUBLISHED);

                    // Log the announcement into the database
                    Database.LogPayment(player.Name, Messages.GEN_FACTION_NEWS, Messages.GEN_NEWS_ANNOUNCE, Constants.PRICE_ANNOUNCEMENT);
                }
            }
        }
示例#2
0
        public void AnunciarCommand(Client player, string message)
        {
            if (NAPI.Data.GetEntityData(player, EntityData.PLAYER_KILLED) != 0)
            {
                NAPI.Chat.SendChatMessageToPlayer(player, Constants.COLOR_ERROR + Messages.ERR_PLAYER_IS_DEAD);
            }
            else
            {
                int money = NAPI.Data.GetEntitySharedData(player, EntityData.PLAYER_MONEY);
                if (money < Constants.PRICE_ANNOUNCEMENT)
                {
                    NAPI.Chat.SendChatMessageToPlayer(player, Constants.COLOR_ERROR + Messages.ERR_PLAYER_NOT_ENOUGH_MONEY);
                }
                else
                {
                    AnnoucementModel annoucement = new AnnoucementModel();
                    annoucement.winner      = NAPI.Data.GetEntityData(player, EntityData.PLAYER_SQL_ID);
                    annoucement.amount      = Constants.PRICE_ANNOUNCEMENT;
                    annoucement.annoucement = message;
                    annoucement.given       = false;

                    annoucement.id = Database.SendAnnoucement(annoucement);

                    // Le quitamos el dinero al jugador
                    NAPI.Data.SetEntitySharedData(player, EntityData.PLAYER_MONEY, money - Constants.PRICE_ANNOUNCEMENT);

                    SendNewsMessage(player, message);
                    NAPI.Chat.SendChatMessageToPlayer(player, Constants.COLOR_INFO + "Has publicado un anuncio, anunciarse cuesta 500$.");

                    // Metemos el log en la base de datos
                    Database.LogPayment(player.Name, "Arca WN", "Anuncio WeazelNews", Constants.PRICE_ANNOUNCEMENT);
                }
            }
        }
示例#3
0
        public void PrizeCommand(Client player, string targetString, int prize, string contest)
        {
            if (player.GetData(EntityData.PLAYER_KILLED) != 0)
            {
                player.SendChatMessage(Constants.COLOR_ERROR + Messages.ERR_PLAYER_IS_DEAD);
            }
            else if (player.GetData(EntityData.PLAYER_FACTION) != Constants.FACTION_NEWS)
            {
                player.SendChatMessage(Constants.COLOR_ERROR + Messages.ERR_PLAYER_NOT_NEWS_FACTION);
            }
            else
            {
                Client target = int.TryParse(targetString, out int targetId) ? Globals.GetPlayerById(targetId) : NAPI.Player.GetPlayerFromName(targetString);

                if (target != null && target.HasData(EntityData.PLAYER_PLAYING) == true)
                {
                    int prizeAmount = GetRemainingFounds();
                    if (prizeAmount >= prize)
                    {
                        AnnoucementModel prizeModel = new AnnoucementModel();
                        int targetMoney             = target.GetSharedData(EntityData.PLAYER_MONEY);

                        string playerMessage = string.Format(Messages.INF_PRIZE_GIVEN, prize, target.Name);
                        string targetMessage = string.Format(Messages.INF_PRIZE_RECEIVED, player.Name, prize, contest);

                        targetMoney += prize;
                        target.SetSharedData(EntityData.PLAYER_MONEY, targetMoney);

                        prizeModel.amount      = prize;
                        prizeModel.winner      = target.GetData(EntityData.PLAYER_SQL_ID);
                        prizeModel.annoucement = contest;
                        prizeModel.journalist  = player.GetData(EntityData.PLAYER_SQL_ID);
                        prizeModel.given       = true;

                        player.SendChatMessage(Constants.COLOR_INFO + playerMessage);
                        target.SendChatMessage(Constants.COLOR_INFO + targetMessage);

                        Task.Factory.StartNew(() =>
                        {
                            prizeModel.id = Database.GivePrize(prizeModel);
                            annoucementList.Add(prizeModel);

                            // Log the money won
                            Database.LogPayment(player.Name, target.Name, Messages.GEN_NEWS_PRIZE, prize);
                        });
                    }
                    else
                    {
                        player.SendChatMessage(Constants.COLOR_INFO + Messages.ERR_FACTION_NOT_ENOUGH_MONEY);
                    }
                }
                else
                {
                    player.SendChatMessage(Constants.COLOR_ERROR + Messages.ERR_PLAYER_NOT_FOUND);
                }
            }
        }
示例#4
0
        public void PrizeCommand(Client player, string targetString, int prize, string contest)
        {
            if (player.GetData(EntityData.PLAYER_KILLED) != 0)
            {
                player.SendChatMessage(Constants.COLOR_ERROR + ErrRes.player_is_dead);
            }
            else if (player.GetData(EntityData.PLAYER_FACTION) != Constants.FACTION_NEWS)
            {
                player.SendChatMessage(Constants.COLOR_ERROR + ErrRes.player_not_news_faction);
            }
            else
            {
                Client target = int.TryParse(targetString, out int targetId) ? Globals.GetPlayerById(targetId) : NAPI.Player.GetPlayerFromName(targetString);

                if (target != null && target.HasData(EntityData.PLAYER_PLAYING) == true)
                {
                    int prizeAmount = GetRemainingFounds();
                    if (prizeAmount >= prize)
                    {
                        AnnoucementModel prizeModel = new AnnoucementModel();
                        int targetMoney             = target.GetSharedData(EntityData.PLAYER_MONEY);

                        string playerMessage = string.Format(InfoRes.prize_given, prize, target.Name);
                        string targetMessage = string.Format(InfoRes.prize_received, player.Name, prize, contest);

                        targetMoney += prize;
                        target.SetSharedData(EntityData.PLAYER_MONEY, targetMoney);

                        prizeModel.amount      = prize;
                        prizeModel.winner      = target.GetData(EntityData.PLAYER_SQL_ID);
                        prizeModel.annoucement = contest;
                        prizeModel.journalist  = player.GetData(EntityData.PLAYER_SQL_ID);
                        prizeModel.given       = true;

                        player.SendChatMessage(Constants.COLOR_INFO + playerMessage);
                        target.SendChatMessage(Constants.COLOR_INFO + targetMessage);

                        Task.Factory.StartNew(() =>
                        {
                            prizeModel.id = Database.GivePrize(prizeModel);
                            annoucementList.Add(prizeModel);

                            // Log the money won
                            Database.LogPayment(player.Name, target.Name, GenRes.news_prize, prize);
                        });
                    }
                    else
                    {
                        player.SendChatMessage(Constants.COLOR_INFO + ErrRes.faction_not_enough_money);
                    }
                }
                else
                {
                    player.SendChatMessage(Constants.COLOR_ERROR + ErrRes.player_not_found);
                }
            }
        }
示例#5
0
        public void PremiarCommand(Client player, String targetString, int prize, string contest)
        {
            if (NAPI.Data.GetEntityData(player, EntityData.PLAYER_KILLED) != 0)
            {
                NAPI.Chat.SendChatMessageToPlayer(player, Constants.COLOR_ERROR + Messages.ERR_PLAYER_IS_DEAD);
            }
            else if (NAPI.Data.GetEntityData(player, EntityData.PLAYER_FACTION) != Constants.FACTION_NEWS)
            {
                NAPI.Chat.SendChatMessageToPlayer(player, Constants.COLOR_ERROR + Messages.ERR_PLAYER_NOT_NEWS_FACTION);
            }
            else
            {
                Client target = Int32.TryParse(targetString, out int targetId) ? Globals.GetPlayerById(targetId) : NAPI.Player.GetPlayerFromName(targetString);

                if (target != null && NAPI.Data.HasEntityData(target, EntityData.PLAYER_PLAYING) == true)
                {
                    int prizeAmount = GetRemainingFounds();
                    if (prizeAmount >= prize)
                    {
                        AnnoucementModel prizeModel = new AnnoucementModel();
                        int targetMoney             = NAPI.Data.GetEntitySharedData(target, EntityData.PLAYER_MONEY);

                        String playerMessage = String.Format(Messages.INF_PRIZE_GIVEN, prize, target.Name);
                        String targetMessage = String.Format(Messages.INF_PRIZE_RECEIVED, player.Name, prize, contest);

                        targetMoney += prize;
                        NAPI.Data.SetEntitySharedData(target, EntityData.PLAYER_MONEY, targetMoney);

                        prizeModel.amount      = prize;
                        prizeModel.winner      = NAPI.Data.GetEntityData(target, EntityData.PLAYER_SQL_ID);
                        prizeModel.annoucement = contest;
                        prizeModel.journalist  = NAPI.Data.GetEntityData(player, EntityData.PLAYER_SQL_ID);
                        prizeModel.given       = true;

                        prizeModel.id = Database.GivePrize(prizeModel);
                        annoucementList.Add(prizeModel);

                        // Mandamos el mensaje a los jugadores
                        NAPI.Chat.SendChatMessageToPlayer(player, Constants.COLOR_INFO + playerMessage);
                        NAPI.Chat.SendChatMessageToPlayer(target, Constants.COLOR_INFO + targetMessage);

                        // Logeamos el dinero del premio
                        Database.LogPayment(player.Name, target.Name, "Premio WeazelNews", prize);
                    }
                    else
                    {
                        NAPI.Chat.SendChatMessageToPlayer(player, Constants.COLOR_INFO + Messages.ERR_FACTION_NOT_ENOUGH_MONEY);
                    }
                }
                else
                {
                    NAPI.Chat.SendChatMessageToPlayer(player, Constants.COLOR_ERROR + Messages.ERR_PLAYER_NOT_FOUND);
                }
            }
        }
示例#6
0
        public void AnnounceCommand(Client player, string message)
        {
            if (player.GetSharedData(EntityData.PLAYER_KILLED) != 0)
            {
                player.SendChatMessage(Constants.COLOR_ERROR + ErrRes.player_is_dead);
            }
            else
            {
                int money = player.GetSharedData(EntityData.PLAYER_MONEY);
                if (money < Constants.PRICE_ANNOUNCEMENT)
                {
                    player.SendChatMessage(Constants.COLOR_ERROR + ErrRes.player_not_enough_money);
                }
                else
                {
                    AnnoucementModel annoucement = new AnnoucementModel();
                    {
                        annoucement.winner      = player.GetData(EntityData.PLAYER_SQL_ID);
                        annoucement.amount      = Constants.PRICE_ANNOUNCEMENT;
                        annoucement.annoucement = message;
                        annoucement.given       = false;
                    }

                    // Removes player money
                    player.SetSharedData(EntityData.PLAYER_MONEY, money - Constants.PRICE_ANNOUNCEMENT);

                    SendNewsMessage(player, message);
                    player.SendChatMessage(Constants.COLOR_INFO + InfoRes.announce_published);

                    Task.Factory.StartNew(() =>
                    {
                        NAPI.Task.Run(() =>
                        {
                            // Log the announcement into the database
                            annoucement.id = Database.SendAnnoucement(annoucement);
                            Database.LogPayment(player.Name, GenRes.faction_news, GenRes.news_announce, Constants.PRICE_ANNOUNCEMENT);
                        });
                    });
                }
            }
        }