Files
Client_RPG/ui.cs
T

73 lines
1.4 KiB
C#

// 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();
}
}