1.
#if %1=一 {%2=1}
这个语句我开始也试过,不知道为啥,不起作用,不能正确赋值。注:我用的462编写的解迷机器。
2、这部分是 alias change
#variable temporary1 {0} {0}
#variable temporary2 {0} {0}
#variable temporary3 {0} {0}
#variable temporary4 {0} {0}
#variable temporary5 {0} {0}
#if %pos(万,%1) {change %left(%1,%pos(万,%1)-1) temporary1}
#if %pos(千,%1) {change %rightback(%left(%1,%pos(千,%1)-1),2) temporary2}
#if %pos(百,%1) {change %rightback(%left(%1,%pos(百,%1)-1),2) temporary3}
#if %pos(十,%1) {change %rightback(%left(%1,%pos(十,%1)-1),2) temporary4}
#if %pos(十,%1) {change %rightback(%1,2) temporary5}
#if (@temporary5>9) {temporary5=0}
#if (%begins(%1,十)) {temporary4=1}
#math %2 (10000*@temporary1+1000*@temporary2+
100*@temporary3+10*@temporary4+@temporary5) (这行和上一行是同一行)
这部分是alias changeall
第二部分看不太懂,大侠能不能给个简短的说明,我也再研究下mud指令和函数。先谢了!!
3.
new一个alias 名称为convert,value为 number=%1;
number=%replace( @number, 零, 0) ;number=%replace( @number, 一, 1); .......
number=%replace( @number, 八, 8);number=%replace( @number, 九, 9);
number=%replace( @number, 十, "*10+") ;number=%replace( @number, 百, "*100+");
number=%replace( @number, 千, "*1000+");number=%replace( @number, 万, "*10000+");
number=%replace( @number, " ", "")
#if (%ends( @number, +)) {number=%concat( @number, 0)}
#if (%begins( @number, *)) {number=%concat( 1, @number)}
number=%eval( @number)
#show @number
%replace的命令在462下面运用貌似有问题,我试过{%replace(二十,二十,20);%replace(三十,三十,30)}这个语句,每次不管触发数字是二十还是三十,结果返回值都是30,不知道问题出在什么地方,望高手指教。这里我用具体数字替代了变量。另外赋值的变量省略了。