• 无图版
  • 风格切换
  • 帮助
  • Home首页
  • 论坛首页
登录  注册
  • 讨论区
  • 推荐
  • 搜索
  • 社区服务
  • 银行
用户名
热门版块: 
  • 175豆客CS作弊器交易中心 
  • 『 电脑技术支持 』 
  • ◆- ┈┋ 事 务 中 心 ┋┈ 
  • 『网游外挂』 
  • 『特种部队』 
  • 〖 论坛公告 〗 
  • love
  • wind
  • 用户中心首页
  • 编辑个人资料
  • 查看个人资料
  • 好友列表
  • 用户权限查看
  • 积分管理
  • 积分转换
  • 特殊组购买
  • 收藏夹
  • 我的主题
  • 基本统计信息
  • 到访IP统计
  • 管理团队
  • 管理统计
  • 在线统计
  • 会员排行
  • 版块排行
  • 帖子排行
  • 个人首页
  • 我的收藏
  • 好友近况
〖175豆客作弊器自由发布/技术讨论区〗 作弊器添加 bone 瞄准模式

    ●论坛动态帖●

  • ♀论坛新帖.新回复♀
  •  

    ◆- ┈┋ 事 务 中 心 ┋┈

  • 【论坛在线聊天室】
  • 论坛事务所
  • 论坛广告宣传,免费加入VIP
  •  

    ◆- ≡ 论坛公告

  • 〖 论坛公告 〗
  • 〖公告〗加入VIP会员向本站汇款方法
  • 购买175pt,豆客作弊器csol作弊器请于客服联系,QQ130119281
  •  

    ≡ 175豆客作弊器下载区

  • 〖175豆客作弊器自由发布/技术讨论区〗
  • 〖175豆客CS外挂软件和客户端下载〗
  • 175豆客CS作弊器交易中心
  •  

    [战地之王][反恐行动][特种部队][DOD胜利之日][BF2(战地2)][反恐起源]

  • 『战地之王外挂』
  • 『反恐行动外挂』
  • 『特种部队』
  • 新特种部队
  • 『网游外挂』
  • 『胜利之日』
  • 『BF2(战地2)』
  • 反恐起源CS.S

    尊贵VIP下载区——客服QQ:130119281

  • 〖 顶级作弊器下载区 〗
  • 〖顶级作弊器/程序发布区〗
  • 〖 用户脚本下载区 〗
  • 〖 用户问题解答区 〗

    ≡ 作弊器研讨区

  • 〖 作弊器开发研讨区 〗
  •  

    ┈┋站内事务┋┈ ≡

  • 〖 站内事务 〗
  •  

    ┈┋ 休 闲 娱 乐 ┋┈

  • ≮经典影视≯
  • ≮ 极 限 贴 图 ≯
  • ≮ 影 视 动 漫 ≯
  • ≮ 闲 聊 广 场 ≯
  • ≮ 音 乐 在 线 听,MP3下载,免费下载≯
  •  

    -=电脑技术,软件发布=-

  • 『 电脑技术支持 』
  • 『 最新软件工具发布 』

    【CS1.6175pt豆客平台专区】

  • 【CS1.6175pt豆客平台专区】
  •  
aoe豆客v3.24作弊器豆客v3.24外挂豆客v3.23最新透视作弊器豆客v3.23最新透视外挂 175pt5.1.4.8作弊器175pt5.1.4.8外挂175pt5.1.4.7最新透视作弊器175pt5.1.4.7最新外挂 各类源码:辅助源码 软件源码 商业源码 VIP源码 普及信息技术、提升职业技能、学习安全攻防、卫我网络长城
热烈欢迎中国红客联盟华南分组加盟本站 承接软件开发、程序破解(包含基于VM技术加密的破解)、代码审核 源码出售 各种社工库源码的评析 想做库的一定来看看 万挂编程-国内最大的游戏辅助门户网站
逆向工程、协议分析、漏洞研究相关资料大全 华南红客帝国技术论坛和本站强强联合,提供顶级辅助下载 最全最新版本网游辅助点我下载 专业的编程论坛 国内最火爆的万挂编程C语言论坛
  • 上一主题
  • 下一主题
  • 新 帖
复制链接 | 浏览器收藏 | 打印
作弊之家
作弊器制作修改专家
级别: 管理员

  • 作者资料
  • 发送短消息
  • 加为好友
  • QQ联系
UID: 3
精华: 0
发帖: 424
威望: 8689340 点
金钱: 6872608 RMB
贡献值: 45757577 点
注册时间: 2008-08-23
最后登录: 2014-01-18
楼主  发表于: 2008-08-24 11:54
只看楼主 | 小 中 大

 作弊器添加 bone 瞄准模式

作弊器添加 bone 瞄准模式

作弊器除了vec瞄准模式 inverse瞄准模式
还可添加 bone 瞄准模式

vec为传统瞄准点模式,根据自己手中武器的不同,瞄准对方头部的位置也不同 inverse则相反,根据对方手中的武器来确定头部瞄准位置,由于CS中人物持不同的武器时姿势也会稍有不同,头部的位置就会不一样,所以这种瞄准方式更科学,理论上讲应该比传统vec方式准,不过实际测试感觉差不多,玩家可以根据自己的喜好来选择用哪一种方式....



first of all you have to add the aimbot part for boneaim

k got o your aimbot.cpp #include "console.h"

now look for:

OriginAimbot gAimbot;

change that to:

BoneAimbot gAimbot;

now at the bottom of your aimbot where your CalcViewAngles below add this for bone
Code:

//===================================================================================
class DrawPoints
{
public:
void aggregate(float* _origin, DWORD _color=0xFFFFFFFF, int _size=1);
void draw_all ();

protected:
// scheduled draw points
struct ScheduledDrawPoint
{
  ScheduledDrawPoint() : active(false) {}
  vec3_t origin;
  DWORD color_compiled;
  int  size;
  bool  active;
};
enum { MAX_DRAW_POINTS=64 };
std::vector<ScheduledDrawPoint> vecDrawPoints;//(64);
int DrawPointsNextIndex;

public:
DrawPoints() : DrawPointsNextIndex(0), vecDrawPoints(MAX_DRAW_POINTS) {}
};

//===================================================================================
void DrawPoints::aggregate(float* _origin, DWORD _color , int _size )
{
VectorCopy(_origin,vecDrawPoints[DrawPointsNextIndex].origin);
vecDrawPoints[DrawPointsNextIndex].color_compiled = _color;
vecDrawPoints[DrawPointsNextIndex].size = _size;
vecDrawPoints[DrawPointsNextIndex].active = true;

DrawPointsNextIndex++;
if( DrawPointsNextIndex>=(int)vecDrawPoints.size() ) DrawPointsNextIndex=0;
}

// ======= DrawAllHudPoints
void DrawPoints::draw_all()
{
typedef vector<ScheduledDrawPoint> vp;
for( vp::iterator pos=vecDrawPoints.begin(); pos!=vecDrawPoints.end(); ++pos )
{
  if( (*pos).active )
  {
    ScheduledDrawPoint& point = (*pos);
    point.active=false;
    gDrawFilledBoxAtLocation(point.origin,point.color_compiled,point.size);
  }
}
}
// global DrawPoints
static DrawPoints gDrawPoints;

//==========================================================================================
void BoneAimbot::CalcTargetSpot(float* out)
{
if( vPlayers[target].numTargetSpots && cvar.modelaim )
{
  ModelBasedAim(out);
}
else
{
  OriginAimbot::CalcTargetSpot(out);
}
}

// ========================================================================
void BoneAimbot::ModelBasedAim(float* TargetVec)
{
// try first spot:
int i = firstaimspot;
if( i<vPlayers[target].numTargetSpots && i>=0 )
{
  float* testvec = vPlayers[target].TargetSpots;
  if(pathFree(me.pmEyePos,testvec))
  {
    VectorCopy(testvec,TargetVec);
    return;
  }
}

for(i=0;i<vPlayers[target].numTargetSpots;i++)
{
  if(i==firstaimspot) continue;

  float* testvec = vPlayers[target].TargetSpots;
  if(pathFree(me.pmEyePos,testvec))
  {
    VectorCopy(testvec,TargetVec);
    return;
  }
}
VectorCopy(vPlayers[target].TargetSpots[0], TargetVec );
}

//==========================================================================================
BoneAimbot::ModelInfo* BoneAimbot::getModelInfo(const char* arg_name)
{
assert(arg_name);

if(hashToInfo.size()>32)
{
  gConsole.echo("&rerror: Model limit reached.");
  return NULL;
}
ModelInfo& info = hashToInfo[arg_name];
info.name = arg_name;
return &info;
}

//==========================================================================================
void BoneAimbot::draw()
{
if(cvar.avdraw<=2) { OriginAimbot::draw(); return; };
gDrawPoints.draw_all();
}

//==============================================================================
void BoneAimbot::load(const char* filename)
{

}

//==============================================================================
void BoneAimbot::save(const char* filename)
{
ofstream ofs(filename);
if(!ofs) { gConsole.echo( "&w%s&r write error.",filename); return; }
else  { gConsole.echo( "&w%s&g saved."  ,filename); }

ofs<<"// this file is generated automatically. do not edit!"<<endl;
ofs<<"mdl clear_models"<<endl;

for( iterator pos = hashToInfo.begin(); pos!=hashToInfo.end(); ++pos )
{
  ModelInfo& info = (*pos).second;
  ofs<<endl<<"mdl new "<<info.name<<endl;

  for(int i=0;i<info.numAimspots;i++)
  {
    ModelAimSpot& spot = info.aimspots;
    if(spot.boneindex)
    ofs<<"mdl add_spot "<<spot.boneindex<<" "<<spot.boneindex2<<" "<<spot.factor2<<endl;
    else
    ofs<<"mdl add_spot "<<spot.boneindex<<endl;
  }
}
ofs<<endl<<"mdl ov "<<offset_first.h<<" "<<offset_first.f<<" "<<offset_first.r<<endl;
}

// ==================================================================
static void calcPredictDelta(cl_entity_s* ent, float *delta)
{
if (cvar.pred)
{
  int historyIndex = (ent->current_position+HISTORY_MAX-cvar.predback)%HISTORY_MAX;
  
  float* vFromOrigin = ent->ph[historyIndex].origin;
  float* vToOrigin  = ent->ph[ent->current_position].origin;
  
  delta[0] = vToOrigin[0] - vFromOrigin[0];
  delta[1] = vToOrigin[1] - vFromOrigin[1];
  delta[2] = vToOrigin[2] - vFromOrigin[2];

  delta[0] *= cvar.predahead;
  delta[1] *= cvar.predahead;
  delta[2] *= cvar.predahead;
}
else
{
  delta[0]=delta[1]=delta[2]=0;
}
}

////==============================================================================
void BoneAimbot:ostStudioDrawPlayer( int flags, struct entity_state_s *pplayer )
{
int ax = pplayer->number;
if(!vPlayers[ax].getPVS()) return;

// non visible players return wrong bones!
if(GetAimingFov(ax) < (40.0-180.0)/-180.0) return;

cl_entity_s* ent = vPlayers[ax].getEnt();

model_s* pModel = pstudio->SetupPlayerModel(ax-1);
studiohdr_t* pStudioHeader = (studiohdr_t*)pstudio->Mod_Extradata( pModel );

// get bone transform
typedef float TransformMatrix[ MAXSTUDIOBONES ][ 3 ][ 4 ];
TransformMatrix* pbonetransform = (TransformMatrix*)pstudio->StudioGetBoneTransform();

// get model info
if(cvar.avdraw==3) gSetHudMessage(pStudioHeader->name);
ModelInfo* l_modelInfo = getModelInfo(pStudioHeader->name);
if(!l_modelInfo) return;

// grab target spots:
vec3_t predictDelta;
calcPredictDelta(ent, predictDelta );

for( int i=0;i<l_modelInfo->numAimspots;i++ )
{
  ModelAimSpot& spot = l_modelInfo->aimspots;
  vec3_t&  pos = vPlayers[ax].TargetSpots;

  pos [ 0 ] = (*pbonetransform)[ spot.boneindex ][ 0 ][ 3 ];
  pos [ 1 ] = (*pbonetransform)[ spot.boneindex ][ 1 ][ 3 ];
  pos [ 2 ] = (*pbonetransform)[ spot.boneindex ][ 2 ][ 3 ];

  // interpolate between two bones
  if( spot.boneindex2 )
  {
    vec3_t to, diff;
    
    to [ 0 ] = (*pbonetransform)[ spot.boneindex2 ][ 0 ][ 3 ];
    to [ 1 ] = (*pbonetransform)[ spot.boneindex2 ][ 1 ][ 3 ];
    to [ 2 ] = (*pbonetransform)[ spot.boneindex2 ][ 2 ][ 3 ];

    diff = to - pos;
    
    pos[0] += (spot.factor2 * diff[0]);
    pos[1] += (spot.factor2 * diff[1]);
    pos[2] += (spot.factor2 * diff[2]);
  }

  // predict
  pos[0] += predictDelta[0];
  pos[1] += predictDelta[1];
  pos[2] += predictDelta[2];

  // offset first spot
  if(!i)
  {
    vec3_t anglevec, forward, right, up, offset;
    anglevec[0]  = 0;
    anglevec[1]  = pplayer->angles[1];
    anglevec[2]  = 0;
    gEngfuncs.pfnAngleVectors(pplayer->angles,forward,right,up);
    
    offset = forward*offset_first.f + right*offset_first.r + up*offset_first.h;
    vPlayers[ax].TargetSpots[0][0] += offset[0];
    vPlayers[ax].TargetSpots[0][1] += offset[1];
    vPlayers[ax].TargetSpots[0][2] += offset[2];
  }

  {
    // log for drawing
    if( cvar.avdraw==4 )
    {
    if( i==firstaimspot ) gDrawPoints.aggregate(pos,0xFF1111FF,2);
    else        gDrawPoints.aggregate(pos,0xFFFFFFFF);
    } else
    if( cvar.avdraw==5 )
    {
    if( i==firstaimspot ) gDrawPoints.aggregate(pos,0xFF1111FF,2);
    }
  }
}

// handle Drawing
if(cvar.avdraw>=3)
{
  int i = my_curSelectedBone;
  if( i>=0 && i<pStudioHeader->numbones )
  {
    vec3_t pos;
    pos[ 0 ] = (*pbonetransform)[ i ][ 0 ][ 3 ];
    pos[ 1 ] = (*pbonetransform)[ i ][ 1 ][ 3 ];
    pos[ 2 ] = (*pbonetransform)[ i ][ 2 ][ 3 ];
    gDrawPoints.aggregate( pos, 0xFFFFAAFF, 2 );
    
    mstudiobone_t *pbones = (mstudiobone_t *)((byte *)pStudioHeader + pStudioHeader->boneindex);
    char tmp[64];sprintf(tmp,"#%d: %s",i,pbones.name);
    gSetHudMessage2(tmp);
  }
}
// update info:
vPlayers[ax].numTargetSpots = l_modelInfo->numAimspots;
这款作弊器希望大家好好用!不要乱给别人。自己用的时候藏好。别叫人给你分享了。呵呵~学作弊就注册VIP会员~精彩多多~爆头多多~装比多多~呵呵回复以后转到第1页可看到作弊器文件~不是VIP的请注册后便可以下载到你期待以久的作弊器了。祝你们玩的开心。
更多更全的作弊器请访问http://www.dcoosxecd.com 作弊器为200元终身,客服QQ:130119281  QQ361639639也可以来电话和信息和本人联系:18708222829 )
汇款地址:
①汇款金额:200.XX元
②收款人中国工商银行牡丹灵通卡号码(19位数字)
9558 8223 0700 0382512
③收款人姓名:刘宇航
①中国农业银行金穗通宝卡(19位数字):
9559 9841 1270 1095416
②收款人姓名:刘宇航
作弊器随反作弊软件更新而更新,反作弊软件更新后最迟1-2天发布最新作弊器,您可以随时来下载,让你体验最快最强的作弊效果
顶端
  • 回复
  • 引用
  • 分享
  • 上一主题
  • 下一主题
〖175豆客作弊器自由发布/技术讨论区〗

Total 0.027548(s) query 2, Time now is:05-11 20:36, Gzip enabled
Powered by www.dcoosxecd.com AOECS作弊器专业下载站 Code © 2003-09 www.dcoosxecd.com Corporation
    清除Cookies | Contact us | Wap | Top  |