Radial Menu (Sequence)
- 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
the 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 |
| 7 EXAMINE
|-
| 8 TRADE_START
| 9 TRADE_ACCEPT
| 10 ITEM_PICKUP
| 11 ITEM_EQUIP
|-
| 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
|}