ZCookies module completed, added to the main menu, translations updated.
This commit is contained in:
		@@ -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;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Reference in New Issue
	
	Block a user