Project1

标题: 请问怎么把游戏弄成三个难易度 [打印本页]

作者: kymcz79608    时间: 2016-12-20 02:05
标题: 请问怎么把游戏弄成三个难易度
如题,我真的想不透那些有简单、普通、困难的游戏里的难度怎么调整的
像是怪物的数值以及伤害根据难易度来调整,人物的数据也是
我有点想知道怎么用,不知道是不是在事件里调整....
作者: 百里_飞柳    时间: 2016-12-20 09:46
事件版:
简单-设置两个状态,来控制主角属性的比例,在不同难易度下是控制主角强弱实现
困难-在敌人群中设置事件给敌人加上难易度的状态
困难2-在不同难易度开关下显示不同的敌人,即数据库中做多套同一敌人在不同难易度下的数值
脚本版:
直接通过难易度变量修改game battle base类中的读取属性值的环节
作者: freeman2008    时间: 2016-12-20 16:01
用这个脚本吧,蛮方便的=begin
# 敌人等級,原作者:66RPG的tan12345,修改者:66RPG的david_ng223
# 功能:敌人的属性、经验、金钱随變量(等级)而改變
#
# 使用方法:将脚本插入到main上
#           在23行设定敌人等級所用的變量,
#           需要在戰鬥開始前设定變量(等级)的值,
#           比如要和敵群1(2只史來母,各100HP)戰鬥,
#           那么在戰鬥開始前把變量1代入5(這裡用變量1是因為23行設了1),
#           那么战斗时,史來母的HP就等于100*5/50=10
#           (/50是我的遊戲的需要,公式可以在33.34.43.44.53.54行改)
#
=end

class Game_Enemy < Game_Battler
  attr_accessor :dvd_enemy_rate                 # 属性、经验值、金钱比例
  #--------------------------------------------------------------------------
  # ● 初始化对象
  #--------------------------------------------------------------------------
  alias dvd_enemy_lv_initialize initialize
  def initialize(index, enemy_id)
    dvd_enemy_lv_initialize(index, enemy_id)
    @dvd_enemy_rate = $game_variables[10]
    @hp = mhp
    @mp = mmp
  end
  #--------------------------------------------------------------------------
  # ● 获取普通能力的基础值
  #--------------------------------------------------------------------------
  alias dvd_enemy_lv_param_base param_base
  def param_base(param_id)
    v = dvd_enemy_lv_param_base(param_id)
    v *= @dvd_enemy_rate.to_i
    v /= 50
    return v.to_i
  end
  #--------------------------------------------------------------------------
  # ● 获取经验值
  #--------------------------------------------------------------------------
  alias dvd_enemy_lv_exp exp
  def exp
    v = dvd_enemy_lv_exp
    v *= @dvd_enemy_rate.to_i
    v /= 50
    return v.to_i
  end
  #--------------------------------------------------------------------------
  # ● 获取金钱
  #--------------------------------------------------------------------------
  alias dvd_enemy_lv_gold gold
  def gold
    v = dvd_enemy_lv_gold
    v *= @dvd_enemy_rate.to_i
    v /= 50
    return v.to_i
  end
end
作者: duzine    时间: 2016-12-20 16:15
做出三種同樣的敵人
然後遊戲開始時就問說哪個難度,直接傳去三個不同但布景完全相同的地圖就行

或是變數,運用這點則可以隨時切換難度




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