Difference between revisions of "MSCO07"

From SWGANH Wiki
Jump to: navigation, search
(BaseLine Struct)
(Deltas Struct)
Line 220: Line 220:
 
===Deltas Struct===
 
===Deltas Struct===
 
----
 
----
There's one delta I'm aware of that is sent after a slot has been filled.
+
Iv written the deltas part numbers in the baseline above.
In NGE the var 6 (byte) is filled with the amount of filled slots.
+
This Packet is to huge as that one could make sense of it without structure.
In precu it is var 5
+
Thus the Delta parts themselves are further divided into - lets call them - slotspots
 +
 
 +
For every slot there is a 3Byte slotspot in the Deltapart, save part 7, where the byte stale flag (??) is.
 +
So that every slotspot can be modified on its own and the monster gets more palateable the slotspots '''must''' be inserted.
 +
Think of it as a kind of FlowControl.
 +
 
 +
So to set the amount of resource that got filled into the first slot :
  
 
<pre>
 
<pre>
 +
//Nr of Parts we edit
 +
01 00
 +
 +
//Part
 +
03 00                Part 3
 +
 +
// Slotspot 02 0X 00
 +
02                  is either 1 or two, probably a flag that sets a local or global value???
 +
                    should be 2 however in case of editing slots
 +
 +
00                  This is the number of the slot that gets modified ie the listnumber
 +
 +
00                  must be zero else the change will be ignored
 +
 +
01 00 00 00          theres one listentry
 +
 +
08 00 00 00          we enter 8 ResourceUnits in the Slot
 
</pre>
 
</pre>
 
|valign=top|
 
|valign=top|

Revision as of 17:03, 2 April 2007

MSCO Packet Type QuickNav
MSCO03 - MSCO06 - MSCO07 - MSCO08 - MSCO09


BaseLine Struct


Few bytes left to figure out on this one.

SHORT:          Operand Count
//Part 0
INT:            Slot Counter
INT:            Update Counter
{
   A_STRING:        Slot String Lookup Directory
   INT:             Unknown
   A_STRING:        Slot Name
}
//Part 1
INT:            Counter 1
INT:            Update Counter
{
   INT:             Unknown, must be 4 if slot is filled
}
//Part 2
INT:            Counter 2
INT:            Update Counter
{
   //here go the ingredient IDs
   INT:             Counter for IngredientID
   {
      LONG:         ingredient ID
   }
}
//Part 3
INT:            Counter 3
INT:            Update Counter
{
   INT:             Counter for Ingredient Amount 
   {
      INT:          amount of ingredient filled into slot
   }
}
//Part 4
INT:            Counter 4
INT:            Update Counter
{
   INT:             Unknown
}
//Part 5
INT:            Counter 
INT:            Update Counter
{
   INT:             Unknown
}
//Part 6
INT:            Counter 
INT:            Update Counter
{
   INT:             Unknown
}

//Part 7
BYTE:           some sort of stale flag probably not used

//Part 8 Experimentation Attributes
INT:            Counter 
INT:            Update Counter
{
   A_STRING:        dir to look up string (crafting)
   INT:             unknown
   A_STRING:        Areas of Experimentation for the item
                    eg expEffectiveness; expRange
}

//Part 9 Experimentation attributes Values
INT:            Counter 
INT:            Update Counter
{
   FLOAT:             Experimentation Attribute Value
}

//Part 10 not tested yet
INT:            Counter 
INT:            Update Counter
{
   INT:             Unknown
}

//Part 11 Assembly Attributes Values : -> taken times 2 (!!!) ?????
INT:            Counter 
INT:            Update Counter
{
   FLOAT:             Assembly Attribute Value
}

//Part 12 Max reachable Experimentation Attribute Value 
INT:            Counter 
INT:            Update Counter
{
   FLOAT:             Max Experimentation Attribute Value
}

//Part 18 unknown yet
INT:            Counter 
INT:            Update Counter
{
   FLOAT:             failure probability given as 0.0 to 100.0
}




baseline


10 
01 00 00 00 
01 00 00 00 

crafting

00 00 00 00 
expEffectiveness

01 00 00 00 
01 00 00 00 

00 00 00 00 
01 00 00 00 
01 00 00 00 
00 00 00 00 

01 00 00 00 
01 00 00 00 
00 00 00 00 
01 00 00 00 
01 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 




delta : 

01 00 
05 00 00 00 
05 00 00 00 

01 00 00 
00 00 00 00 
01 01 00 
00 00 00 00 
01 02 00 
00 00 00 00 
01 03 00 
00 00 00 00 
02 03 00 
04 00 00 00 

02 00 
05 00        ................
00 00 05 00 00 00 01 00 00 00 00 00 00 01 01 00        ................
00 00 00 00 01 02 00 00 00 00 00 01 03 00 00 00        ................
00 00 02 03 00 01 00 00 00 52 11 72 22 1B 00 00        .........R.r"...
00 03 00 05 00 00 00 05 00 00 00 01 00 00 00 00        ................
00 00 01 01 00 00 00 00 00 01 02 00 00 00 00 00        ................
01 03 00 00 00 00 00 02 03 00 01 00 00 00 04 00        ................
00 00 04 00 04 00 00 00 04 00 00 00 01 00 00 00        ................
00 00 00 01 01 00 00 00 00 00 01 02 00 00 00 00        ................
00 01 03 00 00 00 00 00 05 00 05 00 00 00 05 00        ................
00 00 01 00 00 FF FF FF FF 01 01 00 FF FF FF FF        ................
01 02 00 FF FF FF FF 01 03 00 FF FF FF FF 02 03        ................
00 00 00 00 00 06 00 08 00 00 00 08 00 00 00 01        ................
00 00 FF FF FF FF 02 00 00 00 00 00 00 ED A0           ...............

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Packet: 409  Time: 28 s

TransOp:[0]

Frag A

195.33.138.98:44463 -> 192.168.2.103:3102(Server -> Client)
Enc: T   Comp: T    Seed: 0xF73F6B0D    Length: 167

00 0D 07 BF 01 01 00 FF FF FF FF 02 01 00 01 00        ................
00 00 01 02 00 FF FF FF FF 02 02 00 02 00 00 00        ................
01 03 00 FF FF FF FF 02 03 00 03 00 00 00 07 00        ................
14 08 00 01 00 00 00 01 00 00 00 01 00 00 08 00        ................
63 72 61 66 74 69 6E 67 00 00 00 00 10 00 65 78        crafting......ex
70 45 66 66 65 63 74 69 76 65 6E 65 73 73 09 00        pEffectiveness..
01 00 00 00 01 00 00 00 01 00 00 00 00 00 00 0A        ................
00 01 00 00 00 01 00 00 00 01 00 00 00 00 00 00        ................
0B 00 01 00 00 00 01 00 00 00 01 00 00 00 00 00        ................
00 0C 00 01 00 00 00 01 00 00 00 01 00 00 00 00        ................
00 00 14 00 01 AB FB   

Deltas Struct


Iv written the deltas part numbers in the baseline above. This Packet is to huge as that one could make sense of it without structure. Thus the Delta parts themselves are further divided into - lets call them - slotspots

For every slot there is a 3Byte slotspot in the Deltapart, save part 7, where the byte stale flag (??) is. So that every slotspot can be modified on its own and the monster gets more palateable the slotspots must be inserted. Think of it as a kind of FlowControl.

So to set the amount of resource that got filled into the first slot :

//Nr of Parts we edit
01 00

//Part
03 00                Part 3

// Slotspot 02 0X 00
02                   is either 1 or two, probably a flag that sets a local or global value???
                     should be 2 however in case of editing slots

00                   This is the number of the slot that gets modified ie the listnumber

00                   must be zero else the change will be ignored

01 00 00 00          theres one listentry 

08 00 00 00          we enter 8 ResourceUnits in the Slot

Variable Descriptions


Obj_OperandCount =


Tags


75% This packet has been partially reversed.

S→C This packet originates on the server.

To Do