请选择 进入手机版 | 继续访问电脑版

小灰の插件领域

 找回密码
 立即注册
搜索
热搜: 搞基 萝莉 CSOL
查看: 958|回复: 7

【源码分享】使玩家往你准星的方向移动

[复制链接]

103

主题

0

好友

6万

积分

管理员

约吗

Rank: 9Rank: 9Rank: 9

UID
1
QQ
QQ
威望
13734
金钱
39362
积分
67104
注册时间
2016-5-2
最后登录
2019-3-29
在线时间
222 小时
发表于 2016-11-6 02:57:22 |显示全部楼层
Test Velocity (之前没事写的插件源码)

以下是源代码,能看懂就看吧,我就不编译再发出来了

瞄准任何一个玩家,然后按Y键输入 /lock 然后你移动鼠标准星位置 就可以让他往你瞄准的那边移动了


他向你瞄准方向飞行的速度,根据你瞄准的位置和他所在的位置的相差距离决定
/* 本插件由 AMXX-Studio 中文版自动生成*/
/* UTF-8 func by www.DT-Club.net */

#include <amxmodx>
#include <fakemeta>
#include <fakemeta_util>
#include <hamsandwich>
#include <xs>

new save_this[33]

public plugin_init()
{
        register_plugin("Lock_Velocity", "", "")
        register_clcmd("say /lock", "this_player")
        
        register_forward(FM_PlayerPostThink, "iThink")
}

public this_player(id)
{
        client_print(id, print_chat, "Running 1")
        
        new Float:org[3],  Float:end[3] ,Float:vec[3], Float:ofs[3]
        pev(id, pev_view_ofs, ofs)
        pev(id, pev_origin, org)
        //xs_vec_add(org, ofs, org)
        velocity_by_aim(id, 1200, vec)
        xs_vec_add(org, vec, end)
        
        client_print(id, print_chat, "Running 2")
        
        client_print(id, print_chat, "[TraceLine Start] Origin: %.2f, %.2f %.2f ", org[0], org[ 1], org[2])
        client_print(id, print_chat, "[TraceLine End] EndOrigin: %.2f, %.2f %.2f ", end[0], end[1], end[2])

        engfunc(EngFunc_TraceLine, org, end, 0, id, 0)

        static i;i=get_tr2(0,TR_pHit)
        
        client_print(id, print_chat, "Test Running : Index = %d", i)
        
        if(i)
        {
                client_print(id, print_chat, "Running 4")
               
                new fname[33]
                pev(i, pev_netname, fname, 32)
                client_print(id, print_chat, "瞄准并受到影响的玩家是 [%s]" , fname)
                save_this[id] = i
        }
        
        client_print(id, print_chat, "Running End")
}

public iThink(id)
{
        if(!is_user_connected(id)) return
        
        
        new ThisTarget  = save_this[id]
        if(!ThisTarget) return
        
        new Float:aim[3], Float:thisorg[3]
        fm_get_aim_origin(id, aim)
        pev(ThisTarget, pev_origin, thisorg)
        new Float:iDist = get_distance_f(thisorg, aim)
        client_print(id, print_chat, "两者距离%.2funit", iDist)
        
        //推力 =最低速度(140) + 当前两者距离
        new Float:thisvel = 140.0 + (iDist)

        new Float:vel[3]
        get_speed_vector(thisorg, aim, thisvel, vel)
        set_pev(ThisTarget, pev_velocity, vel)
}
        
stock get_speed_vector(const Float:origin1[3],const Float:origin2[3],Float:speed, Float:new_velocity[3])
{
        new_velocity[0] = origin2[0] - origin1[0]
        new_velocity[1] = origin2[1] - origin1[1]
        new_velocity[2] = origin2[2] - origin1[2]
        new Float:num = floatsqroot(speed*speed / (new_velocity[0]*new_velocity[0] + new_velocity[1]*new_velocity[1] + new_velocity[2]*new_velocity[2]))
        new_velocity[0] *= num
        new_velocity[1] *= num
        new_velocity[2] *= num
        
        return 1
}

7

主题

0

好友

2万

积分

论坛元老

Rank: 8Rank: 8

UID
178
威望
8362
金钱
7157
积分
23954
注册时间
2016-8-24
最后登录
2019-3-12
在线时间
64 小时
发表于 2016-11-12 13:27:19 |显示全部楼层
黑科技!黑科技!黑科技!
回复

使用道具 举报

8

主题

0

好友

4137

积分

管理员

Rank: 9Rank: 9Rank: 9

UID
488
QQ
QQ
威望
1535
金钱
992
积分
4137
注册时间
2017-5-20
最后登录
2018-1-13
在线时间
35 小时
发表于 2017-5-25 19:13:31 |显示全部楼层
叼...话说距离是多少,是在地图的任何一个角落开枪然后T和CT都会聚集过来?

点评

admin  锁定后就开始向瞄准位置移动了,所以不需要开枪  详情 回复 发表于 2017-5-27 09:33
回复

使用道具 举报

103

主题

0

好友

6万

积分

管理员

约吗

Rank: 9Rank: 9Rank: 9

UID
1
QQ
QQ
威望
13734
金钱
39362
积分
67104
注册时间
2016-5-2
最后登录
2019-3-29
在线时间
222 小时
发表于 2017-5-27 09:33:30 |显示全部楼层
a71299548 发表于 2017-5-25 19:13
叼...话说距离是多少,是在地图的任何一个角落开枪然后T和CT都会聚集过来?

锁定后就开始向瞄准位置移动了,所以不需要开枪

点评

a71299548  这个插件好啊,打丧尸的时候终于可以拉个AI队友一起打了,每次一开场没多久AI就全丧尸了,贼2  详情 回复 发表于 2017-5-27 11:27
回复

使用道具 举报

8

主题

0

好友

4137

积分

管理员

Rank: 9Rank: 9Rank: 9

UID
488
QQ
QQ
威望
1535
金钱
992
积分
4137
注册时间
2017-5-20
最后登录
2018-1-13
在线时间
35 小时
发表于 2017-5-27 11:27:00 |显示全部楼层
admin 发表于 2017-5-27 09:33
锁定后就开始向瞄准位置移动了,所以不需要开枪

这个插件好啊,打丧尸的时候终于可以拉个AI队友一起打了,每次一开场没多久AI就全丧尸了,贼2
回复

使用道具 举报

5

主题

0

好友

421

积分

中级会员

Rank: 3Rank: 3

UID
474
QQ
QQ
威望
159
金钱
77
积分
421
注册时间
2017-2-18
最后登录
2018-2-5
在线时间
3 小时
发表于 2017-8-20 12:56:53 |显示全部楼层
这个厉害了
回复

使用道具 举报

103

主题

0

好友

6万

积分

管理员

约吗

Rank: 9Rank: 9Rank: 9

UID
1
QQ
QQ
威望
13734
金钱
39362
积分
67104
注册时间
2016-5-2
最后登录
2019-3-29
在线时间
222 小时
发表于 2019-3-28 23:51:13 |显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

回复

使用道具 举报

103

主题

0

好友

6万

积分

管理员

约吗

Rank: 9Rank: 9Rank: 9

UID
1
QQ
QQ
威望
13734
金钱
39362
积分
67104
注册时间
2016-5-2
最后登录
2019-3-29
在线时间
222 小时
发表于 2019-3-29 00:24:54 |显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册