SuiCreatePageMessage

From SWGANH Wiki
Jump to: navigation, search

Server Packet - SuiCreatePageMessage (D44B7259)

SWGANH Wiki is a repository of Star Wars Galaxies Developer information. This site is only meant to be used by SWGANH Developer team.

Struct


SHORT Opperand Count
INT opcode
INT window ID
A_STRING UI Script Name
INT List Size
BYTE Change Identifier
... ...
01:(ClearDataSource)
      INT:                WideParameters
      {
        USTRING:        Parameter
      }
      INT:                NarrowParameters
      {
        ASTRING:        Parameter
      }
    02:(AddChildWidget)
      INT:                WideParameters
      {
        USTRING:        Parameter
      }
      INT:                NarrowParameters
      {
        ASTRING:        Parameter
      }
    03:(SetProperty)
      INT:                WideParameters
      {
        USTRING:        Parameter
      }
      INT:                NarrowParameters
      {
        ASTRING:        Parameter
      }
    04:(AddDataItem)
      INT:                WideParameters
      {
        USTRING:        Parameter
      }
      INT:                NarrowParameters
      {
        ASTRING:        Parameter
      }
    05:(SubscribeToEventCallback+PropertySubscriptionsForEvent)
      INT:                WideParameters
      {
        USTRING:        Parameter
      }
      INT:                NarrowParameters
      {
        ASTRING:        Parameter
      }
    06:(AddDataSourceContainer)
      INT:                WideParameters
      {
        USTRING:        Parameter
      }
      INT:                NarrowParameters
      {
        ASTRING:        Parameter
      }
    07:(ClearDataSourceContainer)
      INT:                WideParameters
      {
        USTRING:        Parameter
      }
      INT:                NarrowParameters
      {
        ASTRING:        Parameter
      }
LONG Object Id
FLOAT Max Distance
LONG ??

Variable Descriptions


Operand_Count = 2

Opcode = D44B7259


  • Script Name = Script.Name -- ( <page Name="this is what goes after the .">
Note: Sometimes Script. needs to be omitted
  • window ID = Unique ID used to identify window in the SuiEventNotifaction packet
  • Change Identifier = Identifies change that is to be made to the *.inc file
  • New Variable Value = Unicode String of what the new value should be... this is always Unicode no matter variable type
  • Variable Location = In the .inc File you see <page Name="page1"> you would send page1. In the case of the variable being in a nested page tag EX: <page name="Page1"><page name="SubPage1"></page><page name="SubPage2"></page></page>Then you'd send Page1.SubPage1 or Page1.SubPage2
  • Variable To Be Changed = Variable at above location that is being modified.
  • @STF:StringName = The format to get strings from *.stf file.
EX: @guild:create_name_prompt is @string/en/guild.stf:create_name_prompt.


  • Object Id = Any object Id. Used for the Cui3dViewer widget
  • Max distance = The window is closed if the distance to object is greater than this value. Use 0 to allow any distance.
  • NOTE: There is more to this packet to explore!!!

Tags


S→C This packet originates on the server.

75% This packet has been partially reversed.


Comments


The \ui\*.inc files need to be studied while trying to understand this file. They contain the basic template of the ui box. The variables in that file get changed in order to customize the box to suit your needs.


Change Identifier

  • 01 - creates a new element
  • 02 - unknown
  • 03 - modifies a variable in an element
  • 04 - defines a variable in an element
  • 05 - defines script name and input type


NOTE: Input Boxes need to be better documented. The input box appears to need to be created with the packet.

Example Packet


Input Box Example

02 00                                            //WORLDUPDATE 
59 72 4B D4                                      //SuiCreatePageMessage 
83 52 02 00                                      //UI Window ID
0F 00                                            //String Size(15)
53 63 72 69 70 74 2E 69 6E 70 75 74 42 6F 78     //Script.inputBox
0C 00 00 00                                      //# of Variable Updates
//--------------------cmbInput Is Created Here----------------------------------
05           //change Identifier
00 00 00 00  //Number of Variable Changes  
07 00 00 00  //List Size
00 00        //unknown String 1
01 00 09     //unknown String 2 
19 00                                         //String Size(25) 
6F 6E 47 75 69 6C 64 43 72 65 61 74 65 4E 
61 6D 65 52 65 73 70 6F 6E 73 65              //onGuildCreateNameResponse
08 00                                         //String Size(8)
74 78 74 49 6E 70 75 74                       //txtInput
09 00                                         //String Size(9) 
4C 6F 63 61 6C 54 65 78 74                    //LocalText 
08 00                                         //String Size(8) 
63 6D 62 49 6E 70 75 74                       //cmbInput 
0C 00                                         //String Size(12)
53 65 6C 65 63 74 65 64 54 65 78 74           //SelectedText
//-----------------------cmbInput Is Created Here-------------------------------------------
05            //Change Identifier
00 00 00 00   //num of Variable Changes 
07 00 00 00   //list size
00 00         //unknown string 1 
01 00 0A      //unknown string 2
19 00                                         //String Size(25) 
6F 6E 47 75 69 6C 64 43 72 65 61 74 
65 4E 61 6D 65 52 65 73 70 6F 6E 73 65        //onGuildCreateNameResponse 
08 00                                         //String Size(8)
74 78 74 49 6E 70 75 74                       //txtInput
09 00                                         //String Size(9) 
4C 6F 63 61 6C 54 65 78 74                    //LocalText 
08 00                                         //String Size(8) 
63 6D 62 49 6E 70 75 74                       //cmbInput
0C 00                                         //String Size(12)
53 65 6C 65 63 74 65 64 54 65 78 74           //SelectedText
//------lblPromp's Text Is changed to string/en/guild.stf StringName:create_name_prompt-----------
03                                            //Change Type
01 00 00 00                                   //List Size
19 00 00 00                                   //UNICODE STRING SIZE(25) 
40 00 67 00 75 00 69 00 6C 00 64 00 
3A 00 63 00 72 00 65 00 61 00 74 00 
65 00 5F 00 6E 00 61 00 6D 00 65 00 
5F 00 70 00 72 00 6F 00 6D 00 70 00 74 00     //UNICODE (@guild:create_name_prompt)
02 00 00 00                                   //List Size
10 00                                         //String Size(16) 
50 72 6F 6D 70 74 2E 6C 62 6C 50 
72 6F 6D 70 74                                //Prompt.lblPrompt
04 00                                         //String Size(4)
54 65 78 74                                   //Text 
//-------------Title is changed to @guild:create_name_title-----------------------------------
03                                            //Change Type
01 00 00 00                                   //List Size
18 00 00 00                                   //UNICODE STRING SIZE(24)
40 00 67 00 75 00 69 00 6C 00 64 00 3A 00 
63 00 72 00 65 00 61 00 74 00 65 00 5F 00 
6E 00 61 00 6D 00 65 00 5F 00 74 00 69 00 
74 00 6C 00 65 00                             //UNICODE (@guild:create_name_title ) 
02 00 00 00                                   //List Size
13 00                                         //String Size(19) 
62 67 2E 63 61 70 74 69 6F 6E 2E 6C 62 6C 
54 69 74 6C 65                                //bg.caption.lblTitle 
04 00                                         //String Size(4) 
54 65 78 74                                   //Text
//------------Set Cancel Button to string/en/sui.stf StringName cancel------------
03                                            //Change Type
01 00 00 00                                   //List Size
07 00 00 00                                   //UNICODE STRING SIZE(7) 
40 00 63 00 61 00 6E 00 63 00 65 00 6C 00     //UNICODE (@cancel)
02 00 00 00                                   //List Size
09 00                                         //String Size(9) 
62 74 6E 43 61 6E 63 65 6C                    //btnCancel 
04 00                                         //String Size(4) 
54 65 78 74                                   //Text 
//----------Set Ok Button to string/en/sui.stf StringName ok-----------------------
03                                            //Change Type
01 00 00 00                                   //List Size 
03 00 00 00                                   //UNICODE STRING SIZE(3) 
40 00 6F 00 6B 00                             //@ok
02 00 00 00                                   //List Size
05 00                                         //String Size(5)
62 74 6E 4F 6B                                //btnOk 
04 00                                         //String Size(4)
54 65 78 74                                   //Text 
//---------------This Enables the Input Field-----------------------------------------
03                                           //Change Type
01 00 00 00                                  //List Size
04 00 00 00                                  //String Size(4)
74 00 72 00 75 00 65 00                      //true
02 00 00 00                                  //List Size
08 00                                        //String Size(8)
74 78 74 49 6E 70 75 74                      //txtInput 
07 00                                        //String Size(7) 
45 6E 61 62 6C 65 64                         //Enabled 
//-------------This Makes the Input Field Visable--------------------------------------
03                                           //Change Type
01 00 00 00                                  //List Size
04 00 00 00                                  //UNICODE STRING SIZE(4)
74 00 72 00 75 00 65 00                      //UNICODE (true)
02 00 00 00                                  //List Size 
08 00                                        //String Size(8)
74 78 74 49 6E 70 75 74                      //txtInput
07 00                                        //String Size(7)
56 69 73 69 62 6C 65                         //Visible 
//------------This disables The DropDown Box-----------------------------------------------
03                                          //Change Type
01 00 00 00                                 //List Size
05 00 00 00                                 //UNICODE STRING COUNT (5)
66 00 61 00 6C 00 73 00 65 00               //UNICODE (false)
02 00 00 00                                 //List Size
08 00                                       //String Size(8)
63 6D 62 49 6E 70 75 74                     //cmbInput 
07 00                                       //String Size(7)
45 6E 61 62 6C 65 64                        //Enabled
//------------This Removes the DropDown Box-------------------------------------------------
03                                         //Change Type
01 00 00 00                                //List Size
05 00 00 00                                //UNICODE STRING SIZE(5)
66 00 61 00 6C 00 73 00 65 00              //UNICODE (false)
02 00 00 00                                //List Size
08 00                                      //String Size(8)
63 6D 62 49 6E 70 75 74                    //cmbInput 
07 00                                      //String Size(7)
56 69 73 69 62 6C 65                       //Visible 
//------------Sets The Max Char Count to 127---------------------------------------------------
03                                         //Change Type
01 00 00 00                                //List Size
03 00 00 00                                //UNICODE STRING SIZE (3)
31 00 32 00 37 00                          //UNICODE (127)
02 00 00 00                                //List Size
08 00                                      //String Size(8)
74 78 74 49 6E 70 75 74                    //txtInput
09 00                                      //String Size(9)
4D 61 78 4C 65 6E 67 74 68                 //MaxLength
//-------------Sets cmbInput's Max Chat Count to 127---------------------------------- 
03                                         //Change Type
01 00 00 00                                //List Size
03 00 00 00                                //UNCIDE STRING SIZE (3)
31 00 32 00 37 00                          //UNICODE (127)
02 00 00 00                                //List Size
08 00                                      //String Size(8)
63 6D 62 49 6E 70 75 74                    //cmbInput
09 00                                      //String Size(9) 
4D 61 78 4C 65 6E 67 74 68                 //MaxLength
00 00 00 00 00 00 00 00                    //unk DATA 1
00 00 00 00                                //unk DATA 2
00 00 00 00 00 00 00 00                    //unk DATA 3

List Box Example

02 00                                        //WORLDUPDATE
59 72 4B D4                                  //SuiCreatePageMessage
83 5A 02 00                                  //Window ID
0E 00                                        //String Size(14)
53 63 72 69 70 74 2E 6C 69 73 74 42 6F 78    //Script.listBox
0B 00 00 00                                  //List Size, Number of Changes(11)
//---------------------------------
05                                                 //Change Type
00 00 00 00                                        //num of Variable Changes
07 00 00 00                                        //List Size
00 00                                              //Strange String 1
01 00 09                                           //Strange String 2
1F 00                                              //String Size(31)
6F 6E 47 75 69 6C 64 53 70 6F 6E 73 6F 72 65 64   
4F 70 74 69 6F 6E 73 52 65 73 70 6F 6E 73 65       //onGuildSponsoredOptionsResponse
0C 00                                              //String Size(12)
4C 69 73 74 2E 6C 73 74 4C 69 73 74                //List.lstList
0B 00                                              //String Size(11)
53 65 6C 65 63 74 65 64 52 6F 77                   //SelectedRow
13 00                                              //String Size(19)
62 67 2E 63 61 70 74 69 6F 6E 2E 6C 62 6C 54 69 74 6C 65   //bg.caption.lblTitle
04 00                                              //String Size(4)
54 65 78 74                                        //Text
//-----------------------------------------------------------
05                                                 //Change Type
00 00 00 00                                        //num of Variable Changes
07 00 00 00                                        //List Size
00 00                                              //Strange String 1
01 00 0A                                           //Strange String 2
1F 00                                              //String Size(31)
6F 6E 47 75 69 6C 64 53 70 6F 6E 73 6F 72 65 64   
4F 70 74 69 6F 6E 73 52 65 73 70 6F 6E 73 65       //onGuildSponsoredOptionsResponse
0C 00                                              //String Size(12)
4C 69 73 74 2E 6C 73 74 4C 69 73 74                //List.lstList
0B 00                                              //String Size(11)
53 65 6C 65 63 74 65 64 52 6F 77                   //SelectedRow
13 00                                              //String Size(19)
62 67 2E 63 61 70 74 69 6F 6E 2E 6C 62 6C 54 69 74 6C 65   //bg.caption.lblTitle
04 00                                              //String Size(4)
54 65 78 74                                        //Text
//---------------------------------------------
03                                                 //
01 00 00 00                                        //Component Count
1E 00 00 00                                        //UNICODE STRING SIZE(30)
40 00 67 00 75 00 69 00 6C 00 64 00 3A 00 73 00 
70 00 6F 00 6E 00 73 00 6F 00 72 00 65 00 64 00 
5F 00 6F 00 70 00 74 00 69 00 6F 00 6E 00 73 00 
5F 00 74 00 69 00 74 00 6C 00 65 00                //@guild:sponsored_options_title
02 00 00 00                                        //Component Count
13 00                                              //String Size(19)
62 67 2E 63 61 70 74 69 6F 6E 2E 6C 62 6C 54 69 74 6C 65  //bg.caption.lblTitle
04 00                                              //String Size(4)
54 65 78 74                                        //Text
//-------------------------------------------------
03
01 00 00 00                                        //Component Count
90 00 00 00                                        //UNICODE STRING SIZE(144)
53 00 70 00 6F 00 6E 00 73 00 6F 00 72 00 65 00 
64 00 20 00 66 00 6F 00 72 00 20 00 6D 00 65 00 
6D 00 62 00 65 00 72 00 73 00 68 00 69 00 70 00 
3A 00 20 00 52 00 6F 00 6B 00 69 00 67 00 20 00 
44 00 61 00 65 00 6C 00 61 00 27 00 2E 00 0A 00 
59 00 6F 00 75 00 20 00 6D 00 61 00 79 00 20 00 
61 00 63 00 63 00 65 00 70 00 74 00 20 00 74 00 
68 00 65 00 6D 00 20 00 69 00 6E 00 74 00 6F 00 
20 00 74 00 68 00 65 00 20 00 67 00 75 00 69 00 
6C 00 64 00 2C 00 20 00 64 00 65 00 63 00 6C 00 
69 00 6E 00 65 00 20 00 74 00 68 00 65 00 69 00 
72 00 20 00 6D 00 65 00 6D 00 62 00 65 00 72 00 
73 00 68 00 69 00 70 00 2C 00 20 00 6F 00 72 00 
20 00 63 00 61 00 6E 00 63 00 65 00 6C 00 20 00 
74 00 6F 00 20 00 6C 00 65 00 61 00 76 00 65 00    //Sponsored for membership: Rokig Daela
20 00 74 00 68 00 65 00 6D 00 20 00 75 00 6E 00    //You may accept them into the guild. 
63 00 68 00 61 00 6E 00 67 00 65 00 64 00 20 00    //decline their membership or 
66 00 6F 00 72 00 20 00 6E 00 6F 00 77 00 2E 00    //cancel to leave them unchanges for now.   
02 00 00 00                                        //Component Count
10 00                                              //String Size(16)
50 72 6F 6D 70 74 2E 6C 62 6C 50 72 6F 6D 70 74    //Prompt.lblPrompt
04 00                                              //String Size(4)
54 65 78 74                                        //Text
//------------------------------------------------
03
01 00 00 00                                        //Component Count
07 00 00 00                                        //UNICODE STRING SIZE(7)
40 00 63 00 61 00 6E 00 63 00 65 00 6C 00          //@cancel
02 00 00 00
09 00                                              //String Size(9)
62 74 6E 43 61 6E 63 65 6C                         //btnCancel
04 00                                              //String Size(4)
54 65 78 74                                        //Text
//--------------------------------
03
01 00 00 00                                        //Component Count
03 00 00 00                                        //UNICODE STRING SIZE(3)
40 00 6F 00 6B 00                                  //@ok
02 00 00 00
05 00                                              //String Size(5)
62 74 6E 4F 6B                                     //btnOk
04 00                                              //String Size(4)
54 65 78 74                                        //Text
//-----------------------------------------
01
00 00 00 00
01 00 00 00
0D 00                                              //String Size(13)
4C 69 73 74 2E 64 61 74 61 4C 69 73 74             //List.dataList
//------------------------------------------
04
01 00 00 00                                        //List Size
01 00 00 00                                        //UNICODE STRING SIZE (1)
30 00                                              //UNICODE ('0')
02 00 00 00                                        //Component Count
0D 00                                              //String Size(13)
4C 69 73 74 2E 64 61 74 61 4C 69 73 74             //List.dataList
04 00                                              //String Size(4)
4E 61 6D 65                                        //Name
//----------------------------------------
03
01 00 00 00                                        //Component Count
0D 00 00 00                                        //UNICODE STRING SIZE(13)
40 00 67 00 75 00 69 00 6C 00 64 00 3A 00
61 00 63 00 63 00 65 00 70 00 74 00                //@guild:accept
02 00 00 00                                        //Component Count
0F 00                                              //String Size(15)
4C 69 73 74 2E 64 61 74 61 4C 69 73 74 2E 30       //List.dataList.0
04 00                                              //String Size(4)
54 65 78 74                                        //Text
//----------------------------------------------------------
04
01 00 00 00
01 00 00 00                                       //UNICODE STRING SIZE(1)
31 00                                             //UNICODE(1)
02 00 00 00                                       //Component Count
0D 00                                             //String Size(13)
4C 69 73 74 2E 64 61 74 61 4C 69 73 74            //List.dataList
04 00                                             //String Size(4)
4E 61 6D 65                                       //Name
//-------------------------------------------------
03
01 00 00 00                                        //Component Count
0E 00 00 00                                        //UNICODE STRING SIZE(14)
40 00 67 00 75 00 69 00 6C 00 64 00 3A 00 64 00
65 00 63 00 6C 00 69 00 6E 00 65 00                //@guild:decline
02 00 00 00                                        //Component Count
0F 00                                              //String Size(15)
4C 69 73 74 2E 64 61 74 61 4C 69 73 74 2E 31       //List.dataList.1
04 00                                              //String Size(4)
54 65 78 74                                        //Text
//-----------------------------------------------------
00 00 00 00 00 00 00 00                            //unk DATA 1
00 00 00 00                                        //unk DATA 2
00 00 00 00 00 00 00 00                            //unk DATA 3


messageBox Example

02 00   								//WORLDUPDATE
59 72 4B D4  								//SuiCreatePageMessage 
83 84 02 00  								//Window ID
11 00 53 63 72 69 70 74 2E 6D 65 73 73 
61 67 65 42 6F 78   							//Script.messageBox
09 00 00 00 //Script Update List Size(9)
//---------------------------------
05 
00 00 00 00 
03 00 00 00 								//List Size
00 00 									//Strange String 3
01 00 09 								//Strange String 2
13 00 6F 6E 47 75 69 6C 64 49 6E 66 6F 52 65 
73 70 6F 6E 73 65  							//onGuildInfoResponse 
//------------------------------
05 
00 00 00 00 
03 00 00 00 //List Size
00 00 
01 00 0A 
13 00 6F 6E 47 75 69 6C 64 49 6E 66 6F 52 65 
73 70 6F 6E 73 65  							//onGuildInfoResponse 
//--------------------------------
03  
01 00 00 00 								//List Size
59 00 00 00  								//UNICODE STRING SIZE(89) 
47 00 75 00 69 00 6C 00 64 00 20 00 4E 00 61 00 6D 00 65 00 
3A 00 20 00 61 00 72 00 79 00 73 00 6C 00 61 00 74 00 20 00 
72 00 61 00 69 00 67 00 6E 00 65 00 0A 00 47 00 75 00 69 00 
6C 00 64 00 20 00 41 00 62 00 62 00 72 00 65 00 76 00 69 00 
61 00 74 00 69 00 6F 00 6E 00 3A 00 20 00 61 00 72 00 79 00 
73 00 0A 00 47 00 75 00 69 00 6C 00 64 00 20 00 4C 00 65 00 
61 00 64 00 65 00 72 00 3A 00 20 00 52 00 6F 00 6B 00 69 00 
67 00 20 00 44 00 61 00 65 00 6C 00 61 00 27 00 0A 00 4D 00 
65 00 6D 00 62 00 65 00 72 00 73 00 3A 00 20 00 32 00 
//UNICODE ('Guild Name: aryslat raigne Guild Abbreviation: arys Guild Leader: Rokig Daela' Members: 2')
02 00 00 00  								//List Size
10 00 50 72 6F 6D 70 74 2E 6C 62 6C 
50 72 6F 6D 70 74 							//Prompt.lblPrompt 
04 00 54 65 78 74   							//Text
//-----------------------------------------
03 
01 00 00 00 								//List Size
11 00 00 00 40 00 67 00 75 00 69 00 6C 00 
64 00 3A 00 69 00 6E 00 66 00 
6F 00 5F 00 74 00 69 00 74 00 6C 00 65 00 			        //UNICODE ('@guild:info_title')
02 00 00 00  								//List Size
13 00 62 67 2E 63 61 70 74 69 6F 6E 2E 6C 62 
6C 54 69 74 6C 65  							//bg.caption.lblTitle 
04 00 54 65 78 74  							//Text
//-----------------------------------------------
03 
01 00 00 00								//List Size
05 00 00 00 46 00 61 00 6C 00 73 00 65 00 			        //UNICODE ('False')
02 00 00 00 								//List Size
09 00 62 74 6E 52 65 76 65 72 74  					//btnRevert
07 00 45 6E 61 62 6C 65 64  						//Enabled 
//----------------------------------------------
03 
01 00 00 00 								//List Size
05 00 00 00 46 00 61 00 6C 00 73 00 65 00 			        //UNICODE('false')
02 00 00 00  								//List Size
09 00 62 74 6E 52 65 76 65 72 74  					//btnRevert 
07 00 56 69 73 69 62 6C 65   						//Visible
//----------------------------------------------
03 
01 00 00 00  								//List Size
05 00 00 00 46 00 61 00 6C 00 73 00 65 00 			        //UNICODE('False')
02 00 00 00  								//List Size
09 00 62 74 6E 43 61 6E 63 65 6C  					//btnCancel 
07 00 45 6E 61 62 6C 65 64  						//Enabled 
//-------------------------------------------------
03 
01 00 00 00  								//List Size
05 00 00 00 46 00 61 00 6C 00 73 00 65 00 			        //UNICODE('False')
02 00 00 00 								//List Size
09 00 62 74 6E 43 61 6E 63 65 6C  					//btnCancel 
07 00 56 69 73 69 62 6C 65  						//Visible 
//-----------------------------------------------------
03 
01 00 00 00 
03 00 00 00  								//List Size
40 00 6F 00 6B 00 							//UNICODE('@ok')
02 00 00 00  								//List Size
05 00 62 74 6E 4F 6B  							//btnOk
04 00 54 65 78 74   							//Text
//---------------------------------------------------
00 00 00 00 00 00 00 00 
00 00 00 00 
00 00 00 00 00 00 00 00