чел, не про апи чита тут вообще речь идетесли на кряк то api не позволит ,сли на пандору то api ,не позволит ,если на в4 то api не позволит, ну в общем понял
Ооо, давненько я к этому не притрагивался, но всё же, я думаю можно сделать это весьма простым способом, используя дистанцию. Объясню несколько вещей:Собсна как сделать гренад ворнинг, как он работает и каким путем делается
bool GrenadeInHand(CSGO___WEAPONS * Weapon)
{
}
if(ACTIVE_WEAPON == WEAPON_MOLOTOV)
return true;
std::string draw = "";
const CS_MODELS* a_model = csgo::Get().Entity->GetModel();
if (!a_model)
return;
const CS_STUDIOHDR* a_StudioHdr = csgo::Get().Base.Models.Info->GetStudiomodel(a_model);
if (!a_StudioHdr)
return;
const auto CLIENT_CLASS = csgo::Get().Entity->GetClientClass();
if (!CLIENT_CLASS)
return;
switch (CLIENT_CLASS->m_ClassID)
{
case (int)csgo::Get().Base.ClassIds::CMolotovProjectile:
draw = "fire";
break;
case (int)csgo::Get().Base.ClassIds::CSmokeGrenadeProjectile:
draw = "smoke";
break;
case (int)csgo::Get().Base.ClassIds::CDecoyProjectile:
draw = "decoy";
break;
case (int)csgo::Get().Base.ClassIds::CBaseCSGrenadeProjectile:
if (a_StudioHdr->name[16] == 's')
draw = "flash";
else
draw = "grenade";
break;
default:
break;
}
Vector DA;
if (csgo::Get().Utils::WorldToScreen(csgo::Get().Entity->GetAbsOrigin(), DA))
{
csgo::Get().Surface.Draw->String(DA.x, DA.y + 5, csgo::Get().Surface.Fonts.CsGo, csgo::Get().Surface.Colors.Red, draw);
}
float value = csgo::Get().OtherCalc->DistanceToTarget(/*target*/,/*object or player*/);
float value = csgo::Get().Local->GetOrigin().DistTo(/*object or player using the Origin, but wtf*/);
не мужик мне кажется что ему нужен такойОоо, давненько я к этому не притрагивался, но всё же, я думаю можно сделать это весьма простым способом, используя дистанцию. Объясню несколько вещей:
1) Тебе нужно просто создать bool, который будет называться как тебе угодно, а то есть:
Внутри этого самого bool ты делаешь проверку используя получение активного оружия в руках противника, и проверяешь, есть ли какая либо из гранат у него в руках, ну допустим:C++:bool GrenadeInHand(CSGO___WEAPONS * Weapon) { }
Если то оружие которые ты указал, находится в руках противника,ОНО АКТИВНО, то ты делаешь значение bool равное true, в противном случае falseC++:if(ACTIVE_WEAPON == WEAPON_MOLOTOV) return true;
2) Использовать либо ClassID, либо StudioHDR. Тут уже на твоё усмотрение, а вообще, сразу покажу и классы и студио.
Самое главное, это создать к примеру строчку
Чтобы потом присваивать ей значениеC++:std::string draw = "";
Простенький пример:
После чего создаёшь отрисовочку, где тебе покажет значение draw:C++:const CS_MODELS* a_model = csgo::Get().Entity->GetModel(); if (!a_model) return; const CS_STUDIOHDR* a_StudioHdr = csgo::Get().Base.Models.Info->GetStudiomodel(a_model); if (!a_StudioHdr) return; const auto CLIENT_CLASS = csgo::Get().Entity->GetClientClass(); if (!CLIENT_CLASS) return; switch (CLIENT_CLASS->m_ClassID) { case (int)csgo::Get().Base.ClassIds::CMolotovProjectile: draw = "fire"; break; case (int)csgo::Get().Base.ClassIds::CSmokeGrenadeProjectile: draw = "smoke"; break; case (int)csgo::Get().Base.ClassIds::CDecoyProjectile: draw = "decoy"; break; case (int)csgo::Get().Base.ClassIds::CBaseCSGrenadeProjectile: if (a_StudioHdr->name[16] == 's') draw = "flash"; else draw = "grenade"; break; default: break; }
Благодаря этому ты создал отрисовку оружия (но это ещё не всё), можно вообще всё это уместить в один void, если конечно так будет удобнее.C++:Vector DA; if (csgo::Get().Utils::WorldToScreen(csgo::Get().Entity->GetAbsOrigin(), DA)) { csgo::Get().Surface.Draw->String(DA.x, DA.y + 5, csgo::Get().Surface.Fonts.CsGo, csgo::Get().Surface.Colors.Red, draw); }
Теперь тебе остаётся получить дистанцию до нашего игрока от твоего объекта, в нашем случае гранаты
Для того чтобы узнать по больше:
Пожалуйста, авторизуйтесь для просмотра ссылки.
Ну а теперь получаем дистанцию (это ещё смотря что у тебя имеется в базе):
илиC++:float value = csgo::Get().OtherCalc->DistanceToTarget(/*target*/,/*object or player*/);
илиC++:float value = csgo::Get().Local->GetOrigin().DistTo(/*object or player using the Origin, but wtf*/);
Пожалуйста, авторизуйтесь для просмотра ссылки.
Дистанция может отображаться не совсем приятным видом, но ты всегда можешь сделать приятнее (имею в виду вместо 0.303040014 видеть 0.3)
Для того, чтобы протестить, какого значение дистанции, ты можешь так же отрисовать его как обычную строчку, в нашем случае value и есть та самая дистанция. А далее зови друга, и пусть он кидает гранату, либо кидай гранату сам, работает аналогично (кстати рядом с отрисовкой гранаты можно указать её дистанцию до твоего игрока, будет выглядеть весьма сексуально ).
!!!А ТЕПЕРЬ САМОЕ ГЛАВНОЕ!!!
Смотришь, какое значение получается критическим (вообще...то значение, которое тебя устроит) и делаешь отрисовку-предупреждение ( в случае если ты достиг этого КРИТИЧЕСКОГО значения).
А вот как сделать предупреждение, это уже понятно. Таким же методом как мы рисовали текст, рисуешь текст (в углу экрана или в центре, не важно), либо круг внутри которого текст "!", вообще по разному.
Здесь уже конечно всё зависит от твоей фантазии
Посмотреть вложение 133617Посмотреть вложение 133618
Разница в этих 2 реализациях минимальна. У тебя предугадывает место, да, это хорошо. У меня показывает гранату, дистанцию и предупреждение в любом месте, к нему можно прицепить показ как на enemy arrows и это будет выглядеть ещё лучше. Так что в этом случае я ничего против не имею, при условии, что я предложил ОДИН ИЗ СПОСОБОВне мужик мне кажется что ему нужен такой
который делается банальным предиктом уже существующего нейд ентитиПожалуйста, авторизуйтесь для просмотра ссылки.Пожалуйста, авторизуйтесь для просмотра ссылки.
не мужик мне кажется что ему нужен такой
который делается банальным предиктом уже существующего нейд ентитиПожалуйста, авторизуйтесь для просмотра ссылки.Пожалуйста, авторизуйтесь для просмотра ссылки.
можешь пожалуйста дать код этого чудаСкрытое содержимое
МНЕ ТОЖЕ!можешь пожалуйста дать код этого чуда
можешь пожалуйста дать код этого чуда
с чего взяли что там кодМНЕ ТОЖЕ!
МНЕ ТОЖЕ!
можешь пожалуйста дать код этого чуда
жесть парни если вам так сильно нужна данная featureСкрытое содержимое
if ( m_predicted_nades.at( handle ).draw( ) )
continue;
m_predicted_nades.erase( handle );
если у тебя есть код того что на видео фулл, могу заплатитьне мужик мне кажется что ему нужен такой
который делается банальным предиктом уже существующего нейд ентитиПожалуйста, авторизуйтесь для просмотра ссылки.Пожалуйста, авторизуйтесь для просмотра ссылки.
от 2кесли у тебя есть код того что на видео фулл, могу заплатить
вместо того чтобы отвечать в теме мог бы отписать по контактам в моем профиле...если у тебя есть код того что на видео фулл, могу заплатить
Даже если вам это дадут у вас мозга не хватит спастить.МНЕ ТОЖЕ!
Лучшее купить гранейд хелпер..если у тебя есть код того что на видео фулл, могу заплатить
хм, ну это как посмотреть, бесполезно говоришь ? если в тебя летит молик/хае и ты знаешь куда он прилетит , можно отойти и не получить дамаг 0_0Даже если вам это дадут у вас мозга не хватит спастить.
А сама функция бесполезная.
Красиво, но смысла ноль
Лучшее купить гранейд хелпер..
Толку больше будет
Ебать вау, а текст или иконка ??хм, ну это как посмотреть, бесполезно говоришь ? если в тебя летит молик/хае и ты знаешь куда он прилетит , можно отойти и не получить дамаг 0_0
иконкаЕбать вау, а текст или иконка ??
круто круто а нахуя функция draw возвращает булин значение
if ( m_path.size( ) <= 1u
|| interfaces::m_global_vars->m_cur_time > m_expire_time )
return false;
откуда
Проект предоставляет различный материал, относящийся к сфере киберспорта, программирования, ПО для игр, а также позволяет его участникам общаться на многие другие темы. Почта для жалоб: admin@yougame.biz