added request at26380 (KWo)
This commit is contained in:
parent
444e2caa68
commit
6af5516005
@ -45,6 +45,8 @@ new g_Modified
|
|||||||
new g_blockPos[112]
|
new g_blockPos[112]
|
||||||
new g_saveFile[64]
|
new g_saveFile[64]
|
||||||
new g_Restricted[] = "* This item is restricted *"
|
new g_Restricted[] = "* This item is restricted *"
|
||||||
|
new g_szWeapRestr[27] = "0000000000000000000000000"
|
||||||
|
new g_szEquipAmmoRestr[10] = "000000000"
|
||||||
|
|
||||||
new g_menusNames[7][] =
|
new g_menusNames[7][] =
|
||||||
{
|
{
|
||||||
@ -473,12 +475,12 @@ public cmdRest(id, level, cid)
|
|||||||
{
|
{
|
||||||
setc(g_blockPos, 112, 0) // Clear current settings
|
setc(g_blockPos, 112, 0) // Clear current settings
|
||||||
new arg1[64]
|
new arg1[64]
|
||||||
|
|
||||||
if (read_argv(2, arg1, 63))
|
if (read_argv(2, arg1, 63))
|
||||||
{
|
{
|
||||||
new configsdir[32]
|
new configsdir[32]
|
||||||
get_configsdir(configsdir, 31)
|
get_configsdir(configsdir, 31)
|
||||||
|
|
||||||
format(arg1, 63, "%s/%s", configsdir, arg1)
|
format(arg1, 63, "%s/%s", configsdir, arg1)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -510,15 +512,15 @@ displayMenu(id, pos)
|
|||||||
{
|
{
|
||||||
if (pos < 0)
|
if (pos < 0)
|
||||||
return
|
return
|
||||||
|
|
||||||
new menubody[512], start = pos * 7
|
new menubody[512], start = pos * 7
|
||||||
|
|
||||||
if (start >= MAXMENUPOS)
|
if (start >= MAXMENUPOS)
|
||||||
start = pos = g_Position[id] = 0
|
start = pos = g_Position[id] = 0
|
||||||
|
|
||||||
new len = format(menubody, 511, "\y%L\R%d/5^n^n\w", id, "REST_WEAP", pos + 1)
|
new len = format(menubody, 511, "\y%L\R%d/5^n^n\w", id, "REST_WEAP", pos + 1)
|
||||||
new end = start + 7, keys = MENU_KEY_0|MENU_KEY_8, k = 0
|
new end = start + 7, keys = MENU_KEY_0|MENU_KEY_8, k = 0
|
||||||
|
|
||||||
if (end > MAXMENUPOS)
|
if (end > MAXMENUPOS)
|
||||||
end = MAXMENUPOS
|
end = MAXMENUPOS
|
||||||
|
|
||||||
@ -527,9 +529,9 @@ displayMenu(id, pos)
|
|||||||
keys |= (1<<k)
|
keys |= (1<<k)
|
||||||
len += format(menubody[len], 511 - len, g_MenuItem[a], ++k, g_WeaponNames[a], id, positionBlocked(a) ? "ON" : "OFF")
|
len += format(menubody[len], 511 - len, g_MenuItem[a], ++k, g_WeaponNames[a], id, positionBlocked(a) ? "ON" : "OFF")
|
||||||
}
|
}
|
||||||
|
|
||||||
len += format(menubody[len], 511 - len, "^n8. %L \y\R%s^n\w", id, "SAVE_SET", g_Modified ? "*" : "")
|
len += format(menubody[len], 511 - len, "^n8. %L \y\R%s^n\w", id, "SAVE_SET", g_Modified ? "*" : "")
|
||||||
|
|
||||||
if (end != MAXMENUPOS)
|
if (end != MAXMENUPOS)
|
||||||
{
|
{
|
||||||
format(menubody[len], 511-len, "^n9. %L...^n0. %L", id, "MORE", id, pos ? "BACK" : "EXIT")
|
format(menubody[len], 511-len, "^n9. %L...^n0. %L", id, "MORE", id, pos ? "BACK" : "EXIT")
|
||||||
@ -537,7 +539,7 @@ displayMenu(id, pos)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
format(menubody[len], 511-len, "^n0. %L", id, pos ? "BACK" : "EXIT")
|
format(menubody[len], 511-len, "^n0. %L", id, pos ? "BACK" : "EXIT")
|
||||||
|
|
||||||
show_menu(id, keys, menubody, -1, "Restrict Weapons")
|
show_menu(id, keys, menubody, -1, "Restrict Weapons")
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -554,7 +556,7 @@ public actionMenu(id, key)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
client_print(id, print_chat, "* %L", id, "CONF_SAV_FAIL")
|
client_print(id, print_chat, "* %L", id, "CONF_SAV_FAIL")
|
||||||
|
|
||||||
displayMenu(id, g_Position[id])
|
displayMenu(id, g_Position[id])
|
||||||
}
|
}
|
||||||
case 8: displayMenu(id, ++g_Position[id])
|
case 8: displayMenu(id, ++g_Position[id])
|
||||||
@ -564,9 +566,35 @@ public actionMenu(id, key)
|
|||||||
setWeapon(g_Position[id] * 7 + key, 2)
|
setWeapon(g_Position[id] * 7 + key, 2)
|
||||||
g_Modified = true
|
g_Modified = true
|
||||||
displayMenu(id, g_Position[id])
|
displayMenu(id, g_Position[id])
|
||||||
|
|
||||||
|
new a = g_Position[id] * 7 + key
|
||||||
|
new sz[1]
|
||||||
|
|
||||||
|
if (a < 24)
|
||||||
|
{
|
||||||
|
sz[0] = g_szWeapRestr[a + 1]
|
||||||
|
g_szWeapRestr[a + 1] = (sz[0] == '0') ? '1' : '0' // primary and secondary weapons
|
||||||
|
}
|
||||||
|
else if ((a >= 24) && (a < 31))
|
||||||
|
{
|
||||||
|
sz[0] = g_szEquipAmmoRestr[a - 24]
|
||||||
|
g_szEquipAmmoRestr[a - 24] = (sz[0] == '0') ? '1' : '0' // equipments
|
||||||
|
}
|
||||||
|
else if (a == 31)
|
||||||
|
{
|
||||||
|
sz[0] = g_szWeapRestr[25]
|
||||||
|
g_szWeapRestr[25] = (sz[0] == '0') ? '1' : '0' // shield
|
||||||
|
}
|
||||||
|
else if ((a > 31) && (a < 34))
|
||||||
|
{
|
||||||
|
sz[0] = g_szEquipAmmoRestr[a - 25]
|
||||||
|
g_szEquipAmmoRestr[a - 25] = (sz[0] == '0') ? '1' : '0' // primary and secondary ammo
|
||||||
|
}
|
||||||
|
set_cvar_string("amx_restrweapons", g_szWeapRestr)
|
||||||
|
set_cvar_string("amx_restrequipammo", g_szEquipAmmoRestr)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return PLUGIN_HANDLED
|
return PLUGIN_HANDLED
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -640,12 +668,12 @@ saveSettings(filename[])
|
|||||||
{
|
{
|
||||||
if (file_exists(filename))
|
if (file_exists(filename))
|
||||||
delete_file(filename)
|
delete_file(filename)
|
||||||
|
|
||||||
if (!write_file(filename, "; Generated by Restrict Weapons Plugin. Do not modify!^n; value name"))
|
if (!write_file(filename, "; Generated by Restrict Weapons Plugin. Do not modify!^n; value name"))
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
new text[64]
|
new text[64]
|
||||||
|
|
||||||
for (new a = 0; a < MAXMENUPOS; ++a)
|
for (new a = 0; a < MAXMENUPOS; ++a)
|
||||||
{
|
{
|
||||||
if (positionBlocked(a))
|
if (positionBlocked(a))
|
||||||
@ -654,7 +682,7 @@ saveSettings(filename[])
|
|||||||
write_file(filename, text)
|
write_file(filename, text)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -662,10 +690,13 @@ loadSettings(filename[])
|
|||||||
{
|
{
|
||||||
if (!file_exists(filename))
|
if (!file_exists(filename))
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
new text[16]
|
new text[16]
|
||||||
new a, pos = 0
|
new a, pos = 0
|
||||||
|
|
||||||
|
format(g_szEquipAmmoRestr, 9, "000000000")
|
||||||
|
format(g_szWeapRestr, 26, "00000000000000000000000000")
|
||||||
|
|
||||||
while (read_file(filename, pos++, text, 15, a))
|
while (read_file(filename, pos++, text, 15, a))
|
||||||
{
|
{
|
||||||
if (text[0] == ';' || !a)
|
if (text[0] == ';' || !a)
|
||||||
@ -674,9 +705,17 @@ loadSettings(filename[])
|
|||||||
parse(text, text, 15)
|
parse(text, text, 15)
|
||||||
|
|
||||||
if ((a = findAliasId(text)) != -1)
|
if ((a = findAliasId(text)) != -1)
|
||||||
|
{
|
||||||
setWeapon(a, 1)
|
setWeapon(a, 1)
|
||||||
|
if (a < 24) g_szWeapRestr[a + 1] = '1' // primary and secondary weapons
|
||||||
|
else if ((a >= 24) && (a < 31)) g_szEquipAmmoRestr[a - 24] = '1' // equipments
|
||||||
|
else if (a == 31) g_szWeapRestr[25] = '1' // shield
|
||||||
|
else if ((a > 31) && (a < 34)) g_szEquipAmmoRestr[a - 25] = '1' // primary and secondary ammo
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
set_cvar_string("amx_restrweapons", g_szWeapRestr)
|
||||||
|
set_cvar_string("amx_restrequipammo", g_szEquipAmmoRestr)
|
||||||
|
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -787,6 +826,9 @@ public plugin_init()
|
|||||||
register_menucmd(-34, 511, "menuItem")
|
register_menucmd(-34, 511, "menuItem")
|
||||||
register_concmd("amx_restrict", "cmdRest", ADMIN_CFG, "- displays help for weapons restriction")
|
register_concmd("amx_restrict", "cmdRest", ADMIN_CFG, "- displays help for weapons restriction")
|
||||||
|
|
||||||
|
register_cvar("amx_restrweapons", "00000000000000000000000000")
|
||||||
|
register_cvar("amx_restrequipammo", "000000000")
|
||||||
|
|
||||||
new configsDir[64];
|
new configsDir[64];
|
||||||
get_configsdir(configsDir, 63);
|
get_configsdir(configsDir, 63);
|
||||||
#if defined MAPSETTINGS
|
#if defined MAPSETTINGS
|
||||||
|
Loading…
x
Reference in New Issue
Block a user