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

Project1

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

[已经解决] 如何实时判断变量上下限

[复制链接]

Lv4.逐梦者

运否天赋

梦石
10
星屑
5243
在线时间
3567 小时
注册时间
2014-5-15
帖子
1599

开拓者

跳转到指定楼层
1
发表于 2014-8-24 22:35:22 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
  | ω・´)这回的问题是如何给变量定一个上下限,并保证在对话的情况下不会打断对限制的判定。
  在并行处理的公共事件里给变量定了下限后(比如为0),如果在变量变化的同时触发事件对话,对变量下限的检测就会被打断(即有可能出现负值,对话结束后归0)。所以想问下有没有其他事件方法或脚本方法。
土猫三国开发完成

Lv3.寻梦者

闇吼者の災悪眷族
不気味存在締造者

梦石
0
星屑
1366
在线时间
2881 小时
注册时间
2014-7-29
帖子
6491
2
发表于 2014-8-24 22:45:03 | 只看该作者
本帖最后由 三途亚梦 于 2014-8-24 22:56 编辑

难道不是加一个条件判断当变量XXX > 多少时候则 变量XXX=多少  就可以了么……
回复 支持 反对

使用道具 举报

Lv4.逐梦者

运否天赋

梦石
10
星屑
5243
在线时间
3567 小时
注册时间
2014-5-15
帖子
1599

开拓者

3
 楼主| 发表于 2014-8-24 23:42:38 | 只看该作者
三途亚梦 发表于 2014-8-24 22:45
难道不是加一个条件判断当变量XXX > 多少时候则 变量XXX=多少  就可以了么…… ...

(`・ω・)于是请看图,首先这个变量ID为7,然后设置了下限为0。用了喵呜巨巨的地图变量脚本。(猜测:难道是喵呜巨巨的地图变量脚本的刷新问题?)

然后给它一个正常的初始值,比如65

然后瞬间让它减154,并显示一段对话,然后就会发现只要对话不消失,它的值就是负的。

点掉对话后,变量值因超过下限而归0。

点评

因为RM处理事件是1帧1个事件,所以会在对话的时候变量变成负数,完事后归零。如果添加一个等待1帧让变量先变成0再发生对话,显示可能会舒服些。  发表于 2014-8-24 23:56
土猫三国开发完成
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

无限の剣制

梦石
0
星屑
10073
在线时间
5020 小时
注册时间
2013-2-28
帖子
5030

开拓者贵宾

4
发表于 2014-8-24 23:58:14 | 只看该作者
喵kano 发表于 2014-8-24 23:42
(`・ω・)于是请看图,首先这个变量ID为7,然后设置了下限为0。用了喵呜巨巨的地图变量脚本。(猜测:难 ...

那么@喵kano 君,我给你个坑爷爷的办法,你可敢一试
  1. module VIPArcher
  2.   SX = 100 #上限
  3.   XX = 0   #下限
  4. end

  5. class Game_Interpreter
  6.   alias vip20140824_ov operate_variable
  7.   #--------------------------------------------------------------------------
  8.   # ● 操作变量
  9.   #--------------------------------------------------------------------------
  10.   def operate_variable(variable_id, operation_type, value)
  11.     if variable_id == 1
  12.       begin
  13.       case operation_type
  14.       when 0  # 代入
  15.         if value >= VIPArcher::XX && value <= VIPArcher::SX
  16.           $game_variables[variable_id] = value
  17.         end
  18.       when 1  # 加法
  19.         if $game_variables[variable_id] + value <= VIPArcher::SX &&
  20.            $game_variables[variable_id] + value >= VIPArcher::XX
  21.           $game_variables[variable_id] += value
  22.         end
  23.       when 2  # 减法
  24.         if $game_variables[variable_id] - value >= VIPArcher::XX &&
  25.             $game_variables[variable_id] - value >= VIPArcher::XX
  26.           $game_variables[variable_id] -= value
  27.         end
  28.       when 3  # 乘法
  29.         if $game_variables[variable_id] * value <= VIPArcher::SX &&
  30.            $game_variables[variable_id] * value >= VIPArcher::XX
  31.           $game_variables[variable_id] *= value
  32.         end
  33.       when 4  # 除法
  34.         if $game_variables[variable_id] / value <= VIPArcher::SX &&
  35.            $game_variables[variable_id] / value >= VIPArcher::XX
  36.           $game_variables[variable_id] /= value
  37.         end
  38.       when 5  # 取余
  39.           $game_variables[variable_id] %= value
  40.       end
  41.     rescue
  42.       $game_variables[variable_id] = 0
  43.     end
  44.     else
  45.       vip20140824_ov(variable_id, operation_type, value)
  46.     end
  47.   end
  48. end
复制代码

点评

module VIPArcher………………  发表于 2014-8-25 00:26
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21484
在线时间
9389 小时
注册时间
2012-6-19
帖子
7114

开拓者短篇九导演组冠军

5
发表于 2014-8-24 23:58:25 | 只看该作者
本帖最后由 喵呜喵5 于 2014-8-25 12:36 编辑

https://rpg.blue/home.php?mod=sp ... o=blog&id=13598

点评

感谢喵呜,测试可用(`・ω・)  发表于 2014-8-25 00:02

评分

参与人数 1梦石 +1 收起 理由
VIPArcher + 1 (ΦωΦ)还能这么做

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-9-25 23:15

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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