mirror of
https://github.com/islehorse/HISP.git
synced 2025-04-10 07:05:41 +12:00
Add telescope, and shortcuts
This commit is contained in:
parent
8714966822
commit
e6b0282245
7 changed files with 206 additions and 110 deletions
|
@ -58,6 +58,7 @@
|
||||||
"random_movement":"You are sooo <B>%STAT%</B>. You wander dizzily in a different direction.",
|
"random_movement":"You are sooo <B>%STAT%</B>. You wander dizzily in a different direction.",
|
||||||
"incorrect_password":"Incorrect. You will have to find the correct answer somewhere...",
|
"incorrect_password":"Incorrect. You will have to find the correct answer somewhere...",
|
||||||
"player_here":"%USERNAME% here",
|
"player_here":"%USERNAME% here",
|
||||||
|
"no_telescope":"You do not have a telescope to use! You try making circles with your hands and placing them in front of one eye, but it is of minimal aid...",
|
||||||
"treasure":{
|
"treasure":{
|
||||||
"pirate_treasure":"Wow! You found buried treasure worth $%PRIZE%! Gotta love those pirates!",
|
"pirate_treasure":"Wow! You found buried treasure worth $%PRIZE%! Gotta love those pirates!",
|
||||||
"pot_of_gold":"YEA! You found the fabled pot of gold at the end of the rainbow! It was worth $%PRIZE%!"
|
"pot_of_gold":"YEA! You found the fabled pot of gold at the end of the rainbow! It was worth $%PRIZE%!"
|
||||||
|
|
|
@ -643,6 +643,9 @@ namespace HISP.Game
|
||||||
public static string LongFullLine;
|
public static string LongFullLine;
|
||||||
public static string MetaTerminator;
|
public static string MetaTerminator;
|
||||||
|
|
||||||
|
// Shortcuts
|
||||||
|
public static string NoTelescope;
|
||||||
|
|
||||||
// Drawing room
|
// Drawing room
|
||||||
public static string DrawingLastToDrawFormat;
|
public static string DrawingLastToDrawFormat;
|
||||||
public static string DrawingContentsSavedInSlotFormat;
|
public static string DrawingContentsSavedInSlotFormat;
|
||||||
|
|
|
@ -82,6 +82,7 @@ namespace HISP.Player
|
||||||
public Inn LastVisitedInn;
|
public Inn LastVisitedInn;
|
||||||
public HorseInventory HorseInventory;
|
public HorseInventory HorseInventory;
|
||||||
public HorseInstance LastViewedHorse;
|
public HorseInstance LastViewedHorse;
|
||||||
|
public int LastRiddenHorse = 0;
|
||||||
public HorseInstance CurrentlyRidingHorse;
|
public HorseInstance CurrentlyRidingHorse;
|
||||||
public Tracking TrackedItems;
|
public Tracking TrackedItems;
|
||||||
public Ranch OwnedRanch = null;
|
public Ranch OwnedRanch = null;
|
||||||
|
|
|
@ -283,6 +283,9 @@ namespace HISP.Server
|
||||||
case PacketBuilder.PACKET_NPC:
|
case PacketBuilder.PACKET_NPC:
|
||||||
GameServer.OnNpcInteraction(this, Packet);
|
GameServer.OnNpcInteraction(this, Packet);
|
||||||
break;
|
break;
|
||||||
|
case PacketBuilder.PACKET_BIRDMAP:
|
||||||
|
GameServer.OnBirdMapRequested(this, Packet);
|
||||||
|
break;
|
||||||
case PacketBuilder.PACKET_SWFMODULE:
|
case PacketBuilder.PACKET_SWFMODULE:
|
||||||
GameServer.OnSwfModuleCommunication(this, Packet);
|
GameServer.OnSwfModuleCommunication(this, Packet);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -1300,6 +1300,9 @@ namespace HISP.Server
|
||||||
Messages.PasswordEntry = gameData.messages.meta.password_input;
|
Messages.PasswordEntry = gameData.messages.meta.password_input;
|
||||||
Messages.VenusFlyTrapFormat = gameData.messages.meta.venus_flytrap_format;
|
Messages.VenusFlyTrapFormat = gameData.messages.meta.venus_flytrap_format;
|
||||||
|
|
||||||
|
// Shortcut
|
||||||
|
Messages.NoTelescope = gameData.messages.no_telescope;
|
||||||
|
|
||||||
// Inn
|
// Inn
|
||||||
Messages.InnBuyMeal = gameData.messages.meta.inn.buy_meal;
|
Messages.InnBuyMeal = gameData.messages.meta.inn.buy_meal;
|
||||||
Messages.InnBuyRest = gameData.messages.meta.inn.buy_rest;
|
Messages.InnBuyRest = gameData.messages.meta.inn.buy_rest;
|
||||||
|
|
|
@ -115,7 +115,25 @@ namespace HISP.Server
|
||||||
sender.SendPacket(crossDomainPolicyResponse);
|
sender.SendPacket(crossDomainPolicyResponse);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void OnBirdMapRequested(GameClient sender, byte[] packet)
|
||||||
|
{
|
||||||
|
if (!sender.LoggedIn)
|
||||||
|
{
|
||||||
|
Logger.ErrorPrint(sender.RemoteIp + " Requested Bird Map when not logged in.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(sender.LoggedinUser.Inventory.HasItemId(Item.Telescope))
|
||||||
|
{
|
||||||
|
byte[] birdMapPacket = PacketBuilder.CreateBirdMap(sender.LoggedinUser.X, sender.LoggedinUser.Y);
|
||||||
|
sender.SendPacket(birdMapPacket);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
byte[] noTelescopeMessage = PacketBuilder.CreateChat(Messages.NoTelescope, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||||
|
sender.SendPacket(noTelescopeMessage);
|
||||||
|
}
|
||||||
|
}
|
||||||
public static void OnHorseInteraction(GameClient sender, byte[] packet)
|
public static void OnHorseInteraction(GameClient sender, byte[] packet)
|
||||||
{
|
{
|
||||||
if (!sender.LoggedIn)
|
if (!sender.LoggedIn)
|
||||||
|
@ -216,9 +234,6 @@ namespace HISP.Server
|
||||||
if (horsePetInst.BasicStats.Tiredness - randTiredMinus <= 0)
|
if (horsePetInst.BasicStats.Tiredness - randTiredMinus <= 0)
|
||||||
msgs += Messages.HorsePetTooTired;
|
msgs += Messages.HorsePetTooTired;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
horsePetInst.BasicStats.Tiredness -= randTiredMinus;
|
horsePetInst.BasicStats.Tiredness -= randTiredMinus;
|
||||||
horsePetInst.BasicStats.Mood += randMoodAddition;
|
horsePetInst.BasicStats.Mood += randMoodAddition;
|
||||||
|
|
||||||
|
@ -1087,6 +1102,21 @@ namespace HISP.Server
|
||||||
randomId = 0;
|
randomId = 0;
|
||||||
packetStr = Encoding.UTF8.GetString(packet);
|
packetStr = Encoding.UTF8.GetString(packet);
|
||||||
randomIdStr = packetStr.Substring(2, packetStr.Length - 4);
|
randomIdStr = packetStr.Substring(2, packetStr.Length - 4);
|
||||||
|
|
||||||
|
if(randomIdStr == "") // F7 Shortcut
|
||||||
|
{
|
||||||
|
if(sender.LoggedinUser.CurrentlyRidingHorse != null)
|
||||||
|
{
|
||||||
|
StopRidingHorse(sender);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if(sender.LoggedinUser.HorseInventory.HorseIdExist(sender.LoggedinUser.LastRiddenHorse))
|
||||||
|
StartRidingHorse(sender, sender.LoggedinUser.LastRiddenHorse);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
randomId = int.Parse(randomIdStr);
|
randomId = int.Parse(randomIdStr);
|
||||||
|
@ -1099,18 +1129,7 @@ namespace HISP.Server
|
||||||
}
|
}
|
||||||
if (sender.LoggedinUser.HorseInventory.HorseIdExist(randomId))
|
if (sender.LoggedinUser.HorseInventory.HorseIdExist(randomId))
|
||||||
{
|
{
|
||||||
sender.LoggedinUser.CurrentlyRidingHorse = null;
|
StopRidingHorse(sender);
|
||||||
|
|
||||||
byte[] stopRidingHorseMessagePacket = PacketBuilder.CreateChat(Messages.HorseStopRidingMessage, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
|
||||||
sender.SendPacket(stopRidingHorseMessagePacket);
|
|
||||||
|
|
||||||
|
|
||||||
sender.LoggedinUser.Facing %= 5;
|
|
||||||
byte[] rideHorsePacket = PacketBuilder.CreateHorseRidePacket(sender.LoggedinUser.X, sender.LoggedinUser.Y, sender.LoggedinUser.CharacterId, sender.LoggedinUser.Facing, 10, true);
|
|
||||||
sender.SendPacket(rideHorsePacket);
|
|
||||||
sender.LoggedinUser.NoClip = false;
|
|
||||||
|
|
||||||
UpdateUserInfo(sender.LoggedinUser);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1134,100 +1153,7 @@ namespace HISP.Server
|
||||||
}
|
}
|
||||||
if (sender.LoggedinUser.HorseInventory.HorseIdExist(randomId))
|
if (sender.LoggedinUser.HorseInventory.HorseIdExist(randomId))
|
||||||
{
|
{
|
||||||
HorseInstance horseMountInst = sender.LoggedinUser.HorseInventory.GetHorseById(randomId);
|
StartRidingHorse(sender, randomId);
|
||||||
|
|
||||||
if(horseMountInst.Equipment.Saddle == null || horseMountInst.Equipment.SaddlePad == null || horseMountInst.Equipment.Bridle == null)
|
|
||||||
{
|
|
||||||
byte[] horseNotTackedMessage = PacketBuilder.CreateChat(Messages.HorseCannotMountUntilTackedMessage, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
|
||||||
sender.SendPacket(horseNotTackedMessage);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
string ridingHorseMessage = Messages.FormatHorseRidingMessage(horseMountInst.Name);
|
|
||||||
byte[] ridingHorseMessagePacket = PacketBuilder.CreateChat(ridingHorseMessage, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
|
||||||
sender.SendPacket(ridingHorseMessagePacket);
|
|
||||||
|
|
||||||
sender.LoggedinUser.CurrentlyRidingHorse = horseMountInst;
|
|
||||||
|
|
||||||
// Determine what sprite to use;
|
|
||||||
int incBy = 0;
|
|
||||||
switch(horseMountInst.Color)
|
|
||||||
{
|
|
||||||
case "brown":
|
|
||||||
incBy = 1;
|
|
||||||
break;
|
|
||||||
case "cremello":
|
|
||||||
case "white":
|
|
||||||
incBy = 2;
|
|
||||||
break;
|
|
||||||
case "black":
|
|
||||||
incBy = 3;
|
|
||||||
break;
|
|
||||||
case "chestnut":
|
|
||||||
incBy = 4;
|
|
||||||
break;
|
|
||||||
case "bay":
|
|
||||||
incBy = 5;
|
|
||||||
break;
|
|
||||||
case "grey":
|
|
||||||
incBy = 6;
|
|
||||||
break;
|
|
||||||
case "dun":
|
|
||||||
incBy = 7;
|
|
||||||
break;
|
|
||||||
case "palomino":
|
|
||||||
incBy = 8;
|
|
||||||
break;
|
|
||||||
case "roan":
|
|
||||||
incBy = 9;
|
|
||||||
break;
|
|
||||||
case "pinto":
|
|
||||||
incBy = 10;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
if(horseMountInst.Breed.Type == "zebra")
|
|
||||||
{
|
|
||||||
incBy = 11;
|
|
||||||
}
|
|
||||||
if(horseMountInst.Breed.Id == 5) // Appaloosa
|
|
||||||
{
|
|
||||||
if(horseMountInst.Color == "brown")
|
|
||||||
incBy = 12;
|
|
||||||
}
|
|
||||||
if (horseMountInst.Breed.Type == "camel")
|
|
||||||
{
|
|
||||||
if (horseMountInst.Color == "brown")
|
|
||||||
incBy = 13;
|
|
||||||
if (horseMountInst.Color == "white")
|
|
||||||
incBy = 14;
|
|
||||||
|
|
||||||
}
|
|
||||||
if (horseMountInst.Breed.Type == "unicorn")
|
|
||||||
{
|
|
||||||
incBy = 15;
|
|
||||||
}
|
|
||||||
if (horseMountInst.Breed.Type == "pegasus")
|
|
||||||
{
|
|
||||||
incBy = 16;
|
|
||||||
sender.LoggedinUser.NoClip = true;
|
|
||||||
}
|
|
||||||
if(horseMountInst.Breed.Id == 170) // Unipeg
|
|
||||||
{
|
|
||||||
incBy = 17;
|
|
||||||
sender.LoggedinUser.NoClip = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
incBy *= 5;
|
|
||||||
sender.LoggedinUser.Facing %= 5;
|
|
||||||
sender.LoggedinUser.Facing += incBy;
|
|
||||||
|
|
||||||
|
|
||||||
byte[] rideHorsePacket = PacketBuilder.CreateHorseRidePacket(sender.LoggedinUser.X, sender.LoggedinUser.Y, sender.LoggedinUser.CharacterId, sender.LoggedinUser.Facing, 10, true);
|
|
||||||
sender.SendPacket(rideHorsePacket);
|
|
||||||
|
|
||||||
UpdateUserInfo(sender.LoggedinUser);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -4112,6 +4038,11 @@ namespace HISP.Server
|
||||||
|
|
||||||
sender.LoggedinUser.Teleport(sender.LoggedinUser.OwnedRanch.X, sender.LoggedinUser.OwnedRanch.Y);
|
sender.LoggedinUser.Teleport(sender.LoggedinUser.OwnedRanch.X, sender.LoggedinUser.OwnedRanch.Y);
|
||||||
}
|
}
|
||||||
|
if(itm.ItemId == Item.Telescope)
|
||||||
|
{
|
||||||
|
byte[] birdMap = PacketBuilder.CreateBirdMap(sender.LoggedinUser.X, sender.LoggedinUser.Y);
|
||||||
|
sender.SendPacket(birdMap);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Logger.ErrorPrint(sender.LoggedinUser.Username + "Tried to use item with undefined action- ID: " + itm.ItemId);
|
Logger.ErrorPrint(sender.LoggedinUser.Username + "Tried to use item with undefined action- ID: " + itm.ItemId);
|
||||||
|
@ -4935,7 +4866,7 @@ namespace HISP.Server
|
||||||
* Get(Some Information)
|
* Get(Some Information)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
public static bool IsUserOnline(int id)
|
public static bool IsUserOnline(int id)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
@ -5330,6 +5261,119 @@ namespace HISP.Server
|
||||||
/*
|
/*
|
||||||
* Other...
|
* Other...
|
||||||
*/
|
*/
|
||||||
|
public static void StartRidingHorse(GameClient sender, int horseRandomId)
|
||||||
|
{
|
||||||
|
HorseInstance horseMountInst = sender.LoggedinUser.HorseInventory.GetHorseById(horseRandomId);
|
||||||
|
|
||||||
|
if (horseMountInst.Equipment.Saddle == null || horseMountInst.Equipment.SaddlePad == null || horseMountInst.Equipment.Bridle == null)
|
||||||
|
{
|
||||||
|
byte[] horseNotTackedMessage = PacketBuilder.CreateChat(Messages.HorseCannotMountUntilTackedMessage, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||||
|
sender.SendPacket(horseNotTackedMessage);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
string ridingHorseMessage = Messages.FormatHorseRidingMessage(horseMountInst.Name);
|
||||||
|
byte[] ridingHorseMessagePacket = PacketBuilder.CreateChat(ridingHorseMessage, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||||
|
sender.SendPacket(ridingHorseMessagePacket);
|
||||||
|
|
||||||
|
sender.LoggedinUser.CurrentlyRidingHorse = horseMountInst;
|
||||||
|
|
||||||
|
// Determine what sprite to use;
|
||||||
|
int incBy = 0;
|
||||||
|
switch (horseMountInst.Color)
|
||||||
|
{
|
||||||
|
case "brown":
|
||||||
|
incBy = 1;
|
||||||
|
break;
|
||||||
|
case "cremello":
|
||||||
|
case "white":
|
||||||
|
incBy = 2;
|
||||||
|
break;
|
||||||
|
case "black":
|
||||||
|
incBy = 3;
|
||||||
|
break;
|
||||||
|
case "chestnut":
|
||||||
|
incBy = 4;
|
||||||
|
break;
|
||||||
|
case "bay":
|
||||||
|
incBy = 5;
|
||||||
|
break;
|
||||||
|
case "grey":
|
||||||
|
incBy = 6;
|
||||||
|
break;
|
||||||
|
case "dun":
|
||||||
|
incBy = 7;
|
||||||
|
break;
|
||||||
|
case "palomino":
|
||||||
|
incBy = 8;
|
||||||
|
break;
|
||||||
|
case "roan":
|
||||||
|
incBy = 9;
|
||||||
|
break;
|
||||||
|
case "pinto":
|
||||||
|
incBy = 10;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (horseMountInst.Breed.Type == "zebra")
|
||||||
|
{
|
||||||
|
incBy = 11;
|
||||||
|
}
|
||||||
|
if (horseMountInst.Breed.Id == 5) // Appaloosa
|
||||||
|
{
|
||||||
|
if (horseMountInst.Color == "brown")
|
||||||
|
incBy = 12;
|
||||||
|
}
|
||||||
|
if (horseMountInst.Breed.Type == "camel")
|
||||||
|
{
|
||||||
|
if (horseMountInst.Color == "brown")
|
||||||
|
incBy = 13;
|
||||||
|
if (horseMountInst.Color == "white")
|
||||||
|
incBy = 14;
|
||||||
|
|
||||||
|
}
|
||||||
|
if (horseMountInst.Breed.Type == "unicorn")
|
||||||
|
{
|
||||||
|
incBy = 15;
|
||||||
|
}
|
||||||
|
if (horseMountInst.Breed.Type == "pegasus")
|
||||||
|
{
|
||||||
|
incBy = 16;
|
||||||
|
sender.LoggedinUser.NoClip = true;
|
||||||
|
}
|
||||||
|
if (horseMountInst.Breed.Id == 170) // Unipeg
|
||||||
|
{
|
||||||
|
incBy = 17;
|
||||||
|
sender.LoggedinUser.NoClip = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
incBy *= 5;
|
||||||
|
sender.LoggedinUser.Facing %= 5;
|
||||||
|
sender.LoggedinUser.Facing += incBy;
|
||||||
|
sender.LoggedinUser.LastRiddenHorse = horseRandomId;
|
||||||
|
|
||||||
|
|
||||||
|
byte[] rideHorsePacket = PacketBuilder.CreateHorseRidePacket(sender.LoggedinUser.X, sender.LoggedinUser.Y, sender.LoggedinUser.CharacterId, sender.LoggedinUser.Facing, 10, true);
|
||||||
|
sender.SendPacket(rideHorsePacket);
|
||||||
|
|
||||||
|
UpdateUserInfo(sender.LoggedinUser);
|
||||||
|
}
|
||||||
|
public static void StopRidingHorse(GameClient sender)
|
||||||
|
{
|
||||||
|
sender.LoggedinUser.CurrentlyRidingHorse = null;
|
||||||
|
|
||||||
|
byte[] stopRidingHorseMessagePacket = PacketBuilder.CreateChat(Messages.HorseStopRidingMessage, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||||
|
sender.SendPacket(stopRidingHorseMessagePacket);
|
||||||
|
|
||||||
|
|
||||||
|
sender.LoggedinUser.Facing %= 5;
|
||||||
|
byte[] rideHorsePacket = PacketBuilder.CreateHorseRidePacket(sender.LoggedinUser.X, sender.LoggedinUser.Y, sender.LoggedinUser.CharacterId, sender.LoggedinUser.Facing, 10, true);
|
||||||
|
sender.SendPacket(rideHorsePacket);
|
||||||
|
sender.LoggedinUser.NoClip = false;
|
||||||
|
|
||||||
|
UpdateUserInfo(sender.LoggedinUser);
|
||||||
|
}
|
||||||
public static bool ProcessMapCodeWithArg(GameClient forClient, World.SpecialTile tile)
|
public static bool ProcessMapCodeWithArg(GameClient forClient, World.SpecialTile tile)
|
||||||
{
|
{
|
||||||
string mapCode = tile.Code;
|
string mapCode = tile.Code;
|
||||||
|
|
|
@ -26,6 +26,7 @@ namespace HISP.Server
|
||||||
public const byte PACKET_SWF_MODULE_FORCE = 0x28;
|
public const byte PACKET_SWF_MODULE_FORCE = 0x28;
|
||||||
public const byte PACKET_SWF_MODULE_GENTLE = 0x2A;
|
public const byte PACKET_SWF_MODULE_GENTLE = 0x2A;
|
||||||
public const byte PACKET_PLACE_INFO = 0x1E;
|
public const byte PACKET_PLACE_INFO = 0x1E;
|
||||||
|
public const byte PACKET_BIRDMAP = 0x76;
|
||||||
public const byte PACKET_HORSE = 0x19;
|
public const byte PACKET_HORSE = 0x19;
|
||||||
public const byte PACKET_AREA_DEFS = 0x79;
|
public const byte PACKET_AREA_DEFS = 0x79;
|
||||||
public const byte PACKET_ITEM_INTERACTION = 0x1E;
|
public const byte PACKET_ITEM_INTERACTION = 0x1E;
|
||||||
|
@ -173,6 +174,46 @@ namespace HISP.Server
|
||||||
public const byte DIRECTION_TELEPORT = 4;
|
public const byte DIRECTION_TELEPORT = 4;
|
||||||
public const byte DIRECTION_NONE = 10;
|
public const byte DIRECTION_NONE = 10;
|
||||||
|
|
||||||
|
|
||||||
|
public static byte[] CreateBirdMap(int playerX, int playerY)
|
||||||
|
{
|
||||||
|
MemoryStream ms = new MemoryStream();
|
||||||
|
|
||||||
|
int xstart = playerX - 24;
|
||||||
|
int ystart = playerY - 15;
|
||||||
|
|
||||||
|
ms.WriteByte(PacketBuilder.PACKET_BIRDMAP);
|
||||||
|
|
||||||
|
for (int rely = 0; rely <= 30; rely++)
|
||||||
|
{
|
||||||
|
for (int relx = 0; relx <= 48; relx++)
|
||||||
|
{
|
||||||
|
int tileId = Map.GetTileId(xstart + relx, ystart + rely, false);
|
||||||
|
int otileId = Map.GetTileId(xstart + relx, ystart + rely, true);
|
||||||
|
|
||||||
|
if (tileId >= 190)
|
||||||
|
{
|
||||||
|
ms.WriteByte((byte)190);
|
||||||
|
tileId -= 100;
|
||||||
|
}
|
||||||
|
ms.WriteByte((byte)tileId);
|
||||||
|
|
||||||
|
if (otileId >= 190)
|
||||||
|
{
|
||||||
|
ms.WriteByte((byte)190);
|
||||||
|
otileId -= 100;
|
||||||
|
}
|
||||||
|
ms.WriteByte((byte)otileId);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ms.WriteByte(PACKET_TERMINATOR);
|
||||||
|
ms.Seek(0x00, SeekOrigin.Begin);
|
||||||
|
return ms.ToArray();
|
||||||
|
}
|
||||||
public static byte[] CreateDrawingUpdatePacket(string Drawing)
|
public static byte[] CreateDrawingUpdatePacket(string Drawing)
|
||||||
{
|
{
|
||||||
MemoryStream ms = new MemoryStream();
|
MemoryStream ms = new MemoryStream();
|
||||||
|
|
Loading…
Add table
Reference in a new issue