Здравствуйте! Мне нужно узнать сколько хп у юзера вначале раунда и присвоить переменную к этому количеству.
Смысл в том, что есть плагин amx_vampire, который добавляет хп после убийства, и есть варкрафт мод, где у разных игроков разное количество хп, например у всех по 100, а у HUMAN'a - 175. Так вот, этот плагин ограничивает хп после убийства кваром, то есть
Код
if (nKiller_hp > hp_maximux) nKiller_hp = hp_maximux
по дефолту hp_maximux = 100, вот и выходит, что игрок с 175 hp, после убийства остается со 100 hp
Вот я и решил сделать проверку на хп вначале раунда и каждому игроку присваивать свое hp_maximum. Но поскольку я 0 в скриптовании, то вот, что вышло:
Код
public logevent_Round_Start_checkhp()
{
new players[32], id, pnum;
get_players(players, pnum, "a");
for(new i = 0; i < pnum; i++)
id = players[i];
{
hp_maximux = get_user_health(id);
return PLUGIN_CONTINUE
}
}
public hook_death( id )
{
// Killer id
nKiller = read_data(1)
if ( (read_data(3) == 1) && (read_data(5) == 0) )
{
nHp_add = get_pcvar_num (health_hs_add)
}
else
nHp_add = get_pcvar_num (health_add)
// Updating Killer HP
if(!(get_user_flags(nKiller) & ADMIN_LEVEL_H))
return;
nKiller_hp = get_user_health(nKiller)
nKiller_hp += nHp_add
// Maximum HP check
if (nKiller_hp > hp_maximux) nKiller_hp = hp_maximux
set_user_health(nKiller, nKiller_hp)
// Hud message "Healed +15/+30 hp"
set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 1.0, 1.0, 0.1, 0.1, -1)
show_hudmessage(nKiller, "Healed +%d hp", nHp_add)
// Screen fading
message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, nKiller)
write_short(1<<10)
write_short(1<<10)
write_short(0x0000)
write_byte(0)
write_byte(0)
write_byte(200)
write_byte(75)
message_end()
}
В результате работает через задницу, то 175 ограничение, то 100. Need help!
Отредактировал: Krevedko, - 7.11.2010, 13:05