如何写一个shift触发按钮的菜单呢?或者是调用? 代码鉴赏

狂呼我空虚 一级用户组 2023-6-4 911

首先我们看到OnPlayerRunCmd

OnPlayerRunCmd · sdktools_hooks · SourceMod Scripting API Reference (alliedmods.net)

 

他的意思是在处理客户端移动按钮时调用,对不对

现在我写一个,在shift触发的时候,我们就在聊天框输出一句话

#include <sourcemod>
int iButton[MAXPLAYERS+1];  //创建变量
public Action OnPlayerRunCmd(int client, int& buttons, int& impulse, float vel[3], float angles[3], int& weapon, int& subtype, int& cmdnum, int& tickcount, int& seed, int mouse[2])
{
	if((buttons & IN_SPEED) && !(iButton[client])  & IN_SPEED)  
	{
		PrintToChat(client,"按shift静步键就会打印出这条信息");
		//如果你自己按一次静步键,就会在聊天框中打印出这一条信息
	}
        iButton[client] = buttons;
        return Plugin_Continue;
}

 

除了静步键,还有射击键,就是鼠标的左键调用;

可以在\steamapps\common\Counter-Strike Global Offensive\csgo\cfg\config-default.cfg中找到

我们看到这这种动作的;

静步键,是shift吧,后面的是+speed,也就是动作的调用

我们判断就是,if(buttons & IN_SPEED)

蹲键,ctrl,后面的是+duck,

我们的判断就是 , if(buttons & IN_DUCK)

 

鼠标左键和右键,射击键位和开镜

+attack , +attack2 , 还有+attack3

我们判断就是

if(buttons & IN_ATTACK) 

if(buttons & IN_ATTACK2)

if(buttons & IN_ATTACK3)

等等等等。

一般来说,我们看到的+,和-号,都是动作键位

比如我们的e键位,拆包开门,按照炸弹等等,都是使用吧

 

我们的判断就是

if(buttons & IN_USE)

 

 

 


CSGO插件分享-申明 1、本网站名称:CSGO插件分享-中文站  网址:https://bbs.csgocn.net
2、本站的宗旨在于为CSGO玩家提供一个插件分享的中文资源平台,多数插件来源于SourceMod论坛,并配以中文介绍和安装教程。
3、欢迎有能力的朋友共享有趣的CSGO插件资源。
4、本站资源大多为百度网盘,如发现链接失效,可以点: 这里进行反馈,我们会第一时间更新。
最新回复 (1)
返回