(Garry's Mod DarkRP) ammo.lua 中的通配符选择器搜索 jobs.lua。
2014-11-27 20:8:36
收藏:0
阅读:155
评论:1
我不确定这是不是正确的游戏部分,但还是。我是一个正在开发中的服务器的开发人员,我相信在管理中使用FAdmin&ULX..等等事情:我目前正在开发jobs.lua,shipments.lua和ammo.lua。它应该是一个军事角色扮演游戏,所以显然有很多定制团队。货物?简单。工作?简单。弹药?嗯,如果这个问题有我要寻找的解决方案,那可能很容易。以下是2个工作,2个装运和1个弹药类型的摘录。我将为每个部分解释。
TEAM_ARMY = DarkRP.createJob("Army Infantry", {
color = Color(0, 0, 255, 0),
model = "models/codmw2/codmw2h.mdl",
description = [[You are an Army Infantry!
Please read the rules found in the !motd, it describes the limitations of each job very well!]],
weapons = {"fas2_g3", "fas2_glock20", "fas2_dv2"},
command = "armyi",
max = 5,
salary = 80,
admin = 0,
vote = false,
hasLicense = false
})
TEAM_ARMYSH = DarkRP.createJob("Army Shotgun", {
color = Color(0, 0, 255, 0),
model = "models/codmw2/codmw2.mdl",
description = [[You are an Army Support!
Please read the rules found in the !motd, it describes the limitations of each job very well!]],
weapons = {"fas2_m3s90", "fas2_ots33", "fas2_dv2", "riot_shield"},
command = "armys",
max = 4,
salary = 100,
admin = 0,
vote = false,
hasLicense = false
})
这里有两个自定义的ARMY工作[团队]。这是我面临的问题。我需要能够[假设]选择这两个以及无数其他工作,以便选择下面的弹药类型,以使它们成为唯一可以购买该弹药类型的团队/工作。我已经看过DarkRP Wiki上的教程,但这不是这个服务器的正确格式。弹药类型正在导入为FAS2弹药。
DarkRP.createAmmoType("5.56x45MM", {
name = "5.56x45MM",
model = "models/items/boxsrounds.mdl",
price = 145,
amountGiven = 60,
customCheck = function(ply) return CLIENT or ply:IsTeam("TEAM_ARMY") or ply:IsTeam(TEAM_%ARMY$) or ply:IsUserGroup("owner") end,
CustomCheckFailMsg = "You must be apart of the Army!"
})
我尝试的是这样的;如果玩家在TEAM_ARMY上,或Army Infantry工作,或在TEAM_ARMY%上,其中%应该是通配符,那么这意味着它可以针对TEAM_ARMYSH用于Army Shotgun,以及TEAM_ARMYS用于Army Sniper,如果那是唯一的两个具有以ARMY开头的工作[尽管这不是这样。]
运货使它更容易;有一个简单的allowed = {}命令行,可以像这样使用。
AddCustomShipment("AK12", "models/weapons/world/rifles/w_ak12.mdl", "fas2_ak12", 3500, 1 true, 3500, true, {TEAM_TALI})
AddCustomShipment("AK47", "models/weapons/w_ak47.mdl", "fas2_ak47", 4000, 1 true, 4000, true, {TEAM_TALI, TEAM_BMARKET})
属性以[顺序]排列:名称;型号;实体;价格;数量;单独;PriceSep;NoShip;和Allowed。允许仅允许我针对使用的团队。不幸的是,弹药不是。因此,我需要弄清楚如何从ply:IsTeam(“TEAM_ARMY”)选择多个组,这些组以'ARMY'开头并且在“ARMY”后具有某种通配符以进行选择?这样我就不会淹没弹药类型了很多很多组。
点赞
评论区的留言会收到邮件通知哦~
推荐文章
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
你可以这样做:
customCheck = function(ply) return string.find(string.lower(team.GetName( ply:Team() )),"army") or ply:IsUserGroup("owner") end,string.find(<haystack>,<needle>)如果在<haystack>中发现<needle>,则会返回一个数字:例如:
string.find("ABC","B")返回2,因为它是第二个字母。现在,
string.lower(<text>)返回<text>的小写版本例如:
string.lower("Hello World!")返回"hello world!"。现在,
team.GetName(<number>)按照团队编号获取团队名称,并且我使用了ply:Team()来获取数字。希望这可以帮助您快速回到它上面工作。
如果它不起作用,请评论,这段代码未经测试。