北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
12
返回列表 发新帖
楼主: hotel

ZMUD遍历,计划找到某NPC后停止,可是找到后,都多走下一步才停,怪了。

[复制链接]
发表于 2011-4-29 16:51:46 | 显示全部楼层
试试 #exec %item(@area,@step)
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2011-4-29 17:08:07 | 显示全部楼层
原帖由 alucar 于 2011-4-29 04:51 PM 发表
试试 #exec %item(@area,@step)



发现问题了。目前发现这个问题好象和 bianli 里面的内容有关系。

#if (@step<=@steps) {     #wa 500
#if (@findnpc=0) {         %item( @area, @step)         #add step 1         bianli         }
{xixi}}}


自己看了看,找到NPC 之后,虽然停止了以后步数的行走,但是, step的数值,却给加了一次。  这样再用
%ismember( %item( @area, @step),获得就是下一步路径,在方向string里面的数值了。 暂时改动 trigger
#tri {^??你嘻嘻地笑了起来。} {#add step -1;goback}  
成功返回起点。我去把bianli 里面的逻辑判断修改下, 看看会有什么变化。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2011-4-29 17:35:01 | 显示全部楼层
试验之后发现,
#alias bianli {
#if (@step<=@steps)
{  #wa 500
#if (@findnpc=1) {xixi}
{%item( @area, @step)
  #add step 1
  bianli }
}}

这样改过逻辑判断的顺序之后, 在执行了xixi 之后, step 又被执行了个 #add step 1.

trigger 保留成  #tri {^??你嘻嘻地笑了起来。} {#add step -1;goback}   才能顺利原路返回。 这是怎么回事情? 是不是721的脾气呢? 我去找个 555 版来检查下。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2011-4-29 17:48:40 | 显示全部楼层
这个逻辑执行的结果就是step+1
执行过程是:没有找到npc,则执行@step指定的步数,同时step+1,如果找到npc,执行xixi
当找到npc时,step已经被+1了,指定的值其实是找到npc后下一步的值
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2011-4-29 18:06:29 | 显示全部楼层
原帖由 alucar 于 2011-4-29 05:48 PM 发表
这个逻辑执行的结果就是step+1
执行过程是:没有找到npc,则执行@step指定的步数,同时step+1,如果找到npc,执行xixi
当找到npc时,step已经被+1了,指定的值其实是找到npc后下一步的值



怎样防止它逻辑上+1 呢?我的头有点晕,想不出来。

对于自身嵌套我实在不熟悉,是不是使用这个结构,必然会有step+1 呢?晚上我下个555版本测试一下。

[ 本帖最后由 hotel 于 2011-4-29 06:17 PM 编辑 ]
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2011-4-29 18:56:26 | 显示全部楼层
没必要防止阿,在xixi那里加个#add step -1就好了
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2011-4-29 19:11:31 | 显示全部楼层
原帖由 alucar 于 2011-4-29 06:56 PM 发表
没必要防止阿,在xixi那里加个#add step -1就好了



先休息一会,然后开始后面的试验。有点找到写小程序的感觉了。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2011-4-29 19:14:22 | 显示全部楼层
或者step从0开始记,把%item( @area, @step)和#add step 1换个顺序
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 03:38 AM , Processed in 0.008913 second(s), 12 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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