Ejemplo n.º 1
0
 private void OnJoin(JoinEventArgs args)
 {
     if (!TShock.Players[args.Who].IsLoggedIn)
     {
         Players[args.Who] = StarverPlayer.GetGuest(args.Who);
     }
 }
Ejemplo n.º 2
0
 public NetInventory(StarverPlayer player)
 {
     Player = player;
     slots  = new NetInventorySlot[player.TPlayer.inventory.Length];
     for (int i = 0; i < slots.Length; i++)
     {
         slots[i] = new NetInventorySlot(player.Index, i);
     }
 }
Ejemplo n.º 3
0
        public override void Initialize()
        {
            Instance = this;

            AppDomain.CurrentDomain.AssemblyResolve += (sender, args) =>
            {
                var path = Path.Combine("Nugets", args.Name.Substring(0, args.Name.IndexOf(",")) + ".dll");
                if (File.Exists(path))
                {
                    return(Assembly.LoadFrom(path));
                }
                return(null);
            };

            Config      = StarverConfig.Read(ConfigPath);
            Skills      = new SkillManager();
            PlayerDatas = new PlayerDataManager(StorageType.MySql);
            Players     = new StarverPlayer[TShock.Players.Length];
            #region Test
#if false
            var data = new PlayerData(-444)
            {
                Level = 3
            };
            var skills = new PlayerSkillData[5];
            skills[0] = new PlayerSkillData
            {
                ID         = (byte)SkillIDs.LawAias,
                BindByProj = true,
                BindID     = ProjectileID.Spear
            };
            data.SetSkillDatas(skills);
            PlayerDatas.SaveData(data);
#endif
            #endregion
            #region Hooks
            ServerApi.Hooks.ServerJoin.Register(this, OnJoin);
            ServerApi.Hooks.ServerLeave.Register(this, OnLeave);
            ServerApi.Hooks.NpcStrike.Register(this, OnNpcStrike);
            ServerApi.Hooks.GameUpdate.Register(this, OnUpdate);
            ServerApi.Hooks.NetGetData.Register(this, OnGetData);
            TShockAPI.Hooks.PlayerHooks.PlayerPostLogin += OnPostLogin;
            GetDataHandlers.NewProjectile += OnNewProjectile;
            #endregion
            #region Commands
            Commands.ChatCommands.Add(new Command(Perms.Normal, MainCommand, "starver"));
            Commands.ChatCommands.Add(new Command(Perms.Aura.Normal, AuraCommand, "aura", "au"));
            #endregion
        }