Добрый день, начал активно изучать скриптинг +- начального уровня, но возникают опеределенные сложности в понимании.
Одним из таких недопониманий кода, является admin esp (автоp Neugomon).
Техника призыва ----> fl0wer
Одним из таких недопониманий кода, является admin esp (автоp Neugomon).
Код:
new bool:g_IsAlive[33]; // глобальная булевая для проверки жив ли игрок в других функциях
public client_putinserver(id)
g_IsAlive[id] = false; // по дефолту выставляется, что игрок мертв и обозначается как false
public eDeathMsg()
g_IsAlive[read_data(2)] = false; // в функции при смерти, выставляем снова false если умер
public eResetHud(id)
g_IsAlive[id] = true; // в функции выставляем, так игрок жив
public eSpecMode(id) // все понятно вроде, если наблюдатель, то запускаем таск
{
if(entity_get_int(id, EV_INT_iuser1) == 4)
set_task(0.3, "EspTimer", id, .flags="b");
else
remove_task(id);
}
public EspTimer(id)
{
switch(g_IsAlive[id])
{
case false:
{
static iTarget; iTarget = entity_get_int(id, EV_INT_iuser2); //получаем id наблюдаемого игрока
if(iTarget && is_user_alive(iTarget) && is_valid_ent(iTarget)) /////// самый непонятный мне кусок
SendQuadro(id, iTarget);
}
case true: remove_task(id);
}
}
//////////////////////////////////////////////////
if(iTarget && is_user_alive(iTarget) && is_valid_ent(iTarget))
SendQuadro(id, iTarget);
1. Почему мы пишем iTarget - если это просто получаемый id записаный в статику с названием iTarget
2. Зачем использовать is_user_alive(iTarget), если есть булевая g_IsAlive ?
2.1 Можно же использовать g_IsAlive[iTarget] ?
3. is_valid_ent(iTarget) допустим еще понимаю, что для проверки валидности,
но тоже есть сомнения, что в связке с is_user_alive необходимо
Последнее редактирование: