Half-Life и Adrenaline Gamer форум
http://www.aghl.ru/forum/

[TUT] Меняем емкость настенных аптечек и HEV в HLDM
http://www.aghl.ru/forum/viewtopic.php?f=39&t=141
Страница 1 из 1

Автор:  unnamed [ 11 окт 2010, 03:16 ]
Заголовок сообщения:  [TUT] Меняем емкость настенных аптечек и HEV в HLDM

Количество ХП в аптечке можно поменять через 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)

Автор:  KORD_12.7 [ 11 окт 2010, 04:44 ]
Заголовок сообщения:  Re: Меняем емкость настенных аптечек и HEV зарядников в HLDM

Еще бы скорость восстановления заряда изменять, и было бы ваще класс :)

Автор:  GSen [ 11 окт 2010, 09:36 ]
Заголовок сообщения:  Re: Меняем емкость настенных аптечек и HEV зарядников в HLDM

Аллах Акбар скоро нас ждут сервера где всё поменяют!!!!!! :evil:

Автор:  unnamed [ 11 окт 2010, 21:04 ]
Заголовок сообщения:  Re: Меняем емкость настенных аптечек и HEV зарядников в HLDM

GSen писал(а):
Аллах Акбар скоро нас ждут сервера где всё поменяют!!!!!! :evil:

Дык давно уже есть. OZ например.
Я это делал для своего сервера где Severian's мод. Там чарджеры по 30 и 50 единиц просто неактуальны. И ими мало кто пользуется.

Автор:  /dev/null [ 12 окт 2010, 14:26 ]
Заголовок сообщения:  Re: Меняем емкость настенных аптечек и HEV зарядников в HLDM

Спасибо, поставил у себя на 3 сервере анлим :)))

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/