Количество ХП в аптечке можно поменять через CVAR sk_suitcharger1
Он прописан в skill.cfg, по дефолту его значение 50.
А вот с HEV чарджерами несколько сложнее. Дело в том что их максимальное значение для HLDM жестко прописано в коде и через skill.cfg его не изменить.
Вот кусок кода из HLSDK
Код:
void CHalfLifeMultiplay::RefreshSkillData( void )
{
// load all default values
CGameRules::RefreshSkillData();
// override some values for multiplay.
// suitcharger
gSkillData.suitchargerCapacity = 30;
Средствами амхх я решил вопрос так:
Код:
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#define PLUGIN "HEV Chargers"
#define VERSION "0.01"
#define AUTHOR "AfaLINK"
#define M_IJUICE_OFFSET 62
new pArmorCharger
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
pArmorCharger = register_cvar("armor_charger", "50")
RegisterHam(Ham_Use, "func_recharge", "UseCharger_Pre")
RegisterHam(Ham_Use, "func_recharge", "UseCharger_Post", 1)
}
public UseCharger_Pre(entid, player)
{
if(!pev(entid, pev_iuser1) && get_pdata_int(entid, M_IJUICE_OFFSET))
{
set_pev(entid, pev_iuser1, 1)
set_pdata_int(entid, M_IJUICE_OFFSET, get_pcvar_num(pArmorCharger))
}
}
public UseCharger_Post(entid, player)
{
if(!get_pdata_int(entid, M_IJUICE_OFFSET))
set_pev(entid, pev_iuser1, 0)
}
Аналогичным способом, если нужно, можно менять аптечки.
Только вместо func_recharge в RegisterHam нужно поставить func_healthcharger.
А если сделать так, то аптечки и броня будут бесконечными:
Код:
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#define PLUGIN "Infinit Chargers"
#define VERSION "0.01"
#define AUTHOR "AfaLINK"
#define M_IJUICE_OFFSET 62
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
RegisterHam(Ham_Use, "func_recharge", "UseCharger_Post", 1)
RegisterHam(Ham_Use, "func_healthcharger", "UseCharger_Post", 1)
}
public UseCharger_Post(entid, player)
set_pdata_int(entid, M_IJUICE_OFFSET, 100)