Участник
-
Автор темы
- #1
Речь о CS 1.6. Решил я значит ебануть с нуля читец, начал было, и тут замечаю, что на довольно большом количестве серверов стоит этот блокер. В результате аим, триггер и есп отлетают (а где вхблокер - там и вх). Изначально планировался чит с огромнейшим количеством функций, ну а теперь, как видно, планы нарушены (я хочу сделать чит, который будет работать ВЕЗДЕ, даже на самых защищённых серверах, не считай ФейсИт-ов всяких и прочих с клиент-сайд защитой). У меня в голове сейчас только определение игроков по количеству вертексов в модели (но это огл, а огл жрёт). Мб у кого здесь есть идея, как обойти этот блокер? В HPP вроде частично такое реализовали, значит, возможно.
И ещё, в чём хурма: определяю тиму игрока по модели (некоторые сервера намеренно шлют неверные данные в TeamInfo), а почему-то по итогу, когда рисуются чамсы, часть игроков верно окрашиваются в требуемый цвет, а часть - нет. Есть подозрения, что это опять сервера мудачат. Тем не менее, код прилагаю, мало ли, где какую манюсенькую ошибку допустил:
Вот, кста, текущий функционал (меню пока не занимался толком) :
И ещё, в чём хурма: определяю тиму игрока по модели (некоторые сервера намеренно шлют неверные данные в TeamInfo), а почему-то по итогу, когда рисуются чамсы, часть игроков верно окрашиваются в требуемый цвет, а часть - нет. Есть подозрения, что это опять сервера мудачат. Тем не менее, код прилагаю, мало ли, где какую манюсенькую ошибку допустил:
Код:
enum
{
_IS_CT,
_IS_T,
_IS_UNK
};
int SUtils::GetTeam(cl_entity_s* ent)//cl_minmodels 1 is requared, aga
{
if(ent->model->name == NULL)
return _IS_UNK;
if (strstr(ent->model->name, "urban"))
return _IS_CT;
else if (strstr(ent->model->name, "terror"))
return _IS_T;
else return _IS_UNK;
}
//...
for (int i = 1, j = Engine.GetMaxClients(); i < j; i++)
{
cl_entity_s* ent = Engine.GetEntityByIndex(i);
Player[i].Team = Utils.GetTeam(ent);
}
//...
cl_entity_s* ent = Engine.GetLocalPlayer();
Local.Team = Utils.GetTeam(ent);
//...
if (Player[ent->index].Team == Local.Team)
{
ent->curstate.rendercolor.r = 0;
ent->curstate.rendercolor.g = 0;
ent->curstate.rendercolor.b = 255;
}
else if(Player[ent->index].Team != _IS_UNK)
{
ent->curstate.rendercolor.r = 0;
ent->curstate.rendercolor.g = 255;
ent->curstate.rendercolor.b = 0;
}
Вот, кста, текущий функционал (меню пока не занимался толком) :