SWGANH Wiki is a repository of Star Wars Galaxies Developer information. This site is only meant to be used by SWGANH Developer team.
HINO Packet Type QuickNav |
|
|
Baseline Struct
SHORT
|
Op Count
|
INT
|
Opcode
|
LONG
|
Object ID
|
INT
|
ONIH
|
BYTE
|
03
|
INT
|
Counter
|
SHORT
|
??
|
FLOAT
|
??
|
A_STRING
|
STF File
|
INT
|
STF Spacer
|
A_STRING
|
STF Name
|
INT
|
??
|
INT
|
??
|
INT
|
??
|
INT
|
??
|
INT
|
??
|
INT
|
??
|
INT
|
??
|
INT
|
??
|
INT
|
??
|
INT
|
??
|
INT
|
??
|
|
Deltas Struct
|
Variable Descriptions
- One int in the unknown Baseline struct
- might be a u-string for custom name
- need to place a miner and rename it to
- be sure
Tags
50%
|
This packet has been partially reversed.
|
|
|
Sample Packet
05 00
0C 5F A7 68 // BaselineMessage
36 21 FF FB 1A 00 00 00 // object ID
4F 4E 49 48 03 // ONIH 3
56 00 00 00
0E 00
00 00 80 3F
0E 00 // string count
69 6E 73 74 61 6C 6C // instal
61 74 69 6F 6E 5F 6E // lation_n
00 00 00 00
0E 00
77 69 6E 64 5F 67 65 6E 65 72 61 74 6F 72 // wind_generator
00 00 00 00
01 00 00 00
00 00 00 00
00 00 00 00
00 00 00 01
00 00 00 00
00 00 00 00
00 00 E8 03
00 00 01 00
00 00 00 00
00 00 00 00
25
sample code remove me once struct is documented
ByteBuffer ZoneClient::ONIH_3(uint64 id, char *installation){
ByteBuffer packet;
uint32 len;
packet << (uint16) 0x0005;
packet.opcode2(SMSG_OBJ_UPDATE);//0c5fa768
packet << (uint64) id;//itemid
packet << (uint32) 0x48494e4f; //0x494e534f; //OSNI Packet
packet << (uint8) 0x03; //
char* dir = "installation_n";
char* kind = "fusion_generator";
uint32 oncr3size = strlen(kind)+strlen(dir);
packet << (uint32) (oncr3size+58);//61 //bytecount rest Packet size
packet << (uint16) 0x000e; //object operands 13 ??? //57
packet << (float) 0;//0x3f800000; // float 1
len = strlen(dir);
packet << (uint16) len;
for (int i=0;i<len;i++){
packet << (char)dir[i];
}
packet << (uint32) 0;
len = strlen(kind);
packet << (uint16) len;
for (int i=0;i<len;i++){
packet << (char)kind[i];
}
packet << (uint32) 0; //string
packet << (uint32) 1;//1H inv load
packet << (uint32) 0;//string
packet << (uint32) 0;
packet << (uint32) 0x00000000;
packet << (uint32) 0;
packet << (uint16) 0;
packet << (uint16) 900;//thats the damage the structure
//has taken that gets deducted from its health
packet << (uint16) 0;
packet << (uint16) 1000;//Condi2 (right of the c1 / c2)
packet << (uint16) 0;//(evtl 32bitCondi2 (right of the c1 / c2))
packet << (uint8) 0; //probably 1 resource item
packet << (uint8) 0; //probably 1 resource item
packet << (uint32) 0; //amount
packet << (uint32) 0; //amount
return packet;