广告广告
  加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 3204 个阅读者
 
发表文章 发表投票 回覆文章
  可列印版   加为IE收藏   收藏主题   上一主题 | 下一主题   
弑血
个人头像
个人文章 个人相簿 个人日记 个人地图
社区建设奖 特殊贡献奖 创作大师奖
小有名气
级别: 小有名气 该用户目前不上站
推文 x108 鲜花 x240
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片
推文 x0
[1.6][插件] 写BOT攻击NPC方法?
如标题所说的事!!
如何写出让BOT攻击NPC的方法表情

征求会的人帮我表情 ,谢谢表情



目前传授教学&有兴趣者可以问我
BOT瞄准攻击NPC&模仿事件触发计算出场&新增地图重生位置等等
已修复entity的attachment错误问题,开始尝试写出各种npc_boss成品
按这里检视影片,登入论坛可以直接观看
按这里检视影片,登入论坛可以直接观看
按这里检视影片,登入论坛可以直接观看
按这里检视影片,登入论坛可以直接观看
献花 x0 回到顶端 [楼 主] From:台湾中华电信股份有限公司 | Posted:2012-08-22 03:01 |
husano896 手机
个人头像
个人文章 个人相簿 个人日记 个人地图
初露锋芒
级别: 初露锋芒 该用户目前不上站
推文 x79 鲜花 x138
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

方案1 - 取得范围内的物体后再取得classname
new id = -1
while((id = engfunc(EngFunc_FindEntityInSphere,id,vec,200.0)))
{
     new classname[32]
     pev(uw,pev_classname,classname,31)
     if (equal(classname, "zombie_origin") || equal(classname, "npc_zombie"))
     {
           //使BOT面向NPC的指令
           new Float:angle[3]
           aim_at_origin(id, target, angle)
           angle[0] = 0.0
           entity_set_vector(id, EV_VEC_angles, angle)
           //看你要用ExecuteHamB还是用pev_button(未测试) 来执行攻击指令
     }
}

方案2 - 取得所有npc的位置后再取得距离
new ent = fm_find_ent_by_class(-1, "NPC_CLASSNAME")
while(ent)
{
     // 距离内攻击的写法
     new Float:origin[3], Float:originN[3]
     pev(ent,pev_origin,origin)
     pev(id,pev_origin, originN)
     if (get_distance_f(origin,originN) < 距离浮点数)
     {
           //执行攻击指令
     }
     // 能看到就攻击的写法(注:有机率会被其他物体挡住)
     if (get_can_see(origin, originN))
     {
           //执行攻击指令
     }
}


这边流动率真的挺低的'w' 但我是有在看的哦w
也许哪天被我乱入也说不定(!?

按这里检视影片,登入论坛可以直接观看
*ZP*没爆头回合不结束

↓吃浏览数长大的龙:)
献花 x0 回到顶端 [1 楼] From:台湾中华电信股份有限公司 | Posted:2012-08-23 09:02 |
HsK 手机 会员卡
个人头像
个人文章 个人相簿 个人日记 个人地图
特殊贡献奖 优秀管理员勋章
头衔:CCN@HsKCCN@HsK
版主
级别: 版主 该用户目前不上站
版区: CS插件区
推文 x1701 鲜花 x1108
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

new ent, Float:botOrigin[3], Float:view_ofs[3];
pev(id, pev_origin, botOrigin);
pev(id, pev_view_ofs, view_ofs);
xs_vec_add(botOrigin, view_ofs, botOrigin);

while ((pev_valid(ent = fm_find_ent_by_class(ent, "npc_classname"))))
{
     new Float:origin[3];
     pev(ent, pev_origin, origin);

     engfunc(EngFunc_TraceLine, botOrigin, origin, 1, id, 0);
     new Float:fraction;
     get_tr2(0, TR_flFraction, fraction);
     if (fraction == 1.0 || get_tr2(0, TR_pHit) == ent)
     {
           get_tr2(0, TR_vecEndPos, origin);
           //执行攻击指令
     }
     else
     {
           for (new i = 0; i < 5; i++)
           {
                 new Float:mins[3], Float:maxs[3];
                 pev(ent, pev_mins, mins);
                 pev(ent, pev_maxs, maxs);
                 pev(ent, pev_origin, origin);

                 origin[0] += random_float (mins[0], maxs[0]);
                 origin[1] += random_float (mins[1], maxs[1]);
                 origin[2] += random_float (mins[2], maxs[2]);      

                 engfunc(EngFunc_TraceLine, botOrigin, origin, 1, id, 0);      
                 get_tr2(0, TR_flFraction, fraction);
                 if (fraction >= 1.0 && get_tr2(0, TR_pHit) == ent)
                 {
                       get_tr2(0, TR_vecEndPos, origin);
                       //执行攻击指令
                       break;
                 }
           }
     }
}


[ 此文章被HsK在2012-08-23 17:48重新编辑 ]


HsK-Dev Blog By CCN
献花 x0 回到顶端 [2 楼] From:未知地址 | Posted:2012-08-23 17:26 |
HsK 手机 会员卡
个人头像
个人文章 个人相簿 个人日记 个人地图
特殊贡献奖 优秀管理员勋章
头衔:CCN@HsKCCN@HsK
版主
级别: 版主 该用户目前不上站
版区: CS插件区
推文 x1701 鲜花 x1108
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

攻击指令的攻击目标可用

new Float:attackOrigin[3];
get_tr2(0, TR_vecEndPos, attackOrigin);



内容用 husano896 的变化出...
未test
有错自己修复....


else 后的内容占用资源较多
可删
用途大约是debug pev_origin 只可取得 entity 1点


[ 此文章被HsK在2012-08-23 17:47重新编辑 ]


HsK-Dev Blog By CCN
献花 x0 回到顶端 [3 楼] From:未知地址 | Posted:2012-08-23 17:28 |
弑血
个人头像
个人文章 个人相簿 个人日记 个人地图
社区建设奖 特殊贡献奖 创作大师奖
小有名气
级别: 小有名气 该用户目前不上站
推文 x108 鲜花 x240
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

这些是放在 人物思考?
还是放在NPC思考???
大概的意思 懂了



目前传授教学&有兴趣者可以问我
BOT瞄准攻击NPC&模仿事件触发计算出场&新增地图重生位置等等
已修复entity的attachment错误问题,开始尝试写出各种npc_boss成品
按这里检视影片,登入论坛可以直接观看
按这里检视影片,登入论坛可以直接观看
按这里检视影片,登入论坛可以直接观看
按这里检视影片,登入论坛可以直接观看
献花 x0 回到顶端 [4 楼] From:台湾中华电信股份有限公司 | Posted:2012-08-23 20:39 |
弑血
个人头像
个人文章 个人相簿 个人日记 个人地图
社区建设奖 特殊贡献奖 创作大师奖
小有名气
级别: 小有名气 该用户目前不上站
推文 x108 鲜花 x240
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

请问大大们?
如何设定攻击?
最后阶段了^^ 表情



目前传授教学&有兴趣者可以问我
BOT瞄准攻击NPC&模仿事件触发计算出场&新增地图重生位置等等
已修复entity的attachment错误问题,开始尝试写出各种npc_boss成品
按这里检视影片,登入论坛可以直接观看
按这里检视影片,登入论坛可以直接观看
按这里检视影片,登入论坛可以直接观看
按这里检视影片,登入论坛可以直接观看
献花 x0 回到顶端 [5 楼] From:台湾中华电信股份有限公司 | Posted:2012-09-22 18:27 |

首页  发表文章 发表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.025112 second(s),query:16 Gzip disabled
本站由 瀛睿律师事务所 担任常年法律顾问 | 免责声明 | 本网站已依台湾网站内容分级规定处理 | 连络我们 | 访客留言