查看: 1988|回复: 4

[已经解决] 怎样实现每次撤退成功时某变量+1?

[复制链接]
梦石
10
星屑
39550
在线时间
1919 小时
注册时间
2010-11-14
回帖
3214

R考场第七期纪念奖

发表于 2015-7-31 02:49:24 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 KB.Driver 于 2015-7-31 14:23 编辑

我希望撤退累计100次后能获得称号(防具的一种)
怎样实现每次撤退成功时某变量+1?
最好能在变量+1时同时判断是否变量是否>=100,如果是就某防具+1
(用了限制物品上限的脚本,因此不用再分歧排除重复取得了)

抱歉忘记说了……是指暗雷……
用头画头像,用脚写脚本

污染源

梦石
2
星屑
10410
在线时间
2369 小时
注册时间
2012-2-25
回帖
921
发表于 2015-7-31 08:09:49 | 显示全部楼层
这是你要的效果吗?
$CCWEII8Z3$N@E}5})$VT00.png

点评

抱歉忘记说了……是指暗雷……  发表于 2015-7-31 14:23
回复

使用道具 举报

梦石
0
星屑
1736
在线时间
761 小时
注册时间
2013-9-23
回帖
180

开拓者

发表于 2015-7-31 08:25:30 | 显示全部楼层
本帖最后由 午睡的风铃 于 2015-7-31 08:33 编辑

BattleManager里大概273行
$game_troop.on_battle_end改成
$game_troop.on_battle_end if $game_variables[X] += 1
X是统计撤退成功次数的变量ID
这样在每次逃跑成功后X号变量都会+1,剩下的就看你的了(拍肩膀)─.─
回复

使用道具 举报

老鹰

梦石
40
星屑
37812
在线时间
7091 小时
注册时间
2012-5-26
回帖
3297

极短24评委极短23参与极短22参与极短21评委老司机慢点开短篇十吟唱者组别冠军开拓者剧作品鉴家

发表于 2015-7-31 10:20:32 | 显示全部楼层
在BattleManager的222行处
  1.     if success
  2.       process_abort
  3.     else
  4.       @escape_ratio += 0.1
  5.       $game_message.add('\.' + Vocab::EscapeFailure)
  6.       $game_party.clear_actions
  7.     end
复制代码
改成
  1.     if success
  2.       process_abort
  3.       $game_variables[x] += 1 # 逃跑成功时,x号变量+1
  4.       $game_party.gain_item($data_armors[i],1) if($game_variables[x] >= 100 ) #获得i号防具,如果变量大于等于100 (似乎这样没有获得提示)
  5.     else
  6.       @escape_ratio += 0.1
  7.       $game_message.add('\.' + Vocab::EscapeFailure)
  8.       $game_party.clear_actions
  9.     end
复制代码

点评

要把x和i都改成对应数字的……i是指第i号防具  发表于 2015-8-1 12:52
修改了以后战斗中一逃跑就显示No Method,是怎么回事呢?  发表于 2015-8-1 00:18

评分

参与人数 2星屑 +15 梦石 +1 收起 理由
VIPArcher + 1 认可答案
KB.Driver + 15 谢谢!

查看全部评分

回复

使用道具 举报

梦石
10
星屑
39550
在线时间
1919 小时
注册时间
2010-11-14
回帖
3214

R考场第七期纪念奖

 楼主| 发表于 2015-8-1 13:32:48 | 显示全部楼层
本帖最后由 KB.Driver 于 2015-8-1 13:37 编辑
百里_飞柳 发表于 2015-7-31 10:20
在BattleManager的222行处改成


[pre lang="ruby"]  
  #--------------------------------------------------------------------------
  # ● 撤退时的处理
  #--------------------------------------------------------------------------
  def self.process_escape
    $game_message.add(sprintf(Vocab::EscapeStart, $game_party.name))
    success = @preemptive ? true : (rand < @escape_ratio)
    Sound.play_escape
    if success
      process_abort
      $game_variables[80] += 1 # 逃跑成功时,80号变量+1
      $game_party.gain_item($data_armors[147],1) if($game_variables[80] >= 50 )
      #获得147号防具1件,如果80号变量大于等于50 (似乎这样没有获得提示)
    else
      @escape_ratio += 0.1
      $game_message.add('\.' + Vocab::EscapeFailure)
      $game_party.clear_actions
    end
  end[/pre]

好吧,没有问题了……就是没有获得提示有点惨……

点评

谢谢!  发表于 2015-8-1 15:37
提示可以自己加啊$game_message.add "成就《逃跑的人》达成\\n获得了#{$data_armors[147].name}"  发表于 2015-8-1 13:42
啊!有个X没有替换掉!我的错啊啊啊啊啊啊!!!(*/ω\*)  发表于 2015-8-1 13:33
用头画头像,用脚写脚本
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部