예제 #1
0
        public void addPlayerJobXp(Player player, playerManager.job type, int xp)
        {
            var jobSkills = player.GetData <List <jobSkill> >("jobSkills");
            var jobSkill  = jobSkills.Find(job => job.job == type);

            jobSkill.xp += xp;
        }
예제 #2
0
 public void OnGotoJob(Player player, playerManager.job id)
 {
     if (playerManager.doesPlayerHasAdmin(player) <= 0)
     {
         player.SendChatMessage("!{#CEF0AC}You need to be an admin.");
         return;
     }
     player.Position = jobList.Find(job => job.type == id).position;
 }
예제 #3
0
파일: admin.cs 프로젝트: nxxnly/athronsrpg
        public async void onSet(Player player, string username, string type, dynamic args1 = null, dynamic args2 = null, dynamic args3 = null)
        {
            if (playerManager.doesPlayerHasAdmin(player) <= 0)
            {
                player.SendChatMessage("!{#CEF0AC}You need to be an admin.");
                return;
            }

            Player target = playerManager.getPlayer(username);

            if (target == null)
            {
                player.SendChatMessage("!{#CECECE}The specified player ID is either not connected or has not authenticated.");
                return;
            }

            switch (type)
            {
            case "Money":
            case "money":
                int money = 0;
                if (!int.TryParse(args1, out money))
                {
                    player.SendChatMessage($"{"!{#CECECE}"}Invalid amount.");
                    return;
                }

                target.SendChatMessage($"~r~Admin {player.Name}[{player.Value}] has given you {money}$.");
                SendMessageToAdmins($"{"!{#F03337}"}Warning: Admin {player.Name}[{player.Value}] sent ${money} to {target.Name}[{target.Value}].");
                await target.giveMoney(money);

                break;

            case "License":
            case "license":

                mainLicense.license license = 0; int hours = 0;
                if (mainLicense.license.TryParse(args1, true, out license))
                {
                    if (!int.TryParse(args2, out hours))
                    {
                        player.SendChatMessage($"{"!{#CECECE}"}Invalid amount.");
                        return;
                    }

                    if (hours > 0)
                    {
                        await target.setLicense(license, hours);
                    }
                    else
                    {
                        await target.removeLicense(license);
                    }

                    target.SendChatMessage($"~r~Admin {player.Name} has changed your license  {Enum.GetName(typeof(mainLicense.license), license)} to {hours} hours.");
                    SendMessageToAdmins($"{"!{#EFB646}"}{target.Name} [id: {new accountController(target).sqlid}]'s {Enum.GetName(typeof(mainLicense.license), license)} was set to {hours} hours(( Admin {player.Name}[id: {new accountController(player).sqlid}] ))");
                }
                else
                {
                    player.SendChatMessage($"{"!{#CECECE}"}Invalid license.");
                }
                break;

            case "Materials":
            case "materials":
                int amount = 0;
                if (!int.TryParse(args1, out amount))
                {
                    player.SendChatMessage($"{"!{#CECECE}"}Invalid amount.");
                    return;
                }
                target.SetSharedData("materials", target.GetSharedData <int>("materials") + amount);
                target.SendChatMessage($"~r~Admin {player.Name}[{player.Value}] has given you {amount}$.");
                SendMessageToAdmins($"{"!{#F03337}"}Warning: Admin {player.Name}[{player.Value}] sent {amount} materials to {target.Name}[{target.Value}].");
                await databaseManager.updateQuery($"UPDATE accounts SET materials = '{target.GetSharedData<int>("materials")}' WHERE username = '******'").Execute();

                break;

            case "Job":
            case "job":
                playerManager.job job = 0;
                if (playerManager.job.TryParse(args1, true, out job))
                {
                    target.SetSharedData("job", job);
                    target.SendChatMessage($"~r~Admin {player.Name} has changed your job to {Enum.GetName(typeof(playerManager.job), job)}.");
                    SendMessageToAdmins($"{"!{#EFB646}"}{target.Name} [id: {new accountController(target).sqlid}]'s job was set to {Enum.GetName(typeof(playerManager.job), job)} (( Admin {player.Name}[id: {new accountController(player).sqlid}] ))");
                    await databaseManager.updateQuery($"UPDATE accounts SET job = '{(int)job}' WHERE username = '******'").Execute();
                }
                else
                {
                    player.SendChatMessage($"{"!{#CECECE}"}Invalid job.");
                }
                break;

            case "Group":
            case "group":
                factionsManager.type faction = 0;
                if (factionsManager.type.TryParse(args1, true, out faction))
                {
                    target.SetSharedData("faction", faction);
                    target.SendChatMessage($"~r~Admin {player.Name} has set your group to {Enum.GetName(typeof(factionsManager.type), faction)}.");
                    SendMessageToAdmins($"{"!{#EFB646}"}{target.Name} [id: {new accountController(target).sqlid}]'s group was set to {Enum.GetName(typeof(factionsManager.type), faction)} (( Admin {player.Name}[id: {new accountController(player).sqlid}] ))");
                    await databaseManager.updateQuery($"UPDATE accounts SET faction = '{(int)faction}' WHERE username = '******'").Execute();
                }
                else
                {
                    player.SendChatMessage($"{"!{#CECECE}"}Invalid faction.");
                }
                break;

            case "Grouprank":
            case "grouprank":
                int rank = 0;
                if (!int.TryParse(args1, out rank))
                {
                    player.SendChatMessage($"{"!{#F03337}"}Invalid group rank.");
                    return;
                }
                if (target.HasSharedData("faction") && target.GetSharedData <factionsManager.type>("faction") == factionsManager.type.civilian)
                {
                    player.SendChatMessage($"{"!{#CECECE}"}Target does not have a group.");
                    return;
                }
                target.SetData("factionRank", rank);
                target.SendChatMessage($"~r~Admin {player.Name} has set your group rank to {rank}.");
                SendMessageToAdmins($"{"!{#EFB646}"}{target.Name} [id: {new accountController(target).sqlid}]'s group rank was set to {rank} (( Admin {player.Name}[id: {new accountController(player).sqlid}] ))");
                await databaseManager.updateQuery($"UPDATE accounts SET factionRank = '{rank}' WHERE username = '******'").Execute();

                break;

            case "vw":
            case "Vw":
                int vw = 0;
                if (!int.TryParse(args1, out vw))
                {
                    player.SendChatMessage("");
                    return;
                }
                target.SendChatMessage($"~r~Admin {player.Name} has set your virtual world to {vw}.");
                SendMessageToAdminsAdmCmd($"Admin {player.Name}[{player.Value}] has changed {target.Name}[{target.Value}]'s virtual world to {vw}.");
                target.Dimension = (uint)vw;
                break;
            }
        }
예제 #4
0
 public jobSkill(playerManager.job job, int level, int xp)
 {
     this.job   = job;
     this.level = level;
     this.xp    = xp;
 }
예제 #5
0
 public jobModels(playerManager.job type, string name, Vector3 position)
 {
     this.type     = type;
     this.name     = name;
     this.position = position;
 }