Triggerbot Update

This commit is contained in:
nullifiedcat 2017-01-15 17:54:34 +03:00
parent b5012382c3
commit 8c1935693f
3 changed files with 27 additions and 18 deletions

View File

@ -4,12 +4,9 @@ Time DRM
Build DRM Build DRM
SteamID DRM SteamID DRM
TF2 path detection
remove debug logs
FIX crash FIX crash
FIX conds FIX conds
Player List Player List
Zoom cat_fov
DS esp slow DS esp slow
MAX -> MIN priority MAX -> MIN priority
@ -18,7 +15,6 @@ Radar
AutoTrashtalk AutoTrashtalk
Noisemaker Spam Noisemaker Spam
Deflected by enemy player Deflected by enemy player
AirStuck FIX
Aim Stickies Aim Stickies
FLAG ESP FLAG ESP
no aim sapper no aim sapper

View File

@ -37,6 +37,8 @@ Triggerbot::Triggerbot() {
this->v_iHitbox = CREATE_CV(new CatEnum(psza__HitboxT, ARRAYSIZE(psza__HitboxT), -1), "trigger_hitbox", "-1", "Hitbox"); this->v_iHitbox = CREATE_CV(new CatEnum(psza__HitboxT, ARRAYSIZE(psza__HitboxT), -1), "trigger_hitbox", "-1", "Hitbox");
this->v_iMinRange = CREATE_CV(CV_INT, "trigger_range", "0", "Max range"); this->v_iMinRange = CREATE_CV(CV_INT, "trigger_range", "0", "Max range");
this->v_bBuildings = CREATE_CV(CV_SWITCH, "trigger_buildings", "1", "Trigger @ Buildings"); this->v_bBuildings = CREATE_CV(CV_SWITCH, "trigger_buildings", "1", "Trigger @ Buildings");
this->v_bIgnoreVaccinator = CREATE_CV(CV_SWITCH, "trigger_respect_vaccinator", "1", "Don't shoot at vaccinated enemies");
this->v_bAmbassadorCharge = CREATE_CV(CV_SWITCH, "trigger_ambassador", "1", "Smart Ambassador");
} }
bool Triggerbot::CreateMove(void* thisptr, float sampl, CUserCmd* cmd) { bool Triggerbot::CreateMove(void* thisptr, float sampl, CUserCmd* cmd) {
@ -45,6 +47,14 @@ bool Triggerbot::CreateMove(void* thisptr, float sampl, CUserCmd* cmd) {
/*IClientEntity* local = ENTITY(interfaces::engineClient->GetLocalPlayer()); /*IClientEntity* local = ENTITY(interfaces::engineClient->GetLocalPlayer());
if (!local) return; if (!local) return;
if (NET_BYTE(local, entityvars.iLifeState)) return;*/ if (NET_BYTE(local, entityvars.iLifeState)) return;*/
if (GetWeaponMode(g_pLocalPlayer->entity) != weapon_hitscan) return true;
if (v_bAmbassadorCharge->GetBool()) {
if (IsAmbassador(g_pLocalPlayer->weapon())) {
if ((interfaces::gvars->curtime - CE_FLOAT(g_pLocalPlayer->weapon(), netvar.flLastFireTime)) <= 1.0) {
return true;
}
}
}
Ray_t ray; Ray_t ray;
filter->SetSelf(RAW_ENT(g_pLocalPlayer->entity)); filter->SetSelf(RAW_ENT(g_pLocalPlayer->entity));
eye = g_pLocalPlayer->v_Eye; eye = g_pLocalPlayer->v_Eye;
@ -61,27 +71,28 @@ bool Triggerbot::CreateMove(void* thisptr, float sampl, CUserCmd* cmd) {
forward.z = -sp; forward.z = -sp;
forward = forward * 8192.0f + eye; forward = forward * 8192.0f + eye;
ray.Init(eye, forward); ray.Init(eye, forward);
if (v_iHitbox->GetInt() == -1) {
interfaces::trace->TraceRay(ray, MASK_SHOT_HULL, filter, enemy_trace);
} else {
interfaces::trace->TraceRay(ray, 0x4200400B, filter, enemy_trace); interfaces::trace->TraceRay(ray, 0x4200400B, filter, enemy_trace);
}
IClientEntity* raw_entity = (IClientEntity*)(enemy_trace->m_pEnt); IClientEntity* raw_entity = (IClientEntity*)(enemy_trace->m_pEnt);
if (!raw_entity) return true; if (!raw_entity) return true;
CachedEntity* entity = ENTITY(raw_entity->entindex()); CachedEntity* entity = ENTITY(raw_entity->entindex());
if (!entity->m_bEnemy) return true;
bool isPlayer = false; bool isPlayer = false;
switch (entity->m_iClassID) { switch (entity->m_Type) {
case ClassID::CTFPlayer: case EntityType::ENTITY_PLAYER:
isPlayer = true; isPlayer = true; break;
break; case EntityType::ENTITY_BUILDING:
case ClassID::CObjectTeleporter: if (!this->v_bBuildings->GetBool()) return true;
case ClassID::CObjectSentrygun:
case ClassID::CObjectDispenser:
if (!this->v_bBuildings->GetBool()) {
return true;
}
break; break;
default: default:
return true; return true;
}; };
if (!entity->m_bEnemy) return true;
Vector enemy_pos = entity->m_vecOrigin; Vector enemy_pos = entity->m_vecOrigin;
Vector my_pos = g_pLocalPlayer->entity->m_vecOrigin; Vector my_pos = g_pLocalPlayer->entity->m_vecOrigin;
if (v_iMinRange->GetInt() > 0) { if (v_iMinRange->GetInt() > 0) {
@ -91,6 +102,7 @@ bool Triggerbot::CreateMove(void* thisptr, float sampl, CUserCmd* cmd) {
cmd->buttons |= IN_ATTACK; cmd->buttons |= IN_ATTACK;
return true; return true;
} }
if ((CE_INT(entity, netvar.iCond2) & cond_ex::vacc_bullet) && v_bIgnoreVaccinator->GetBool()) return true;
relation rel = GetRelation(entity); relation rel = GetRelation(entity);
if (rel == relation::FRIEND || rel == relation::DEVELOPER) return true; if (rel == relation::FRIEND || rel == relation::DEVELOPER) return true;
if (IsPlayerInvulnerable(entity)) return true; if (IsPlayerInvulnerable(entity)) return true;

View File

@ -26,6 +26,7 @@ public:
CatVar* v_iMinRange; CatVar* v_iMinRange;
CatVar* v_bBuildings; CatVar* v_bBuildings;
CatVar* v_bIgnoreVaccinator; CatVar* v_bIgnoreVaccinator;
CatVar* v_bAmbassadorCharge;
}; };
DECLARE_HACK_SINGLETON(Triggerbot); DECLARE_HACK_SINGLETON(Triggerbot);