Repository navigation
Menus
Everything is in one menu: !vip. !vip_manage and !gunmenu open a page of it.
VIP !vip
├─ Perks your features, each with what it gives (VIPs)
├─ Customize the choices features offer (VIPs, with VIP_Fov or VIP_Tag)
├─ Gun menu a free loadout !gunmenu (VIP_GunMenu)
├─ VIP users (N) every VIP this server sees !vip_manage (vipcore.manage)
│ ├─ All (N)
│ └─ <group> (N) the VIPs holding that group
└─ Grant VIP player, then group, length and scope (vipcore.manage)
A row appears only for players who can use it. Module pages sit after Customize.
The features the player's group grants, in the order its Values names them — VIP Groups.
| Row | Shows |
|---|---|
| A feature that switches | Name, a line on what it gives, and on or off. Select to switch |
| A feature with choices | Name and the choice in use, such as Field of View [110]. Select to open its choices |
Choices are kept with Cookies, so they survive a rejoin.
| Row | Shows |
|---|---|
| A feature's name | Heading over its choices |
| A choice | The choice and a line on it. The one in use ends in *
|
All (N) lists every VIP; <group> (N) the VIPs holding that group. A page leads with the selected VIP's grants — the first VIP's when it opens — then lists the VIPs.
| Row | Shows |
|---|---|
<group> (<scope>) - until <date> |
One of the selected VIP's grants, or Permanent. Select to show its controls |
+1 day, +1 week, +1 month, +3 months, +1 year
|
Extend that grant. Off for a permanent grant |
| Make permanent | |
| Remove | Remove that grant |
| Add group | Open Grant VIP for this player, at the group step |
| Remove all | Remove all the player's grants |
<name> - <groups>, <expiry> |
A VIP. Select to show their grants |
A month is 30 days, a year 365. Every action is checked against vipcore.manage again.
One choice a page. Selecting a row opens the next page; Back returns to the one before.
| Page | Title | Rows |
|---|---|---|
| Player | Grant VIP | The players online, by name. Bots are left out |
| Group | Group for <player> |
The configured groups, lightest first |
| Length | <group> for <player> |
The lengths, then Permanent |
| Scope | <group> for <player>, <length> |
This server, All servers. Selecting one grants the VIP — Database |
After a grant, the menu returns to the player list, or to VIP users when it started from Add group. An offline player who already holds VIP is reached through Add group on VIP users; anyone else offline, with !vip_adduser or !vip_addglobal.
The lengths follow TimeMode:
TimeMode |
Lengths |
|---|---|
0 |
1 hour, 1 day, 1 week, 1 month, 3 months, 1 year |
1 |
30 minutes, 1 hour, 2 hours, 1 day, 1 week, 1 month |
2 |
1 hour, 2 hours, 6 hours, 12 hours, 1 day, 1 week, 1 month |
3 |
1 day, 1 week, 2 weeks, 1 month, 3 months, 1 year |
Defaults: Shift up, F down, E select, Tab close.
Change them in SwiftlyS2's configs/menus/menus.jsonc (template: menus.example.jsonc), not in any VIPCore file:
| Block | Applies to |
|---|---|
"core.menu" |
Every menu |
A menu id, such as "vipcore.perks"
|
That menu |
VIPCore's ids: vipcore.hub, vipcore.perks, vipcore.customize, vipcore.users, vipcore.users.list, vipcore.users.list.<group>, vipcore.grant, vipcore.grant.group, vipcore.grant.length, vipcore.grant.scope. VIP_GunMenu's page is vipcore.gun-menu.
Keys work with the Buttons input method. With Chat, players type !1, !2, …
FreezeMenu freezes a player on the VIP menu, Perks and Customize; FreezeAdminMenu on VIP users and Grant VIP. Module pages don't freeze.
Add choices to Customize with RegisterFeatureOptions, or a page of your own with RegisterMenuPage — see API Integration.