无图版
风格切换
帮助
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豆客作弊器自由发布/技术讨论区〗