Difference between revisions of "Resource Container Object"

From SWGANH Wiki
Jump to: navigation, search
(DataFlow)
 
(9 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Resources in the inventory are created through sending a set of Packets that is very similiar to those which are send for creating other items in the Inventory.
+
{|align="center"
The main difference is that resources are not created through CREO Packets but that for Resource Creation ONCR Packets are used.
+
|-
 +
||{{RCNOArchitectureNAV}}
 +
|-
 +
|}
  
The creation process begins with an Object Init Packet and an Object Link packet, the main data is send through an ONCR 3 and an ONCR 6 packet and the creation process is ended through an ONCR8, ONCR9, an object finish and an Posture update Packet.
+
=DataFlow=
 
+
{| align="center" width="650px"
there are still some parts of the ONCR 3 and 6 Packets which are not figured out yet, though as far as I can see they are hopefully not that important.
+
|-
 
+
||
Please note that -like with everything- these packets can be send standalone in an 00 09 or in the pack as an 00 19. to make this a bit clearer I seperate them as single packets.
+
{{PacketFlow|Resource Container Object|
I did not include the headers though (00 09 wx yz and crc at the end) because thats getting redundant.
+
<graphviz>
 
+
digraph G
The object init Packet contains the ID of the newly created -(resource) Item, the crc of the item to be displayed and its location and orientation in the world should it not happen to be in the inventory / backpack.
+
{
 
+
        rankdir = LR;
{{Box Packet|SceneCreateObjectByCrc Server --> Client|
+
        node [shape=record, width=.2, height=.2];
 
+
        node [width=1];
<pre>
+
        node1 [color="orange", label = "SceneCreateObjectByCrc", style="bold", fontname="arial", fontcolor="#458CAF", URL="SceneCreateObjectByCrc"];
05 00                            operand count
+
        node2 [color="orange", label = "UpdateContainmentMessage", style="bold", fontname="arial", fontcolor="#458CAF", URL="UpdateContainmentMessage"];
ea dd 89 fe                      Opcode SceneCreateObjectByCrc
+
        node3 [color="orange", label = "SceneEndBaselines", style="bold", fontname="arial", fontcolor="#458CAF", URL="SceneEndBaselines"];
ea b7 e9 33 18 00 00 00          This is the ID of the newly created
+
        node1 -> node2 [color="#515FCA", constraint=false];
                                  Item / resource
+
        node2 -> node3 [color="#515FCA", constraint=false];
 
+
}
00 00 00 00                      This is probably the orientation the item
+
</graphviz>
00 00 00 00                      is displayed in when in the world
+
00 00 00 00
+
 
+
00 00 80 3f                      this is some unknown float value (1.0 in this case)
+
 
+
91 e2 c7 45                      Position X                  They probably dont have to be send
+
17 33 3a 43                      Position Z (Y)              When the resource is created in the
+
d9 54 8e c5                      Position Y (Z)              Inventory or backpack
+
 
+
6d 5e ce 88                      CRC resource container
+
 
+
00                                one single 00
+
 
+
</pre>
+
 
}}
 
}}
 +
|}
  
The SMSG_OBJ_LINK packet links the item to the container where its to be created in. This is either a backpack, an inventory, and probably a hopper or house, too.
+
=Description=
  
{{Box Packet|UpdateContainmentMessage Server --> Client|
+
Resources in the inventory are created through sending a set of Packets that is very similiar to those which are send for creating other items in the Inventory. The main difference is that resources are not created through CREO Packets but that for Resource Creation ONCR Packets are used.
<pre>
+
04 00
+
  
9e de cb 56                      UpdateContainmentMessage
+
The creation process begins with an Object Init Packet and an Object Link packet, the main data is send through an [[RCNO03|'''RCNO03''']] and an [[RCNO06|'''RCNO06''']] packet and the creation process is ended through an [[RCNO08|'''RCNOO8''']], [[RCNO09|'''RCNO09''']], an object finish and a Posture update Packet.
  
ea b7 e9 33 18 00 00 00          ID of the created Item / resource
+
There are still some parts of the [[RCNO03|'''RCNO03''']] and [[RCNO06|'''RCNO06''']] which are not figured out yet, though as far as I can see they are hopefully not that important.
  
96 5c 2b 03 18 00 00 00          ID of the players Inventory / or the backpack, or the hopper.......
+
Please note that -like with everything- these packets can be send standalone in an 00 09 or in the pack as an 00 19. to make this a bit clearer I seperate them as single packets. I did not include the headers though (00 09 wx yz and crc at the end) because thats getting redundant.
  
ff ff ff ff                      ???? in the creos the value is 4 in the NGE Logs Ive seen ff ff ff ff .....
+
The object init Packet contains the ID of the newly created - (resource) Item, the crc of the item to be displayed and its location and orientation in the world should it not happen to be in the inventory / backpack.
  
</pre>
+
Initialization of the Object starts through sending the [[SceneCreateObjectByCrc|'''SceneCreateObjectByCrc''']] the crc sent is the crc of the displayed resource container.
}}
+
  
[[RCNO03|RCNO 3]]
+
The [[UpdateContainmentMessage|'''UpdateContainmentMessage''']] packet links the item to the container where its to be created in. This is either a backpack, an inventory, a hopper or a house.
  
[[RCNO06|RCNO 6]]
+
[[RCNO03|'''RCNO03''']]
  
[[RCNO08|RCNO 8]]
+
[[RCNO06|'''RCNO06''']]
  
[[RCNO09|RCNO 9]]
+
[[RCNO08|'''RCNO08''']]
  
the Object initialization will be will be completed through sending the
+
[[RCNO09|'''RCNO09''']]
  
[[SceneEndBaselines|SceneEndBaselines]]
+
the Object initialization will be will be completed through sending the [[SceneEndBaselines|'''SceneEndBaselines''']]

Latest revision as of 01:17, 29 November 2007

RCNO Packet Type QuickNav
RCNO / Resource Container Object
RCNO03 - RCNO06 - RCNO08 - RCNO09

DataFlow

 Client <-> Server Sequence: Resource Container Object

{{{2}}}

Description

Resources in the inventory are created through sending a set of Packets that is very similiar to those which are send for creating other items in the Inventory. The main difference is that resources are not created through CREO Packets but that for Resource Creation ONCR Packets are used.

The creation process begins with an Object Init Packet and an Object Link packet, the main data is send through an RCNO03 and an RCNO06 packet and the creation process is ended through an RCNOO8, RCNO09, an object finish and a Posture update Packet.

There are still some parts of the RCNO03 and RCNO06 which are not figured out yet, though as far as I can see they are hopefully not that important.

Please note that -like with everything- these packets can be send standalone in an 00 09 or in the pack as an 00 19. to make this a bit clearer I seperate them as single packets. I did not include the headers though (00 09 wx yz and crc at the end) because thats getting redundant.

The object init Packet contains the ID of the newly created - (resource) Item, the crc of the item to be displayed and its location and orientation in the world should it not happen to be in the inventory / backpack.

Initialization of the Object starts through sending the SceneCreateObjectByCrc the crc sent is the crc of the displayed resource container.

The UpdateContainmentMessage packet links the item to the container where its to be created in. This is either a backpack, an inventory, a hopper or a house.

RCNO03

RCNO06

RCNO08

RCNO09

the Object initialization will be will be completed through sending the SceneEndBaselines