hello,
how i can access underbar with packets like use potions ,skills etc... via packets .
thank you !
how i can access underbar with packets like use potions ,skills etc... via packets .
thank you !
yea i already knows this way , and tested to parse packets from underbar and gives me item use packet .Quote:
You can't use items "from underbar", there is only one way of using items. Single style of packet. Which includes the item slot in inventory and item type if im remembering right. By pressing buttons on underbar your client just sends those packets.
Just analyze the packets and you'll find how... 0x7074 for skills
yeah , i was looking to create auto potion packet based built in old school clients that doesn't have auto potion.Quote:
You're welcome. Actually you can use items from "underbar" too, via memory. Someone did that before (was probably lolkop)
That worked really good. But packet-based is always the best solution imo.
thats what i was thinking aboutQuote:
That could be a cool idea. You can have an autopot via a proxy between client and server. All you have to do is to implement the 'T' window from vsro client, or aside that can be set like this:
/sethp 70%
/setmp 50%
public class Protection
{
public static void UseHP(SROBot.Bot bot)
{
if (bot != null && bot.Char.IsAlive)
{
var invitem = bot.Inventory.GetItem("HP Recovery Potion");
if (invitem == null/* || (!invitem.Iteminfo.Type.StartsWith("ITEM_ETC_HP_POTION") && !invitem.Iteminfo.Type.StartsWith("ITEM_ETC_HP_SPOTION"))*/) return;
var packet = new Packet(0x704C, true);
packet.WriteUInt8(invitem.Slot);
packet.WriteUInt16(0x08EC);
bot.SendToSilkroadServer(packet);
}
}
public static void UseMP(SROBot.Bot bot)
{
if (bot != null && bot.Char.IsAlive)
{
var invitem = bot.Inventory.GetItem("MP Recovery Potion");
if (invitem == null/* || (!invitem.Iteminfo.Type.StartsWith("ITEM_ETC_MP_POTION") && !invitem.Iteminfo.Type.StartsWith("ITEM_ETC_MP_SPOTION"))*/) return;
var packet = new Packet(0x704C, true);
packet.WriteUInt8(invitem.Slot);
packet.WriteUInt16(0x10EC);
bot.SendToSilkroadServer(packet);
}
}
public static void UseUniversalPill(SROBot.Bot bot)
{
if (bot != null && bot.Char.IsAlive)
{
var invitem = bot.Inventory.GetItem("Universal Pill");
if (invitem == null/* || !invitem.Iteminfo.Type.StartsWith("ITEM_ETC_CURE_ALL")*/) return;
var packet = new Packet(0x704C, true);
packet.WriteUInt8(invitem.Slot);
packet.WriteUInt16(0x316C);
bot.SendToSilkroadServer(packet);
}
}
public static void UsePetHP(SROBot.Bot bot, uint petId)
{
if (bot == null) return;
var invitem = bot.Inventory.GetItemByType("ITEM_ETC_COS_HP_POTION");
if (invitem == null) return;
var packet = new Packet(0x704C, true);
packet.WriteUInt8(invitem.Slot);
packet.WriteUInt16(0x20EC);
packet.WriteUInt32(petId);
bot.SendToSilkroadServer(packet);
}
}
Kewl is that C ?Quote:
Using Pots:
Code:public class Protection { public static void UseHP(SROBot.Bot bot) { if (bot != null && bot.Char.IsAlive) { var invitem = bot.Inventory.GetItem("HP Recovery Potion"); if (invitem == null/* || (!invitem.Iteminfo.Type.StartsWith("ITEM_ETC_HP_POTION") && !invitem.Iteminfo.Type.StartsWith("ITEM_ETC_HP_SPOTION"))*/) return; var packet = new Packet(0x704C, true); packet.WriteUInt8(invitem.Slot); packet.WriteUInt16(0x08EC); bot.SendToSilkroadServer(packet); } } public static void UseMP(SROBot.Bot bot) { if (bot != null && bot.Char.IsAlive) { var invitem = bot.Inventory.GetItem("MP Recovery Potion"); if (invitem == null/* || (!invitem.Iteminfo.Type.StartsWith("ITEM_ETC_MP_POTION") && !invitem.Iteminfo.Type.StartsWith("ITEM_ETC_MP_SPOTION"))*/) return; var packet = new Packet(0x704C, true); packet.WriteUInt8(invitem.Slot); packet.WriteUInt16(0x10EC); bot.SendToSilkroadServer(packet); } } public static void UseUniversalPill(SROBot.Bot bot) { if (bot != null && bot.Char.IsAlive) { var invitem = bot.Inventory.GetItem("Universal Pill"); if (invitem == null/* || !invitem.Iteminfo.Type.StartsWith("ITEM_ETC_CURE_ALL")*/) return; var packet = new Packet(0x704C, true); packet.WriteUInt8(invitem.Slot); packet.WriteUInt16(0x316C); bot.SendToSilkroadServer(packet); } } public static void UsePetHP(SROBot.Bot bot, uint petId) { if (bot == null) return; var invitem = bot.Inventory.GetItemByType("ITEM_ETC_COS_HP_POTION"); if (invitem == null) return; var packet = new Packet(0x704C, true); packet.WriteUInt8(invitem.Slot); packet.WriteUInt16(0x20EC); packet.WriteUInt32(petId); bot.SendToSilkroadServer(packet); } }
Quote:
Using Pots:
Code:public class Protection { public static void UseHP(SROBot.Bot bot) { if (bot != null && bot.Char.IsAlive) { var invitem = bot.Inventory.GetItem("HP Recovery Potion"); if (invitem == null/* || (!invitem.Iteminfo.Type.StartsWith("ITEM_ETC_HP_POTION") && !invitem.Iteminfo.Type.StartsWith("ITEM_ETC_HP_SPOTION"))*/) return; var packet = new Packet(0x704C, true); packet.WriteUInt8(invitem.Slot); packet.WriteUInt16(0x08EC); bot.SendToSilkroadServer(packet); } } public static void UseMP(SROBot.Bot bot) { if (bot != null && bot.Char.IsAlive) { var invitem = bot.Inventory.GetItem("MP Recovery Potion"); if (invitem == null/* || (!invitem.Iteminfo.Type.StartsWith("ITEM_ETC_MP_POTION") && !invitem.Iteminfo.Type.StartsWith("ITEM_ETC_MP_SPOTION"))*/) return; var packet = new Packet(0x704C, true); packet.WriteUInt8(invitem.Slot); packet.WriteUInt16(0x10EC); bot.SendToSilkroadServer(packet); } } public static void UseUniversalPill(SROBot.Bot bot) { if (bot != null && bot.Char.IsAlive) { var invitem = bot.Inventory.GetItem("Universal Pill"); if (invitem == null/* || !invitem.Iteminfo.Type.StartsWith("ITEM_ETC_CURE_ALL")*/) return; var packet = new Packet(0x704C, true); packet.WriteUInt8(invitem.Slot); packet.WriteUInt16(0x316C); bot.SendToSilkroadServer(packet); } } public static void UsePetHP(SROBot.Bot bot, uint petId) { if (bot == null) return; var invitem = bot.Inventory.GetItemByType("ITEM_ETC_COS_HP_POTION"); if (invitem == null) return; var packet = new Packet(0x704C, true); packet.WriteUInt8(invitem.Slot); packet.WriteUInt16(0x20EC); packet.WriteUInt32(petId); bot.SendToSilkroadServer(packet); } }