Esempio n. 1
0
 //Reads player file and returns this as a object.
 PlayerLoadout get_user(BasePlayer player)
 {
     if (!Interface.Oxide.DataFileSystem.ExistsDatafile(file_main + player.UserIDString))
     {
         PlayerLoadout user = new PlayerLoadout();
         user._userId   = player.UserIDString;
         user._username = player.displayName.ToString();
         user.items     = JsonConvert.DeserializeObject <List <LoadoutItem> >(myConfig.Default_Loadout);
         update_user(player, user);
         SendMessage(player, "Error_Filenotexist");
         SendMessage(player, "Error_Creatingnewfile");
         return(user);
     }
     else
     {
         PlayerLoadout user;
         string        raw_player_file = Interface.Oxide.DataFileSystem.ReadObject <string>(file_main + player.UserIDString);
         user = JsonConvert.DeserializeObject <PlayerLoadout>(raw_player_file);
         if (user._userId == null)
         {
             user._userId = player.UserIDString;
             update_user(user);
         }
         return(user);
     }
 }
Esempio n. 2
0
 public virtual void Init(float _jumpForce, float _abilityCooldown, float _moveSpeed)
 {
     jumpForce         = _jumpForce;
     i_abilityCooldown = _abilityCooldown;
     abilityCooldown   = 0f;
     playerRig         = GetComponent <Rigidbody>();
     theLoadout        = GetComponent <PlayerLoadout>();
     moveSpeed         = _moveSpeed;
 }
Esempio n. 3
0
 //On player init checks if player file exsits if not, it will create one.
 void OnPlayerInit(BasePlayer player)
 {
     if (!Interface.Oxide.DataFileSystem.ExistsDatafile(file_main + player.UserIDString))
     {
         PlayerLoadout user = new PlayerLoadout();
         user._username = player.displayName.ToString();
         user.items     = JsonConvert.DeserializeObject <List <LoadoutItem> >(myConfig.Default_Loadout);
         update_user(player, user);
     }
 }
    public void StartCombat()
    {
        pmove = PM.playerMove;
        pload = PM.playerload;

        //load all weps
        pload.FirstLoad(Prim, Seco, Util, Move);

        //TEMP: LOAD PRIM'S ACTION; DO IT in playerloadout FOR REST LATER.
        Prim.ActionSlot = playerInput.MovementMK.Primary;
    }
Esempio n. 5
0
    public void InstantiatePlayer(SceneInjector passject, Transform incam)
    {
        sceneject = passject;
        MainCam   = incam;



        //Input

        playerInput = new PlayerControls();
        //playerInput.Debug.DieBind.performed += _ => PlayerDeath();
        playerInput.Debug.DBGdmg.performed        += _ => DebugModify();
        playerInput.MovementMK.Interact.performed += _ => Interact();
        playerInput.MovementMK.Reset.performed    += ctx => Quit();

        //DEBUG: originally in  onenable, but the spawn method is a little odd to be sure.
        playerInput.Enable();

        //Injection
        //sceneject.SceneJect += Injection;
        //sceneject.FixedSceneLoad += PlayerStart;

        LM           = sceneject.Request <LevelManagement>();
        pooler       = sceneject.Request <Pooler>();
        debugManager = sceneject.Request <DebugManager>();

        //DEBUG: input state set, just for now. Eventually, legitimate start.
        inputState = InputState.Move;


        //Stats Subscription
        playerstat               = this.GetComponent <StatsManager>(); //get player stats
        playerstat.onDeath      += PlayerDeath;
        playerstat.HealthUpdate += UpdateHealth;
        playerstat.StatUpdate   += UpdateStats;


        //load local.
        playerMove = this.GetComponent <ThirdPersonMovement>();
        playerstat = this.GetComponent <StatsManager>();
        playercomb = this.GetComponent <PlayerCombat>();
        playerload = this.GetComponent <PlayerLoadout>();

        PlayerStart();
    }
Esempio n. 6
0
        void loadoutcommand(BasePlayer player, string command, string[] args)
        {
            if (args.Length == 0)
            {
                SendMessage(player, "Error_Insuffarg");
            }
            else
            {
                switch (args[0].ToLower())
                {
                //saves players current loadout with command '/loadout save'.
                case "save":
                    PlayerLoadout user = get_user(player);
                    if (permission.UserHasPermission(player.UserIDString, permission_save))
                    {
                        user.items = check_banneditems(getPlayerLoadout(player));
                        SendMessage(player, "Cmd_Saved");
                        update_user(player, user);
                    }
                    else
                    {
                        SendMessage(player, "Cmd_Noperm");
                    }
                    break;

                //sets default for all players when they don't have a player data file '/loadout setdefault'.
                case "setdefault":
                    if (permission.UserHasPermission(player.UserIDString, permission_setdefault))
                    {
                        myConfig.Default_Loadout = JsonConvert.SerializeObject(getPlayerLoadout(player));
                        SaveConfig();
                        SendMessage(player, "Cmd_Setdefault");
                    }
                    else
                    {
                        SendMessage(player, "Cmd_Noperm");
                    }
                    break;

                //bans current item in handslot and adds it to the banfile '/loadout banitem'.
                case "banitem":
                    if (permission.UserHasPermission(player.UserIDString, permission_banitem))
                    {
                        try {
                            List <string> ban_list = load_banfile();
                            string        itemid   = player.GetActiveItem().info.itemid.ToString();
                            if (check_banfile(itemid) == false)
                            {
                                ban_list.Add(itemid);
                                update_banfile(ban_list);
                                SendMessage(player, "Cmd_Banitem");
                            }
                            else
                            {
                                SendMessage(player, "Cmd_Banitem_already");
                            }
                        } catch (NullReferenceException) {
                            SendMessage(player, "Error_Noitem");
                        }
                    }
                    else
                    {
                        SendMessage(player, "Cmd_Noperm");
                    }
                    break;

                //removes current item in handslot from the banfile '/loadout removebanitem'.
                case "removebanitem":
                    if (permission.UserHasPermission(player.UserIDString, permission_banitem))
                    {
                        try {
                            string itemid = player.GetActiveItem().info.itemid.ToString();
                            if (check_banfile(itemid) == true)
                            {
                                update_banfile(removeItemBanlist(load_banfile(), itemid));
                                SendMessage(player, "Cmd_Removebanitem");
                            }
                            else
                            {
                                SendMessage(player, "Cmd_Removebanitem_notinfile");
                            }
                        } catch (NullReferenceException) {
                            SendMessage(player, "Cmd_Error_Noitem");
                        }
                    }
                    else
                    {
                        SendMessage(player, "Cmd_Noperm");
                    }
                    break;

                case "baninv":
                    if (permission.UserHasPermission(player.UserIDString, permission_banitem))
                    {
                        addInvban(player.inventory.AllItems());
                        SendMessage(player, "Cmd_inv_added");
                    }
                    else
                    {
                        SendMessage(player, "Cmd_Noperm");
                    }
                    break;

                case "reset":
                    if (permission.UserHasPermission(player.UserIDString, permission_resetdefault))
                    {
                        resetPlayersLoadout();
                    }
                    else
                    {
                        SendMessage(player, "Cmd_Noperm");
                    }
                    break;

                default:
                    SendMessage(player, "Error_Insuffarg");
                    break;
                }
            }
        }
Esempio n. 7
0
 void update_user(PlayerLoadout user)
 {
     Interface.Oxide.DataFileSystem.WriteObject <string>(file_main + user._userId, JsonConvert.SerializeObject(user));
 }
Esempio n. 8
0
 //Rewrites the player file.
 void update_user(BasePlayer player, PlayerLoadout user)
 {
     Interface.Oxide.DataFileSystem.WriteObject <string>(file_main + player.UserIDString, JsonConvert.SerializeObject(user));
 }
    private void Start()
    {
        //All players except yourself will be assigned the 'Player' layer, so that they can be shot, except you.
        if (!photonView.IsMine)
        {
            gameObject.layer = 11;
            gameObject.tag   = "Player";
        }
        else
        {
            divisionUIParent = GameObject.Find("DivisionUI"); //Set the division script to the player GameObject
            switch (GameData.GetDivision())
            {
            case GameData.Division.P_Damage:
                p_Division = gameObject.AddComponent <Damage>();
                divisionUIParent.transform.Find("DamageUI").gameObject.SetActive(true);
                p_Division.Init(7.5f, 8.5f, 450f);
                GameObject.Find("WeaponScrollUI").GetComponent <WeaponUI>().SetRifleSprite("Damage");
                break;

            case GameData.Division.P_Flank:
                p_Division = gameObject.AddComponent <Flank>();
                divisionUIParent.transform.Find("FlankUI").gameObject.SetActive(true);
                p_Division.Init(10f, 5f, 500f);
                GameObject.Find("WeaponScrollUI").GetComponent <WeaponUI>().SetRifleSprite("Flank");
                break;

            case GameData.Division.P_Tank:
                p_Division = gameObject.AddComponent <Tank>();
                divisionUIParent.transform.Find("TankUI").gameObject.SetActive(true);
                p_Division.Init(5f, 8f, 400f);
                GameObject.Find("WeaponScrollUI").GetComponent <WeaponUI>().SetRifleSprite("Tank");
                break;
            }

            sceneCam = GameObject.Find("Cameras").transform.Find("GameEnd").gameObject;
            if (sceneCam != null)
            {
                sceneCam.SetActive(false);
            }

            t_currHP = GameObject.Find("CurrHP").GetComponent <TextMeshProUGUI>();
            GameObject.Find("BaseHP").GetComponent <TextMeshProUGUI>().text = t_currHP.text = ((int)maxHealth).ToString();
        }

        //Set my player camera to true
        camParent.SetActive(photonView.IsMine);

        //Camera.main.gameObject.SetActive(false);
        playerRig    = GetComponent <Rigidbody>();
        weaponOrigin = weaponParent.localPosition;

        //Set health
        currHealth = maxHealth;

        manager = GameObject.Find("GameManager").GetComponent <HexGameManager>();
        loadout = GetComponent <PlayerLoadout>();

        if (photonView.IsMine)
        {
            teamName = manager.GetLocalPlayerTeam();
            photonView.RPC("SyncTeamName", RpcTarget.AllBuffered, teamName, GameData.playerName);
            TextMeshProUGUI teamText = GameObject.Find("Team").GetComponent <TextMeshProUGUI>();
            teamText.text  = teamName + " Team";
            teamText.color = teamName == "Blue" ? new Color(0f, 1f, 1f) : new Color(1f, 0f, 0f);
        }

        hpBar       = GameObject.Find("HpBar").transform;
        currAmmo    = GameObject.Find("CurrAmmo").GetComponent <TextMeshProUGUI>();
        baseAmmo    = GameObject.Find("BaseAmmo").GetComponent <TextMeshProUGUI>();
        currHpScale = 1f;

        crosshair = GameObject.Find("Crosshair");

        isMoving   = false;
        assistList = new List <int>();
    }
Esempio n. 10
0
 public ClientConnection(WebSocket socket)
 {
     Socket            = socket;
     SelectedCharacter = CharacterType.Scoundrel;
     Loadout           = new PlayerLoadout();
 }