2段穿墙代码

社区服务
高级搜索
猴岛论坛CSGO反恐精英CS作弊器交流讨论2段穿墙代码
发帖 回复
倒序阅读 最近浏览的帖子最近浏览的版块
57个回复

2段穿墙代码

楼层直达
莎仕芘亞

ZxID:1171401

等级: 元老
猴岛国防部部长

举报 只看楼主 使用道具 楼主   发表于: 2007-06-27 0
常见的穿墙代码,一般在aimbot.cpp
int CanPenetrate( float *start, float *end, int power )
{
  static pmtrace_t* tr = (pmtrace_t*)0x02252DF0;

  float view[3];
  float dir[3];

  view[0] = end[0] - start[0];
  view[1] = end[1] - start[1];
  view[2] = end[2] - start[2];

  float length = VectorLength(view);

  dir[0] = view[0] / length;
  dir[1] = view[1] / length;
  dir[2] = view[2] / length;

  float position[3];
  position[0] = start[0];
  position[1] = start[1];
  position[2] = start[2];
  tr->startsolid = true;

  while( power )
  {
    if( !tr->startsolid )
      power--;
    tr = gEngfuncs.PM_TraceLine( position, end, PM_TRACELINE_PHYSENTSONLY, 2, -1);
   
    if( tr->fraction==1.0f )
      return 1;
    if( tr->allsolid )
      return 0;

    position[0] = tr->endpos[0] + dir[0] * 8.0f;
    position[1] = tr->endpos[1] + dir[1] * 8.0f;
    position[2] = tr->endpos[2] + dir[2] * 8.0f;
  }
  return 0;
}
//====================================================================================
int CheckCurGun ()
{
  if (currentWeaponID == WEAPON_SG550 || currentWeaponID == WEAPON_G3SG1 || currentWeaponID == WEAPON_SCOUT || currentWeaponID == WEAPON_AWP)
  { return 3; }

  if (currentWeaponID == WEAPON_AUG || currentWeaponID == WEAPON_PARA || currentWeaponID == WEAPON_COLT || currentWeaponID == WEAPON_DEAGLE || currentWeaponID == WEAPON_SIG || currentWeaponID == WEAPON_AK)
  { return 2; }
 
  { return 0; }
}

//====================================================================================
int PathFree (float * from, float * to)
{
  pmtrace_t tr;
  gEngfuncs.pEventAPI->EV_SetTraceHull( 2 );
  gEngfuncs.pEventAPI->EV_PlayerTrace( from, to, PM_GLASS_IGNORE, me.ent->index, &tr );
  int pathtest = (tr.fraction == 1.0f);
  if (!pathtest && cvar.autowall && CheckCurGun())
  {
    pathtest = CanPenetrate(from, to, CheckCurGun());
  }
  return pathtest;
}
cpp改完拉别忘拉h文件,aimbot.h
int CanPenetrate( float *start, float *end, int power ) ;
int PathFree (float * from, float * to) ;
int CheckCurGun () ;
                  ——↑——这分号可是落不得的,要不非郁闷死你不可!!

下面这个比较长,而且得利用trace.cpp里面的功能,我有带附件,自己下载

aimbot.cpp文件,别忘拉,在开头部分加上#include "trace.h"
bool canpenetrate(float *start, float *end)
{
  int maxhits = 10, count = 0;
  float damage = 120;
  strace_t tr;
  pmtrace_t beam_tr, beam_tr1, *tmptr;
  float srcorigin[3];
  float diff[3], length, viewvec[3], unityview[3], position[3];

  viewvec[0] = end[0] - start[0];
  viewvec[1] = end[1] - start[1];
  viewvec[2] = end[2] - start[2];

  length = VectorLength(viewvec);

  unityview[0] = viewvec[0] / length;
  unityview[1] = viewvec[1] / length;
  unityview[2] = viewvec[2] / length;

  srcorigin[0] = start[0];
  srcorigin[1] = start[1];
  srcorigin[2] = start[2];

  while (damage > 10 && maxhits > 0)
  {
    maxhits--;

    TraceThickness(srcorigin, end, 0, &tr);

    if (tr.finished)
        break;

    if (srcorigin[0] != tr.endpos[0] || srcorigin[1] != tr.endpos[1] || srcorigin[2] != tr.endpos[2])
        count++;

    if (count >= (GetCurPenetration() + 1) && !tr.finished)
    {
        damage = 0;

        break;
    }

    position[0] = tr.endpos[0] + unityview[0] * 8.0;
    position[1] = tr.endpos[1] + unityview[1] * 8.0;
    position[2] = tr.endpos[2] + unityview[2] * 8.0;

    tmptr = gEngfuncs.PM_TraceLine(position, end, PM_TRACELINE_PHYSENTSONLY, 2, -1);

    memcpy(&beam_tr, tmptr, sizeof(pmtrace_t));

    if (!beam_tr.allsolid)
    {
        tmptr = gEngfuncs.PM_TraceLine(beam_tr.endpos, tr.endpos, PM_TRACELINE_PHYSENTSONLY, 2, -1);

        memcpy(&beam_tr1, tmptr, sizeof(pmtrace_t));

        diff[0] = beam_tr1.endpos[0] - tr.endpos[0];
        diff[1] = beam_tr1.endpos[1] - tr.endpos[1];
        diff[2] = beam_tr1.endpos[2] - tr.endpos[2];

        length = VectorLength(diff);

        if (length < damage)
        {
          damage -= length;

          srcorigin[0] = beam_tr1.endpos[0] + unityview[0];
          srcorigin[1] = beam_tr1.endpos[1] + unityview[1];
          srcorigin[2] = beam_tr1.endpos[2] + unityview[2];
        }
    }
    else
        damage = 0;
  }

  if (maxhits == 0 && damage)
  {
    tr.finished = false;

    while (!tr.finished)
    {
        TraceThickness(srcorigin, end, 0, &tr);

        if (tr.allsolid)
          return false;

        if (!tr.startsolid)
        {
          if (tr.finished)
            return damage > 0.0;

          return false;
        }

        srcorigin[0] = tr.endpos[0] + unityview[0];
        srcorigin[1] = tr.endpos[1] + unityview[1];
        srcorigin[2] = tr.endpos[2] + unityview[2];
    }
  }

  return damage > 0.0;
}
int penetrate;
bool CorrectGun()
{
  if(currentWeaponID==WEAPON_DEAGLE)
  {
    penetrate = WALL_PEN1;
    return true;
  }
  else if(currentWeaponID==WEAPON_SCOUT)
  {
    penetrate = WALL_PEN2;
    return true;
  }
  else if(currentWeaponID==WEAPON_AWP)
  {
    penetrate = WALL_PEN2;
    return true;
  }
  else if(currentWeaponID==WEAPON_SIG)
  {
    penetrate = WALL_PEN2;
    return true;
  }
  else if(currentWeaponID==WEAPON_COLT)
  {
    penetrate = WALL_PEN2;
    return true;
  }
  else if(currentWeaponID==WEAPON_GALIL)
  {
    penetrate = WALL_PEN1;
    return true;
  }
  else if(currentWeaponID==WEAPON_FAMAS)
  {
    penetrate = WALL_PEN1;
    return true;
  }
  else if(currentWeaponID==WEAPON_PARA)
  {
    penetrate = WALL_PEN2;
    return true;
  }
  else if(currentWeaponID==WEAPON_AUG)
  {
    penetrate = WALL_PEN1;
    return true;
  }
  else if(currentWeaponID==WEAPON_AK)
  {
    penetrate = WALL_PEN2;
    return true;
  }
  else if(currentWeaponID==WEAPON_SG550)
  {
    penetrate = WALL_PEN2;
    return true;
  }
  else if(currentWeaponID==WEAPON_G3SG1)
  {
    penetrate = WALL_PEN2;
    return true;
  }
  else
  {
    penetrate = WALL_PEN0;
    return true;
  }
}

int CurPenetration(void)
{
  if (CorrectGun())
    return penetrate;
  return WALL_PEN0;
}
bool pathFree(float *start, float *end)
{
  bool pathtest;
  strace_t tr;

  if (cvar.autowall && CurPenetration())
  {
    pathtest = CanPenetrate(start, end);
  }
  else
  {
    TraceThickness(start, end, 0, &tr);

  if (tr.finished)
    pathtest = true;
  else
    pathtest = false;
  }
  return pathtest;
}
aimbot.h文件
bool pathFree(float *start, float *end) ;
bool canpenetrate(float *start, float *end);
int CurPenetration(void);
bool CorrectGun();
还有一种很麻烦的穿墙代码,涉及到十来个文件,有点麻烦,在这儿不说拉。

添加中需要注意的是,你代码里原来的名字可能和我的不一样,会出问题。所以添加的时候注意你原来的名字
另外,如果操作中有遇到问题,问我。最好把错的,和错的地方告诉我。

zxc4506505

ZxID:1244308

等级: 新兵
举报 只看该作者 沙发   发表于: 2007-08-13 0
引用
引用第0楼步惊天于2007-06-27 01:53发表的 2段穿墙代码 :
常见的穿墙代码,一般在aimbot.cppint CanPenetrate( float *start, float *end, int power ) {  static pmtrace_t* tr = (pmtrace_t*)0x02252DF0;  float view[3];  float dir[3];  view[0] = end[0] - start[0];  view[1] = end[1] - start[1];  view[2] = end[2] - start[2];  float length = VectorLength(view);  dir[0] = view[0] / length;  dir[1] = view[1] / length;  dir[2] = view[2] / length;  float position[3];  position[0] = start[0];  position[1] = start[1];  position[2] = start[2];  tr->startsolid = true;  while( power )  {    if( !tr->startsolid )      power--;    tr = gEngfuncs.PM_TraceLine( position, end, PM_TRACELINE_PHYSENTSONLY, 2, -1);        if( tr->fraction==1.0f )      return 1;    if( tr->allsolid )      return 0;    position[0] = tr->endpos[0] + dir[0] * 8.0f;    position[1] = tr->endpos[1] + dir[1] * 8.0f;    position[2] = tr->endpos[2] + dir[2] * 8.0f;  }  return 0; } //====================================================================================int CheckCurGun () {  if (currentWeaponID == WEAPON_SG550 || currentWeaponID == WEAPON_G3SG1 || currentWeaponID == WEAPON_SCOUT || currentWeaponID == WEAPON_AWP)  { return 3; }  if (currentWeaponID == WEAPON_AUG || currentWeaponID == WEAPON_PARA || currentWeaponID == WEAPON_COLT || currentWeaponID == WEAPON_DEAGLE || currentWeaponID == WEAPON_SIG || currentWeaponID == WEAPON_AK)  { return 2; }    { return 0; }}//====================================================================================int PathFree (float * from, float * to) {  pmtrace_t tr;  gEngfuncs.pEventAPI->EV_SetTraceHull( 2 );  gEngfuncs.pEventAPI->EV_PlayerTrace( from, to, PM_GLASS_IGNORE, me.ent->index, &tr );  int pathtest = (tr.fraction == 1.0f);  if (!pathtest && cvar.autowall && CheckCurGun())  {    pathtest = CanPenetrate(from, to, CheckCurGun());  }  return pathtest; }cpp改完拉别忘拉h文件,aimbot.hint CanPenetrate( float *start, float *end, int power ) ;int PathFree (float * from, float * to) ;int CheckCurGun () ;                  ——↑——这分号可是落不得的,要不非郁闷死你不可!!下面这个比较长,而且得利用trace.cpp里面的功能,我有带附件,自己下载aimbot.cpp文件,别忘拉,在开头部分加上#include "trace.h"bool canpenetrate(float *start, float *end){  int maxhits = 10, count = 0;  float damage = 120;  strace_t tr;  pmtrace_t beam_tr, beam_tr1, *tmptr;  float srcorigin[3];  float diff[3], length, viewvec[3], unityview[3], position[3];  viewvec[0] = end[0] - start[0];  viewvec[1] = end[1] - start[1];  viewvec[2] = end[2] - start[2];  length = VectorLength(viewvec);  unityview[0] = viewvec[0] / length;  unityview[1] = viewvec[1] / length;  unityview[2] = viewvec[2] / length;  srcorigin[0] = start[0];  srcorigin[1] = start[1];  srcorigin[2] = start[2];  while (damage > 10 && maxhits > 0)  {    maxhits--;    TraceThickness(srcorigin, end, 0, &tr);    if (tr.finished)        break;    if (srcorigin[0] != tr.endpos[0] || srcorigin[1] != tr.endpos[1] || srcorigin[2] != tr.endpos[2])        count++;    if (count >= (GetCurPenetration() + 1) && !tr.finished)    {        damage = 0;        break;    }    position[0] = tr.endpos[0] + unityview[0] * 8.0;    position[1] = tr.endpos[1] + unityview[1] * 8.0;    position[2] = tr.endpos[2] + unityview[2] * 8.0;    tmptr = gEngfuncs.PM_TraceLine(position, end, PM_TRACELINE_PHYSENTSONLY, 2, -1);    memcpy(&beam_tr, tmptr, sizeof(pmtrace_t));    if (!beam_tr.allsolid)    {        tmptr = gEngfuncs.PM_TraceLine(beam_tr.endpos, tr.endpos, PM_TRACELINE_PHYSENTSONLY, 2, -1);        memcpy(&beam_tr1, tmptr, sizeof(pmtrace_t));        diff[0] = beam_tr1.endpos[0] - tr.endpos[0];        diff[1] = beam_tr1.endpos[1] - tr.endpos[1];        diff[2] = beam_tr1.endpos[2] - tr.endpos[2];        length = VectorLength(diff);        if (length < damage)        {          damage -= length;          srcorigin[0] = beam_tr1.endpos[0] + unityview[0];          srcorigin[1] = beam_tr1.endpos[1] + unityview[1];          srcorigin[2] = beam_tr1.endpos[2] + unityview[2];        }    }    else        damage = 0;  }  if (maxhits == 0 && damage)  {    tr.finished = false;    while (!tr.finished)    {        TraceThickness(srcorigin, end, 0, &tr);        if (tr.allsolid)          return false;        if (!tr.startsolid)        {          if (tr.finished)            return damage > 0.0;          return false;        }        srcorigin[0] = tr.endpos[0] + unityview[0];        srcorigin[1] = tr.endpos[1] + unityview[1];        srcorigin[2] = tr.endpos[2] + unityview[2];    }  }  return damage > 0.0;}int penetrate;bool CorrectGun(){  if(currentWeaponID==WEAPON_DEAGLE)  {    penetrate = WALL_PEN1;    return true;  }  else if(currentWeaponID==WEAPON_SCOUT)  {    penetrate = WALL_PEN2;    return true;  }  else if(currentWeaponID==WEAPON_AWP)  {    penetrate = WALL_PEN2;    return true;  }  else if(currentWeaponID==WEAPON_SIG)  {    penetrate = WALL_PEN2;    return true;  }  else if(currentWeaponID==WEAPON_COLT)  {    penetrate = WALL_PEN2;    return true;  }  else if(currentWeaponID==WEAPON_GALIL)  {    penetrate = WALL_PEN1;    return true;  }  else if(currentWeaponID==WEAPON_FAMAS)  {    penetrate = WALL_PEN1;    return true;  }  else if(currentWeaponID==WEAPON_PARA)  {    penetrate = WALL_PEN2;    return true;  }  else if(currentWeaponID==WEAPON_AUG)  {    penetrate = WALL_PEN1;    return true;  }  else if(currentWeaponID==WEAPON_AK)  {    penetrate = WALL_PEN2;    return true;  }  else if(currentWeaponID==WEAPON_SG550)  {    penetrate = WALL_PEN2;    return true;  }  else if(currentWeaponID==WEAPON_G3SG1)  {    penetrate = WALL_PEN2;    return true;  }  else  {    penetrate = WALL_PEN0;    return true;  }}int CurPenetration(void){  if (CorrectGun())    return penetrate;  return WALL_PEN0;}bool pathFree(float *start, float *end) {  bool pathtest;  strace_t tr;  if (cvar.autowall && CurPenetration())  {    pathtest = CanPenetrate(start, end);  }  else  {    TraceThickness(start, end, 0, &tr);  if (tr.finished)    pathtest = true;  else    pathtest = false;  }  return pathtest; } aimbot.h文件bool pathFree(float *start, float *end) ;bool canpenetrate(float *start, float *end);int CurPenetration(void);bool CorrectGun();还有一种很麻烦的穿墙代码,涉及到十来个文件,有点麻烦,在这儿不说拉。添加中需要注意的是,你代码里原来的名字可能和我的不一样,会出问题。所以添加的时候注意你原来的名字另外,如果操作中有遇到问题,问我。最好把错的,和错的地方告诉我。
zxc4506505

ZxID:1244308

等级: 新兵
举报 只看该作者 板凳   发表于: 2007-08-13 0
狂啊·我喜欢啊
a13609463200

ZxID:1244738

等级: 新兵
举报 只看该作者 地板   发表于: 2007-08-14 0
反恐精英CS1.6
a13609463200

ZxID:1244738

等级: 新兵
举报 只看该作者 4楼  发表于: 2007-08-14 0
反恐精英CS1.6
a13609463200

ZxID:1244738

等级: 新兵
举报 只看该作者 5楼  发表于: 2007-08-14 0
反恐精英CS1.6
a13609463200

ZxID:1244738

等级: 新兵
举报 只看该作者 6楼  发表于: 2007-08-14 0
反恐精英CS1.6
1986evamf

ZxID:1090200

等级: 准尉
做个贱贱贱人
举报 只看该作者 7楼  发表于: 2007-08-16 0
-nomaster -game cstrike -console
zpfo

ZxID:1228392

等级: 新兵
举报 只看该作者 8楼  发表于: 2007-08-20 0
这些代码都是干什么用的,太多了,看不明白
fwyx1981

ZxID:1248136

等级: 中士
举报 只看该作者 9楼  发表于: 2007-08-22 0
作弊与反作弊
蒙面人

ZxID:1244130

等级: 新兵
举报 只看该作者 10楼  发表于: 2007-08-23 0
怎么使用呢?
随心所欲_h

ZxID:1126945

等级: 新兵
举报 只看该作者 11楼  发表于: 2007-08-24 0
看不打懂..郁闷
yy5560401

ZxID:1249980

等级: 上等兵
举报 只看该作者 12楼  发表于: 2007-08-25 0
顶一下
d调

ZxID:1249928

等级: 上士
举报 只看该作者 13楼  发表于: 2007-08-26 0
顶死了~!!
钢铁男人

ZxID:1254550

等级: 新兵
举报 只看该作者 14楼  发表于: 2007-08-29 0
猛啊!GOOD!
597173779

ZxID:1256839

等级: 下士
举报 只看该作者 15楼  发表于: 2007-09-03 0
  真强啊不愧是总版主
kakizzz

ZxID:1248229

等级: 上校
空军上校
举报 只看该作者 16楼  发表于: 2007-09-04 0
支持楼主!
 
  谢谢分享!






                   
tchexi

ZxID:1255357

等级: 列兵
举报 只看该作者 17楼  发表于: 2007-09-04 0
好强啊,看来要学习一下了
zzh2605796

ZxID:1259458

等级: 新兵
举报 只看该作者 18楼  发表于: 2007-09-05 0
不懂啊
qqq396284147

ZxID:1259687

等级: 新兵
举报 只看该作者 19楼  发表于: 2007-09-05 0
引用
引用第0楼步惊天于2007-06-27 01:53发表的 2段穿墙代码 :
常见的穿墙代码,一般在aimbot.cppint CanPenetrate( float *start, float *end, int power ) {  static pmtrace_t* tr = (pmtrace_t*)0x02252DF0;  float view[3];  float dir[3];  view[0] = end[0] - start[0];  view[1] = end[1] - start[1];  view[2] = end[2] - start[2];  float length = VectorLength(view);  dir[0] = view[0] / length;  dir[1] = view[1] / length;  dir[2] = view[2] / length;  float position[3];  position[0] = start[0];  position[1] = start[1];  position[2] = start[2];  tr->startsolid = true;  while( power )  {    if( !tr->startsolid )      power--;    tr = gEngfuncs.PM_TraceLine( position, end, PM_TRACELINE_PHYSENTSONLY, 2, -1);        if( tr->fraction==1.0f )      return 1;    if( tr->allsolid )      return 0;    position[0] = tr->endpos[0] + dir[0] * 8.0f;    position[1] = tr->endpos[1] + dir[1] * 8.0f;    position[2] = tr->endpos[2] + dir[2] * 8.0f;  }  return 0; } //====================================================================================int CheckCurGun () {  if (currentWeaponID == WEAPON_SG550 || currentWeaponID == WEAPON_G3SG1 || currentWeaponID == WEAPON_SCOUT || currentWeaponID == WEAPON_AWP)  { return 3; }  if (currentWeaponID == WEAPON_AUG || currentWeaponID == WEAPON_PARA || currentWeaponID == WEAPON_COLT || currentWeaponID == WEAPON_DEAGLE || currentWeaponID == WEAPON_SIG || currentWeaponID == WEAPON_AK)  { return 2; }    { return 0; }}//====================================================================================int PathFree (float * from, float * to) {  pmtrace_t tr;  gEngfuncs.pEventAPI->EV_SetTraceHull( 2 );  gEngfuncs.pEventAPI->EV_PlayerTrace( from, to, PM_GLASS_IGNORE, me.ent->index, &tr );  int pathtest = (tr.fraction == 1.0f);  if (!pathtest && cvar.autowall && CheckCurGun())  {    pathtest = CanPenetrate(from, to, CheckCurGun());  }  return pathtest; }cpp改完拉别忘拉h文件,aimbot.hint CanPenetrate( float *start, float *end, int power ) ;int PathFree (float * from, float * to) ;int CheckCurGun () ;                  ——↑——这分号可是落不得的,要不非郁闷死你不可!!下面这个比较长,而且得利用trace.cpp里面的功能,我有带附件,自己下载aimbot.cpp文件,别忘拉,在开头部分加上#include "trace.h"bool canpenetrate(float *start, float *end){  int maxhits = 10, count = 0;  float damage = 120;  strace_t tr;  pmtrace_t beam_tr, beam_tr1, *tmptr;  float srcorigin[3];  float diff[3], length, viewvec[3], unityview[3], position[3];  viewvec[0] = end[0] - start[0];  viewvec[1] = end[1] - start[1];  viewvec[2] = end[2] - start[2];  length = VectorLength(viewvec);  unityview[0] = viewvec[0] / length;  unityview[1] = viewvec[1] / length;  unityview[2] = viewvec[2] / length;  srcorigin[0] = start[0];  srcorigin[1] = start[1];  srcorigin[2] = start[2];  while (damage > 10 && maxhits > 0)  {    maxhits--;    TraceThickness(srcorigin, end, 0, &tr);    if (tr.finished)        break;    if (srcorigin[0] != tr.endpos[0] || srcorigin[1] != tr.endpos[1] || srcorigin[2] != tr.endpos[2])        count++;    if (count >= (GetCurPenetration() + 1) && !tr.finished)    {        damage = 0;        break;    }    position[0] = tr.endpos[0] + unityview[0] * 8.0;    position[1] = tr.endpos[1] + unityview[1] * 8.0;    position[2] = tr.endpos[2] + unityview[2] * 8.0;    tmptr = gEngfuncs.PM_TraceLine(position, end, PM_TRACELINE_PHYSENTSONLY, 2, -1);    memcpy(&beam_tr, tmptr, sizeof(pmtrace_t));    if (!beam_tr.allsolid)    {        tmptr = gEngfuncs.PM_TraceLine(beam_tr.endpos, tr.endpos, PM_TRACELINE_PHYSENTSONLY, 2, -1);        memcpy(&beam_tr1, tmptr, sizeof(pmtrace_t));        diff[0] = beam_tr1.endpos[0] - tr.endpos[0];        diff[1] = beam_tr1.endpos[1] - tr.endpos[1];        diff[2] = beam_tr1.endpos[2] - tr.endpos[2];        length = VectorLength(diff);        if (length < damage)        {          damage -= length;          srcorigin[0] = beam_tr1.endpos[0] + unityview[0];          srcorigin[1] = beam_tr1.endpos[1] + unityview[1];          srcorigin[2] = beam_tr1.endpos[2] + unityview[2];        }    }    else        damage = 0;  }  if (maxhits == 0 && damage)  {    tr.finished = false;    while (!tr.finished)    {        TraceThickness(srcorigin, end, 0, &tr);        if (tr.allsolid)          return false;        if (!tr.startsolid)        {          if (tr.finished)            return damage > 0.0;          return false;        }        srcorigin[0] = tr.endpos[0] + unityview[0];        srcorigin[1] = tr.endpos[1] + unityview[1];        srcorigin[2] = tr.endpos[2] + unityview[2];    }  }  return damage > 0.0;}int penetrate;bool CorrectGun(){  if(currentWeaponID==WEAPON_DEAGLE)  {    penetrate = WALL_PEN1;    return true;  }  else if(currentWeaponID==WEAPON_SCOUT)  {    penetrate = WALL_PEN2;    return true;  }  else if(currentWeaponID==WEAPON_AWP)  {    penetrate = WALL_PEN2;    return true;  }  else if(currentWeaponID==WEAPON_SIG)  {    penetrate = WALL_PEN2;    return true;  }  else if(currentWeaponID==WEAPON_COLT)  {    penetrate = WALL_PEN2;    return true;  }  else if(currentWeaponID==WEAPON_GALIL)  {    penetrate = WALL_PEN1;    return true;  }  else if(currentWeaponID==WEAPON_FAMAS)  {    penetrate = WALL_PEN1;    return true;  }  else if(currentWeaponID==WEAPON_PARA)  {    penetrate = WALL_PEN2;    return true;  }  else if(currentWeaponID==WEAPON_AUG)  {    penetrate = WALL_PEN1;    return true;  }  else if(currentWeaponID==WEAPON_AK)  {    penetrate = WALL_PEN2;    return true;  }  else if(currentWeaponID==WEAPON_SG550)  {    penetrate = WALL_PEN2;    return true;  }  else if(currentWeaponID==WEAPON_G3SG1)  {    penetrate = WALL_PEN2;    return true;  }  else  {    penetrate = WALL_PEN0;    return true;  }}int CurPenetration(void){  if (CorrectGun())    return penetrate;  return WALL_PEN0;}bool pathFree(float *start, float *end) {  bool pathtest;  strace_t tr;  if (cvar.autowall && CurPenetration())  {    pathtest = CanPenetrate(start, end);  }  else  {    TraceThickness(start, end, 0, &tr);  if (tr.finished)    pathtest = true;  else    pathtest = false;  }  return pathtest; } aimbot.h文件bool pathFree(float *start, float *end) ;bool canpenetrate(float *start, float *end);int CurPenetration(void);bool CorrectGun();还有一种很麻烦的穿墙代码,涉及到十来个文件,有点麻烦,在这儿不说拉。添加中需要注意的是,你代码里原来的名字可能和我的不一样,会出问题。所以添加的时候注意你原来的名字另外,如果操作中有遇到问题,问我。最好把错的,和错的地方告诉我。
« 返回列表
发帖 回复