查看: 2253|回复: 3

[已经解决] 怪物难度脚本的改良

[复制链接]
梦石
0
星屑
17561
在线时间
4249 小时
注册时间
2013-7-18
回帖
2491
发表于 2016-5-7 13:20:40 | 显示全部楼层 |阅读模式

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

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

×
以下怪物难度脚本,可否改良为随时间难度增加....难度每一小时增加1档.....要如何实现....

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

[pre lang="ruby"]#===============================================================================

#★ 简单的敌人难度设置 ★

#-----------------------------------------------------------------------------

# by ->    芯☆淡茹水

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

#◆ 使用方法: 复制该脚本,插入到 main 前。

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

#◆ 设置项:

#-------------------------

# 改变敌人难度的变量 ID

VAR_DIFFCULTY = 300

# 难度每增加一级,敌人属性所增加的百分比。

PERCENTAGE_DIFFICULTY = 5

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

=begin

◆ 说明 :其实是一个很简单的东西,通过改变上面设置的变量值,来改变游戏难度(敌人

          的属性)。

敌人的各项属性 = 数据库设置的属性 + 数据库设置的属性 X 设置的变量的值 X 设置的百分比 / 100

比如:某敌人数据库里 HP 设置为 100,变量值为 0 ,百分比为 20 。那么该敌人的

             HP = 100 + 100 X 0 X 20 / 100 = 100

变量值为 1 :HP = 100 + 100 X 1 X 20 / 100 = 120

变量值为 2 :HP = 100 + 100 X 2 X 20 / 100 = 140

以此类推,,,

敌人其他属性同上

=end

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

class Game_Enemy < Game_Battler

  #--------------------------------------------------------------------------

  # ● HP

  #--------------------------------------------------------------------------

  def base_maxhp

    n = $data_enemies[@enemy_id].maxhp

    return n + n * $game_variables[VAR_DIFFCULTY] * PERCENTAGE_DIFFICULTY / 100

  end

  #--------------------------------------------------------------------------

  # ● SP

  #--------------------------------------------------------------------------

  def base_maxsp

    n = $data_enemies[@enemy_id].maxsp

    return n + n * $game_variables[VAR_DIFFCULTY] * PERCENTAGE_DIFFICULTY / 100

  end

  #--------------------------------------------------------------------------

  # ● 基本力量

  #--------------------------------------------------------------------------

  def base_str

    n = $data_enemies[@enemy_id].str

    return n + n * $game_variables[VAR_DIFFCULTY] * PERCENTAGE_DIFFICULTY / 100

  end

  #--------------------------------------------------------------------------

  # ● 基本灵巧

  #--------------------------------------------------------------------------

  def base_dex

    n = $data_enemies[@enemy_id].dex

    return n + n * $game_variables[VAR_DIFFCULTY] * PERCENTAGE_DIFFICULTY / 100

  end

  #--------------------------------------------------------------------------

  # ● 基本速度

  #--------------------------------------------------------------------------

  def base_agi

    n = $data_enemies[@enemy_id].agi

    return n + n * $game_variables[VAR_DIFFCULTY] * PERCENTAGE_DIFFICULTY / 100

  end

  #--------------------------------------------------------------------------

  # ● 基本魔力

  #--------------------------------------------------------------------------

  def base_int

    n = $data_enemies[@enemy_id].int

    return n + n * $game_variables[VAR_DIFFCULTY] * PERCENTAGE_DIFFICULTY / 100

  end

  #--------------------------------------------------------------------------

  # ● 基本攻击力

  #--------------------------------------------------------------------------

  def base_atk

    n = $data_enemies[@enemy_id].atk

    return n + n * $game_variables[VAR_DIFFCULTY] * PERCENTAGE_DIFFICULTY / 100

  end

  #--------------------------------------------------------------------------

  # ● 基本物理防御

  #--------------------------------------------------------------------------

  def base_pdef

    n = $data_enemies[@enemy_id].pdef

    return n + n * $game_variables[VAR_DIFFCULTY] * PERCENTAGE_DIFFICULTY / 100

  end

  #--------------------------------------------------------------------------

  # ● 基本魔法防御

  #--------------------------------------------------------------------------

  def base_mdef

    n = $data_enemies[@enemy_id].mdef

    return n + n * $game_variables[VAR_DIFFCULTY] * PERCENTAGE_DIFFICULTY / 100

  end

  #--------------------------------------------------------------------------

  # ● 基本回避修正

  #--------------------------------------------------------------------------

  def base_eva

    n = $data_enemies[@enemy_id].eva

    return n + n * $game_variables[VAR_DIFFCULTY] * PERCENTAGE_DIFFICULTY / 100

  end

end

#==============================================================================[/pre]
退隐....
梦石
0
星屑
606
在线时间
797 小时
注册时间
2014-7-1
回帖
501

开拓者

发表于 2016-5-7 19:03:52 | 显示全部楼层
直接在这个脚本里面添加时间制度和奖励增益 这个还真不好搞

你可以试着+一个脚本 时间计算的 芯☆淡茹水 有写这个脚本
那个时间计算很好用 自动计算时间
学习使我疲劳,打工使我疲惫,恋爱使我伤身,吸烟伤我肺腑,饮酒损我形象,旅游使我破费,月底不见铜板,只有在论坛里面看看各种大佬才能使我进去
回复

使用道具 举报

梦石
0
星屑
12161
在线时间
4435 小时
注册时间
2014-4-11
回帖
5616

开拓者

发表于 2016-5-7 19:55:24 | 显示全部楼层
本帖最后由 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

点评

你想怎么和金钱挂钩,每次加难度时得到钱吗  发表于 2016-5-8 22:14
但是还有个问题,如何跟奖励挂勾...我说的是金钱和经验...  发表于 2016-5-8 17:17
成功了...多谢高人  发表于 2016-5-8 17:11
谢谢,那这个1号变量和原脚本300号变量一样?还是300要改为1  发表于 2016-5-8 16:57
我错了, $game_variables[300]就可以了VAR_DIFFICULTY不用改  发表于 2016-5-8 12:19

评分

参与人数 2星屑 +210 收起 理由
RyanBern + 150 认可答案
y967 + 60 塞糖

查看全部评分

回复

使用道具 举报

梦石
0
星屑
2724
在线时间
227 小时
注册时间
2016-3-27
回帖
557
发表于 2016-5-8 11:14:22 | 显示全部楼层
自动执行的公共事件不可以吗
现在还能改名吗qwq
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部