opcode for silk and how to buy from item mall

12/22/2018 18:47 maryqueen#1
hi,

sorry but I cant find it out by myself:

how do I get my current silk and how can I buy from item mall clientless, cant find any opcodes for this

thanks
12/22/2018 23:07 qqdev#2
It is not based on packets iirc
12/23/2018 07:28 DaxterSoul#3
You can get your current Silk from 0x3153 - SERVER_AGENT_SILK_UPDATE.

Buying items is an inventory operation and therefore part of 0x7034 - CLIENT_AGENT_INVENTORY_OPERATION_REQUEST.
12/23/2018 17:14 maryqueen#4
Quote:
Originally Posted by DaxterSoul View Post
You can get your current Silk from 0x3153 - SERVER_AGENT_SILK_UPDATE.

Buying items is an inventory operation and therefore part of 0x7034 - CLIENT_AGENT_INVENTORY_OPERATION_REQUEST.
thank u :)

one more question: I only get this Paket when I log into the Gameworld / relog, is there anyway to invoke an update on this information, I already tested teleporting but it didnt work.
12/23/2018 19:23 DaxterSoul#5
Quote:
Originally Posted by maryqueen View Post
thank u :)

one more question: I only get this Paket when I log into the Gameworld / relog, is there anyway to invoke an update on this information, I already tested teleporting but it didnt work.
I'm not sure if you get one after buying something with silk but teleportation should definitely triggers an update.
01/02/2019 19:02 maryqueen#6
Quote:
Originally Posted by DaxterSoul View Post
I'm not sure if you get one after buying something with silk but teleportation should definitely triggers an update.
yep, teleporting triggers an update

Im having another problem: understanding Paket 0x7034

I used xsniff to lookup whats happening when I buy a Tiger from the Item Mall, thats the Packet which gets send to the Server:

[0000000000] 18 1B 04 03 02 01 1F 00 50 41 43 4B 41 47 45 5F
[0000000016] 49 54 45 4D 5F 43 4F 53 5F 43 5F 54 49 47 45 52
[0000000032] 5F 53 43 52 4F 4C 4C 01 00 00 00 00 00 00 00 00
[0000000048] 00 91 04 00 00

Ascii: ........PACKAGE_ITEM_COS_C_TIGER_SCROLL........... ..

my -not working code-

Code:
     
Packet BuyTiger = new Packet(0x7034);
BuyTiger.WriteUInt8(0x18);
BuyTiger.WriteUInt8(0x1B);
BuyTiger.WriteUInt8(0x04);
BuyTiger.WriteUInt8(0x03);
BuyTiger.WriteUInt8(0x02);
BuyTiger.WriteUInt8(0x01);
BuyTiger.WriteUInt8(0x1F);
BuyTiger.WriteUInt8(0x00);
BuyTiger.WriteAscii("PACKAGE_ITEM_COS_C_TIGER_SCROLL");
BuyTiger.WriteUInt8(0x00);
BuyTiger.WriteUInt8(0x00);
BuyTiger.WriteUInt8(0x00);
BuyTiger.WriteUInt8(0x00);
BuyTiger.WriteUInt8(0x00);
BuyTiger.WriteUInt8(0x00);
BuyTiger.WriteUInt8(0x00);
BuyTiger.WriteUInt8(0x00);
BuyTiger.WriteUInt8(0x00);
BuyTiger.WriteUInt8(0x91);
BuyTiger.WriteUInt8(0x04);
BuyTiger.WriteUInt8(0x00);
BuyTiger.WriteUInt8(0x00);
C.AG.Security.Send(BuyTiger);
I dont get how the Packet is structured, since I found its used for a lot of different things.
01/02/2019 20:40 DaxterSoul#7
"1F 00" is the string length and already written by the WriteAscii function.

I suggest you look into public bot/emulator source code to get a general idea of how the packet is structured.
01/03/2019 02:35 maryqueen#8
Quote:
Originally Posted by DaxterSoul View Post
"1F 00" is the string length and already written by the WriteAscii function.

I suggest you look into public bot/emulator source code to get a general idea of how the packet is structured.
thanks for the info my function is now working :)

I looked into some different bots and their buy control but they dont even have a txt file with item mall items parsed.

I made some difference tests with xsniff and thats what I found so far:

Code:
18 //storetype - uint8 - 24
1B //UNKNOWN - uint8 - 27
04 //UNKNOWN - uint8 - 4
03 //tab/pagenumber - uint8 - 3
02 01 //UNKNOWN - uint16 - 258
PACKAGE_ITEM_COS_C_TIGER_SCROLL //Ascii - 50 41 43 4b 41 47 45 5f 49 54 45 4d 5f 43 4f 53 5f 43 5f 54 49 47 45 52 5f 53 43 52 4f 4c 4c
01 00 //count - uint16 - 1
00 00 00 00 //count? - uint32 - 0
00 00 00 00 //count? - uint32 - 0
91 04 00 00 //item id - uint32 - 1169
01/03/2019 11:02 oksn123#9
Inventory movement MallShopto Inventory starts with 24
Code:
case 24:
                        MoveItemMallToInv(packet.ReadByte(), packet.ReadByte(), packet.ReadByte(), packet.ReadByte(), packet.ReadByte(), packet.ReadByte(), packet.ReadByte(), packet.ReadUShort());//Mall <> Invetory
Code:
 public static void MoveItemMallToInv(byte a1, byte a2, byte Kategori, byte SubKategori, byte ItemIndex, byte a3, byte Slot, ushort Count)
        {
           // byte a1 = packet.ReadByte();//Icant find what this is always 27
           // byte a2 = packet.ReadByte(); //Icant find what this is always 4
           // byte categori = packet.ReadByte();//Item Mall Kategori index id
           // byte Subcategori = packet.ReadByte();//Item Mall SubKategori index id
           // byte ItemIndex = packet.ReadByte();//İnside the subcategory - item index like global index = 0
           // byte a3 = packet.ReadByte();//Icant find what this is always 1
           // byte Slot = packet.ReadByte();//Inventory slot
           //ushort Count = packet.ReadUShort();//Count

            FindMallItemAdd(Kategori, SubKategori, ItemIndex, Slot, Count);


        }