PHP Code:
public void SetupDM(int Client)
{
if(!IsValidClient(Client)) return;
Menu hDMMenu = new Menu(SetupDMOptions);
hDMMenu.SetTitle("Setup DM Match Options");
hDMMenu.AddItem("gravity", "[Gravity]");
hDMMenu.AddItem("speed", "[Speed]");
hDMMenu.AddItem("hp", "[Health]");
hDMMenu.AddItem("suit", "[Suit]");
hDMMenu.AddItem("weapon", "[Weapons]");
hDMMenu.AddItem("time", "[Time Limit]");
hDMMenu.AddItem("score", "[Score Limit]");
hDMMenu.AddItem("money", "[Bet Money]", ITEMDRAW_DISABLED); //implement later
hDMMenu.AddItem("item", "[Bet Items]", ITEMDRAW_DISABLED); //implement later
hDMMenu.AddItem("finish", "[Finish Setup]");
hDMMenu.Display(Client, MENU_TIME_FOREVER);
}
public int SetupDMOptions(Menu hDMMenu, MenuAction action, int Client, int param2)
{
BClient player = g_player[Client];
BClient other = player.DMPartner;
if(action == MenuAction_Select)
{
if(!player.IsValid || other.IsValid) return 0;
char selection[32];
hDMMenu.GetItem(param2, selection, sizeof(selection));
if(StrEqual(selection, "gravity"))
GravitySelection(Client);
else if(StrEqual(selection, "speed"))
SpeedSelection(Client);
else if(StrEqual(selection, "hp"))
HealthSelection(Client);
else if(StrEqual(selection, "suit"))
SuitSelection(Client);
else if(StrEqual(selection, "weapon"))
WeaponSelection(Client);
else if(StrEqual(selection, "time"))
TimeSelection(Client);
else if(StrEqual(selection, "score"))
ScoreSelection(Client);
else if(StrEqual(selection, "money"))
MoneySelection(Client);
else if(StrEqual(selection, "item"))
ItemSelection(Client);
else if(StrEqual(selection, "finish"))
StartDM(Client);
}
else if(action == MenuAction_End)
{
ResetDM(player);
ResetDM(other);
delete hDMMenu;
}
return 1;
}
public void GravitySelection(int Client)
{
if(!IsValidClient(Client)) return;
Menu hGravMenu = new Menu(GravMenu);
hGravMenu.SetTitle("Select Gravity");
hGravMenu.AddItem("0.05", "[Very Low]");
hGravMenu.AddItem("0.25", "[Low]");
hGravMenu.AddItem("1.0", "[Normal]");
hGravMenu.AddItem("2", "[High]");
hGravMenu.AddItem("5.0", "[Very High]");
hGravMenu.AddItem("-1", "[Back]");
hGravMenu.Display(Client, MENU_TIME_FOREVER);
}
public int GravMenu(Menu hGravMenu, MenuAction action, int Client, int param2)
{
BClient player = g_player[Client];
BClient other = player.DMPartner;
if(action == MenuAction_Select)
{
if(!player.IsValid || !other.IsValid) return 0;
char selection[32];
hGravMenu.GetItem(param2, selection, sizeof(selection));
if(StrEqual(selection, "-1"))
SetupDM(Client);
else
{
player.DMGravity = StringToFloat(selection);
other.DMGravity = StringToFloat(selection);
player.Chat("%s Gravity set to %s", CMDTAG, selection);
other.Chat("%s %N set gravity to %s", CMDTAG, player.ClientIndex, selection);
SetupDM(Client);
}
}
else if(action == MenuAction_End)
{
ResetDM(player);
ResetDM(other);
delete hGravMenu;
}
return 1;
}
public void SpeedSelection(int Client)
{
if(!IsValidClient(Client)) return;
Menu hSpeedMenu = new Menu(SpeedMenu);
hSpeedMenu.SetTitle("Select Speed");
hSpeedMenu.AddItem("0.01", "[Dead Slow]");
hSpeedMenu.AddItem("0.2", "[Very Slow]");
hSpeedMenu.AddItem("0.5", "[Slow]");
hSpeedMenu.AddItem("1.0", "[Normal]");
hSpeedMenu.AddItem("2.0", "[Fast]");
hSpeedMenu.AddItem("5.0", "[Very Fast]");
hSpeedMenu.AddItem("10.0", "[HYPERSPEED]");
hSpeedMenu.AddItem("-1", "[Back]");
hSpeedMenu.Display(Client, MENU_TIME_FOREVER);
}
public int SpeedMenu(Menu hSpeedMenu, MenuAction action, int Client, int param2)
{
BClient player = g_player[Client];
BClient other = player.DMPartner;
if(action == MenuAction_Select)
{
if(!player.IsValid || !other.IsValid) return 0;
char selection[32];
hSpeedMenu.GetItem(param2, selection, sizeof(selection));
if(StrEqual(selection, "-1"))
SetupDM(Client);
else
{
player.DMSpeed = StringToFloat(selection);
other.DMSpeed = StringToFloat(selection);
player.Chat("%s Speed set to %s", CMDTAG, selection);
other.Chat("%s %N set speed to %s", CMDTAG, player.ClientIndex, selection);
SetupDM(Client);
}
}
else if(action == MenuAction_End)
{
ResetDM(player);
ResetDM(other);
delete hSpeedMenu;
}
return 1;
}
public void HealthSelection(int Client)
{
if(!IsValidClient(Client)) return;
Menu hHpMenu = new Menu(HPMenu);
hHpMenu.SetTitle("Select HP");
hHpMenu.AddItem("25", "[25]");
hHpMenu.AddItem("50", "[50]");
hHpMenu.AddItem("100", "[100]");
hHpMenu.AddItem("200", "[200]");
hHpMenu.AddItem("500", "[500]");
hHpMenu.AddItem("1000", "[1000]");
hHpMenu.AddItem("-1", "[Back]");
hHpMenu.Display(Client, MENU_TIME_FOREVER);
}
public int HPMenu(Menu hHpMenu, MenuAction action, int Client, int param2)
{
BClient player = g_player[Client];
BClient other = player.DMPartner;
if(action == MenuAction_Select)
{
if(!player.IsValid || !other.IsValid) return 0;
char selection[32];
hHpMenu.GetItem(param2, selection, sizeof(selection));
if(StrEqual(selection, "-1"))
SetupDM(Client);
else
{
player.DMHealth = StringToInt(selection);
other.DMHealth = StringToInt(selection);
player.Chat("%s Health set to %s", CMDTAG, selection);
other.Chat("%s %N set health to %s", CMDTAG, player.ClientIndex, selection);
SetupDM(Client);
}
}
else if(action == MenuAction_End)
{
ResetDM(player);
ResetDM(other);
delete hHpMenu;
}
return 1;
}
public void SuitSelection(int Client)
{
if(!IsValidClient(Client)) return;
Menu hSuitMenu = new Menu(SuitMenu);
hSuitMenu.SetTitle("Select Suit");
hSuitMenu.AddItem("25", "[25]");
hSuitMenu.AddItem("50", "[50]");
hSuitMenu.AddItem("100", "[100]");
hSuitMenu.AddItem("200", "[200]");
hSuitMenu.AddItem("500", "[500]");
hSuitMenu.AddItem("1000", "[1000]");
hSuitMenu.AddItem("-1", "[Back]");
hSuitMenu.Display(Client, MENU_TIME_FOREVER);
}
public int SuitMenu(Menu hSuitMenu, MenuAction action, int Client, int param2)
{
BClient player = g_player[Client];
BClient other = player.DMPartner;
if(action == MenuAction_Select)
{
if(!player.IsValid || !other.IsValid) return 0;
char selection[32];
hSuitMenu.GetItem(param2, selection, sizeof(selection));
if(StrEqual(selection, "-1"))
SetupDM(Client);
else
{
player.DMSuit = StringToInt(selection);
other.DMSuit = StringToInt(selection);
player.Chat("%s Suit set to %s", CMDTAG, selection);
other.Chat("%s %N set suit to %s", CMDTAG, player.ClientIndex, selection);
SetupDM(Client);
}
}
else if(action == MenuAction_End)
{
ResetDM(player);
ResetDM(other);
delete hSuitMenu;
}
return 1;
}
public void WeaponSelection(int Client)
{
if(!IsValidClient(Client)) return;
Menu hWepMenu = new Menu(WeaponMenu);
hWepMenu.SetTitle("Select Weapons");
hWepMenu.AddItem("weapon_357", "[Revolver]");
hWepMenu.AddItem("weapon_ar2", "[Assault Rifle]");
hWepMenu.AddItem("weapon_crossbow", "[Crossbow]");
hWepMenu.AddItem("weapon_crowbar", "[Crowbar]");
hWepMenu.AddItem("weapon_frag", "[Grenade]");
hWepMenu.AddItem("weapon_pistol", "[Pistol]");
hWepMenu.AddItem("weapon_rpg", "[RPG]");
hWepMenu.AddItem("weapon_shotgun", "[Shotgun]");
hWepMenu.AddItem("weapon_smg1", "[SMG]");
hWepMenu.AddItem("weapon_stunstick", "[Stunstick]");
hWepMenu.AddItem("-1", "[Back]");
hWepMenu.Display(Client, MENU_TIME_FOREVER);
}
public int WeaponMenu(Menu hWepMenu, MenuAction action, int Client, int param2)
{
BClient player = g_player[Client];
BClient other = player.DMPartner;
if(action == MenuAction_Select)
{
if(!player.IsValid || !other.IsValid) return 0;
char selection[32];
hWepMenu.GetItem(param2, selection, sizeof(selection));
if(StrEqual(selection, "-1"))
SetupDM(Client);
else
{
int index = player.DMWeapons.FindString(selection);
char sWeapon[32];
GetWeaponAlias(selection, sWeapon, sizeof(sWeapon));
if(index != -1)
{
player.DMWeapons.Erase(index);
other.DMWeapons.Erase(index);
player.Chat("%s %s has been disabled!", CMDTAG, sWeapon);
other.Chat("%s %N has disabled %s", CMDTAG, player.ClientIndex, sWeapon);
}
else
{
player.DMWeapons.PushString(selection);
other.DMWeapons.PushString(selection);
player.Chat("%s %s has been enabled!", CMDTAG, sWeapon);
other.Chat("%s %N has enabled %s", CMDTAG, player.ClientIndex, sWeapon);
}
WeaponSelection(Client);
}
}
else if(action == MenuAction_End)
{
ResetDM(player);
ResetDM(other);
delete hWepMenu;
}
return 1;
}
public void TimeSelection(int Client)
{
if(!IsValidClient(Client)) return;
Menu hTimeMenu = new Menu(TimeMenu);
hTimeMenu.SetTitle("Select Time Limit");
hTimeMenu.AddItem("60.0", "[1 Minute]");
hTimeMenu.AddItem("120.0", "[2 Minutes]");
hTimeMenu.AddItem("300.0", "[5 Minutes]");
hTimeMenu.AddItem("600.0", "[10 Minutes]");
hTimeMenu.AddItem("900.0", "[15 Minutes]");
hTimeMenu.AddItem("1800.0", "[30 Minutes]");
hTimeMenu.AddItem("-1", "[Back]");
hTimeMenu.Display(Client, MENU_TIME_FOREVER);
}
public int TimeMenu(Menu hTimeMenu, MenuAction action, int Client, int param2)
{
BClient player = g_player[Client];
BClient other = player.DMPartner;
if(action == MenuAction_Select)
{
if(!player.IsValid || !other.IsValid) return 0;
char selection[32];
hTimeMenu.GetItem(param2, selection, sizeof(selection));
if(StrEqual(selection, "-1"))
SetupDM(Client);
else
{
player.DMTimeLimit = StringToFloat(selection);
other.DMTimeLimit = StringToFloat(selection);
player.Chat("%s Time limit set to %s seconds.", CMDTAG, selection);
other.Chat("%s %N set time limit to %s seconds.", CMDTAG, player.ClientIndex, selection);
SetupDM(Client);
}
}
else if(action == MenuAction_End)
{
ResetDM(player);
ResetDM(other);
delete hTimeMenu;
}
return 1;
}
public void ScoreSelection(int Client)
{
if(!IsValidClient(Client)) return;
Menu hScoreMenu = new Menu(ScoreMenu);
hScoreMenu.SetTitle("Select Score Limit");
hScoreMenu.AddItem("5", "[5 Frags]");
hScoreMenu.AddItem("10", "[10 Frags]");
hScoreMenu.AddItem("15", "[15 Frags]");
hScoreMenu.AddItem("25", "[25 Frags]");
hScoreMenu.AddItem("50", "[50 Frags]");
hScoreMenu.AddItem("100", "[100 Frags]");
hScoreMenu.AddItem("-1", "[Back]");
hScoreMenu.Display(Client, MENU_TIME_FOREVER);
}
public int ScoreMenu(Menu hScoreMenu, MenuAction action, int Client, int param2)
{
BClient player = g_player[Client];
BClient other = player.DMPartner;
if(action == MenuAction_Select)
{
if(!player.IsValid || !other.IsValid) return 0;
char selection[32];
hScoreMenu.GetItem(param2, selection, sizeof(selection));
if(StrEqual(selection, "-1"))
SetupDM(Client);
else
{
player.DMScoreLimit = StringToInt(selection);
other.DMScoreLimit = StringToInt(selection);
player.Chat("%s Score limit set to %s", CMDTAG, selection);
other.Chat("%s %N set score limit to %s", CMDTAG, player.ClientIndex, selection);
SetupDM(Client);
}
}
else if(action == MenuAction_End)
{
ResetDM(player);
ResetDM(other);
delete hScoreMenu;
}
return 1;
}