//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); } }
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; }
//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; }
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(); }
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; } } }
void update_user(PlayerLoadout user) { Interface.Oxide.DataFileSystem.WriteObject <string>(file_main + user._userId, JsonConvert.SerializeObject(user)); }
//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>(); }
public ClientConnection(WebSocket socket) { Socket = socket; SelectedCharacter = CharacterType.Scoundrel; Loadout = new PlayerLoadout(); }