设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1527|回复: 6
打印 上一主题 下一主题

禁止逃跑

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
17 小时
注册时间
2007-8-10
帖子
170
跳转到指定楼层
1
发表于 2008-1-18 00:49:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
某个队伍的战斗,开始前10回合不能逃跑,10回合后才可能逃跑
在队伍里设置,事件使用脚本 $game_temp.battle_can_escape = false
  与 $game_temp.battle_can_escape = true  为什么不行?
只用这么一句的话,战斗就停在读到该脚本那里

是不是我脚本里面出了什么问题?
版务信息:本贴由楼主自主结贴~
……

Lv1.梦旅人

随缘

梦石
0
星屑
55
在线时间
12 小时
注册时间
2007-12-16
帖子
671
2
发表于 2008-1-18 01:47:29 | 只看该作者
10回合内"逃跑"不能点  10回合后就可以点击...不一定多要用到脚本...用事件也可以吧..不知道LZ是明雷还是暗雷.....
论坛:
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
17 小时
注册时间
2007-8-10
帖子
170
3
 楼主| 发表于 2008-1-18 01:59:41 | 只看该作者
明雷,是一个特定队伍
事件里就是找不到可以设置逃跑的啊(先前是不能逃跑的)
(临时有事情,过后来结贴)
……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

风之塞尔达

梦石
0
星屑
50
在线时间
57 小时
注册时间
2005-10-22
帖子
2492

贵宾

4
发表于 2008-1-18 02:21:18 | 只看该作者
我觉得这个是RM本身的bug,
LZ在战斗中队伍调用脚本$game_temp.battle_can_escape = xx时, class Interpreter的
def execute_command 返回的是false(即调用eval(script))失败. 此时就会立即退出Interpreter的update循环.  而Interpreter本身的@list变量任然保存着战斗事件数据,即@list != nil
这在 Scene_Battle里面的update中就会陷入死循环...
  def update
    # 执行战斗事件中的情况下
    if $game_system.battle_interpreter.running?  # 永远为真 (return @list != nil)
      # 刷新解释器
      $game_system.battle_interpreter.update
      # 强制行动的战斗者不存在的情况下
      ... ...
      end
    end
    ... ...
  end

这个是RMXP本身的bug, 当事件的最后一项是脚本,且处理错误时,没有让@list 为nil或执行其它操作
不是楼主的脚本问题
在程序里延续塞尔达的传说, 在画板上勾勒塞尔达的轮廓!!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
17 小时
注册时间
2007-8-10
帖子
170
5
 楼主| 发表于 2008-1-18 04:18:59 | 只看该作者
看楼上的讲得如此详细,可是有把握把日本人的这个bug修正?
日本人搞不了的中国人搞定它  {/bz}
……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

风之塞尔达

梦石
0
星屑
50
在线时间
57 小时
注册时间
2005-10-22
帖子
2492

贵宾

6
发表于 2008-1-18 06:03:42 | 只看该作者
{/gg}
我也只是觉得而已   毕竟事件页第一项使用禁止逃跑确实会陷入死循环
要改还是等到高手来   我可不想越改bug越多
在程序里延续塞尔达的传说, 在画板上勾勒塞尔达的轮廓!!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

月下可怜人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2005-11-23
帖子
4085

第1届短篇游戏比赛亚军

7
发表于 2008-1-18 17:09:08 | 只看该作者
Interpreter 7,记得是最后一个,好象是7,把   
if result == false
   # 结束
   return false
end
改为
if result == false
   # 结束
   return true
end
若不能运行的话,事件前面加个等待一侦,或者直接脚本操作也无妨。
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
纵然千里外,我等雁归来。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2025-7-27 07:36

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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