Exemple #1
0
        internal void SetPlayerName(string name)
        {
            var newName = Encoding.UTF8.GetBytes(name);

            this.RawSave = ArrayHelper.RemoveRange(this.RawSave, OffsetHelper.Name, OffsetHelper.NameLength);
            this.RawSave = ArrayHelper.AddRangeAtIndex(this.RawSave, newName, OffsetHelper.Name);
            this.RawSave[OffsetHelper.NameLengthInformation] = (byte)newName.Length;
            this.DetermineNameLength();
        }
Exemple #2
0
        internal void SetInventory(Dictionary <SlotType, List <InventoryData> > inventory)
        {
            var barData   = (ItemHelper.GetItemBytes(inventory[SlotType.Bar]));
            var invData   = (ItemHelper.GetItemBytes(inventory[SlotType.Inv]));
            var moneyData = (ItemHelper.GetItemBytes(inventory[SlotType.Money]));
            var ammoData  = (ItemHelper.GetItemBytes(inventory[SlotType.Ammo]));

            byte[] buffer = new byte[barData.Length + invData.Length + moneyData.Length + ammoData.Length];
            Array.Copy(barData, 0, buffer, 0, barData.Length);
            Array.Copy(invData, 0, buffer, barData.Length, invData.Length);
            Array.Copy(moneyData, 0, buffer, barData.Length + invData.Length, moneyData.Length);
            Array.Copy(ammoData, 0, buffer, barData.Length + invData.Length + moneyData.Length, ammoData.Length);
            this.RawSave = ArrayHelper.RemoveRange(this.RawSave, OffsetHelper.Inventory, OffsetHelper.InventoryLength);
            this.RawSave = ArrayHelper.AddRangeAtIndex(this.RawSave, buffer, OffsetHelper.Inventory);
            OffsetHelper.InventoryLength = buffer.Length;
        }
Exemple #3
0
        internal void SetColors(List <Color> colors)
        {
            var buffer = new byte[21];

            for (int i = 0; i < colors.Count; i++)
            {
                var newColor = ArrayHelper.ColorToByteArray(colors[i]);
                if (i == 0)
                {
                    Array.Copy(newColor, 0, buffer, i, newColor.Length);
                    continue;
                }
                Array.Copy(newColor, 0, buffer, i * 3, newColor.Length);
            }

            this.RawSave = ArrayHelper.RemoveRange(this.RawSave, OffsetHelper.HairColor, (OffsetHelper.ShoesColor - OffsetHelper.HairColor) + 3);
            this.RawSave = ArrayHelper.AddRangeAtIndex(this.RawSave, buffer, OffsetHelper.HairColor);
        }