Move dynamicmenu.sp enum structs to transitional syntax.
This commit is contained in:
parent
53df09fbb7
commit
faa10f52a8
@ -54,27 +54,27 @@ enum SubMenu_Type
|
|||||||
SubMenu_OnOff
|
SubMenu_OnOff
|
||||||
}
|
}
|
||||||
|
|
||||||
enum Item
|
enum struct Item
|
||||||
{
|
{
|
||||||
String:Item_cmd[256],
|
char cmd[256];
|
||||||
ExecuteType:Item_execute,
|
ExecuteType execute;
|
||||||
ArrayList:Item_submenus
|
ArrayList submenus;
|
||||||
}
|
}
|
||||||
|
|
||||||
enum Submenu
|
enum struct Submenu
|
||||||
{
|
{
|
||||||
SubMenu_Type:Submenu_type,
|
SubMenu_Type type;
|
||||||
String:Submenu_title[32],
|
char title[32];
|
||||||
PlayerMethod:Submenu_method,
|
PlayerMethod method;
|
||||||
Submenu_listcount,
|
int listcount;
|
||||||
DataPack:Submenu_listdata
|
DataPack listdata;
|
||||||
}
|
}
|
||||||
|
|
||||||
ArrayList g_DataArray;
|
ArrayList g_DataArray;
|
||||||
|
|
||||||
void BuildDynamicMenu()
|
void BuildDynamicMenu()
|
||||||
{
|
{
|
||||||
int itemInput[Item];
|
Item itemInput;
|
||||||
g_DataArray = new ArrayList(sizeof(itemInput));
|
g_DataArray = new ArrayList(sizeof(itemInput));
|
||||||
|
|
||||||
char executeBuffer[32];
|
char executeBuffer[32];
|
||||||
@ -150,19 +150,19 @@ void BuildDynamicMenu()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
kvMenu.GetString("cmd", itemInput[Item_cmd], sizeof(itemInput[Item_cmd]));
|
kvMenu.GetString("cmd", itemInput.cmd, sizeof(itemInput.cmd));
|
||||||
kvMenu.GetString("execute", executeBuffer, sizeof(executeBuffer));
|
kvMenu.GetString("execute", executeBuffer, sizeof(executeBuffer));
|
||||||
|
|
||||||
if (StrEqual(executeBuffer, "server"))
|
if (StrEqual(executeBuffer, "server"))
|
||||||
{
|
{
|
||||||
itemInput[Item_execute] = Execute_Server;
|
itemInput.execute = Execute_Server;
|
||||||
}
|
}
|
||||||
else //assume player type execute
|
else //assume player type execute
|
||||||
{
|
{
|
||||||
itemInput[Item_execute] = Execute_Player;
|
itemInput.execute = Execute_Player;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* iterate all submenus and load data into itemInput[Item_submenus] (ArrayList) */
|
/* iterate all submenus and load data into itemInput.submenus (ArrayList) */
|
||||||
|
|
||||||
int count = 1;
|
int count = 1;
|
||||||
char countBuffer[10] = "1";
|
char countBuffer[10] = "1";
|
||||||
@ -171,11 +171,11 @@ void BuildDynamicMenu()
|
|||||||
|
|
||||||
while (kvMenu.JumpToKey(countBuffer))
|
while (kvMenu.JumpToKey(countBuffer))
|
||||||
{
|
{
|
||||||
int submenuInput[Submenu];
|
Submenu submenuInput;
|
||||||
|
|
||||||
if (count == 1)
|
if (count == 1)
|
||||||
{
|
{
|
||||||
itemInput[Item_submenus] = new ArrayList(sizeof(submenuInput));
|
itemInput.submenus = new ArrayList(sizeof(submenuInput));
|
||||||
}
|
}
|
||||||
|
|
||||||
kvMenu.GetString("type", inputBuffer, sizeof(inputBuffer));
|
kvMenu.GetString("type", inputBuffer, sizeof(inputBuffer));
|
||||||
@ -184,36 +184,36 @@ void BuildDynamicMenu()
|
|||||||
{
|
{
|
||||||
if (StrContains(inputBuffer, "player") != -1)
|
if (StrContains(inputBuffer, "player") != -1)
|
||||||
{
|
{
|
||||||
submenuInput[Submenu_type] = SubMenu_GroupPlayer;
|
submenuInput.type = SubMenu_GroupPlayer;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
submenuInput[Submenu_type] = SubMenu_Group;
|
submenuInput.type = SubMenu_Group;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (StrEqual(inputBuffer,"mapcycle"))
|
else if (StrEqual(inputBuffer,"mapcycle"))
|
||||||
{
|
{
|
||||||
submenuInput[Submenu_type] = SubMenu_MapCycle;
|
submenuInput.type = SubMenu_MapCycle;
|
||||||
|
|
||||||
kvMenu.GetString("path", inputBuffer, sizeof(inputBuffer),"mapcycle.txt");
|
kvMenu.GetString("path", inputBuffer, sizeof(inputBuffer),"mapcycle.txt");
|
||||||
|
|
||||||
submenuInput[Submenu_listdata] = new DataPack();
|
submenuInput.listdata = new DataPack();
|
||||||
submenuInput[Submenu_listdata].WriteString(inputBuffer);
|
submenuInput.listdata.WriteString(inputBuffer);
|
||||||
submenuInput[Submenu_listdata].Reset();
|
submenuInput.listdata.Reset();
|
||||||
}
|
}
|
||||||
else if (StrContains(inputBuffer, "player") != -1)
|
else if (StrContains(inputBuffer, "player") != -1)
|
||||||
{
|
{
|
||||||
submenuInput[Submenu_type] = SubMenu_Player;
|
submenuInput.type = SubMenu_Player;
|
||||||
}
|
}
|
||||||
else if (StrEqual(inputBuffer,"onoff"))
|
else if (StrEqual(inputBuffer,"onoff"))
|
||||||
{
|
{
|
||||||
submenuInput[Submenu_type] = SubMenu_OnOff;
|
submenuInput.type = SubMenu_OnOff;
|
||||||
}
|
}
|
||||||
else //assume 'list' type
|
else //assume 'list' type
|
||||||
{
|
{
|
||||||
submenuInput[Submenu_type] = SubMenu_List;
|
submenuInput.type = SubMenu_List;
|
||||||
|
|
||||||
submenuInput[Submenu_listdata] = new DataPack();
|
submenuInput.listdata = new DataPack();
|
||||||
|
|
||||||
char temp[6];
|
char temp[6];
|
||||||
char value[64];
|
char value[64];
|
||||||
@ -242,63 +242,63 @@ void BuildDynamicMenu()
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
listcount++;
|
listcount++;
|
||||||
submenuInput[Submenu_listdata].WriteString(value);
|
submenuInput.listdata.WriteString(value);
|
||||||
submenuInput[Submenu_listdata].WriteString(text);
|
submenuInput.listdata.WriteString(text);
|
||||||
submenuInput[Submenu_listdata].WriteString(subadm);
|
submenuInput.listdata.WriteString(subadm);
|
||||||
}
|
}
|
||||||
|
|
||||||
i++;
|
i++;
|
||||||
|
|
||||||
} while (more);
|
} while (more);
|
||||||
|
|
||||||
submenuInput[Submenu_listdata].Reset();
|
submenuInput.listdata.Reset();
|
||||||
submenuInput[Submenu_listcount] = listcount;
|
submenuInput.listcount = listcount;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((submenuInput[Submenu_type] == SubMenu_Player) || (submenuInput[Submenu_type] == SubMenu_GroupPlayer))
|
if ((submenuInput.type == SubMenu_Player) || (submenuInput.type == SubMenu_GroupPlayer))
|
||||||
{
|
{
|
||||||
kvMenu.GetString("method", inputBuffer, sizeof(inputBuffer));
|
kvMenu.GetString("method", inputBuffer, sizeof(inputBuffer));
|
||||||
|
|
||||||
if (StrEqual(inputBuffer, "clientid"))
|
if (StrEqual(inputBuffer, "clientid"))
|
||||||
{
|
{
|
||||||
submenuInput[Submenu_method] = ClientId;
|
submenuInput.method = ClientId;
|
||||||
}
|
}
|
||||||
else if (StrEqual(inputBuffer, "steamid"))
|
else if (StrEqual(inputBuffer, "steamid"))
|
||||||
{
|
{
|
||||||
submenuInput[Submenu_method] = SteamId;
|
submenuInput.method = SteamId;
|
||||||
}
|
}
|
||||||
else if (StrEqual(inputBuffer, "userid2"))
|
else if (StrEqual(inputBuffer, "userid2"))
|
||||||
{
|
{
|
||||||
submenuInput[Submenu_method] = UserId2;
|
submenuInput.method = UserId2;
|
||||||
}
|
}
|
||||||
else if (StrEqual(inputBuffer, "userid"))
|
else if (StrEqual(inputBuffer, "userid"))
|
||||||
{
|
{
|
||||||
submenuInput[Submenu_method] = UserId;
|
submenuInput.method = UserId;
|
||||||
}
|
}
|
||||||
else if (StrEqual(inputBuffer, "ip"))
|
else if (StrEqual(inputBuffer, "ip"))
|
||||||
{
|
{
|
||||||
submenuInput[Submenu_method] = IpAddress;
|
submenuInput.method = IpAddress;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
submenuInput[Submenu_method] = Name;
|
submenuInput.method = Name;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
kvMenu.GetString("title", inputBuffer, sizeof(inputBuffer));
|
kvMenu.GetString("title", inputBuffer, sizeof(inputBuffer));
|
||||||
strcopy(submenuInput[Submenu_title], sizeof(submenuInput[Submenu_title]), inputBuffer);
|
strcopy(submenuInput.title, sizeof(submenuInput.title), inputBuffer);
|
||||||
|
|
||||||
count++;
|
count++;
|
||||||
Format(countBuffer, sizeof(countBuffer), "%i", count);
|
Format(countBuffer, sizeof(countBuffer), "%i", count);
|
||||||
|
|
||||||
itemInput[Item_submenus].PushArray(submenuInput[0]);
|
itemInput.submenus.PushArray(submenuInput);
|
||||||
|
|
||||||
kvMenu.GoBack();
|
kvMenu.GoBack();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Save this entire item into the global items array and add it to the menu */
|
/* Save this entire item into the global items array and add it to the menu */
|
||||||
|
|
||||||
int location = g_DataArray.PushArray(itemInput[0]);
|
int location = g_DataArray.PushArray(itemInput);
|
||||||
|
|
||||||
char locString[10];
|
char locString[10];
|
||||||
IntToString(location, locString, sizeof(locString));
|
IntToString(location, locString, sizeof(locString));
|
||||||
@ -416,10 +416,10 @@ public void DynamicMenuItemHandler(TopMenu topmenu,
|
|||||||
|
|
||||||
int location = StringToInt(locString);
|
int location = StringToInt(locString);
|
||||||
|
|
||||||
int output[Item];
|
Item output;
|
||||||
g_DataArray.GetArray(location, output[0]);
|
g_DataArray.GetArray(location, output);
|
||||||
|
|
||||||
strcopy(g_command[param], sizeof(g_command[]), output[Item_cmd]);
|
strcopy(g_command[param], sizeof(g_command[]), output.cmd);
|
||||||
|
|
||||||
g_currentPlace[param][Place_Item] = location;
|
g_currentPlace[param][Place_Item] = location;
|
||||||
g_currentPlace[param][Place_ReplaceNum] = 1;
|
g_currentPlace[param][Place_ReplaceNum] = 1;
|
||||||
@ -433,10 +433,10 @@ public void ParamCheck(int client)
|
|||||||
char buffer[6];
|
char buffer[6];
|
||||||
char buffer2[6];
|
char buffer2[6];
|
||||||
|
|
||||||
int outputItem[Item];
|
Item outputItem;
|
||||||
int outputSubmenu[Submenu];
|
Submenu outputSubmenu;
|
||||||
|
|
||||||
g_DataArray.GetArray(g_currentPlace[client][Place_Item], outputItem[0]);
|
g_DataArray.GetArray(g_currentPlace[client][Place_Item], outputItem);
|
||||||
|
|
||||||
if (g_currentPlace[client][Place_ReplaceNum] < 1)
|
if (g_currentPlace[client][Place_ReplaceNum] < 1)
|
||||||
{
|
{
|
||||||
@ -448,12 +448,12 @@ public void ParamCheck(int client)
|
|||||||
|
|
||||||
if (StrContains(g_command[client], buffer) != -1 || StrContains(g_command[client], buffer2) != -1)
|
if (StrContains(g_command[client], buffer) != -1 || StrContains(g_command[client], buffer2) != -1)
|
||||||
{
|
{
|
||||||
outputItem[Item_submenus].GetArray(g_currentPlace[client][Place_ReplaceNum] - 1, outputSubmenu[0]);
|
outputItem.submenus.GetArray(g_currentPlace[client][Place_ReplaceNum] - 1, outputSubmenu);
|
||||||
|
|
||||||
Menu itemMenu = new Menu(Menu_Selection);
|
Menu itemMenu = new Menu(Menu_Selection);
|
||||||
itemMenu.ExitBackButton = true;
|
itemMenu.ExitBackButton = true;
|
||||||
|
|
||||||
if ((outputSubmenu[Submenu_type] == SubMenu_Group) || (outputSubmenu[Submenu_type] == SubMenu_GroupPlayer))
|
if ((outputSubmenu.type == SubMenu_Group) || (outputSubmenu.type == SubMenu_GroupPlayer))
|
||||||
{
|
{
|
||||||
char nameBuffer[ARRAY_STRING_LENGTH];
|
char nameBuffer[ARRAY_STRING_LENGTH];
|
||||||
char commandBuffer[ARRAY_STRING_LENGTH];
|
char commandBuffer[ARRAY_STRING_LENGTH];
|
||||||
@ -466,11 +466,11 @@ public void ParamCheck(int client)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (outputSubmenu[Submenu_type] == SubMenu_MapCycle)
|
if (outputSubmenu.type == SubMenu_MapCycle)
|
||||||
{
|
{
|
||||||
char path[200];
|
char path[200];
|
||||||
outputSubmenu[Submenu_listdata].ReadString(path, sizeof(path));
|
outputSubmenu.listdata.ReadString(path, sizeof(path));
|
||||||
outputSubmenu[Submenu_listdata].Reset();
|
outputSubmenu.listdata.Reset();
|
||||||
|
|
||||||
File file = OpenFile(path, "rt");
|
File file = OpenFile(path, "rt");
|
||||||
char readData[128];
|
char readData[128];
|
||||||
@ -488,9 +488,9 @@ public void ParamCheck(int client)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if ((outputSubmenu[Submenu_type] == SubMenu_Player) || (outputSubmenu[Submenu_type] == SubMenu_GroupPlayer))
|
else if ((outputSubmenu.type == SubMenu_Player) || (outputSubmenu.type == SubMenu_GroupPlayer))
|
||||||
{
|
{
|
||||||
PlayerMethod playermethod = outputSubmenu[Submenu_method];
|
PlayerMethod playermethod = outputSubmenu.method;
|
||||||
|
|
||||||
char nameBuffer[MAX_NAME_LENGTH];
|
char nameBuffer[MAX_NAME_LENGTH];
|
||||||
char infoBuffer[32];
|
char infoBuffer[32];
|
||||||
@ -540,7 +540,7 @@ public void ParamCheck(int client)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (outputSubmenu[Submenu_type] == SubMenu_OnOff)
|
else if (outputSubmenu.type == SubMenu_OnOff)
|
||||||
{
|
{
|
||||||
itemMenu.AddItem("1", "On");
|
itemMenu.AddItem("1", "On");
|
||||||
itemMenu.AddItem("0", "Off");
|
itemMenu.AddItem("0", "Off");
|
||||||
@ -552,11 +552,11 @@ public void ParamCheck(int client)
|
|||||||
|
|
||||||
char admin[NAME_LENGTH];
|
char admin[NAME_LENGTH];
|
||||||
|
|
||||||
for (int i=0; i<outputSubmenu[Submenu_listcount]; i++)
|
for (int i=0; i<outputSubmenu.listcount; i++)
|
||||||
{
|
{
|
||||||
outputSubmenu[Submenu_listdata].ReadString(value, sizeof(value));
|
outputSubmenu.listdata.ReadString(value, sizeof(value));
|
||||||
outputSubmenu[Submenu_listdata].ReadString(text, sizeof(text));
|
outputSubmenu.listdata.ReadString(text, sizeof(text));
|
||||||
outputSubmenu[Submenu_listdata].ReadString(admin, sizeof(admin));
|
outputSubmenu.listdata.ReadString(admin, sizeof(admin));
|
||||||
|
|
||||||
if (CheckCommandAccess(client, admin, 0))
|
if (CheckCommandAccess(client, admin, 0))
|
||||||
{
|
{
|
||||||
@ -564,10 +564,10 @@ public void ParamCheck(int client)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
outputSubmenu[Submenu_listdata].Reset();
|
outputSubmenu.listdata.Reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
itemMenu.SetTitle(outputSubmenu[Submenu_title]);
|
itemMenu.SetTitle(outputSubmenu.title);
|
||||||
|
|
||||||
itemMenu.Display(client, MENU_TIME_FOREVER);
|
itemMenu.Display(client, MENU_TIME_FOREVER);
|
||||||
}
|
}
|
||||||
@ -580,7 +580,7 @@ public void ParamCheck(int client)
|
|||||||
char unquotedCommand[CMD_LENGTH];
|
char unquotedCommand[CMD_LENGTH];
|
||||||
UnQuoteString(g_command[client], unquotedCommand, sizeof(unquotedCommand), "#@");
|
UnQuoteString(g_command[client], unquotedCommand, sizeof(unquotedCommand), "#@");
|
||||||
|
|
||||||
if (outputItem[Item_execute] == Execute_Player) // assume 'player' type execute option
|
if (outputItem.execute == Execute_Player) // assume 'player' type execute option
|
||||||
{
|
{
|
||||||
FakeClientCommand(client, unquotedCommand);
|
FakeClientCommand(client, unquotedCommand);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user