Участник
Пользователь
- Сообщения
- 775
- Реакции
- 293
- Помог
- 11 раз(а)
Покажи, что за примеротличный пример у флимика, лучше разбери его
Покажи, что за примеротличный пример у флимика, лучше разбери его
get_user_aiming
.#include <amxmodx>
#include <reapi>
new g_iUserAimingIndex[MAX_PLAYERS+1];
public plugin_init()
{
register_event("StatusValue", "EventStatusValueShow", "be", "1=2", "2!0");
register_event("StatusValue", "EventStatusValueHide", "be", "1=1", "2=0");
RegisterHookChain(RG_CBasePlayer_UseEmpty, "CBasePlayer_UseEmpty", .post = true);
}
public EventStatusValueShow(pPlayer)
{
// https://wiki.alliedmods.net/Half-Life_1_Game_Events#StatusValue
g_iUserAimingIndex[pPlayer] = read_data(2);
}
public EventStatusValueHide(pPlayer)
{
g_iUserAimingIndex[pPlayer] = 0;
}
public CBasePlayer_UseEmpty(pPlayer)
{
if(!is_user_alive(pPlayer) || !is_user_alive(g_iUserAimingIndex[pPlayer]))
return;
client_print_color(pPlayer, print_team_default, "Смотришь на:^4 %n", g_iUserAimingIndex[pPlayer]);
}
mp_playerid
. Хз как отключение показа текста на кого смотришь повлияет на обработку ивента, не проверял и не вникал.там еще и player health можно получить..индекс того, на кого смотришь, можешь получить из ивента
public EventStatusValueShow(pPlayer)
убрать "2!0", то register_event("StatusValue", "EventStatusValueHide", "be", "1=1", "2=0");
вообще не нужент.е.register_event("StatusValue", "EventStatusValueShow", "be", "1=2", "2!0");
register_event("StatusValue", "EventStatusValueShow", "be", "1=2", "2=3");
, гдеread_data(2)
)read_data(3)
)2 параметр - индекс игрока.т.е.register_event("StatusValue", "EventStatusValueShow", "be", "1=2", "2=3");
"1=1" - Первый параметр должен быть равен 1
"2!0" - Второй параметр должен быть не равен 0
"3>0" - Третий параметр должен быть больше 0
"4&C4" - Четвертый параметр должен содержать "C4" (для параметра-строки)
public event_CallBack(pPlayer)
{
// "1=1"
new iParam1;
iParam1 = read_data(1);
if(iParam1 != 1)
return;
// "2!0"
new iParam2;
iParam2 = read_data(2);
if(iParam2 == 0)
return;
// "3>0"
new iParam3;
iParam3 = read_data(3);
if(iParam3 <= 0)
return;
// "4&C4"
new szParam4[16];
read_data(4, szParam4, charsmax(szParam4));
if(!contain(szParam4, "C4"))
return;
}
Да, там так написано. Нотам еще и player health можно получить..
new iHealth = read_data(3);
всегда равен 0int
так и float
if(get_user_flags(id) & read_flags(g_Cvar[IMK_MP_GIRL_ACCESS]))
{
set_entvar(id, var_viewmodel, VIEW_MDL);
set_entvar(id, var_body, 1);
set_entvar(id, var_sequence, 0);
}
else
{
set_entvar(id, var_viewmodel, VIEW_MDL);
set_entvar(id, var_body, 0);
set_entvar(id, var_sequence, 0);
}