报错,大侠看看哪里有问题?(掌上mud)
要实现发现什么书就读什么书:触发语句:
你找到一本易经,欣喜若狂。
触发指令:
local shu = %1
If %1 == "易经" then
shu = "yi jing"
elseIf %1 == "推背图" then
shu = "tuibei tu"
elseIf %1 == "洛书" then
shu = "luo shu"
elseIf %1 == "河图" then
shu = "he tu"
esleif %1 == "奇门遁甲” then
shu = "qimen dunjia"
end
execute("du"..%1.."for 1")
报错:
> :2: unexpected symbol near '<\226>'
北大侠客行MUD,中国最好的MUD 本帖最后由 xurufeng 于 2020-4-7 02:05 PM 编辑
Execute("du "..%1.." for 1")
或者
Execute("du "..shu.." for 1")
注意空格,以及大小写 回复 1# wlczx
1、你要是想用%1赋值,需要你的触发语句里有变量提取通配符。
例如:你找到一本(\S+),欣喜若狂。
2、你想要把%1赋值成为字符串形式,你需要用引号括起来。
例如:local shu="%1"
3、既然你的变量shu是用来表示物品id,那上一条语句等于废话。
4、想把变量%1与字符串做对比,也需要用引号括起来。
例如:if “%1”==“易经" then
不知道我说明白了没有 另外二楼说得对
execute不等于Execute ,大小写不能错
%1抓取的是汉字,即便你语句写正确了
你输出的也是"du 易经 for 1"
是不是很蛋疼
因为你基本逻辑没搞清
看来是没什么编程经验
多练练就好了 local shu = ""
if "%1" == "易经" then
shu = "yi jing"
elseif "%1" == "推背图" then
shu = "tuibei tu"
elseif "%1" == "洛书" then
shu = "luo shu"
elseif "%1" == "河图" then
shu = "he tu"
elseif "%1" == "奇门遁甲” then
shu = "qimen dunjia"
end
Execute("du "..shu.." for 1") 回复 2# xurufeng
大小写确实是个问题{:7_280:} 回复 4# nrm
完全没学过编程啊~~问题指的很对,已经解决,谢啦 回复 5# yyzq
到位,谢
页:
[1]