Radial Menu (Sequence)

From SWGANH Wiki
Jump to: navigation, search
  • On clicking on an item the client sends a Packet to the server, which responds with specifics to the radial menu which is then shown by the client.
  • If the client does not receive a response to his numbered request, the standard radial menu for the item will be shown and the request will be resend until an answer is received.
  • In the CU and NGE Packets I have seen the server response always included the standard radial choices. If the standard choices in the server response are not send, the Client will show the standard choices nevertheless, but the choice count in the radial menu will begin for the added options with 1 again.
  • eg 1) unequip 2) examine 3)destroy 1)attack 2)invite to group 3) open in new window


Client Packet for opening radial menu

   [UINT16] 00 09                  Data Channel A

   [UINT16] [UINT16]               Server Sequence Opcode 1

   [UINT32] 46 5e ce 80            Opcode

   [UINT32] 23 00 00 00	           Int 1

   [UINT32] 46 01 00 00	           Int 2 -> Radial

   [UINT64]                        Player ID

   00 00 00 00 		           unknown

   3e dc 1f ab 11 00 00 00         Item ID

   95 5c 2b 03 18 00 00 00         Again Player ID

   03 00 00 00                     Counter for the options of the Radial Menu

   01 00 14 01 00 00 00 00         Options for Radial Menu Item 1

         [UINT8] 01                Nr - this is radial Menu item

         [UINT8] 00                If a submenu, this lists the parent Menu Item.

         [UINT8] 14                the menu item to be displayed

         [UINT8] 01                Type of some sort - 1 is a standard Radial menu type from the item list
                                   If edited the server sends a 3 at this place
                                   3 is a textually specified item 

         [UINT32]length            Length of text following an option 3 (0 for option 1)
         [UNICODE STRING]          For an option of type 3, will be a uincode string detailing the stringtable
                                   where the text to be displayed  is referencedn (i.e. @ui_radial:item_use)
                                   where @ stands for string/en/

   02 00 07 01 00 00 00 00         options for radial menu item 2

   03 00 0e 01 00 00 00 00         ......

   01                              counter of radial Packets send, so the client is able to match the                                               

                                   response accordingly

   6b 9d                           CRC


Server Response Packet for opening Radial Menu


  09 00                                   Opcode 1 - Data Channel A

  ab cd                                   Server Packet Count

  46 5E CE 80 				  Opcode 2

  0B 00 00 00                             Int 1

  47 01 00 00                             Int 2 

  F5 E5 C8 91 0D 00 00 00 		  Player ID

  00 00 00 00 				  4 bytes unknown

  CA 5B 90 19 17 00 00 00 		  Item ID

  F5 E5 C8 91 0D 00 00 00                 again Player ID

  [UINT32                                 counter for the radial items to be displayed

                                          description for radial item 

           [UINT8]                        Counter - thats radial item Nr 1..2..3..4
           [UINT8]                        If this is a submenu here is the itemnumber of the parent

           [UINT8]                        thats the Nr of the item to be displayed -

           [UINT8]                        If modified by the server this is 3, else 1

           [UINT32] Count                 Length of the UNICODE String, 0 if no string

           [STRING] Unicode               Optional, if used points to the Stringtable, See above

  (further items)

  [UINT8]                                 Radial Sequence of the corresponding client Pack

Radial Menu Items

This table comes from the client files. Specifically: datatables/player/radial_menu.iff

Type Caption Range Command useRadialTarget
0 UNKNOWN 0 1
1 COMBAT_TARGET 128 1
2 COMBAT_UNTARGET 128 1
3 COMBAT_ATTACK 128 attack 1
4 COMBAT_PEACE 128 peace 1
5 COMBAT_DUEL 128 duel 1
6 COMBAT_DEATH_BLOW 4 deathBlow 1
7 EXAMINE 128 examine 1
8 TRADE_START 8 trade 1
9 TRADE_ACCEPT 8 tradeAccept 1
10 ITEM_PICKUP 6 pickup 1
11 ITEM_EQUIP 6 equip 1
12 ITEM_UNEQUIP
13 ITEM_DROP
14 ITEM_DESTROY
15 ITEM_TOKEN
16 ITEM_OPEN
17 ITEM_OPEN_NEW_WINDOW
18 ITEM_ACTIVATE
19 ITEM_DEACTIVATE
20 ITEM_USE
21 ITEM_USE_SELF
22 ITEM_USE_OTHER
23 ITEM_SIT
24 ITEM_MAIL
25 CONVERSE_START
26 CONVERSE_RESPOND
27 CONVERSE_RESPONSE
28 CONVERSE_STOP
29 CRAFT_OPTIONS
30 CRAFT_START
31 CRAFT_HOPPER_INPUT
32 CRAFT_HOPPER_OUTPUT
33 MISSION_TERMINAL_LIST
34 MISSION_DETAILS
35 LOOT
36 LOOT_ALL
37 GROUP_INVITE
38 GROUP_JOIN
39 GROUP_LEAVE
40 GROUP_KICK
41 GROUP_DISBAND
42 GROUP_DECLINE
43 EXTRACT_OBJECT
44 PET_CALL
45 TERMINAL_AUCTION_USE
46 CREATURE_FOLLOW
47 CREATURE_STOP_FOLLOW
48 SPLIT
49 IMAGEDESIGN
50 SET_NAME
51 ITEM_ROTATE
52 ITEM_ROTATE_RIGHT
53 ITEM_ROTATE_LEFT
54 ITEM_MOVE
55 ITEM_MOVE_FORWARD
56 ITEM_MOVE_BACK
57 ITEM_MOVE_UP
58 ITEM_MOVE_DOWN
59 PET_STORE
60 VEHICLE_GENERATE
61 VEHICLE_STORE
62 MISSION_ABORT
63 MISSION_END_DUTY
64 SHIP_MANAGE_COMPONENTS
65 WAYPOINT_AUTOPILOT
66 PROGRAM_DROID
67 SERVER_DIVIDER
68 SERVER_MENU1
69 SERVER_MENU2
70 SERVER_MENU3
71 SERVER_MENU4
72 SERVER_MENU5
73 SERVER_MENU6
74 SERVER_MENU7
75 SERVER_MENU8
76 SERVER_MENU9
77 SERVER_MENU10
78 SERVER_HARVESTER_MANAGE
79 SERVER_HOUSE_MANAGE
80 SERVER_FACTION_HALL_MANAGE
81 SERVER_HUE
82 SERVER_OBSERVE
83 SERVER_STOP_OBSERVING
84 SERVER_TRAVEL_OPTIONS
85 SERVER_BAZAAR_OPTIONS
86 SERVER_SHIPPING_OPTIONS
87 SERVER_HEAL_WOUND
88 SERVER_HEAL_WOUND_HEALTH
89 SERVER_HEAL_WOUND_ACTION
90 SERVER_HEAL_WOUND_STRENGTH
91 SERVER_HEAL_WOUND_CONSTITUTION
92 SERVER_HEAL_WOUND_QUICKNESS
93 SERVER_HEAL_WOUND_STAMINA
94 SERVER_HEAL_DAMAGE
95 SERVER_HEAL_STATE
96 SERVER_HEAL_STATE_STUNNED
97 SERVER_HEAL_STATE_BLINDED
98 SERVER_HEAL_STATE_DIZZY
99 SERVER_HEAL_STATE_INTIMIDATED
100 SERVER_HEAL_ENHANCE
101 SERVER_HEAL_ENHANCE_HEALTH
102 SERVER_HEAL_ENHANCE_ACTION
103 SERVER_HEAL_ENHANCE_STRENGTH
104 SERVER_HEAL_ENHANCE_CONSTITUTION
105 SERVER_HEAL_ENHANCE_QUICKNESS
106 SERVER_HEAL_ENHANCE_STAMINA
107 SERVER_HEAL_FIRSTAID
108 SERVER_HEAL_CURE_POISON
109 SERVER_HEAL_CURE_DISEASE
110 SERVER_HEAL_APPLY_POISON
111 SERVER_HEAL_APPLY_DISEASE
112 SERVER_HARVEST_CORPSE
113 SERVER_PERFORMANCE_LISTEN
114 SERVER_PERFORMANCE_WATCH
115 SERVER_PERFORMANCE_LISTEN_STOP
116 SERVER_PERFORMANCE_WATCH_STOP
117 SERVER_TERMINAL_PERMISSIONS
118 SERVER_TERMINAL_MANAGEMENT
119 SERVER_TERMINAL_PERMISSIONS_ENTER
120 SERVER_TERMINAL_PERMISSIONS_BANNED
121 SERVER_TERMINAL_PERMISSIONS_ADMIN
122 SERVER_TERMINAL_PERMISSIONS_VENDOR
123 SERVER_TERMINAL_PERMISSIONS_HOPPER
124 SERVER_TERMINAL_MANAGEMENT_STATUS
125 SERVER_TERMINAL_MANAGEMENT_PRIVACY
126 SERVER_TERMINAL_MANAGEMENT_TRANSFER
127 SERVER_TERMINAL_MANAGEMENT_RESIDENCE
128 SERVER_TERMINAL_MANAGEMENT_DESTROY
129 SERVER_TERMINAL_MANAGEMENT_PAY
130 SERVER_TERMINAL_CREATE_VENDOR
131 SERVER_GIVE_VENDOR_MAINTENANCE
132 SERVER_ITEM_OPTIONS
133 SERVER_SURVEY_TOOL_RANGE
134 SERVER_SURVEY_TOOL_RESOLUTION
135 SERVER_SURVEY_TOOL_CLASS
136 SERVER_PROBE_DROID_TRACK_TARGET
137 SERVER_PROBE_DROID_FIND_TARGET
138 SERVER_PROBE_DROID_ACTIVATE
139 SERVER_PROBE_DROID_BUY
140 SERVER_TEACH
141 PET_COMMAND
142 PET_FOLLOW
143 PET_STAY
144 PET_GUARD
145 PET_FRIEND
146 PET_ATTACK
147 PET_PATROL
148 PET_GET_PATROL_POINT
149 PET_CLEAR_PATROL_POINTS
150 PET_ASSUME_FORMATION_1
151 PET_ASSUME_FORMATION_2
152 PET_TRANSFER
153 PET_RELEASE
154 PET_TRICK_1
155 PET_TRICK_2
156 PET_TRICK_3
157 PET_TRICK_4
158 PET_GROUP
159 PET_TAME
160 PET_FEED
161 PET_SPECIAL_ATTACK_ONE
162 PET_SPECIAL_ATTACK_TWO
163 PET_RANGED_ATTACK
164 DICE_ROLL
165 DICE_TWO_FACE
166 DICE_THREE_FACE
167 DICE_FOUR_FACE
168 DICE_FIVE_FACE
169 DICE_SIX_FACE
170 DICE_SEVEN_FACE
171 DICE_EIGHT_FACE
172 DICE_COUNT_ONE
173 DICE_COUNT_TWO
174 DICE_COUNT_THREE
175 DICE_COUNT_FOUR
176 CREATE_BALLOT
177 VOTE
178 BOMBING_RUN
179 SELF_DESTRUCT
180 THIRTY_SEC
181 FIFTEEN_SEC
182 SERVER_CAMP_DISBAND
183 SERVER_CAMP_ASSUME_OWNERSHIP
184 SERVER_PROBE_DROID_PROGRAM
185 SERVER_GUILD_CREATE
186 SERVER_GUILD_INFO
187 SERVER_GUILD_MEMBERS
188 SERVER_GUILD_SPONSORED
189 SERVER_GUILD_ENEMIES
190 SERVER_GUILD_SPONSOR
191 SERVER_GUILD_DISBAND
192 SERVER_GUILD_NAMECHANGE
193 SERVER_GUILD_GUILD_MANAGEMENT
194 SERVER_GUILD_MEMBER_MANAGEMENT
195 SERVER_MANF_HOPPER_INPUT
196 SERVER_MANF_HOPPER_OUTPUT
197 SERVER_MANF_STATION_SCHEMATIC
198 ELEVATOR_UP
199 ELEVATOR_DOWN
200 SERVER_PET_OPEN
201 SERVER_PET_DPAD
202 SERVER_MED_TOOL_DIAGNOSE
203 SERVER_MED_TOOL_TENDWOUND
204 SERVER_MED_TOOL_TENDDAMAGE
205 SERVER_PET_MOUNT
206 SERVER_PET_DISMOUNT
207 SERVER_PET_TRAIN_MOUNT
208 SERVER_VEHICLE_ENTER
209 SERVER_VEHICLE_EXIT
210 OPEN_NAVICOMP_DPAD
211 INIT_NAVICOMP_DPAD
212 CITY_STATUS
213 CITY_CITIZENS
214 CITY_STRUCTURES
215 CITY_TREASURY
216 CITY_MANAGEMENT
217 CITY_NAME
218 CITY_MILITIA
219 CITY_TAXES
220 CITY_TREASURY_DEPOSIT
221 CITY_TREASURY_WITHDRAW
222 CITY_REGISTER
223 CITY_RANK
224 CITY_ADMIN_1
225 CITY_ADMIN_2
226 CITY_ADMIN_3
227 CITY_ADMIN_4
228 CITY_ADMIN_5
229 CITY_ADMIN_6
230 MEMORY_CHIP_PROGRAM
231 MEMORY_CHIP_TRANSFER
232 MEMORY_CHIP_ANALYZE
233 EQUIP_DROID_ON_SHIP