|
You last visited: Today at 20:21
Advertisement
Up to date vending packet
Discussion on Up to date vending packet within the CO2 Private Server forum part of the Conquer Online 2 category.
04/26/2011, 02:33
|
#1
|
elite*gold: 20
Join Date: Jan 2008
Posts: 2,012
Received Thanks: 2,882
|
Up to date vending packet
Anyone have an up-to-date vending-item packet (0x454) with the latest patch? I'd appreciate as recent as possible.
Cheers.
|
|
|
04/26/2011, 02:59
|
#2
|
elite*gold: 0
Join Date: Aug 2010
Posts: 991
Received Thanks: 1,107
|
its not (0x454) any more its a generalData subtype is 111
|
|
|
04/26/2011, 03:49
|
#3
|
elite*gold: 20
Join Date: Jan 2008
Posts: 2,012
Received Thanks: 2,882
|
A 0x271a is not big enough (let alone the suitable type) to hold vending-item info.
Someone that knows what they're talking about?
|
|
|
04/26/2011, 04:18
|
#4
|
elite*gold: 0
Join Date: Aug 2010
Posts: 991
Received Thanks: 1,107
|
Quote:
Originally Posted by InfamousNoone
A 0x271a is not big enough (let alone the suitable type) to hold vending-item info.
Someone that knows what they're talking about?
|
than you need the packet 2030
an im not giving you anymore info cus you just sounded like a (F*** *etard)
|
|
|
04/26/2011, 04:45
|
#5
|
elite*gold: 0
Join Date: Jun 2009
Posts: 787
Received Thanks: 314
|
Quote:
Originally Posted by InfamousNoone
A 0x271a is not big enough (let alone the suitable type) to hold vending-item info.
Someone that knows what they're talking about?
|
it's now in an 0x434 packet.
|
|
|
04/26/2011, 04:50
|
#6
|
elite*gold: 20
Join Date: Jan 2008
Posts: 2,012
Received Thanks: 2,882
|
Quote:
Originally Posted by { Angelius }
than you need the packet 2030
an im not giving you anymore info cus you just sounded like a (F*** *etard)
|
Yes, I definitely need a 2030 (0x7EE) packet. Oh wait, that's a Spawn NPC Entity packet! How someone can be so incompetent is a joke. I mean I'm fine with someone making a mistake, but when you start insulting the opposing the party, you better know what you're talking about.
Quote:
Originally Posted by _tao4229_
it's now in an 0x434 packet.
|
Bad trolling bro.
|
|
|
04/26/2011, 05:06
|
#7
|
elite*gold: 0
Join Date: Jun 2009
Posts: 787
Received Thanks: 314
|
Quote:
Originally Posted by InfamousNoone
Yes, I definitely need a 2030 (0x7EE) packet. Oh wait, that's a Spawn NPC Entity packet! How someone can be so incompetent is a joke. I mean I'm fine with someone making a mistake, but when you start insulting the opposing the party, you better know what you're talking about.
Bad trolling bro.
|
bet u get that packet sometime when ur vending!
|
|
|
04/26/2011, 05:10
|
#8
|
elite*gold: 21
Join Date: Jul 2005
Posts: 9,193
Received Thanks: 5,376
|
To answer the question as to which packet it's using though...
0x454 is still used.
I have NO idea if this is the correct structure (it's a few patches old and I never tested. I just have it laying around my comp)
Length: 56 + 8
uint UID 4
uint BoothID 8
uint Cost 12
uint ID 16
ushort Dura 20
ushort MaxDura 22
uint Currency 24
byte gem1 32
byte gem2 33
byte plus 36
byte bless 27
byte enchant 29
uint progress 40
uint color 48
uint composition 52
Sorry about all the unknowns. I didn't structure it though.
|
|
|
04/26/2011, 07:17
|
#9
|
elite*gold: 0
Join Date: Aug 2010
Posts: 991
Received Thanks: 1,107
|
**** i really need to start sleeping like a normal human again !
any ways my bad i dident pay attention to what you exactly asked for so sorry about that but still i dident like your answer lol
here is the right stru but without the refinery/w.e thing which im not sure if its included at this point .
Quote:
value | offset
UInt32(Item.UID, 4
UInt32(boothUID, 8
UInt32(Price, 12
UInt32(Item.ID, 16
UInt16(Item.Dura, 20
UInt16(Item.MaxDura, 22
Byte(moneytype, 24
UInt32(Item.Composition, 28
Byte(Item.Soc1, 32
Byte(Item.Soc2, 33
Byte(Item.Plus, 41
Byte(Item.Bless, 42
Byte(Item.Enchant, 44
UInt32(Item.Color, 56
UInt16(1, 72
|
|
|
|
04/26/2011, 08:54
|
#10
|
elite*gold: 0
Join Date: Oct 2009
Posts: 768
Received Thanks: 550
|
On version 5381 (no big update made recently by TQ) this packet works just fine for me:
PHP Code:
public class BoothItem : Writer, Interfaces.IPacket { byte[] Buffer;
public BoothItem(bool Create) { if (Create) { Buffer = new byte[92]; WriteUInt16(84, 0, Buffer); WriteUInt16(1108, 2, Buffer); } } public uint UID { get { return BitConverter.ToUInt32(Buffer, 4); } set { WriteUInt32(value, 4, Buffer); } } public uint BoothID { get { return BitConverter.ToUInt32(Buffer, 8); } set { WriteUInt32(value, 8, Buffer); } } public uint Cost { get { return BitConverter.ToUInt32(Buffer, 12); } set { WriteUInt32(value, 12, Buffer); } } public uint ID { get { return BitConverter.ToUInt32(Buffer, 16); } set { WriteUInt32(value, 16, Buffer); } } public ushort Durability { get { return BitConverter.ToUInt16(Buffer, 20); } set { WriteUInt16(value, 20, Buffer); } } public ushort MaximDurability { get { return BitConverter.ToUInt16(Buffer, 22); } set { WriteUInt16(value, 22, Buffer); } } public uint CostType { get { return BitConverter.ToUInt32(Buffer, 24); } set { WriteUInt32(value, 24, Buffer); } } public uint SocketProgress { get { return BitConverter.ToUInt32(Buffer, 28); } set { WriteUInt32(value, 28, Buffer); } } public Enums.Gem SocketOne { get { return (Enums.Gem)Buffer[32]; } set { Buffer[32] = (byte)value; } } public Enums.Gem SocketTwo { get { return (Enums.Gem)Buffer[33]; } set { Buffer[33] = (byte)value; } } public Enums.ItemEffect Effect { get { return (Enums.ItemEffect)BitConverter.ToUInt16(Buffer, 34); } set { WriteUInt16((ushort)value, 34, Buffer); } } public byte Plus { get { return Buffer[41]; } set { Buffer[41] = value; } } public byte Bless { get { return Buffer[42]; } set { Buffer[42] = value; } } public bool Bound { get { return Buffer[43] == 0 ? false : true; } set { Buffer[43] = (byte)(value ? 1 : 0); } } public byte Enchant { get { return Buffer[44]; } set { Buffer[44] = value; } } public bool Suspicious { get { return Buffer[53] == 0 ? false : true; } set { Buffer[53] = (byte)(value ? 1 : 0); } } public byte Lock { get { return Buffer[54]; } set { Buffer[54] = value; } } public Enums.Color Color { get { return (Enums.Color)BitConverter.ToUInt32(Buffer, 56); } set { WriteUInt32((uint)value, 56, Buffer); } } public uint PlusProgress { get { return BitConverter.ToUInt32(Buffer, 60); } set { WriteUInt32(value, 60, Buffer); } } public ushort StackSize { get { return BitConverter.ToUInt16(Buffer, 72); } set { WriteUInt16(value, 72, Buffer); } } public uint PurificationID { get { return BitConverter.ToUInt32(Buffer, 76); } set { WriteUInt32(value, 76, Buffer); } } public byte[] ToArray() { return Buffer; }
public void Deserialize(byte[] buffer) { Buffer = buffer; }
public void Send(Client.GameState client) { client.Send(Buffer); }
public override int GetHashCode() { return (int)this.UID; }
public void Fill(Game.ConquerStructures.BoothItem item, uint boothID) { UID = item.Item.UID; BoothID = boothID; Cost = item.Cost; ID = item.Item.ID; Durability = item.Item.Durability; MaximDurability = item.Item.MaximDurability; CostType = (byte)item.Cost_Type; SocketOne = item.Item.SocketOne; SocketTwo = item.Item.SocketTwo; Effect = item.Item.Effect; Plus = item.Item.Plus; Bless = item.Item.Bless; Enchant = item.Item.Enchant; SocketProgress = item.Item.SocketProgress; Color = item.Item.Color; PlusProgress = item.Item.PlusProgress; StackSize = item.Item.StackSize; PurificationID = item.Item.Purification.PurificationItemID; } public void Fill(ConquerItem item, uint boothID) { UID = item.UID; BoothID = boothID; ID = item.ID; Durability = item.Durability; MaximDurability = item.MaximDurability; Buffer[24] = (byte)4; Buffer[26] = (byte)item.Position; SocketOne = item.SocketOne; SocketTwo = item.SocketTwo; Effect = item.Effect; Plus = item.Plus; Bound = item.Bound; Bless = item.Bless; Enchant = item.Enchant; Lock = item.Lock; SocketProgress = item.SocketProgress; Color = item.Color; PlusProgress = item.PlusProgress; StackSize = item.StackSize; PurificationID = item.Purification.PurificationItemID; } }
Still, the item effect offset changed and I couldn't find it ... yet.
|
|
|
04/26/2011, 13:44
|
#11
|
elite*gold: 0
Join Date: Mar 2011
Posts: 165
Received Thanks: 17
|
Quote:
Originally Posted by -impulse-
On version 5381 (no big update made recently by TQ) this packet works just fine for me:
PHP Code:
public class BoothItem : Writer, Interfaces.IPacket { byte[] Buffer;
public BoothItem(bool Create) { if (Create) { Buffer = new byte[92]; WriteUInt16(84, 0, Buffer); WriteUInt16(1108, 2, Buffer); } } public uint UID { get { return BitConverter.ToUInt32(Buffer, 4); } set { WriteUInt32(value, 4, Buffer); } } public uint BoothID { get { return BitConverter.ToUInt32(Buffer, 8); } set { WriteUInt32(value, 8, Buffer); } } public uint Cost { get { return BitConverter.ToUInt32(Buffer, 12); } set { WriteUInt32(value, 12, Buffer); } } public uint ID { get { return BitConverter.ToUInt32(Buffer, 16); } set { WriteUInt32(value, 16, Buffer); } } public ushort Durability { get { return BitConverter.ToUInt16(Buffer, 20); } set { WriteUInt16(value, 20, Buffer); } } public ushort MaximDurability { get { return BitConverter.ToUInt16(Buffer, 22); } set { WriteUInt16(value, 22, Buffer); } } public uint CostType { get { return BitConverter.ToUInt32(Buffer, 24); } set { WriteUInt32(value, 24, Buffer); } } public uint SocketProgress { get { return BitConverter.ToUInt32(Buffer, 28); } set { WriteUInt32(value, 28, Buffer); } } public Enums.Gem SocketOne { get { return (Enums.Gem)Buffer[32]; } set { Buffer[32] = (byte)value; } } public Enums.Gem SocketTwo { get { return (Enums.Gem)Buffer[33]; } set { Buffer[33] = (byte)value; } } public Enums.ItemEffect Effect { get { return (Enums.ItemEffect)BitConverter.ToUInt16(Buffer, 34); } set { WriteUInt16((ushort)value, 34, Buffer); } } public byte Plus { get { return Buffer[41]; } set { Buffer[41] = value; } } public byte Bless { get { return Buffer[42]; } set { Buffer[42] = value; } } public bool Bound { get { return Buffer[43] == 0 ? false : true; } set { Buffer[43] = (byte)(value ? 1 : 0); } } public byte Enchant { get { return Buffer[44]; } set { Buffer[44] = value; } } public bool Suspicious { get { return Buffer[53] == 0 ? false : true; } set { Buffer[53] = (byte)(value ? 1 : 0); } } public byte Lock { get { return Buffer[54]; } set { Buffer[54] = value; } } public Enums.Color Color { get { return (Enums.Color)BitConverter.ToUInt32(Buffer, 56); } set { WriteUInt32((uint)value, 56, Buffer); } } public uint PlusProgress { get { return BitConverter.ToUInt32(Buffer, 60); } set { WriteUInt32(value, 60, Buffer); } } public ushort StackSize { get { return BitConverter.ToUInt16(Buffer, 72); } set { WriteUInt16(value, 72, Buffer); } } public uint PurificationID { get { return BitConverter.ToUInt32(Buffer, 76); } set { WriteUInt32(value, 76, Buffer); } } public byte[] ToArray() { return Buffer; }
public void Deserialize(byte[] buffer) { Buffer = buffer; }
public void Send(Client.GameState client) { client.Send(Buffer); }
public override int GetHashCode() { return (int)this.UID; }
public void Fill(Game.ConquerStructures.BoothItem item, uint boothID) { UID = item.Item.UID; BoothID = boothID; Cost = item.Cost; ID = item.Item.ID; Durability = item.Item.Durability; MaximDurability = item.Item.MaximDurability; CostType = (byte)item.Cost_Type; SocketOne = item.Item.SocketOne; SocketTwo = item.Item.SocketTwo; Effect = item.Item.Effect; Plus = item.Item.Plus; Bless = item.Item.Bless; Enchant = item.Item.Enchant; SocketProgress = item.Item.SocketProgress; Color = item.Item.Color; PlusProgress = item.Item.PlusProgress; StackSize = item.Item.StackSize; PurificationID = item.Item.Purification.PurificationItemID; } public void Fill(ConquerItem item, uint boothID) { UID = item.UID; BoothID = boothID; ID = item.ID; Durability = item.Durability; MaximDurability = item.MaximDurability; Buffer[24] = (byte)4; Buffer[26] = (byte)item.Position; SocketOne = item.SocketOne; SocketTwo = item.SocketTwo; Effect = item.Effect; Plus = item.Plus; Bound = item.Bound; Bless = item.Bless; Enchant = item.Enchant; Lock = item.Lock; SocketProgress = item.SocketProgress; Color = item.Color; PlusProgress = item.PlusProgress; StackSize = item.StackSize; PurificationID = item.Purification.PurificationItemID; } }
Still, the item effect offset changed and I couldn't find it ... yet.
|
What Bound Item has to do with this packet geez? What use of having bound item in this Packet when it can't be put due to client check? is TQ really f*cking stupid or this is your mistake?
|
|
|
04/26/2011, 13:54
|
#12
|
elite*gold: 1142
Join Date: Aug 2006
Posts: 2,464
Received Thanks: 1,161
|
Quote:
Originally Posted by iStefan
What Bound Item has to do with this packet geez? What use of having bound item in this Packet when it can't be put due to client check? is TQ really f*cking stupid or this is your mistake?
|
Because boothitem packet structure is used for other features as well and not only vending, for example equipment viewing.
|
|
|
04/26/2011, 14:07
|
#13
|
elite*gold: 0
Join Date: Mar 2011
Posts: 165
Received Thanks: 17
|
Quote:
Originally Posted by EmmeTheCoder
Because boothitem packet structure is used for other features as well and not only vending, for example equipment viewing.
|
I see Thanks.
|
|
|
04/26/2011, 18:08
|
#14
|
elite*gold: 28
Join Date: Jun 2010
Posts: 2,223
Received Thanks: 867
|
Hail the almighty InfamousNoone.
#Offtopic
You planning on making a server by any chance?
|
|
|
04/26/2011, 21:45
|
#15
|
elite*gold: 20
Join Date: Jan 2008
Posts: 2,012
Received Thanks: 2,882
|
Quote:
Originally Posted by _DreadNought_
Hail the almighty InfamousNoone.
#Offtopic
You planning on making a server by any chance?
|
Nope.
Quote:
Originally Posted by -impulse-
On version 5381 (no big update made recently by TQ) this packet works just fine for me:
PHP Code:
public class BoothItem : Writer, Interfaces.IPacket { byte[] Buffer; public BoothItem(bool Create) { if (Create) { Buffer = new byte[92]; WriteUInt16(84, 0, Buffer); WriteUInt16(1108, 2, Buffer); } } public uint UID { get { return BitConverter.ToUInt32(Buffer, 4); } set { WriteUInt32(value, 4, Buffer); } } public uint BoothID { get { return BitConverter.ToUInt32(Buffer, 8); } set { WriteUInt32(value, 8, Buffer); } } public uint Cost { get { return BitConverter.ToUInt32(Buffer, 12); } set { WriteUInt32(value, 12, Buffer); } } public uint ID { get { return BitConverter.ToUInt32(Buffer, 16); } set { WriteUInt32(value, 16, Buffer); } } public ushort Durability { get { return BitConverter.ToUInt16(Buffer, 20); } set { WriteUInt16(value, 20, Buffer); } } public ushort MaximDurability { get { return BitConverter.ToUInt16(Buffer, 22); } set { WriteUInt16(value, 22, Buffer); } } public uint CostType { get { return BitConverter.ToUInt32(Buffer, 24); } set { WriteUInt32(value, 24, Buffer); } } public uint SocketProgress { get { return BitConverter.ToUInt32(Buffer, 28); } set { WriteUInt32(value, 28, Buffer); } } public Enums.Gem SocketOne { get { return (Enums.Gem)Buffer[32]; } set { Buffer[32] = (byte)value; } } public Enums.Gem SocketTwo { get { return (Enums.Gem)Buffer[33]; } set { Buffer[33] = (byte)value; } } public Enums.ItemEffect Effect { get { return (Enums.ItemEffect)BitConverter.ToUInt16(Buffer, 34); } set { WriteUInt16((ushort)value, 34, Buffer); } } public byte Plus { get { return Buffer[41]; } set { Buffer[41] = value; } } public byte Bless { get { return Buffer[42]; } set { Buffer[42] = value; } } public bool Bound { get { return Buffer[43] == 0 ? false : true; } set { Buffer[43] = (byte)(value ? 1 : 0); } } public byte Enchant { get { return Buffer[44]; } set { Buffer[44] = value; } } public bool Suspicious { get { return Buffer[53] == 0 ? false : true; } set { Buffer[53] = (byte)(value ? 1 : 0); } } public byte Lock { get { return Buffer[54]; } set { Buffer[54] = value; } } public Enums.Color Color { get { return (Enums.Color)BitConverter.ToUInt32(Buffer, 56); } set { WriteUInt32((uint)value, 56, Buffer); } } public uint PlusProgress { get { return BitConverter.ToUInt32(Buffer, 60); } set { WriteUInt32(value, 60, Buffer); } } public ushort StackSize { get { return BitConverter.ToUInt16(Buffer, 72); } set { WriteUInt16(value, 72, Buffer); } } public uint PurificationID { get { return BitConverter.ToUInt32(Buffer, 76); } set { WriteUInt32(value, 76, Buffer); } } public byte[] ToArray() { return Buffer; } public void Deserialize(byte[] buffer) { Buffer = buffer; } public void Send(Client.GameState client) { client.Send(Buffer); } public override int GetHashCode() { return (int)this.UID; } public void Fill(Game.ConquerStructures.BoothItem item, uint boothID) { UID = item.Item.UID; BoothID = boothID; Cost = item.Cost; ID = item.Item.ID; Durability = item.Item.Durability; MaximDurability = item.Item.MaximDurability; CostType = (byte)item.Cost_Type; SocketOne = item.Item.SocketOne; SocketTwo = item.Item.SocketTwo; Effect = item.Item.Effect; Plus = item.Item.Plus; Bless = item.Item.Bless; Enchant = item.Item.Enchant; SocketProgress = item.Item.SocketProgress; Color = item.Item.Color; PlusProgress = item.Item.PlusProgress; StackSize = item.Item.StackSize; PurificationID = item.Item.Purification.PurificationItemID; } public void Fill(ConquerItem item, uint boothID) { UID = item.UID; BoothID = boothID; ID = item.ID; Durability = item.Durability; MaximDurability = item.MaximDurability; Buffer[24] = (byte)4; Buffer[26] = (byte)item.Position; SocketOne = item.SocketOne; SocketTwo = item.SocketTwo; Effect = item.Effect; Plus = item.Plus; Bound = item.Bound; Bless = item.Bless; Enchant = item.Enchant; Lock = item.Lock; SocketProgress = item.SocketProgress; Color = item.Color; PlusProgress = item.PlusProgress; StackSize = item.StackSize; PurificationID = item.Purification.PurificationItemID; } }
Still, the item effect offset changed and I couldn't find it ... yet.
|
Cheers.
|
|
|
|
|
Similar Threads
|
Vending Packet
03/08/2011 - CO2 Private Server - 6 Replies
I solved all my requests by my own rofl.
This can be closed.
|
Vending Exploit
09/02/2010 - Battle of the Immortals - 8 Replies
People who move their stalls on top of each other and during vending are so common now but i havent been able to find a single thing on how to do it. Is it somethign to do with putting someone else on follow?
|
Vending /omg
12/20/2005 - Ragnarok Online - 1 Replies
Hallo,
Ich habe jetzt schon mehrmals die scheiss shop.txt bearbeitet, aber immer wieder kommt die Fehlermeldung in deinen Shop fehlt ein Titel /omg.
Bin ich jetzt gagga im Kopf?
In der shop.txt soll in der ersten Zeile der Shopname stehen, oder liegt es wielleicht an den falschen Editor?
Hat jemand davon Ahnuung?
Gruß
SiSa
|
Vending?
10/29/2004 - Ragnarok Online - 3 Replies
hi, i have revemu (0.95) i was wondering how i use my bot to vend (because when i try to vend regulary my bros a diff game and my rag crashes) ANY help appreciated ;)
Iam new to vending with a bot ty all
|
Vending Bot?
09/23/2004 - Ragnarok Online - 2 Replies
Hallo mal wieder
Wollte mal nachfragen, ob we nen guten Vending Bot kennt. Der soll nix anderes machen, als einloggen, zeugs aus ner txt datei in den Wagen tun und bei nem DC reconnecten.
Kennt wer einen?
Greets und Thanks
|
All times are GMT +2. The time now is 20:21.
|
|