我使用的QB端
我按照脚本开发2 和 3编写之后
chat不能触发,按照其他方式倒是会提示
其次在我使用给与武器的代码并不会给与武器,但是会正常提示H给与武器
我按照脚本开发2 和 3编写之后
chat不能触发,按照其他方式倒是会提示
代码:
RegisterCommand('help2', function(source, args)
TriggerEvent('chat:addMessage', {
color = {255, 0, 0},
args = {'帮助系统', '请联系QQ450801181\n感谢您的反馈'}
})
end)
function msg(text) --先定义一个函数,形参是text,text此时没有任何值,只有在调用的时候被传入值时才是实际存在的
TriggerEvent("chatMessage","[帮助系统]",{255,0,0},text) --触发chatMessage事件(此事件是来源于官方chat脚本的事件),发送人是 [帮助系统](可自定义),第三个值是发送人的字体颜色,第四个值是具体发送什么文本内容。
end
其次在我使用给与武器的代码并不会给与武器,但是会正常提示H给与武器
代码:
RegisterCommand("wuqiclear", function() --注册一个wuqiclear的命令去清除玩家所有武器
RemoveAllPedWeapons(GetPlayerPed(-1), true) --移除本地玩家所有的枪械,函数中第一个值我们上面说过,GetPlayerPed(-1)获取到的玩家就是本地玩家。第二个值查看开发手册的含义,每个官方函数的每个参数都有不同的设置和意思,以官方开发手册为准。
notify('~r~清除了所有武器.') --这里调用的是我们上面提到的提示函数,并且让它打印这段话
end)
Citizen.CreateThread(function() --创建线程
local h_key = 74 --定义一个按键(74代表了H键,详情我们可以在链接当中查询每个键的值 https://docs.fivem.net/docs/game-references/controls/ )
local x_key = 73 --同上,都是用变量存放一个按键的数值。
while true do --循环
Citizen.Wait(1) --等待1毫秒,因为有循环,而且我们写的是死循环,如果不写这个可能会影响到我们代码的执行效率甚至可靠性,但凡死循环一定要写这个
if IsControlJustReleased(1, h_key --[[ H key ]]) then --判断玩家是不是释放了这个键,h_key就是我们上边定义的变量,其他的参数参阅开发手册
giveWeapon("weapon_pistol") --调用我们上边写到的给武器的函数,并且写了武器名称
giveWeapon("weapon_knife") --同上,只是给的武器不同罢了
alert("~b~通过按 ~INPUT_VEH_HEADLIGHT~ 给与了玩家武器") --调用警告函数(还是我们自己创建的函数)~INPUT_VEH_HEADLIGHT~ 代表我们要去绘制一个H按键的图标
elseif IsControlJustReleased(1, x_key --[[ X key ]]) then --判断x键有没有被释放了这个键,x_hey还是我们前边定义的x的数值。
giveWeapon("weapon_combatmg") --同上,只是给的武器不同罢了
alert("~g~通过按 ~INPUT_VEH_DUCK~ 给与了玩家武器") --调用警告函数(还是我们自己创建的函数)~INPUT_VEH_DUCK~代表我们要去绘制一个X按键的图标
end
end
end)
由版主最后编辑: