我有大约100个if语句,我能以更好的方式做到这一点吗?
function onSay (cid, words, param)
mark = string.lower(param)
if mark == "kojo" then
moveTo(cid, {x=32838, y=31926, z=7})
sendEffect({x=32838, y=31926, z=7}, 10)
elseif mark == "habala" then
moveTo(cid, {x=32838, y=31926, z=7})
sendEffect({x=32838, y=31926, z=7}, 10)
end
-- and so on.....
end
Run Code Online (Sandbox Code Playgroud)
使用mark
键作为键创建表,其中每个元素都是一个包含四个参数(x
,y
和z
,以及最后10
表示的内容)的表.然后,您的onSay
方法可以实现为表查找,然后调用moveTo
并sendEffect
使用已标识元素中的值.您仍然需要构建表,但是您可以从文件中读取它或将其移动到单独的模块中,因此它不会占用您的onSay
方法.