作者hmml (hmml)
看板mud_sanc
标题[心得] ZMUD ENABLE 技能自动变更使用级数的方法。
时间Thu Sep 4 21:14:30 2008
基本作法如下:
#trig {你的技能,『骑士风斩法』进步了} {en knight slash}
或在设定中编辑:
Patten:你的技能,『骑士风斩法』进步ꐊCommands:en knight slash
这样一来,只要技能每进步一级,就会被触发一次,重新设定使用等级。
但这样做,触发一百次中,只有一次是有效果的!感觉有些笨拙而不够高级,
所以可以针对讯息最後的数字做分析,因此设定:
Patten:你的技能,『骑士风斩法』进步了~((%d)00~)
Commands:en knight slash
和前一例不同地,字串最後多了对数字的判断。
%d是一个可以变动的数字,只要内容是阿拉伯数字,整句都是符合条件的字串。
大意是说:只要骑士风斩法最後的数字,最後两位是00则执行commands的内容!
而最外面的()前方都有一个~,目的在使zmud将最外面的()视为字串的一部份,
而非zmud做自用的字元。
如此一来,zmud用来比对的句子会是
你的技能,『骑士风斩法』进步了(100)
若没有加上~,则比对句会变成
你的技能,『骑士风斩法』进步了100
则触发将不会成功。
如此一来,本触发就会针对骑士风斩法的讯息,精确地做动作。看来也高级多了。
那能不能也针对技能部份做设定,来展现自己的才干呢?也是可以的。即
Patten:你的技能,『(%1)』进步了~((%d)00~)
Commands:#if (%1 = "骑士风斩法") {en knight slash}
技能名的部份可以用*,也能用%1,我习惯用%1。
而commands部分改为#if的语法来判断。依此类推,将所有en技一一用#if
写入该触发,即可不用每更换一项en技,就重新写一条。当然Myskill状况复杂,
要写入也是可以,但建议分离出来。
但以上写法有一个问题,与zmud本身吃中文字的问题有关,当技能名称恰巧有zmud
在用的字元在里面,技能名会变成乱码,zmud会将该技能当做别的字串去执行动作,
如闪华裂光拳,zmud的判断中,它是佛山无影脚,也是冰焰杖法,六脉神剑等等,
甚至血腥必杀剑未列入#if的技能,也同样做出如上错误的判断,结果zmud就执行
上述en技的等级更新动作。如此一来,不就想显示自己的睿智,却像在搞笑了?
那有没有解决良方呢?也是有的,加一道手续即可:
patten部份不做任何改变,但不将%1直接代入#if处理,先将它带到隔壁的房间,
好好地照顾一下......
不对!先把它带到变数去,在Commands最前方加上:
#var skillname %1
接着再#if中的%1改成@skillname即可。
要设定闪华裂光拳时,先让闪华裂光拳的升级讯息跑一次,这时,闪华裂光拳就
会被带到厕所去凌~~~,啊~是skillname啦!
接着再到Var中的skillname那格看看抓到什麽内容,直接将内容复制下来,贴到
#if的判断句即可。如果抓到乱码,也一样全部复制下来,加入判断句中。
以下是本触发的全貌:
Patten:你的技能,『(%1)』进步了~((%d)00~)
Commands:
#var skillname %1
#if (@skillname = "骑士风斩法") {en knight slash}
#if (@skillname = "武当剑法") {en wudon slash}
#if (@skillname = "星光杖法") {en starlight wand}
以下列推......
经过处理後,闪华裂光拳就能正常驱动,触发也不会误认其它技能了。
每创造新角色,只要整段贴过去,就高枕无忧罗!
理论上,在本触发中加入特攻等级满,自动更换下个一特攻来练也是可以的。
最後,是作者为规避技术上的错误,遭人谯到满头包的注意篇,请务必详读,
并时时刻刻铭记在心!
注意:
1.本篇所有内容依zmud 5.55版编辑规则编辑完成,不保证其它版本可以使用!
2.本篇各类zmud触发指令列表使用方式参考自:
http://suzin.pixnet.net/blog/post/9225957 红猫的重生世界
但不保证使用方式的正确性。
3.本篇作者资质鲁钝,int值在500以下,跟石化人差不多,不保证本触发的编法最完美,
最简便,效果最好,使用前请三思!
4.本篇作法只保证对作者一帖见效,不保证其它人用了也有效。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.114.250.112
※ 编辑: hmml 来自: 59.114.250.112 (09/04 21:16)
1F:推 hlead :提醒一下,教基本可以,可是别教人挂机。 09/04 21:19
2F:推 HighElf :%d的前後不必(),即是(%d)改为%d就行了,()另有用途 09/04 21:43
3F:→ hmml :我习惯加,有加也没事。 09/04 22:12
4F:→ hmml :练功机不是我的专长,团长比较厉害! 09/04 22:16
5F:推 Layase1 :/beg con算血量的触发阿!!! 09/04 22:17
6F:→ hmml :啊!3400篇! 09/04 22:17
7F:→ Layase1 :厉害个屁 我连你说的都看不懂 不要啥都拿我出来说... 09/04 22:17
8F:→ Layase1 :说真的 我很讨厌这个称呼 09/04 22:18
9F:→ hmml :算血量没在研究哩..... 09/04 22:24
10F:推 hlead :写触发这种东西,就是要越精简越好。... 09/04 22:48
11F:推 coldblade :我比较糟糕,我都是在进区域时通通enable一遍 09/05 11:24
12F:推 bahatest :推技能名变数...我得整理一下触发了 09/05 16:39
13F:→ bahatest :阿....等我新电脑稳定再说 09/05 16:40
14F:推 bahatest :所以同理heart消失也可以全部写成一个对吧 09/05 16:42
15F:推 laechan :baha的点子不错 09/05 16:50
16F:推 Yanten :应该有办法可以练到XX级就换下一招...试看看 09/06 09:59
17F:推 hlead :有办法阿,把%d改%2然後%2=99判定使用招数 换招。 09/06 10:25
18F:推 bahatest :不用设%2....直接打9900就好 09/06 22:14
19F:推 hlead :这样要两个触发= =你们不是要大众和? 09/06 22:39
20F:推 hlead :pattern:你的技能,『%1』进步了~((%2)~)! 09/06 22:42
21F:推 hlead :#if (%2 = "99") {enable judo} <--接想换得招式 09/06 22:42
22F:推 hlead :怪怪的.. 後面是 进步了~((%2)00~)!才对..应该能用. 09/06 22:44
23F:→ hmml :#if (@skillname = "魔法飞弹" & %2 = 99) 09/06 22:54
24F:→ hmml :可以这麽设! 09/06 22:54