作者KMS (半调子魔术师)
看板mud
标题Re: [请益] 问一个触发的写法(zMud4.62)
时间Fri Jun 4 15:31:44 2010
用二进位表是看看
spell=0 所有法术都没有
第一个法术(bless)有了 spell=spell+1, 第一个法术没有了 spell=spell-1;
第二个法术(armor)有了 spell=spell+2, 第二个法术没有了 spell=spell-2;
第三个法术(pray)有了 spell=spell+4, 第三个法术没有了 spell=spell-4;
依此类推 然後
#if %mod(@spell,2)==0 {c bless}; (表示bless 没有 其他不管)
#if %mod(@spell,4)==1 {c armor}; (表示bless 有了 armor 没有 其他不管)
#if %mod(@spell,8)==3 {c pray}; (表示 bless armor 都有了 pray 没有 )
#if %mod(@spell,16)=7 {k mod}; (表示 所有法术有了)
这样每次只会执行一个指令 全部法术都有了才会K
p.s. 用 #additem, #delitem 写起来可以更漂亮 不过我不太确定在4.62板
行不行。大致上就是把你想要要输入的命令存在一个 list, 每次去读 list
的最後一个。透过#additem #delitem 去改变这个 list 的最後一个东西。
题外话:
以前花了很多时间 学写机器人..记得最後写了一个模本可以输入
1.要走的路径
2.要打的mob list
3.不要打/要闪的(怕抢怪)的list..
就会开始自走了..
不过现在上线都只能发呆了@@ 动都懒得动了
※ 引述《tsevoli (小夜)》之铭言:
: 请问一下我想写一个指令,但遇上的瓶颈,想问问有没好的解决方式
: 想写的指令是:在打怪前会先根据自身的状况帮自己先加加的指令(我是用别名来作)
: 譬如说我把kill设成别名了
: 一下kill就会判断身上的加加 然後决定要不要先cast pray还是c bless,还是c armor
: 如果最後都有了就kill mob,缺那一种就先加那种後才k
: 我原先的写法是这样的
: 先将pray bless armor 都已经设好变数,
: pray=1 就是身上没pray
: pray=2 就是身上还有pray 以此类推bless armor
: 本来是用#if{#if{#if {}}}去写,但只套了两层的#if就很复杂了.後头还其他加加..
: 如下...只是光pray跟bless就很冗长,要再加armor下去..很难加.土法链钢式笨方法
: #if @pray=1 {#if @bless=1 {c bless;#wa 2000;c pray;#wa 2000;k @monser} {c pray;#wa 2000;k @monster}} {#if @bless=1 {c bless;#wa 2000;k @monster} {k @monster}}
: 想问问有没有大能提供较佳的写法
: 第二个问题
: 我换了一个写法,也是行不通
: #if @pray=1 {c pray;#wa 2000};
: #if @bless=1 {c bless;#wa 2000};
: #if @armor=1 {c armor;#wa 2000};
: k @monster
: 看起来简洁明确多了,逻辑上也通,可是!!
: 实际上跑起来,c pray後并不会等2秒才c bless
: 一下指令後,3个#if内的指令就同时一起下了
: 这个问题常常遇到...#if{}内的#wa,不会发挥效果(除非这个#if摆最後,後面没指令了)
: #if @pray=1 {c pray};#wa 2000;
: #if @bless=1 {c bless};#wa 2000
: #if @armor=1 {c armor};#wa 2000;
: k @monster
: 这样也不行 ,变成每打一只mob.不管有没有cast都要先等2+2+2秒....= =
: 想问问有没办法让一连续执行的指令中,插入一个判断句(譬如说if或其他的)
: 然後让判断句中的#wa都作动完,才跑後面的指令呢??
: 举例:
: 原本的动作是 1;2;3;4;5;6
: 现在想在2跟3之间加作一个判断7要不要作的指令
: 但7的动作会延迟2秒,所以如果作了7就要等2秒才能作後面的3;4;5;6
: 若写 1;2;#if xxx {7;#wa 2000};4;5;6 <--这样不行..跑起来还是1;2;7;3;4;5;6的效果
: 以上...请大能帮忙一下,谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.114.81.68
※ 编辑: KMS 来自: 140.114.81.68 (06/04 16:13)