北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
查看: 20440|回复: 14

zmud462自定义类似zmud721的list函数%item %ismember

[复制链接]
发表于 2014-10-9 22:55:31 | 显示全部楼层 |阅读模式
无聊中,看见之前有一些陆续零散的文章,自己研究一下。见下文:
例如#var aa "s|nu|sd|kill bing|su|e"
      #var bb "kill bing"
      #var cc 5
1,numitems
#fu numitems {%numwords(%1,"|")}
用法:@numitems(@aa)
注:无。。。太简单了

2,ismember
#fu ismember {%eval(%ismember(%1,%2)*(%numwords(%word(%concat("|")%replace(%2,"|","||")%concat("|"),1,%concat("|")%1%concat("|")),"||")+1))}
用法:@ismember(@bb,@aa)
注:会返回元素位置
优点适用替换"|"为"||",然后计算|@bb|的位置,防止e,eu之类的相近元素干扰计数

3,item
#fu item {%if(%2<1,"",%word(%1,%2,"|"))}
用法:@item(@aa,@cc)
注:无。。。太简单了,模仿zmud721中,负数和0均是显示空的

4,delnitem
#fu delnitem {%exec(fuction_delnitem=%1;fuction_delnitem_before="";#loop %eval(%2-1) {fuction_delnitem_before=@fuction_delnitem_before|%word(@fuction_delnitem,1,"|");fuction_delnitem=%delitem(%word(@fuction_delnitem,1,"|"),@fuction_delnitem)};fuction_delnitem=%delitem(%word(@fuction_delnitem,1,"|"),@fuction_delnitem);fuction_delnitem=||@fuction_delnitem_before|@fuction_delnitem||;fuction_delnitem=%replace(%replace(@fuction_delnitem,"|||","||"),"||","|");fuction_delnitem_before=%eval(%len(@fuction_delnitem)-2);fuction_delnitem=%copy(@fuction_delnitem,2,@fuction_delnitem_before))%if((%2<1 or %2>%numwords(%1,"|")),%1,%if(%2=1,%delitem(%word(%1,1,"|"),%1),@fuction_delnitem))}
%if((%2<1 or %2>%numwords(%1,"|")),%1,%if(%2=1,%delitem(%word(%1,1,"|")),@fuction_delnitem))
用法:@delnitem(@aa,@cc)
注:这个比较麻烦,主要是比如你e在一个list中可能有多个e,你要找到你要的位置有点繁琐。
这个我用@aa 50个元素,#loop 50 {#echo @delnitem(@aa,%random(1,50))}
实验过效果还可以
方法就是根据@cc的数目循环@cc次数,前面有一个list,后面剩一个list相加

其他函数暂时没有想到。

顺便推销一下的中文数值转换阿拉伯数字函数:
5,trans
#fu trans {%eval(%replace(%replace(%concat("(0+"%replace(%replace(%replace(%replace(%replace(%replace(%replace(%replace(%replace(%replace(%replace(%replace(%replace(%replace(%replace(%1,"零","*0+"),"十","*10+"),"百","*100+"),"千","*1000+"),"万","+0)*10000+(0+"),"亿","+0)*100000000+(0+"),"六","6"),"一","1"),"二","2"),"三","3"),"四","4"),"五","5"),"七","7"),"八","8"),"九","9")"+0)"),"++","+"),"+*","+"))}
用法:@trans(十一亿三千零六万零七百零二)
                      1130060702
注:可以上亿哦
另外cmud zmud462通用,我调整好了语法

北大侠客行MUD,中国最好的MUD
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2014-10-10 11:12:18 | 显示全部楼层
721用顺手了,感觉也还不错。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2014-10-10 13:44:23 | 显示全部楼层
我可是一直在用cmud啊,只是无聊看看。
啥叫连击了,猴子?
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2014-10-10 17:58:53 | 显示全部楼层
还在写机器人啊,基本目前只能到处跑跑…,其他模块都没有。
比如gt yz,gt 1234 gt 中央广场 这种。
cmud脾气没搞熟,sg教程那么专业,望而却步啊。
你的cmud是343?能分享一下么?
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2014-10-10 18:22:47 | 显示全部楼层
回复 7# oolong
gt是个大工程呀。不能用逍遥行吗?
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2014-10-11 07:32:06 | 显示全部楼层
回复 8# imtt
gt只要有map就可以了啊,最基本功能了,逍遥行就手动用用
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2014-10-11 07:32:56 | 显示全部楼层
回复 9# yyahoo
证明你有过。。。share一下吧,破解还是正版?
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2014-10-19 15:43:21 | 显示全部楼层
楼主 请教个cmud问题

#path aaa .n2s
.aaa
只执行一个n。后面的所有路径作为一个命令发送出去了.
这个毛病时有时无 楼主有碰到过吗
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2014-10-20 08:23:38 | 显示全部楼层
#path 没用过。不知道你的意图,猜测你想将一串路径存放在aaa中然后执行?

$i=.n2s
#alias dowalk {$i}

以后执行dowalk就可以了.
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2014-12-3 15:20:31 | 显示全部楼层
这么技术的帖子不mark 对不住自己
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|北大侠客行MUD ( 京ICP备16065414号-1 )

GMT+8, 2024-11-24 02:12 PM , Processed in 0.010494 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表