fix camera tick: CamTickOn on HUD; wheel zoom
This commit is contained in:
1 parent
dcdbdf8780
commit
e42b2ed66b
4 files changed
+1296
-1233
No files matched your search
@@ -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.
|
||||
+2
-2
@@ -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.
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user