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

Project1

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

[已经解决] 地图上的状态自动解除可不可以与变量相关?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1019 小时
注册时间
2012-4-25
帖子
799
跳转到指定楼层
1
发表于 2015-5-15 14:21:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
一般来说,在地图上的状态是走多少步后自动解除。那可不可以改成某变量变化多少才解除?

Lv3.寻梦者

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

梦石
0
星屑
1366
在线时间
2881 小时
注册时间
2014-7-29
帖子
6491
2
发表于 2015-5-15 16:41:28 | 只看该作者
本帖最后由 三途亚梦 于 2015-5-15 17:58 编辑

默认是20步等于一回合。
↓变量2或常量“1”其中值较大者。

RUBY 代码复制
  1. class Game_Actor < Game_Battler
  2.   def steps_for_turn
  3.     return [$game_variables[2], 1].max
  4.   end
  5. end


#=======================================================

在Game_BattlerBase的refresh里,仿造附加“战斗不能”状态的方式写你需要的效果。
即类似
  1.     $game_variables[2] > 0 ? add_state(2) : remove_state(2)
复制代码
限制回复量的部分可以考虑直接调整药理知识来实现。

无法使用则比较麻烦一些咯。
也是在Game_BattlerBase中,对usable?(item)方法加一些细节,在人物如果处于饱食状态时case when 一下物品id,然后return false。
也可以通过备注。

点评

你什么时候产生了变量改变时会调用 refresh 的错觉  发表于 2015-5-15 19:11
两个变量一起变就可以了  发表于 2015-5-15 18:55
_(:з」∠)_ 并行还是太吃资源了,交给refresh吧。楼主对伤害公式的妙用那个帖子还比较熟,简单的脚本自己是能写的。  发表于 2015-5-15 18:00
解除状态 - - 话说楼主这种需求就一个并行事件就好了吧……  发表于 2015-5-15 17:50
_(:з」∠)_,嗯,是我没认真看题目  发表于 2015-5-15 17:49

评分

参与人数 1梦石 +1 收起 理由
taroxd + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1019 小时
注册时间
2012-4-25
帖子
799
3
 楼主| 发表于 2015-5-15 17:36:00 | 只看该作者
三途亚梦 发表于 2015-5-15 16:41
默认是20步等于一回合。
↓变量2或常量“1”其中值较大者。
class Game_Actor < Game_Battler


可能是我得不够清楚。

举个例子,就是我在游戏里设置里时间变量,吃了饭之后,附加一个“吃饱了”的状态,就无法再吃东西,或者吃东西不再有效果。

之后有两个思路。

1个是时间变量:比如小时变量增加了3之后,该变量解除。

2个是食物增加饱食度变量,该变量随同时间变量变化而变化,当饱食度变量低于某一个值,自动解决该状态。

点评

思路给编辑到楼上,发现你没有在楼上点评于是来这里提醒你一下。  发表于 2015-5-15 18:01
这种东西就做到Game_BattlerBase的refresh里去,运用到的知识是图书馆中那个可以开关的被动技能的帖子。  发表于 2015-5-15 17:43
w(゚Д゚)w 你这完全变成不同的问题了诶!  发表于 2015-5-15 17:42
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1019 小时
注册时间
2012-4-25
帖子
799
4
 楼主| 发表于 2015-5-15 18:55:18 | 只看该作者
三途亚梦 发表于 2015-5-15 16:41
默认是20步等于一回合。
↓变量2或常量“1”其中值较大者。

class Game_Actor < Game_Battler

谢谢,我想我明白了。你举的例子适合使用饱食度,不过我觉得改成这样行不?

if $game_variables[2] > 70  
    add_state(2)
end
if $game_variables[2] < 30
remove_state(2)
end

点评

【 add_state(2) if $game_variables[2] > 70 】可以缩写成这样呢。  发表于 2015-5-15 18:58
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 04:41

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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