我希望尝试启用/禁用使用!commands
的功能(此游戏中的命令(命令与征服:Renegade)始终以!
为前缀),具体取决于文本文件规定允许用户使用或不使用。我正在寻找Lua中的代码,以实现兼容性和集成。例如:
Harry1被允许使用!spectate
Harry2不允许使用!spectate
但是,这可能适用于无限数量的用户,因为每个用户最多可以选择3个“选项”,其余的这些“选项”不允许未被选中的用户访问他们中的一个。例如:
Harry1选择了!spectate
,!cookie
,!pizza
Harry2选择!cookie
,!icecream
,!chocolate
因此,Harry1将无法使用!icecream
或!chocolate
而且Harry2无法使用!spectate
或!pizza
。
获取玩家ID由Get_Player_ID(pID)
使用。
答案 0 :(得分:0)
最好先设计数据布局。由于Lua也是一种数据描述语言,因此使用本机语法很自然,因此选择文件如下所示:
user {
name: "Harry1",
choices: {["spectate"]=true, ["cookie"]=true, ["pizza"]=true},
}
user {
name: "Harry2",
choices: {["cookie"]=true, ["icecream"]=true, ["chocolate"]=true},
}
然后,在代码中,您可以执行以下操作:
users = {}
function user_docommand(user, command)
if users[user].choices[command] == true do
--- do the command
end
end
do
function user(u)
if users[u.name] == nil then
users[u.name] = {}
end
users[u.name].choices = u.choices
end
--- perharps use a safer function than dofile here
dofile("choices.lua")
end