Project1

标题: 怪物难度脚本的改良 [打印本页]

作者: y967    时间: 2016-5-7 13:20
标题: 怪物难度脚本的改良
以下怪物难度脚本,可否改良为随时间难度增加....难度每一小时增加1档.....要如何实现....

还有奖励随难度也提高....

RUBY 代码复制
  1. #===============================================================================
  2.  
  3. #★ 简单的敌人难度设置 ★
  4.  
  5. #-----------------------------------------------------------------------------
  6.  
  7. # by ->    芯☆淡茹水
  8.  
  9. #==============================================================================
  10.  
  11. #◆ 使用方法: 复制该脚本,插入到 main 前。
  12.  
  13. #==============================================================================
  14.  
  15. #◆ 设置项:
  16.  
  17. #-------------------------
  18.  
  19. # 改变敌人难度的变量 ID
  20.  
  21. VAR_DIFFCULTY = 300
  22.  
  23. # 难度每增加一级,敌人属性所增加的百分比。
  24.  
  25. PERCENTAGE_DIFFICULTY = 5
  26.  
  27. #==============================================================================
  28.  
  29. =begin
  30.  
  31. ◆ 说明 :其实是一个很简单的东西,通过改变上面设置的变量值,来改变游戏难度(敌人
  32.  
  33.           的属性)。
  34.  
  35. 敌人的各项属性 = 数据库设置的属性 + 数据库设置的属性 X 设置的变量的值 X 设置的百分比 / 100
  36.  
  37. 比如:某敌人数据库里 HP 设置为 100,变量值为 0 ,百分比为 20 。那么该敌人的
  38.  
  39.              HP = 100 + 100 X 0 X 20 / 100 = 100
  40.  
  41. 变量值为 1 :HP = 100 + 100 X 1 X 20 / 100 = 120
  42.  
  43. 变量值为 2 :HP = 100 + 100 X 2 X 20 / 100 = 140
  44.  
  45. 以此类推,,,
  46.  
  47. 敌人其他属性同上
  48.  
  49. =end
  50.  
  51. #==============================================================================
  52.  
  53. class Game_Enemy < Game_Battler
  54.  
  55.   #--------------------------------------------------------------------------
  56.  
  57.   # ● HP
  58.  
  59.   #--------------------------------------------------------------------------
  60.  
  61.   def base_maxhp
  62.  
  63.     n = $data_enemies[@enemy_id].maxhp
  64.  
  65.     return n + n * $game_variables[VAR_DIFFCULTY] * PERCENTAGE_DIFFICULTY / 100
  66.  
  67.   end
  68.  
  69.   #--------------------------------------------------------------------------
  70.  
  71.   # ● SP
  72.  
  73.   #--------------------------------------------------------------------------
  74.  
  75.   def base_maxsp
  76.  
  77.     n = $data_enemies[@enemy_id].maxsp
  78.  
  79.     return n + n * $game_variables[VAR_DIFFCULTY] * PERCENTAGE_DIFFICULTY / 100
  80.  
  81.   end
  82.  
  83.   #--------------------------------------------------------------------------
  84.  
  85.   # ● 基本力量
  86.  
  87.   #--------------------------------------------------------------------------
  88.  
  89.   def base_str
  90.  
  91.     n = $data_enemies[@enemy_id].str
  92.  
  93.     return n + n * $game_variables[VAR_DIFFCULTY] * PERCENTAGE_DIFFICULTY / 100
  94.  
  95.   end
  96.  
  97.   #--------------------------------------------------------------------------
  98.  
  99.   # ● 基本灵巧
  100.  
  101.   #--------------------------------------------------------------------------
  102.  
  103.   def base_dex
  104.  
  105.     n = $data_enemies[@enemy_id].dex
  106.  
  107.     return n + n * $game_variables[VAR_DIFFCULTY] * PERCENTAGE_DIFFICULTY / 100
  108.  
  109.   end
  110.  
  111.   #--------------------------------------------------------------------------
  112.  
  113.   # ● 基本速度
  114.  
  115.   #--------------------------------------------------------------------------
  116.  
  117.   def base_agi
  118.  
  119.     n = $data_enemies[@enemy_id].agi
  120.  
  121.     return n + n * $game_variables[VAR_DIFFCULTY] * PERCENTAGE_DIFFICULTY / 100
  122.  
  123.   end
  124.  
  125.   #--------------------------------------------------------------------------
  126.  
  127.   # ● 基本魔力
  128.  
  129.   #--------------------------------------------------------------------------
  130.  
  131.   def base_int
  132.  
  133.     n = $data_enemies[@enemy_id].int
  134.  
  135.     return n + n * $game_variables[VAR_DIFFCULTY] * PERCENTAGE_DIFFICULTY / 100
  136.  
  137.   end
  138.  
  139.   #--------------------------------------------------------------------------
  140.  
  141.   # ● 基本攻击力
  142.  
  143.   #--------------------------------------------------------------------------
  144.  
  145.   def base_atk
  146.  
  147.     n = $data_enemies[@enemy_id].atk
  148.  
  149.     return n + n * $game_variables[VAR_DIFFCULTY] * PERCENTAGE_DIFFICULTY / 100
  150.  
  151.   end
  152.  
  153.   #--------------------------------------------------------------------------
  154.  
  155.   # ● 基本物理防御
  156.  
  157.   #--------------------------------------------------------------------------
  158.  
  159.   def base_pdef
  160.  
  161.     n = $data_enemies[@enemy_id].pdef
  162.  
  163.     return n + n * $game_variables[VAR_DIFFCULTY] * PERCENTAGE_DIFFICULTY / 100
  164.  
  165.   end
  166.  
  167.   #--------------------------------------------------------------------------
  168.  
  169.   # ● 基本魔法防御
  170.  
  171.   #--------------------------------------------------------------------------
  172.  
  173.   def base_mdef
  174.  
  175.     n = $data_enemies[@enemy_id].mdef
  176.  
  177.     return n + n * $game_variables[VAR_DIFFCULTY] * PERCENTAGE_DIFFICULTY / 100
  178.  
  179.   end
  180.  
  181.   #--------------------------------------------------------------------------
  182.  
  183.   # ● 基本回避修正
  184.  
  185.   #--------------------------------------------------------------------------
  186.  
  187.   def base_eva
  188.  
  189.     n = $data_enemies[@enemy_id].eva
  190.  
  191.     return n + n * $game_variables[VAR_DIFFCULTY] * PERCENTAGE_DIFFICULTY / 100
  192.  
  193.   end
  194.  
  195. end
  196.  
  197. #==============================================================================

作者: jiushiainilip19    时间: 2016-5-7 19:03
直接在这个脚本里面添加时间制度和奖励增益 这个还真不好搞

你可以试着+一个脚本 时间计算的 芯☆淡茹水 有写这个脚本
那个时间计算很好用 自动计算时间
作者: yang1zhi    时间: 2016-5-7 19:55
本帖最后由 yang1zhi 于 2016-5-7 22:16 编辑

首先把该脚本内的所有VAR_DIFFCULTY 改成事件变量,$game_variables[1]      
这样就是1号变量存敌人强度的变量了
开个公共事件
等待144000真
$game_variables[1]    += 1


################################################################
#1号变量是敌人强度
#2号变量是等待的帧数
#一秒40帧
#这样写了应该就可以直接插入到脚本里使用了
class Game_Character
alias :update20160507 :update
  def update
update20160507
if $game_variables[2] >= 144000
$game_variables[1]    += 1
$game_variables[2] = 0
else
$game_variables[2] += 1
end
end
end
作者: WantMy蕙    时间: 2016-5-8 11:14
自动执行的公共事件不可以吗




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