Fixed issues with BitsByte. TShock should compile again.
This commit is contained in:
parent
597322217d
commit
0e23ffa1a6
3 changed files with 46 additions and 4 deletions
|
|
@ -87,7 +87,7 @@ namespace TShockAPI.DB
|
||||||
playerData.shirtColor = TShock.Utils.DecodeColor(reader.Get<int?>("shirtColor"));
|
playerData.shirtColor = TShock.Utils.DecodeColor(reader.Get<int?>("shirtColor"));
|
||||||
playerData.underShirtColor = TShock.Utils.DecodeColor(reader.Get<int?>("underShirtColor"));
|
playerData.underShirtColor = TShock.Utils.DecodeColor(reader.Get<int?>("underShirtColor"));
|
||||||
playerData.shoeColor = TShock.Utils.DecodeColor(reader.Get<int?>("shoeColor"));
|
playerData.shoeColor = TShock.Utils.DecodeColor(reader.Get<int?>("shoeColor"));
|
||||||
playerData.hideVisuals = TShock.Utils.DecodeBitsByte(reader.Get<int?>("hideVisuals"));
|
playerData.hideVisuals = TShock.Utils.DecodeBoolArray(reader.Get<int?>("hideVisuals"));
|
||||||
playerData.skinColor = TShock.Utils.DecodeColor(reader.Get<int?>("skinColor"));
|
playerData.skinColor = TShock.Utils.DecodeColor(reader.Get<int?>("skinColor"));
|
||||||
playerData.eyeColor = TShock.Utils.DecodeColor(reader.Get<int?>("eyeColor"));
|
playerData.eyeColor = TShock.Utils.DecodeColor(reader.Get<int?>("eyeColor"));
|
||||||
playerData.questsCompleted = reader.Get<int>("questsCompleted");
|
playerData.questsCompleted = reader.Get<int>("questsCompleted");
|
||||||
|
|
@ -153,7 +153,7 @@ namespace TShockAPI.DB
|
||||||
{
|
{
|
||||||
database.Query(
|
database.Query(
|
||||||
"INSERT INTO tsCharacter (Account, Health, MaxHealth, Mana, MaxMana, Inventory, spawnX, spawnY, hair, hairDye, hairColor, pantsColor, shirtColor, underShirtColor, shoeColor, hideVisuals, skinColor, eyeColor, questsCompleted) VALUES (@0, @1, @2, @3, @4, @5, @6, @7, @8, @9, @10, @11, @12, @13, @14, @15, @16, @17, @18);",
|
"INSERT INTO tsCharacter (Account, Health, MaxHealth, Mana, MaxMana, Inventory, spawnX, spawnY, hair, hairDye, hairColor, pantsColor, shirtColor, underShirtColor, shoeColor, hideVisuals, skinColor, eyeColor, questsCompleted) VALUES (@0, @1, @2, @3, @4, @5, @6, @7, @8, @9, @10, @11, @12, @13, @14, @15, @16, @17, @18);",
|
||||||
player.User.ID, playerData.health, playerData.maxHealth, playerData.mana, playerData.maxMana, String.Join("~", playerData.inventory), player.TPlayer.SpawnX, player.TPlayer.SpawnY, player.TPlayer.hair, player.TPlayer.hairDye, TShock.Utils.EncodeColor(player.TPlayer.hairColor), TShock.Utils.EncodeColor(player.TPlayer.pantsColor),TShock.Utils.EncodeColor(player.TPlayer.shirtColor), TShock.Utils.EncodeColor(player.TPlayer.underShirtColor), TShock.Utils.EncodeColor(player.TPlayer.shoeColor), TShock.Utils.EncodeBitsByte(player.TPlayer.hideVisual), TShock.Utils.EncodeColor(player.TPlayer.skinColor),TShock.Utils.EncodeColor(player.TPlayer.eyeColor), player.TPlayer.anglerQuestsFinished);
|
player.User.ID, playerData.health, playerData.maxHealth, playerData.mana, playerData.maxMana, String.Join("~", playerData.inventory), player.TPlayer.SpawnX, player.TPlayer.SpawnY, player.TPlayer.hair, player.TPlayer.hairDye, TShock.Utils.EncodeColor(player.TPlayer.hairColor), TShock.Utils.EncodeColor(player.TPlayer.pantsColor),TShock.Utils.EncodeColor(player.TPlayer.shirtColor), TShock.Utils.EncodeColor(player.TPlayer.underShirtColor), TShock.Utils.EncodeColor(player.TPlayer.shoeColor), TShock.Utils.EncodeBoolArray(player.TPlayer.hideVisual), TShock.Utils.EncodeColor(player.TPlayer.skinColor),TShock.Utils.EncodeColor(player.TPlayer.eyeColor), player.TPlayer.anglerQuestsFinished);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
|
|
@ -167,7 +167,7 @@ namespace TShockAPI.DB
|
||||||
{
|
{
|
||||||
database.Query(
|
database.Query(
|
||||||
"UPDATE tsCharacter SET Health = @0, MaxHealth = @1, Mana = @2, MaxMana = @3, Inventory = @4, spawnX = @6, spawnY = @7, hair = @8, hairDye = @9, hairColor = @10, pantsColor = @11, shirtColor = @12, underShirtColor = @13, shoeColor = @14, hideVisuals = @15, skinColor = @16, eyeColor = @17, questsCompleted = @18 WHERE Account = @5;",
|
"UPDATE tsCharacter SET Health = @0, MaxHealth = @1, Mana = @2, MaxMana = @3, Inventory = @4, spawnX = @6, spawnY = @7, hair = @8, hairDye = @9, hairColor = @10, pantsColor = @11, shirtColor = @12, underShirtColor = @13, shoeColor = @14, hideVisuals = @15, skinColor = @16, eyeColor = @17, questsCompleted = @18 WHERE Account = @5;",
|
||||||
playerData.health, playerData.maxHealth, playerData.mana, playerData.maxMana, String.Join("~", playerData.inventory), player.User.ID, player.TPlayer.SpawnX, player.TPlayer.SpawnY, player.TPlayer.hair, player.TPlayer.hairDye, TShock.Utils.EncodeColor(player.TPlayer.hairColor), TShock.Utils.EncodeColor(player.TPlayer.pantsColor), TShock.Utils.EncodeColor(player.TPlayer.shirtColor), TShock.Utils.EncodeColor(player.TPlayer.underShirtColor), TShock.Utils.EncodeColor(player.TPlayer.shoeColor), TShock.Utils.EncodeBitsByte(player.TPlayer.hideVisual), TShock.Utils.EncodeColor(player.TPlayer.skinColor), TShock.Utils.EncodeColor(player.TPlayer.eyeColor), player.TPlayer.anglerQuestsFinished);
|
playerData.health, playerData.maxHealth, playerData.mana, playerData.maxMana, String.Join("~", playerData.inventory), player.User.ID, player.TPlayer.SpawnX, player.TPlayer.SpawnY, player.TPlayer.hair, player.TPlayer.hairDye, TShock.Utils.EncodeColor(player.TPlayer.hairColor), TShock.Utils.EncodeColor(player.TPlayer.pantsColor), TShock.Utils.EncodeColor(player.TPlayer.shirtColor), TShock.Utils.EncodeColor(player.TPlayer.underShirtColor), TShock.Utils.EncodeColor(player.TPlayer.shoeColor), TShock.Utils.EncodeBoolArray(player.TPlayer.hideVisual), TShock.Utils.EncodeColor(player.TPlayer.skinColor), TShock.Utils.EncodeColor(player.TPlayer.eyeColor), player.TPlayer.anglerQuestsFinished);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
|
|
|
||||||
|
|
@ -1379,6 +1379,8 @@ namespace TShockAPI
|
||||||
string name = args.Data.ReadString();
|
string name = args.Data.ReadString();
|
||||||
byte hairDye = args.Data.ReadInt8();
|
byte hairDye = args.Data.ReadInt8();
|
||||||
BitsByte hideVisual = args.Data.ReadInt8();
|
BitsByte hideVisual = args.Data.ReadInt8();
|
||||||
|
BitsByte hideVisual2 = args.Data.ReadInt8();
|
||||||
|
BitsByte hideMisc = args.Data.ReadInt8();
|
||||||
Color hairColor = new Color(args.Data.ReadInt8(), args.Data.ReadInt8(), args.Data.ReadInt8());
|
Color hairColor = new Color(args.Data.ReadInt8(), args.Data.ReadInt8(), args.Data.ReadInt8());
|
||||||
args.Data.ReadInt8(); args.Data.ReadInt8(); args.Data.ReadInt8(); // skin color
|
args.Data.ReadInt8(); args.Data.ReadInt8(); args.Data.ReadInt8(); // skin color
|
||||||
args.Data.ReadInt8(); args.Data.ReadInt8(); args.Data.ReadInt8(); // eye color
|
args.Data.ReadInt8(); args.Data.ReadInt8(); args.Data.ReadInt8(); // eye color
|
||||||
|
|
@ -1409,7 +1411,12 @@ namespace TShockAPI
|
||||||
args.Player.TPlayer.shirtColor = shirtColor;
|
args.Player.TPlayer.shirtColor = shirtColor;
|
||||||
args.Player.TPlayer.underShirtColor = underShirtColor;
|
args.Player.TPlayer.underShirtColor = underShirtColor;
|
||||||
args.Player.TPlayer.shoeColor = shoeColor;
|
args.Player.TPlayer.shoeColor = shoeColor;
|
||||||
args.Player.TPlayer.hideVisual = hideVisual;
|
args.Player.TPlayer.hideVisual = new bool[10];
|
||||||
|
for (int i = 0; i < 8; i++)
|
||||||
|
args.Player.TPlayer.hideVisual[i] = hideVisual[i];
|
||||||
|
for (int i = 8; i < 10; i++)
|
||||||
|
args.Player.TPlayer.hideVisual[i] = hideVisual2[i];
|
||||||
|
args.Player.TPlayer.hideMisc = hideMisc;
|
||||||
NetMessage.SendData((int)PacketTypes.PlayerInfo, -1, args.Player.Index, args.Player.Name, args.Player.Index);
|
NetMessage.SendData((int)PacketTypes.PlayerInfo, -1, args.Player.Index, args.Player.Name, args.Player.Index);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -944,6 +944,41 @@ namespace TShockAPI
|
||||||
return new Color(data[0], data[1], data[2], data[3]);
|
return new Color(data[0], data[1], data[2], data[3]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Encodes a Boolean Array as an int.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="bools">The boolean array to encode.</param>
|
||||||
|
/// <returns>The encoded int.</returns>
|
||||||
|
public int? EncodeBoolArray(bool[] bools)
|
||||||
|
{
|
||||||
|
if (bools == null)
|
||||||
|
return null;
|
||||||
|
|
||||||
|
int result = 0;
|
||||||
|
for (int i = 0; i < bools.Length; i++)
|
||||||
|
if (bools[i])
|
||||||
|
result |= (1 << i);
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Decodes a Boolean Array from an int.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="encodedbools">The encoded Boolean Array.</param>
|
||||||
|
/// <returns>The resulting Boolean Array.</returns>
|
||||||
|
public bool[] DecodeBoolArray(int? encodedbools)
|
||||||
|
{
|
||||||
|
if (encodedbools == null)
|
||||||
|
return null;
|
||||||
|
|
||||||
|
bool[] result = new bool[10];
|
||||||
|
for (int i = 0; i < result.Length; i++)
|
||||||
|
result[i] = (encodedbools & 1 << i) != 0;
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>EncodeBitsByte - Encodes a BitsByte as a byte.</summary>
|
/// <summary>EncodeBitsByte - Encodes a BitsByte as a byte.</summary>
|
||||||
/// <param name="bitsByte">bitsByte - The BitsByte object</param>
|
/// <param name="bitsByte">bitsByte - The BitsByte object</param>
|
||||||
/// <returns>byte? - The converted byte</returns>
|
/// <returns>byte? - The converted byte</returns>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue