我不确定这是游戏的正确部分,但仍然如此。我是开发人员的开发服务器,我相信使用FAdmin&无论如何,管理员的ULX ..东西..我目前正在开发jobs.lua,shipment.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或陆军步兵作业上,或者在TEAM_ARMY%上,其中%应该是通配符,那么这意味着它可以瞄准军队霰弹枪的TEAM_ARMYSH和军队狙击手的TEAM_ARMYS。这是ARMY开始的另外两个工作[虽然情况并非如此。]
货物运输更容易;这是一条简单的allowed = {}
cmd行,可以像这样使用。
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;并允许。允许只是让我针对一个团队进行使用。可悲的是,弹药没有。所以我想弄清楚的是如何从一个层中选择多个组:IsTeam(" TEAM_ARMY")以' ARMY'开头。并且在选择ARMY之后会有某种通配符?这样我就不会用数吨和数吨的群体来淹没弹药类型。
答案 0 :(得分:1)
您可以执行以下操作:
customCheck = function(ply) return string.find(string.lower(team.GetName( ply:Team() )),"army") or ply:IsUserGroup("owner") end,
string.find(<haystack>,<needle>)
如果在<needle>
中找到<haystack>
,则会返回一个数字:
示例:
string.find("ABC","B")
返回2
,因为它是第二个字母。
现在string.lower(<text>)
返回<text>
示例:
string.lower("Hello World!")
返回"hello world!"
现在team.GetName(<number>)
让团队名称偏向于团队编号,并获得我使用的数字ply:Team()
,该数字会返回一个数字。
希望这对您有所帮助,您可以快速恢复工作。
如果它不起作用只是评论,则此代码未经测试。