ZCookies module completed, added to the main menu, translations updated.
This commit is contained in:
parent
ff7528f09f
commit
b74bbe67ce
@ -408,6 +408,12 @@
|
|||||||
"en" "ZClass - Configure your class settings. (Command: {1})"
|
"en" "ZClass - Configure your class settings. (Command: {1})"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
"Menu main zcookies"
|
||||||
|
{
|
||||||
|
"#format" "{1:s}"
|
||||||
|
"en" "ZCookies - Toggle your personal ZR settings here. (Command: {1})"
|
||||||
|
}
|
||||||
|
|
||||||
"Menu main zspawn"
|
"Menu main zspawn"
|
||||||
{
|
{
|
||||||
"#format" "{1:s}"
|
"#format" "{1:s}"
|
||||||
@ -532,6 +538,16 @@
|
|||||||
"en" "Weapon @green{1} @defaulthas a purchase limit of @green{2}@default. Wait until you respawn to try again."
|
"en" "Weapon @green{1} @defaulthas a purchase limit of @green{2}@default. Wait until you respawn to try again."
|
||||||
}
|
}
|
||||||
|
|
||||||
|
"Weapons zmarket auto-rebuy toggle on"
|
||||||
|
{
|
||||||
|
"en" "Auto-rebuy has been enabled, your loadout will be automatically purchased for you each time you spawn."
|
||||||
|
}
|
||||||
|
|
||||||
|
"Weapons zmarket auto-rebuy toggle off"
|
||||||
|
{
|
||||||
|
"en" "Auto-rebuy has been disabled."
|
||||||
|
}
|
||||||
|
|
||||||
"Weapons zmarket updated loadout"
|
"Weapons zmarket updated loadout"
|
||||||
{
|
{
|
||||||
"en" "You are not able to purchase a weapon at this time, but your loadout has been updated with this weapon."
|
"en" "You are not able to purchase a weapon at this time, but your loadout has been updated with this weapon."
|
||||||
@ -727,6 +743,33 @@
|
|||||||
"en" "Zombie protection ends in: {1} seconds."
|
"en" "Zombie protection ends in: {1} seconds."
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ===========================
|
||||||
|
// ZCookies (module)
|
||||||
|
// ===========================
|
||||||
|
|
||||||
|
"ZCookies Menu main title"
|
||||||
|
{
|
||||||
|
"en" "ZCookies\nSelect a Cookie:"
|
||||||
|
}
|
||||||
|
|
||||||
|
"ZCookies menu main auto-rebuy"
|
||||||
|
{
|
||||||
|
"#format" "{1:s}"
|
||||||
|
"en" "ZMarket Auto-Rebuy: {1}"
|
||||||
|
}
|
||||||
|
|
||||||
|
"ZCookies menu main zhp"
|
||||||
|
{
|
||||||
|
"#format" "{1:s}"
|
||||||
|
"en" "ZHP Display: {1}"
|
||||||
|
}
|
||||||
|
|
||||||
|
"ZCookies menu main overlay"
|
||||||
|
{
|
||||||
|
"#format" "{1:s}"
|
||||||
|
"en" "Human/Zombie Class Overlay: {1}"
|
||||||
|
}
|
||||||
|
|
||||||
// ===========================
|
// ===========================
|
||||||
// ZSpawn (module)
|
// ZSpawn (module)
|
||||||
// ===========================
|
// ===========================
|
||||||
|
@ -77,6 +77,7 @@
|
|||||||
#include "zr/zspawn"
|
#include "zr/zspawn"
|
||||||
#include "zr/ztele"
|
#include "zr/ztele"
|
||||||
#include "zr/zhp"
|
#include "zr/zhp"
|
||||||
|
#include "zr/zcookies"
|
||||||
#include "zr/jumpboost"
|
#include "zr/jumpboost"
|
||||||
#include "zr/volfeatures/volfeatures"
|
#include "zr/volfeatures/volfeatures"
|
||||||
|
|
||||||
|
@ -38,6 +38,7 @@ CommandsInit()
|
|||||||
InfectOnCommandsCreate();
|
InfectOnCommandsCreate();
|
||||||
MenuOnCommandsCreate();
|
MenuOnCommandsCreate();
|
||||||
ZAdminOnCommandsCreate();
|
ZAdminOnCommandsCreate();
|
||||||
|
ZCookiesOnCommandsCreate();
|
||||||
ZSpawnOnCommandsCreate();
|
ZSpawnOnCommandsCreate();
|
||||||
ZTeleOnCommandsCreate();
|
ZTeleOnCommandsCreate();
|
||||||
ZHPOnCommandsCreate();
|
ZHPOnCommandsCreate();
|
||||||
|
@ -892,21 +892,29 @@ stock bool:ConfigSettingToBool(const String:option[])
|
|||||||
* @param bOption True/false value to be converted to "yes"/"no", respectively.
|
* @param bOption True/false value to be converted to "yes"/"no", respectively.
|
||||||
* @param option Destination string buffer to store "yes" or "no" in.
|
* @param option Destination string buffer to store "yes" or "no" in.
|
||||||
* @param maxlen Length of destination string buffer (wont't be more than 4).
|
* @param maxlen Length of destination string buffer (wont't be more than 4).
|
||||||
|
* @param yesno When true, returns "yes/no", false returns "on/off."
|
||||||
*/
|
*/
|
||||||
stock ConfigBoolToSetting(bool:bOption, String:option[], maxlen)
|
stock ConfigBoolToSetting(bool:bOption, String:option[], maxlen, bool:yesno = true)
|
||||||
{
|
{
|
||||||
// If option is true, then copy "yes" to return string.
|
// If option is true, then copy "yes" to return string.
|
||||||
if (bOption)
|
if (bOption)
|
||||||
{
|
{
|
||||||
strcopy(option, maxlen, "yes");
|
yesno ? strcopy(option, maxlen, "Yes") : strcopy(option, maxlen, "On");
|
||||||
}
|
}
|
||||||
// If option is false, then copy "no" to return string.
|
// If option is false, then copy "no" to return string.
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
strcopy(option, maxlen, "no");
|
yesno ? strcopy(option, maxlen, "No") : strcopy(option, maxlen, "Off");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a "yes/no" string from config as a bool.
|
||||||
|
*
|
||||||
|
* @param kv The keyvalue handle.
|
||||||
|
* @param key The keyname the value is under.
|
||||||
|
* @param defaultvalue (Optional) Value to return if setting is missing.
|
||||||
|
*/
|
||||||
stock bool:ConfigKvGetStringBool(Handle:kv, const String:key[], const String:defaultvalue[] = "yes")
|
stock bool:ConfigKvGetStringBool(Handle:kv, const String:key[], const String:defaultvalue[] = "yes")
|
||||||
{
|
{
|
||||||
decl String:value[CONFIG_MAX_LENGTH];
|
decl String:value[CONFIG_MAX_LENGTH];
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
*
|
*
|
||||||
* File: cookies.inc
|
* File: cookies.inc
|
||||||
* Type: Module
|
* Type: Module
|
||||||
* Description: Client cookie API.
|
* Description: Extended client cookie API.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2009 Greyscale, Richard Helgeby
|
* Copyright (C) 2009 Greyscale, Richard Helgeby
|
||||||
*
|
*
|
||||||
@ -30,7 +30,7 @@
|
|||||||
*/
|
*/
|
||||||
CookiesInit()
|
CookiesInit()
|
||||||
{
|
{
|
||||||
// Forward event to modules.
|
// Forward "OnCookiesCreate" event to modules.
|
||||||
ClassOnCookiesCreate();
|
ClassOnCookiesCreate();
|
||||||
WeaponsOnCookiesCreate();
|
WeaponsOnCookiesCreate();
|
||||||
ZHPOnCookiesCreate();
|
ZHPOnCookiesCreate();
|
||||||
|
@ -51,7 +51,7 @@ public Action:ZMenuCommand(client, argc)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Send main menu.
|
// Send main menu.
|
||||||
MenuMain(client);
|
ZMenuMain(client);
|
||||||
|
|
||||||
// This stops the "Unknown command" message in client's console.
|
// This stops the "Unknown command" message in client's console.
|
||||||
return Plugin_Handled;
|
return Plugin_Handled;
|
||||||
@ -62,10 +62,10 @@ public Action:ZMenuCommand(client, argc)
|
|||||||
*
|
*
|
||||||
* @param client The client index.
|
* @param client The client index.
|
||||||
*/
|
*/
|
||||||
MenuMain(client)
|
ZMenuMain(client)
|
||||||
{
|
{
|
||||||
// Create menu handle.
|
// Create menu handle.
|
||||||
new Handle:menu_main = CreateMenu(MenuMainHandle);
|
new Handle:menu_main = CreateMenu(ZMenuMainHandle);
|
||||||
|
|
||||||
// Make client global translations target.
|
// Make client global translations target.
|
||||||
SetGlobalTransTarget(client);
|
SetGlobalTransTarget(client);
|
||||||
@ -83,6 +83,7 @@ MenuMain(client)
|
|||||||
// Initialize menu lines.
|
// Initialize menu lines.
|
||||||
decl String:zadmin[256];
|
decl String:zadmin[256];
|
||||||
decl String:zclass[256];
|
decl String:zclass[256];
|
||||||
|
decl String:zcookies[256];
|
||||||
decl String:zspawn[256];
|
decl String:zspawn[256];
|
||||||
decl String:ztele[256];
|
decl String:ztele[256];
|
||||||
decl String:zhp[256];
|
decl String:zhp[256];
|
||||||
@ -91,6 +92,7 @@ MenuMain(client)
|
|||||||
// Translate each line into client's language.
|
// Translate each line into client's language.
|
||||||
Format(zadmin, sizeof(zadmin), "%t", "Menu main zadmin", SAYHOOKS_KEYWORD_ZMENU);
|
Format(zadmin, sizeof(zadmin), "%t", "Menu main zadmin", SAYHOOKS_KEYWORD_ZMENU);
|
||||||
Format(zclass, sizeof(zclass), "%t", "Menu main zclass", SAYHOOKS_KEYWORD_ZADMIN);
|
Format(zclass, sizeof(zclass), "%t", "Menu main zclass", SAYHOOKS_KEYWORD_ZADMIN);
|
||||||
|
Format(zcookies, sizeof(zcookies), "%t", "Menu main zcookies", SAYHOOKS_KEYWORD_ZCOOKIES);
|
||||||
Format(zspawn, sizeof(zspawn), "%t", "Menu main zspawn", SAYHOOKS_KEYWORD_ZCLASS);
|
Format(zspawn, sizeof(zspawn), "%t", "Menu main zspawn", SAYHOOKS_KEYWORD_ZCLASS);
|
||||||
Format(ztele, sizeof(ztele), "%t", "Menu main ztele", SAYHOOKS_KEYWORD_ZTELE);
|
Format(ztele, sizeof(ztele), "%t", "Menu main ztele", SAYHOOKS_KEYWORD_ZTELE);
|
||||||
Format(zhp, sizeof(zhp), "%t", "Menu main zhp", SAYHOOKS_KEYWORD_ZHP);
|
Format(zhp, sizeof(zhp), "%t", "Menu main zhp", SAYHOOKS_KEYWORD_ZHP);
|
||||||
@ -103,6 +105,7 @@ MenuMain(client)
|
|||||||
AddMenuItem(menu_main, "zadmin", zadmin, MenuGetItemDraw(admin));
|
AddMenuItem(menu_main, "zadmin", zadmin, MenuGetItemDraw(admin));
|
||||||
|
|
||||||
AddMenuItem(menu_main, "zclass", zclass);
|
AddMenuItem(menu_main, "zclass", zclass);
|
||||||
|
AddMenuItem(menu_main, "zcookies", zcookies);
|
||||||
AddMenuItem(menu_main, "zspawn", zspawn);
|
AddMenuItem(menu_main, "zspawn", zspawn);
|
||||||
AddMenuItem(menu_main, "ztele", ztele);
|
AddMenuItem(menu_main, "ztele", ztele);
|
||||||
AddMenuItem(menu_main, "zhp", zhp);
|
AddMenuItem(menu_main, "zhp", zhp);
|
||||||
@ -121,7 +124,7 @@ MenuMain(client)
|
|||||||
* @param client The client index.
|
* @param client The client index.
|
||||||
* @param slot The menu slot selected. (starting from 0)
|
* @param slot The menu slot selected. (starting from 0)
|
||||||
*/
|
*/
|
||||||
public MenuMainHandle(Handle:menu, MenuAction:action, client, slot)
|
public ZMenuMainHandle(Handle:menu, MenuAction:action, client, slot)
|
||||||
{
|
{
|
||||||
// Client selected an option.
|
// Client selected an option.
|
||||||
if (action == MenuAction_Select)
|
if (action == MenuAction_Select)
|
||||||
@ -131,41 +134,50 @@ public MenuMainHandle(Handle:menu, MenuAction:action, client, slot)
|
|||||||
|
|
||||||
switch(slot)
|
switch(slot)
|
||||||
{
|
{
|
||||||
// Selected zadmin.
|
// Selected ZAdmin.
|
||||||
case 0:
|
case 0:
|
||||||
{
|
{
|
||||||
// Copy return to resend variable.
|
// Copy return to resend variable.
|
||||||
resend = !ZRAdminMenu(client);
|
resend = !ZRAdminMenu(client);
|
||||||
}
|
}
|
||||||
// Select zclass.
|
// Select ZClass.
|
||||||
case 1:
|
case 1:
|
||||||
{
|
{
|
||||||
// Send class menu
|
// Send ZClass menu
|
||||||
ClassMenuMain(client);
|
ClassMenuMain(client);
|
||||||
|
|
||||||
// Don't resend this menu.
|
// Don't resend this menu.
|
||||||
resend = false;
|
resend = false;
|
||||||
}
|
}
|
||||||
// Select zspawn.
|
// Select ZCookies.
|
||||||
case 2:
|
case 2:
|
||||||
{
|
{
|
||||||
// Send zspawn command from client.
|
// Send ZCookies menu
|
||||||
|
ZCookiesMenuMain(client);
|
||||||
|
|
||||||
|
// Don't resend this menu.
|
||||||
|
resend = false;
|
||||||
|
}
|
||||||
|
// Select ZSpawn.
|
||||||
|
case 3:
|
||||||
|
{
|
||||||
|
// Send ZSpawn command from client.
|
||||||
ZSpawnClient(client);
|
ZSpawnClient(client);
|
||||||
}
|
}
|
||||||
// Select ztele.
|
// Select ZTele.
|
||||||
case 3:
|
case 4:
|
||||||
{
|
{
|
||||||
// Copy return to resend variable.
|
// Copy return to resend variable.
|
||||||
resend = !ZTeleClient(client);
|
resend = !ZTeleClient(client);
|
||||||
}
|
}
|
||||||
// Select zhp.
|
// Select ZHP.
|
||||||
case 4:
|
case 5:
|
||||||
{
|
{
|
||||||
// Toggle ZHP.
|
// Toggle ZHP.
|
||||||
ZHPToggle(client);
|
ZHPToggle(client);
|
||||||
}
|
}
|
||||||
// Select zmarket.
|
// Select ZMarket.
|
||||||
case 5:
|
case 6:
|
||||||
{
|
{
|
||||||
// Send ZMarket menu.
|
// Send ZMarket menu.
|
||||||
resend = !ZMarketMenuMain(client);
|
resend = !ZMarketMenuMain(client);
|
||||||
@ -175,7 +187,7 @@ public MenuMainHandle(Handle:menu, MenuAction:action, client, slot)
|
|||||||
// Resend is still true, then resend menu.
|
// Resend is still true, then resend menu.
|
||||||
if (resend)
|
if (resend)
|
||||||
{
|
{
|
||||||
MenuMain(client);
|
ZMenuMain(client);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Client exited menu.
|
// Client exited menu.
|
||||||
|
@ -153,7 +153,7 @@ public ClassMenuMainHandle(Handle:menu, MenuAction:action, client, slot)
|
|||||||
{
|
{
|
||||||
if (slot == MenuCancel_ExitBack)
|
if (slot == MenuCancel_ExitBack)
|
||||||
{
|
{
|
||||||
MenuMain(client);
|
ZMenuMain(client);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -47,6 +47,7 @@
|
|||||||
#define SAYHOOKS_KEYWORD_ZMENU "zmenu"
|
#define SAYHOOKS_KEYWORD_ZMENU "zmenu"
|
||||||
#define SAYHOOKS_KEYWORD_ZADMIN "zadmin"
|
#define SAYHOOKS_KEYWORD_ZADMIN "zadmin"
|
||||||
#define SAYHOOKS_KEYWORD_ZCLASS "zclass"
|
#define SAYHOOKS_KEYWORD_ZCLASS "zclass"
|
||||||
|
#define SAYHOOKS_KEYWORD_ZCOOKIES "zcookies"
|
||||||
#define SAYHOOKS_KEYWORD_ZSPAWN "zspawn"
|
#define SAYHOOKS_KEYWORD_ZSPAWN "zspawn"
|
||||||
#define SAYHOOKS_KEYWORD_ZTELE "ztele"
|
#define SAYHOOKS_KEYWORD_ZTELE "ztele"
|
||||||
#define SAYHOOKS_KEYWORD_ZHP "zhp"
|
#define SAYHOOKS_KEYWORD_ZHP "zhp"
|
||||||
|
@ -102,6 +102,7 @@ public WeaponsMenuMainHandle(Handle:menu_weapons_main, MenuAction:action, client
|
|||||||
if (slot == MenuCancel_ExitBack)
|
if (slot == MenuCancel_ExitBack)
|
||||||
{
|
{
|
||||||
// Re-open admin menu.
|
// Re-open admin menu.
|
||||||
|
ZRAdminMenu(client);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Client hit "Exit" button.
|
// Client hit "Exit" button.
|
||||||
|
@ -331,9 +331,8 @@ public ZMarketMenuMainHandle(Handle:menu_zmarket_main, MenuAction:action, client
|
|||||||
// Auto-rebuy.
|
// Auto-rebuy.
|
||||||
case 3:
|
case 3:
|
||||||
{
|
{
|
||||||
// Toggle rebuy.
|
// Toggle the auto-rebuy cookie.
|
||||||
new bool:autorebuyenabled = CookiesGetClientCookieBool(client, g_hZMarketAutoRebuyCookie);
|
ZMarketToggleAutoRebuy(client);
|
||||||
CookiesSetClientCookieBool(client, g_hZMarketAutoRebuyCookie, !autorebuyenabled);
|
|
||||||
|
|
||||||
// Resend menu.
|
// Resend menu.
|
||||||
ZMarketMenuMain(client);
|
ZMarketMenuMain(client);
|
||||||
@ -352,7 +351,7 @@ public ZMarketMenuMainHandle(Handle:menu_zmarket_main, MenuAction:action, client
|
|||||||
// Client hit "Back" button.
|
// Client hit "Back" button.
|
||||||
if (slot == MenuCancel_ExitBack)
|
if (slot == MenuCancel_ExitBack)
|
||||||
{
|
{
|
||||||
MenuMain(client);
|
ZMenuMain(client);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Client hit "Exit" button.
|
// Client hit "Exit" button.
|
||||||
@ -1042,6 +1041,38 @@ ZMarketRebuy(client, bool:autorebuy = false)
|
|||||||
ZMarketArrayToCookies(client, rebuyweapons, WEAPONS_SLOTS_MAX, sizeof(rebuyweapons));
|
ZMarketArrayToCookies(client, rebuyweapons, WEAPONS_SLOTS_MAX, sizeof(rebuyweapons));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Toggle auto-rebuy on a client.
|
||||||
|
*
|
||||||
|
* @param client The client index.
|
||||||
|
*/
|
||||||
|
ZMarketToggleAutoRebuy(client)
|
||||||
|
{
|
||||||
|
// If auto-rebuy is disabled, then stop.
|
||||||
|
new bool:zmarketrebuyauto = GetConVarBool(g_hCvarsList[CVAR_WEAPONS_ZMARKET_REBUY_AUTO]);
|
||||||
|
if (!zmarketrebuyauto)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get the cookie value.
|
||||||
|
new bool:autorebuystate = CookiesGetClientCookieBool(client, g_hZMarketAutoRebuyCookie);
|
||||||
|
|
||||||
|
// Toggle the value.
|
||||||
|
CookiesSetClientCookieBool(client, g_hZMarketAutoRebuyCookie, !autorebuystate);
|
||||||
|
|
||||||
|
// If auto-rebuy was enabled, then tell client it has been disabled.
|
||||||
|
if (autorebuystate)
|
||||||
|
{
|
||||||
|
TranslationPrintToChat(client, "Weapons zmarket auto-rebuy toggle off");
|
||||||
|
}
|
||||||
|
// If auto-rebuy was disabled, then tell client it has been enabled.
|
||||||
|
else
|
||||||
|
{
|
||||||
|
TranslationPrintToChat(client, "Weapons zmarket auto-rebuy toggle on");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Command callback (zmarket)
|
* Command callback (zmarket)
|
||||||
* Opens custom buymenu.
|
* Opens custom buymenu.
|
||||||
|
@ -151,7 +151,7 @@ public ZRAdminMenuHandle(Handle:menu, MenuAction:action, client, slot)
|
|||||||
if (slot == MenuCancel_ExitBack)
|
if (slot == MenuCancel_ExitBack)
|
||||||
{
|
{
|
||||||
// Exit back to main menu.
|
// Exit back to main menu.
|
||||||
MenuMain(client);
|
ZMenuMain(client);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (action == MenuAction_End)
|
else if (action == MenuAction_End)
|
||||||
|
171
src/zr/zcookies.inc
Normal file
171
src/zr/zcookies.inc
Normal file
@ -0,0 +1,171 @@
|
|||||||
|
/*
|
||||||
|
* ============================================================================
|
||||||
|
*
|
||||||
|
* Zombie:Reloaded
|
||||||
|
*
|
||||||
|
* File: zcookies.inc
|
||||||
|
* Type: Module
|
||||||
|
* Description: ZCookies module, allows clients to modify their ZR cookies via menu.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2009 Greyscale, Richard Helgeby
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
* ============================================================================
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create commands specific to ZHP.
|
||||||
|
*/
|
||||||
|
ZCookiesOnCommandsCreate()
|
||||||
|
{
|
||||||
|
// Register ZCookies command.
|
||||||
|
RegConsoleCmd(SAYHOOKS_KEYWORD_ZCOOKIES, ZCookiesCommand, "Toggle all ZR cookies here.");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show ZCookies menu to client.
|
||||||
|
*
|
||||||
|
* @param client The client index.
|
||||||
|
*/
|
||||||
|
ZCookiesMenuMain(client)
|
||||||
|
{
|
||||||
|
// Create menu handle.
|
||||||
|
new Handle:zcookies_menu_main = CreateMenu(ZCookiesMenuMainHandle);
|
||||||
|
|
||||||
|
// Make client global translations target.
|
||||||
|
SetGlobalTransTarget(client);
|
||||||
|
|
||||||
|
// Set menu title.
|
||||||
|
SetMenuTitle(zcookies_menu_main, "%t\n ", "ZCookies Menu main title");
|
||||||
|
|
||||||
|
decl String:autorebuyenabled[4];
|
||||||
|
decl String:zhpenabled[4];
|
||||||
|
decl String:overlayenabled[4];
|
||||||
|
|
||||||
|
// Get the current toggle state of the cookies.
|
||||||
|
ConfigBoolToSetting(CookiesGetClientCookieBool(client, g_hZMarketAutoRebuyCookie), autorebuyenabled, sizeof(autorebuyenabled), false);
|
||||||
|
ConfigBoolToSetting(CookiesGetClientCookieBool(client, g_hZHPEnabledCookie), zhpenabled, sizeof(zhpenabled), false);
|
||||||
|
ConfigBoolToSetting(CookiesGetClientCookieBool(client, g_hOverlayEnabledCookie), overlayenabled, sizeof(overlayenabled), false);
|
||||||
|
|
||||||
|
decl String:autorebuy[64];
|
||||||
|
decl String:zhp[64];
|
||||||
|
decl String:overlay[64];
|
||||||
|
|
||||||
|
// Translate each line into client's language.
|
||||||
|
Format(autorebuy, sizeof(autorebuy), "%t", "ZCookies menu main auto-rebuy", autorebuyenabled);
|
||||||
|
Format(zhp, sizeof(zhp), "%t", "ZCookies menu main zhp", zhpenabled);
|
||||||
|
Format(overlay, sizeof(overlay), "%t", "ZCookies menu main overlay", overlayenabled);
|
||||||
|
|
||||||
|
// Get conditional values for each option.
|
||||||
|
new bool:weapons = GetConVarBool(g_hCvarsList[CVAR_WEAPONS]); // For auto-rebuy.
|
||||||
|
new bool:zmarketrebuyauto = GetConVarBool(g_hCvarsList[CVAR_WEAPONS_ZMARKET_REBUY_AUTO]); // For auto-rebuy.
|
||||||
|
new bool:zhpcvar = GetConVarBool(g_hCvarsList[CVAR_ZHP]); // For ZHP.
|
||||||
|
new bool:overlaytoggle = GetConVarBool(g_hCvarsList[CVAR_CLASSES_OVERLAY_TOGGLE]); // For class overlay.
|
||||||
|
|
||||||
|
// Add items to menu.
|
||||||
|
AddMenuItem(zcookies_menu_main, "autorebuy", autorebuy, MenuGetItemDraw(weapons && zmarketrebuyauto));
|
||||||
|
AddMenuItem(zcookies_menu_main, "zhp", zhp, MenuGetItemDraw(zhpcvar));
|
||||||
|
AddMenuItem(zcookies_menu_main, "overlay", overlay, MenuGetItemDraw(overlaytoggle));
|
||||||
|
|
||||||
|
// Create a "Back" button to the main menu.
|
||||||
|
SetMenuExitBackButton(zcookies_menu_main, true);
|
||||||
|
|
||||||
|
// Display menu to client.
|
||||||
|
DisplayMenu(zcookies_menu_main, client, MENU_TIME_FOREVER);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Menu callback (main)
|
||||||
|
* Toggles client cookies.
|
||||||
|
*
|
||||||
|
* @param menu The menu handle.
|
||||||
|
* @param action Action client is doing in menu.
|
||||||
|
* @param client The client index.
|
||||||
|
* @param slot The menu slot selected. (starting from 0)
|
||||||
|
*/
|
||||||
|
public ZCookiesMenuMainHandle(Handle:menu, MenuAction:action, client, slot)
|
||||||
|
{
|
||||||
|
// Client selected an option.
|
||||||
|
if (action == MenuAction_Select)
|
||||||
|
{
|
||||||
|
switch(slot)
|
||||||
|
{
|
||||||
|
// Toggled auto-rebuy
|
||||||
|
case 0:
|
||||||
|
{
|
||||||
|
// Toggle the auto-rebuy cookie.
|
||||||
|
ZMarketToggleAutoRebuy(client);
|
||||||
|
}
|
||||||
|
// Toggled ZHP.
|
||||||
|
case 1:
|
||||||
|
{
|
||||||
|
ZHPToggle(client);
|
||||||
|
}
|
||||||
|
// Toggled class overlay.
|
||||||
|
case 2:
|
||||||
|
{
|
||||||
|
// If overlay toggle is disabled, then stop.
|
||||||
|
new bool:overlaytoggle = GetConVarBool(g_hCvarsList[CVAR_CLASSES_OVERLAY_TOGGLE]);
|
||||||
|
if (overlaytoggle)
|
||||||
|
{
|
||||||
|
// Toggle current overlay channel, retrieve new value, and update cookie.
|
||||||
|
new bool:overlayenabled = OverlaysClientSetChannelState(client, OVERLAYS_CHANNEL_CLASSES, true, true);
|
||||||
|
CookiesSetClientCookieBool(client, g_hOverlayEnabledCookie, overlayenabled);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Re-send menu.
|
||||||
|
ZCookiesMenuMain(client);
|
||||||
|
}
|
||||||
|
// Client closed the menu.
|
||||||
|
if (action == MenuAction_Cancel)
|
||||||
|
{
|
||||||
|
// Client hit "Back" button.
|
||||||
|
if (slot == MenuCancel_ExitBack)
|
||||||
|
{
|
||||||
|
// Re-open main menu.
|
||||||
|
ZMenuMain(client);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Client exited menu.
|
||||||
|
if (action == MenuAction_End)
|
||||||
|
{
|
||||||
|
CloseHandle(menu);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Command callback (zcookies)
|
||||||
|
* Toggle all ZR cookies here.
|
||||||
|
*
|
||||||
|
* @param client The client index.
|
||||||
|
* @param argc Argument count.
|
||||||
|
*/
|
||||||
|
public Action:ZCookiesCommand(client, argc)
|
||||||
|
{
|
||||||
|
// If client is console, then stop and tell them this feature is for players only.
|
||||||
|
if (ZRIsConsole(client))
|
||||||
|
{
|
||||||
|
TranslationPrintToServer("Must be player");
|
||||||
|
return Plugin_Handled;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Send ZCookies menu.
|
||||||
|
ZCookiesMenuMain(client);
|
||||||
|
|
||||||
|
// This stops the "Unknown command" message in client's console.
|
||||||
|
return Plugin_Handled;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user