作者caiin (这个世界疯了...)
看板mud_sanc
标题Re: [问题] 主牧的技能触发写法
时间Mon May 20 14:12:00 2013
不好意思 我现在又遇到一个问题~
就是一直显示错误@@
--
错误号: 0
事件: Compile error
描述: [string "Script file"]:1: unexpected symbol near '<'
呼叫者: Immediate execution
--
我研究了很久 还是找不到原因QQ
※ 引述《hmml (hmml)》之铭言:
: <triggers>
: <trigger
: enabled="y"
: group=""
: <triggers>
: <trigger
: enabled="y"
: group=""
: match="^(☆☆☆|○○○).*(☆☆☆|○○○)$"
: name="Control_Fight"
: regexp="y"
: send_to="12"
: sequence="100"
: >
: <send>
: if '%1' == '☆☆☆' then
: Execute ([[cast 'holy body']]) --一触发就执行
: DoAfterSpecial (5,[[cast pray]],10) --五秒後执行
: DoAfterSpecial (10,[[cast 'holy shield']],10) --十秒後执行
: DoAfterSpecial (15,[[cast encourage]],10) --十五秒後执行
: DoAfterSpecial (20,[[cast 'holy power']],10) --二十秒後执行
: else
: Execute ([[cast 'holy body']]) --同上类推
: DoAfterSpecial (5,[[cast pray]],10)
: DoAfterSpecial (10,[[cast 'holy shield']],10)
: DoAfterSpecial (15,[[cast encourage]],10)
: DoAfterSpecial (20,[[cast 'holy power']],10)
: end
: </send>
: </trigger>
: </triggers>
: if 架构应该不用再检讨了吧!所以就讲MushClient里的函数:
: 先说这一个:
: Execute ([[cast 'holy body']])
: Execute() 相当於zMUD的#exec,它会分析里面的内容是使用者设的别名,
: 还是要直接送给主机的指令。如果有照Hamano的教学去设置Mushclient
: ,那你的分行符号应该是分号";";而井字号"#"就是用来宣告後面的字
: 串是函数。这两点关系到 Execute() 这函数好不好用。建议再检查一
: 下你的MushClient设置是否没问题。
: Execute ([["cast holy body","cast pray","cast holy shield","cast
: encourage","cast pure power"]])
: 所以你这段,假设cast无延迟,真得能瞬间五招,格式应该改为:
: Execute ([["cast holy body";"cast pray";"cast holy shield";"cast
: encourage";"cast pure power"]])
: 或直接换行,但注意[[]]内不要在行首随意空格做排版,Execture会把内容
: 忠实地送出去,所以连空格把指令送出去的话,圣殿可不认得:
: Execute ([["cast holy body"
: "cast pray"
: "cast holy shield"
: "cast encourage"
: "cast pure power"]])
: 另外你的引号""标的位置,不符合圣殿放法术的格式,所以应该改为:
: Execute ([[cast 'holy body';cast pray;cast 'holy shield';cast
: encourage;cast 'pure power']])
: 或:
: Execute ([[cast 'holy body'
: cast pray
: cast 'holy shield'
: cast encourage
: cast 'pure power']])
: 再来:
: DoAfterSpecial (5,[[cast pray]],10)
: 这个是暂时性的延迟函数指令,相当於zMUD的#alarm。
: 绿色字体是秒数,设定从0.1秒到24小时减1秒。
: 黄色括号用来写入指令,格式和Execute()一样。
: 粉色字则是用来表示要如何处理内容,10是采用 Execute() 的处理方式。
: 这里有一点提醒你:看一下上面的黄色行:cast 'pure power'
: 这个技能在战斗中放不出来的。
: 如果你要一行轮流放,你可以试试speedwalk:
: DoAfterSpeedWalk (long Seconds, BSTR SendText)
: 但是我没用过这个,所以不清楚能不能达成你的需求。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 60.251.155.10
1F:→ laechan :有一个 < 就要有一个 > 05/20 15:05
2F:→ hmml :科科,其实错误就在前几行里面 05/20 18:59
3F:→ caiin :是指有重复的地方吗??? 我有删掉耶 但是一样QQ 05/20 19:00
4F:→ hmml :注意前几行,有多了几行重复的,不必要的。 05/20 19:01
5F:→ hmml :那你就重做一个,只复制<Send><\Send>之间的部份试试 05/20 19:02
6F:→ caiin :还是无法Orz 该不会是因为我是用免安装版@@??? 05/21 10:22
7F:→ laechan :装 notepad2, 然後把 script 档丢进去找是否有漏 < > 05/21 11:56
8F:→ laechan :或是把 script 档直接丢进浏览器(如firefox)观看也可 05/21 11:57
9F:→ caiin :firefox显示星星符号不合语法...囧a 05/21 12:27
10F:→ caiin :所以我把星星改成 战斗开始 ??? 05/21 12:35
11F:→ laechan :先换成别的(如 ***, $$$, ★★★,..) try try 05/21 13:33
12F:→ caiin :尝试过了 还是不行QQ 好像全形字不符合语法?? 05/22 11:51
13F:推 hmml :你先把你的贴上来... 05/23 00:04
14F:推 hmml :左侧的勾选项,和下方的Send to项内容也贴上来 05/23 00:23