北大侠客行MUD论坛

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

请教zmud4.62版本的if语句的问题

[复制链接]
发表于 2015-1-31 18:37:41 | 显示全部楼层 |阅读模式
触发:任务诵经任务要求你*·(%x)~((%d)~)
句型:mulu=%1;
zhangye=%2;
#if @mulu=知北游 {#math page @zhangye+177-1};
#if @mulu=骈拇 {#math page @zhangye-1+1};
#if @mulu=刻意 {#math page @zhangye-1+190};
#if @mulu=马蹄 {#math page @zhangye-1+4};
#if @mulu=说剑 {#math page @zhangye-1+99};
#if @mulu=盗跖 {#math page @zhangye-1+47};
#if @mulu=胠箧 {#math page @zhangye-1+12};
#if @mulu=在宥 {#math page @zhangye-1+31};
#if @mulu=天地 {#math page @zhangye-1+66};
#if @mulu=天道 {#math page @zhangye-1+116};
#if @mulu=大宗师 {#math page @zhangye-1+77};
#if @mulu=天运 {#math page @zhangye-1+151};
#if @mulu=缮性 {#math page @zhangye-1+201};
#if @mulu=至乐 {#math page @zhangye-1+51};
#if @mulu=秋水 {#math page @zhangye-1+1};
#if @mulu=达生 {#math page @zhangye-1+69};
#if @mulu=山木 {#math page @zhangye-1+107};
#if @mulu=田子方 {#math page @zhangye-1+143};
#if @mulu=徐无鬼 {#math page @zhangye-1+42};
#if @mulu=则阳 {#math page @zhangye-1+98};
#if @mulu=外物 {#math page @zhangye-1+141};
#if @mulu=寓言 {#math page @zhangye-1+168};
#if @mulu=让王 {#math page @zhangye-1+1};
#if @mulu=渔父 {#math page @zhangye-1+114};
#if @mulu=天下 {#math page @zhangye-1+165};
#if @mulu=列御寇 {#math page @zhangye-1+139};
#if @mulu=逍遥游 {#math page @zhangye-1+1};
#if @mulu=齐物论 {#math page @zhangye-1+21};
#if @mulu=养生主 {#math page @zhangye-1+69};
#if @mulu=人间世 {#math page @zhangye-1+1};
#if @mulu=德充符 {#math page @zhangye-1+46};
#if @mulu=应帝王 {#math page @zhangye-1+124}
这个句型老是出错,我观察到mulu和zhangye变量的取样都是正确的,但是page老容易错,但是如果我删除了几个#if语句后page就取样正确了,莫非#if语句行数多了就有问题么?如果这样只有再增加别的条件了分类触发#if了么

北大侠客行MUD,中国最好的MUD
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2015-1-31 19:09:43 | 显示全部楼层
搞定,百度了下,原因找到,原文这样说:等于(=)判断好多时候不好用, 比如说碰到 中文, 碰到 -
通常我是一律用 %ismember 函数来判断, 或者 %pos 函数
%pos(p,s)   return the position of pattern p in string s.  Return 0/false if not found
%ismember(s,list)   return true if s is a member of the given string list
上面的可以改写为
#if (%pos(tianzi-jian,@ag)) {ap=sword};#if (%pos(liumai-shenjian,@ag)) {ap=unarmed}
或者
#if (%ismember(@ag,tianzi-jian|taiji-jian|wudang-jian)) {ap=sword};#if (%ismember(@agliumai-shenjian|taiji-quan)) {ap=unarmed}
list列表用 | 隔开
那么我的句型改成
#if %pos(马蹄,@mulu) {#math page @zhangye-1+4};
#if %pos(说剑,@mulu) {#math page @zhangye-1+99};
#if %pos(盗跖,@mulu) {#math page @zhangye-1+47};
#if %pos(胠箧,@mulu) {#math page @zhangye-1+12};
#if %pos(在宥,@mulu) {#math page @zhangye-1+31};
#if %pos(天地,@mulu) {#math page @zhangye-1+66};
#if %pos(天道,@mulu) {#math page @zhangye-1+116};
#if %pos(大宗师,@mulu) {#math page @zhangye-1+77};
#if %pos(天运,@mulu) {#math page @zhangye-1+151};
#if %pos(缮性,@mulu) {#math page @zhangye-1+201};
#if %pos(至乐,@mulu) {#math page @zhangye-1+51};
#if %pos(秋水,@mulu) {#math page @zhangye-1+1};
#if %pos(达生,@mulu) {#math page @zhangye-1+69};
#if %pos(山木,@mulu) {#math page @zhangye-1+107};
#if %pos(田子方,@mulu) {#math page @zhangye-1+143};
#if %pos(徐无鬼,@mulu) {#math page @zhangye-1+42};
#if %pos(则阳,@mulu) {#math page @zhangye-1+98};
#if %pos(外物,@mulu) {#math page @zhangye-1+141};
#if %pos(寓言,@mulu) {#math page @zhangye-1+168};
#if %pos(让王,@mulu) {#math page @zhangye-1+1};
#if %pos(渔父,@mulu) {#math page @zhangye-1+114};
#if %pos(天下,@mulu) {#math page @zhangye-1+165};
#if %pos(列御寇,@mulu) {#math page @zhangye-1+139};
#if %pos(逍遥游,@mulu) {#math page @zhangye-1+1};
#if %pos(齐物论,@mulu) {#math page @zhangye-1+21};
#if %pos(养生主,@mulu) {#math page @zhangye-1+69};
#if %pos(人间世,@mulu) {#math page @zhangye-1+1};
#if %pos(德充符,@mulu) {#math page @zhangye-1+46};
#if %pos(应帝王,@mulu) {#math page @zhangye-1+124}
就彻底解决问题,高手还是多
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2015-1-31 19:16:49 | 显示全部楼层
zmud真够折腾的
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2015-1-31 21:58:26 | 显示全部楼层
中文字符串对比我一般是用 %begins
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2015-2-2 11:42:05 | 显示全部楼层
721好像没这个问题
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-24 07:04 AM , Processed in 0.014014 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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