Project1

标题: 求帮忙,关于变量的方面。。。。... [打印本页]

作者: 632808263    时间: 2011-3-12 04:41
标题: 求帮忙,关于变量的方面。。。。...
本帖最后由 632808263 于 2011-3-11 21:49 编辑

本人想做个成就系统,当是有些变量不知道怎么读取.我只知道金钱变量,回城变量
遇敌次数变量,和等级变量,其他不知道,希望帮忙告诉我以下变量怎么弄:
1. 怎么弄角色战胜后加1战胜变量。
2. 怎么弄角色战败后加1战败变量。
3. 怎么弄角色逃跑后加1逃跑变量。
4. 怎么弄历史打到怪的最高伤害变量。
或者在给点什么我不知道的变量,让我加上谢谢。
就这几点。。求高手帮忙。。谢谢!
dsu_plus_rewardpost_czw
作者: 亿万星辰    时间: 2011-3-12 08:14
本帖最后由 亿万星辰 于 2011-3-12 08:15 编辑

1、2、3可以通过在 Scene_Battle 1 里的 battle_end 方法中根据参数的值来进行对应变量的增减,比如:
  1. case result
  2. when 1
  3.   胜利变量+=1
  4. when 2
  5.   失败变量+=1
  6. when 3
  7.   逃跑变量+=1
  8. end
复制代码
4则可以在 Scene_Battle 1 的一开始部分的 $game_troop.setup(@troop_id) 之后,逐一获取 $game_troop 中的敌人ID
作者: 632808263    时间: 2011-3-12 09:00
回复 亿万星辰 的帖子

不好意思!能说具体点吗?? 我是不怎么懂脚本。。 还有那个你说的第4点好像很复杂,,还有简单点的吗?
作者: zhixin1997    时间: 2011-3-12 09:55
看起来非常麻烦啊……
作者: 友情变爱情    时间: 2011-3-12 10:01
632808263 发表于 2011-3-12 09:00
回复 亿万星辰 的帖子

不好意思!能说具体点吗?? 我是不怎么懂脚本。。 还有那个你说的第4点好像很复杂 ...

前辈这样的提示下.你都还不会做的话.
那估计也就只有把即插即用的成品脚本发出来才能解决你的问题了.
作者: 忧雪の伤    时间: 2011-3-12 11:37
本帖最后由 忧雪の伤 于 2011-3-12 11:56 编辑
  1. $system = {} if $system == nil
  2. $system["胜利储存变量"] = 10
  3. $system["失败储存变量"] = 11
  4. $system["逃跑储存变量"] = 12
  5. $system["最高伤害储存变量"] = 13

  6. class Scene_Battle
  7.   alias :old_battle_end :battle_end unless method_defined? :old_battle_end
  8.   def battle_end(result)
  9.     case result
  10.     when 0
  11.       $game_variables[$system["胜利储存变量"]] += 1
  12.       # => p $game_variables[$system["胜利储存变量"]]
  13.     when 1
  14.       $game_variables[$system["失败储存变量"]] += 1
  15.       # => p $game_variables[$system["失败储存变量"]]
  16.     when 2
  17.       $game_variables[$system["逃跑储存变量"]] += 1
  18.       # => p $game_variables[$system["逃跑储存变量"]]
  19.     end
  20.     old_battle_end(result)
  21.   end
  22. end

  23. class Game_Enemy
  24.   alias :old_attack_effect :attack_effect unless method_defined? :old_attack_effect
  25.   def attack_effect(attacker)
  26.     old_attack_effect(attacker)
  27.     if self.damage != "Miss" and $game_variables[$system["最高伤害储存变量"]] <= self.damage
  28.       $game_variables[$system["最高伤害储存变量"]] = self.damage
  29.       # => p $game_variables[$system["最高伤害储存变量"]]
  30.     end
  31.   end
  32.   alias :old_skill_effect :skill_effect unless method_defined? :old_skill_effect
  33.   def skill_effect(user, skill)
  34.     old_skill_effect(user, skill)
  35.     if self.damage != "Miss" and $game_variables[$system["最高伤害储存变量"]] <= self.damage
  36.       $game_variables[$system["最高伤害储存变量"]] = self.damage
  37.       # => p $game_variables[$system["最高伤害储存变量"]]
  38.     end
  39.   end
  40. end
复制代码

作者: 632808263    时间: 2011-3-12 23:47
回复 忧雪の伤 的帖子

前辈,我把战败结束游戏改成游戏失败后不结束游戏那个,变量为什么就出现判断错误,失败变量判断成逃跑变量,这怎么改???
作者: 632808263    时间: 2011-3-12 23:49
本帖最后由 632808263 于 2011-3-13 01:45 编辑

回复 忧雪の伤 的帖子

谢谢前辈,很好用,不过我想就加个杀敌数应该怎么加????
作者: Losses    时间: 2011-3-13 06:57
告诉你个简单方法,并行处理事件I 行走计数,行走一步变量+1,变量满足遇敌步数触发战斗处理事件,当逃跑时,当失败时,当胜利时分开加
就是这样。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1