fix camera tick: CamTickOn on HUD; wheel zoom

This commit is contained in:
RallyBlock committed 2026-11-09 20:45:56 -05:00
1 parent dcdbdf8780
commit e42b2ed66b
4 files changed
+1296 -1233

No files matched your search

+18 -18
View File
@@ -1,18 +1,18 @@
# Client_RPG
Required client add-on for **GameMode_RPG**: top-down orbit camera, click-to-move/combat, HUD and `/rpg` window hotkeys.
Install into `Add-Ons/Client_RPG` (same folder name as on the server).
## Controls
| Input | Action |
|---|---|
| Left click | Walk / attack / interact (server resolves the ray) |
| Right click | Talk / context |
| A/D, arrows | Rotate camera |
| PgUp/PgDn, +/- | Zoom |
| B / K / E | Bag / skills / equip lists |
| R | Toggle auto-retaliate |
Protocol version **2** — must match `GameMode_RPG` ui/protocol.cs.
# Client_RPG
Required client add-on for **GameMode_RPG**: top-down orbit camera, click-to-move/combat, HUD and `/rpg` window hotkeys.
Install into `Add-Ons/Client_RPG` (same folder name as on the server).
## Controls
| Input | Action |
|---|---|
| Left click | Walk / attack / interact (server resolves the ray) |
| Right click | Talk / context |
| A/D, arrows | Rotate camera |
| PgUp/PgDn, +/- | Zoom |
| B / K / E | Bag / skills / equip lists |
| R | Toggle auto-retaliate |
Protocol version **2** — must match `GameMode_RPG` ui/protocol.cs.
+1204 -1141
View File
File diff suppressed because it is too large. Load diff
+2 -2
View File
@@ -1,2 +1,2 @@
Client_RPG
Required client add-on for the GameMode_RPG realm: top-down camera, click-to-move and combat, and the RPG windows. Without it you can only spectate on an RPG server.
Client_RPG
Required client add-on for the GameMode_RPG realm: top-down camera, click-to-move and combat, and the RPG windows. Without it you can only spectate on an RPG server.
+72 -72
View File
@@ -1,72 +1,72 @@
// Client windows: hotkeys open /rpg lists; the server still validates every command.
$RPGClient::MenuOpen = 0;
function RPGClient_RunCmd(%cmd)
{
if (!isObject(ServerConnection))
{
return;
}
commandToServer('Message', "/rpg " @ %cmd);
}
function RPGClient_ToggleMenu(%name, %cmd)
{
if ($RPGClient::MenuOpen $= %name)
{
$RPGClient::MenuOpen = "";
return;
}
$RPGClient::MenuOpen = %name;
RPGClient_RunCmd(%cmd);
}
function RPGClient_Menu_Bag()
{
RPGClient_ToggleMenu("bag", "bag");
}
function RPGClient_Menu_Skills()
{
RPGClient_ToggleMenu("skills", "skills");
}
function RPGClient_Menu_Equip()
{
RPGClient_ToggleMenu("equip", "equip");
}
function RPGClient_Menu_Help()
{
RPGClient_RunCmd("help");
}
function RPGClient_Menu_Retaliate()
{
RPGClient_RunCmd("retaliate");
}
function RPGClient_BindKeys()
{
if (isObject(RPGClient_MenuMap))
{
RPGClient_MenuMap.delete();
}
new ActionMap(RPGClient_MenuMap);
RPGClient_MenuMap.bind(keyboard0, b, RPGClient_Menu_Bag);
RPGClient_MenuMap.bind(keyboard0, k, RPGClient_Menu_Skills);
RPGClient_MenuMap.bind(keyboard0, e, RPGClient_Menu_Equip);
RPGClient_MenuMap.bind(keyboard0, f1, RPGClient_Menu_Help);
RPGClient_MenuMap.bind(keyboard0, r, RPGClient_Menu_Retaliate);
RPGClient_MenuMap.push();
}
function RPGClient_UnbindKeys()
{
if (isObject(RPGClient_MenuMap))
{
RPGClient_MenuMap.pop();
RPGClient_MenuMap.delete();
}
}
// Client windows: hotkeys open /rpg lists; the server still validates every command.
$RPGClient::MenuOpen = 0;
function RPGClient_RunCmd(%cmd)
{
if (!isObject(ServerConnection))
{
return;
}
commandToServer('Message', "/rpg " @ %cmd);
}
function RPGClient_ToggleMenu(%name, %cmd)
{
if ($RPGClient::MenuOpen $= %name)
{
$RPGClient::MenuOpen = "";
return;
}
$RPGClient::MenuOpen = %name;
RPGClient_RunCmd(%cmd);
}
function RPGClient_Menu_Bag()
{
RPGClient_ToggleMenu("bag", "bag");
}
function RPGClient_Menu_Skills()
{
RPGClient_ToggleMenu("skills", "skills");
}
function RPGClient_Menu_Equip()
{
RPGClient_ToggleMenu("equip", "equip");
}
function RPGClient_Menu_Help()
{
RPGClient_RunCmd("help");
}
function RPGClient_Menu_Retaliate()
{
RPGClient_RunCmd("retaliate");
}
function RPGClient_BindKeys()
{
if (isObject(RPGClient_MenuMap))
{
RPGClient_MenuMap.delete();
}
new ActionMap(RPGClient_MenuMap);
RPGClient_MenuMap.bind(keyboard0, b, RPGClient_Menu_Bag);
RPGClient_MenuMap.bind(keyboard0, k, RPGClient_Menu_Skills);
RPGClient_MenuMap.bind(keyboard0, e, RPGClient_Menu_Equip);
RPGClient_MenuMap.bind(keyboard0, f1, RPGClient_Menu_Help);
RPGClient_MenuMap.bind(keyboard0, r, RPGClient_Menu_Retaliate);
RPGClient_MenuMap.push();
}
function RPGClient_UnbindKeys()
{
if (isObject(RPGClient_MenuMap))
{
RPGClient_MenuMap.pop();
RPGClient_MenuMap.delete();
}
}