Radial Menu (Sequence)

From SWGANH Wiki
Revision as of 01:57, 3 August 2011 by ThePowerking (Talk | contribs)

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

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