csaki

zBot class Action

May 23rd, 2014
269
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.77 KB | None | 0 0
  1. using System;
  2. using System.IO;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6.  
  7. namespace zBot
  8. {
  9.     class Action
  10.     {
  11.         public static bool UseReturn()
  12.         {
  13.             bool success = false;
  14.             Packet packet = new Packet((ushort)GameOpcodes.CLIENT_OPCODES.INVENTORY_USE, true, enumDestination.Server);
  15.             for (byte i = 0; i < CharData.CharacterData.Items.Length; i++)
  16.             {
  17.                 string type = CharData.CharacterData.Items[i].Type;
  18.                 if (type == "ITEM_ETC_SCROLL_RETURN_NEWBIE_01" || type == "ITEM_ETC_SCROLL_RETURN_03" || type == "ITEM_ETC_SCROLL_RETURN_02" || type == "ITEM_ETC_SCROLL_RETURN_01")
  19.                 {
  20.                     packet.data.AddBYTE(i);
  21.                     packet.data.AddWORD(0x0C30);
  22.                     packet.data.AddWORD((ushort)Functions.UsageID.RETURN);
  23.                     Globals.ServerPC.SendPacket(packet);
  24.                     success = true;
  25.                     break;
  26.                 }
  27.                 else
  28.                 {
  29.                     if (i + 1 == CharData.CharacterData.Items.Length)
  30.                     {
  31.                         Globals.UpdateLogs("Return Scroll Not Found");
  32.                     }
  33.                 }
  34.             }
  35.             return success;
  36.         }
  37.         public static void UseZerk()
  38.         {
  39.             Packet packet = new Packet((ushort)GameOpcodes.CLIENT_OPCODES.ZERK, false, enumDestination.Server);
  40.             packet.data.AddBYTE(0x01);
  41.             Globals.ServerPC.SendPacket(packet);
  42.         }
  43.         public static void WalkTo(int X, int Y)
  44.         {
  45.             int xPos = 0;
  46.             int yPos = 0;
  47.  
  48.             if (X > 0 && Y > 0)
  49.             {
  50.                 xPos = (int)((X % 192) * 10);
  51.                 yPos = (int)((Y % 192) * 10);
  52.             }
  53.             else
  54.             {
  55.                 if (X < 0 && Y > 0)
  56.                 {
  57.                     xPos = (int)((192 + (X % 192)) * 10);
  58.                     yPos = (int)((Y % 192) * 10);
  59.                 }
  60.                 else
  61.                 {
  62.                     if (X > 0 && Y < 0)
  63.                     {
  64.                         xPos = (int)((X % 192) * 10);
  65.                         yPos = (int)((192 + (Y % 192)) * 10);
  66.                     }
  67.                 }
  68.             }
  69.  
  70.  
  71.             byte xSector = (byte)((X - (int)(xPos / 10)) / 192 + 135);
  72.             byte ySector = (byte)((Y - (int)(yPos / 10)) / 192 + 92);
  73.  
  74.             if (MainData.Cave.InCave == true)
  75.             {
  76.                 byte xsec_off = (byte)(MainData.Cave.xSec - xSector);
  77.                 xSector = MainData.Cave.xSec;
  78.                 xPos -= (int)(1920 * xsec_off);
  79.                 byte ysec_off = (byte)(MainData.Cave.ySec - ySector);
  80.                 yPos -= (int)(1920 * ysec_off);
  81.                 ySector = MainData.Cave.ySec;
  82.             }
  83.  
  84.             Packet packet = new Packet((ushort)GameOpcodes.CLIENT_OPCODES.OBJECT_MOVEMENT, false, enumDestination.Server);
  85.             packet.data.AddBYTE(0x01);
  86.             int xposition = (int)((X - (int)((xSector - 135) * 192)) * 10);
  87.             int yposition = (int)((Y - (int)((ySector - 92) * 192)) * 10);
  88.             packet.data.AddBYTE(xSector);
  89.             packet.data.AddBYTE(ySector);
  90.             if (MainData.Cave.InCave)
  91.             {
  92.                 packet.data.AddDWORD_Signed(xposition);
  93.                 packet.data.AddDWORD_Signed(0x00000000);
  94.                 packet.data.AddDWORD_Signed(yposition);
  95.             }
  96.             else
  97.             {
  98.                 packet.data.AddWORD((ushort)xposition);
  99.                 packet.data.AddWORD(0x0000);
  100.                 packet.data.AddWORD((ushort)yposition);
  101.             }
  102.             Globals.ServerPC.SendPacket(packet);
  103.         }
  104.     }
  105. }
Advertisement
Add Comment
Please, Sign In to add comment