赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 1 |
经验 | 1995 |
最后登录 | 2020-5-5 |
在线时间 | 0 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 55
- 在线时间
- 0 小时
- 注册时间
- 2008-3-13
- 帖子
- 84
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
这是我修改的Eclair大人制作的《敌人等级/质量系统 绿版》
http://rpg.blue/web/htm/news956.htm
Eclair大人制作的等级系统很好,只是缺少了智能判断。
对于高手来说可能不算是什么,不过想我这种菜鸟,还真是一个难办的事情。
在论坛请教后,终于学会了在脚本中加入变量的方法。
虽然那么简单,不过我实在太笨。{/pz}
经过我进行了小修改后的怪物等级,可以按照玩家角色1的等级,来进行相应等级怪物的战斗。如果不用npc来实现竞技场的功能的话,还可以在“数据库——队伍”里面进行相应的设置。
Eclair大人的脚本如下:
#==========================================================================
# ★敌人等级/质量 By 绿发的Eclair
# 不同质量的敌人每个等级增加多少能力请下面设定哦。
# 填表格就行了,千万不要把英文的半角逗号去掉,不然会出错的。
# 同样,是否显示等级和质量,经验金钱是否增加的设定也在下面完成。
# 冲突性……会有一部分但是不会很高。
# 使用方法:战斗第0回合的时候给敌人输入等级和质量的定义
# 方法 $game_troop.enemies[ID].level = 等级
# $game_troop.enemies[ID].rank = 质量
# ID要从0算起,第一个敌人是0,第二个是1,依此类推。
# 记得设定之后要把敌人完全恢复的。
#==========================================================================
module Touchcat
LEVEL_ON = true #是否显示等级
RANK_ON = true #是否显示“质量”*^_^*
EXP_ON = true #是否随质量和等级增加经验
GOLD_ON = true #是否随质量和等级增加金钱
#表格 HP SP 强壮 灵巧 速度 魔力 攻击 防御 魔防 闪避 EXP GOLD
P1 = [ 20 , 20 , 3 , 3 , 3 , 3 , 0.8 ,0.8 , 0.8 , 0 , 3 , 4] #废柴怪
P2 = [ 30 , 30 , 4 , 4 , 4 , 4 , 1 , 1 , 1 , 0 , 4 , 6] #较弱怪
P3 = [ 45 , 45 , 4.5 , 4.5 , 4.5 , 4.5 , 1.1 , 1.1 , 1 , 0 , 5 , 8] #一般怪
P4 = [ 66 , 66 , 5.5 , 5.5 , 5.5 , 5.5 , 1.3 , 1.3 , 1.2 , 0.1 , 7 ,10] #较强怪
P5 = [ 75 , 75 , 6.5 , 6.5 , 6.5 , 6.5 , 1.4 , 1.4 , 1.3 , 0.1 , 8 ,12] #精英怪
P6 = [ 120 , 120 , 7.5 , 7.5 , 7.5 , 7.5 , 1.6 , 1.6 , 1.4 , 0.2 , 9 ,15] #首领怪
P7 = [1000 ,1000 , 10 , 10 , 10 , 10 , 2.5 , 2.5 , 2.2 , 0.3 ,15 ,20] #变态怪
PLUS = [P1,P2,P3,P4,P5,P6,P7]
RANKNAME = ["废柴","较弱","一般","较强","精英","首领","变态"] #质量名
end
class Game_Enemy < Game_Battler
attr_accessor :level
attr_accessor :rank
#--------------------------------------------------------------------------
# ● 初始化对像
# troop_id : 循环 ID
# member_index : 循环成员的索引
#--------------------------------------------------------------------------
alias initialize_touchcat :initialize
def initialize(troop_id, member_index)
@level = 1
@rank = 0
initialize_touchcat(troop_id, member_index)
end
#--------------------------------------------------------------------------
# ● 获取名称
#--------------------------------------------------------------------------
def name
a = $data_enemies[@enemy_id].name
a = a + " "+ "LV"+ self.level.to_s if Touchcat::LEVEL_ON == true
a = a + " "+ "<" + rankname+ ">" if Touchcat::RANK_ON == true
return a
end
def rankname
return Touchcat::RANKNAME[@rank]
end
#--------------------------------------------------------------------------
# ● 获取基本 MaxHP
#--------------------------------------------------------------------------
def base_maxhp
return $data_enemies[@enemy_id].maxhp+ (@level - 1) * Touchcat::PLUS[@rank][0]
end
#--------------------------------------------------------------------------
# ● 获取基本 MaxSP
#--------------------------------------------------------------------------
def base_maxsp
return $data_enemies[@enemy_id].maxsp+ (@level - 1) * Touchcat::PLUS[@rank][1]
end
#--------------------------------------------------------------------------
# ● 获取基本力量
#--------------------------------------------------------------------------
def base_str
return ($data_enemies[@enemy_id].str + (@level - 1) * Touchcat::PLUS[@rank][2]).round
end
#--------------------------------------------------------------------------
# ● 获取基本灵巧
#--------------------------------------------------------------------------
def base_dex
return ($data_enemies[@enemy_id].dex + (@level - 1) * Touchcat::PLUS[@rank][3]).round
end
#--------------------------------------------------------------------------
# ● 获取基本速度
#--------------------------------------------------------------------------
def base_agi
return ($data_enemies[@enemy_id].agi + (@level - 1) * Touchcat::PLUS[@rank][4]).round
end
#--------------------------------------------------------------------------
# ● 获取基本魔力
#--------------------------------------------------------------------------
def base_int
return ($data_enemies[@enemy_id].int + (@level - 1) * Touchcat::PLUS[@rank][5]).round
end
#--------------------------------------------------------------------------
# ● 获取基本攻击力
#--------------------------------------------------------------------------
def base_atk
return ($data_enemies[@enemy_id].atk + (@level - 1) * Touchcat::PLUS[@rank][6]).round
end
#--------------------------------------------------------------------------
# ● 获取基本物理防御
#--------------------------------------------------------------------------
def base_pdef
return ($data_enemies[@enemy_id].pdef + (@level - 1) * Touchcat::PLUS[@rank][7]).round
end
#--------------------------------------------------------------------------
# ● 获取基本魔法防御
#--------------------------------------------------------------------------
def base_mdef
return ($data_enemies[@enemy_id].mdef + (@level - 1) * Touchcat::PLUS[@rank][8]).round
end
#--------------------------------------------------------------------------
# ● 获取基本回避修正
#--------------------------------------------------------------------------
def base_eva
return ($data_enemies[@enemy_id].eva + (@level - 1) * Touchcat::PLUS[@rank][9]).round
end
#--------------------------------------------------------------------------
# ● 获取 EXP
#--------------------------------------------------------------------------
def exp
if Touchcat::EXP_ON == true
return ($data_enemies[@enemy_id].exp + (@level - 1) * Touchcat::PLUS[@rank][10]).round
else
return $data_enemies[@enemy_id].exp
end
end
#--------------------------------------------------------------------------
# ● 获取金钱
#--------------------------------------------------------------------------
def gold
if Touchcat::GOLD_ON == true
return ($data_enemies[@enemy_id].gold + (@level - 1) * Touchcat::PLUS[@rank][11]).round
else
return $data_enemies[@enemy_id].gold
end
end
end
现在附上我修改的范例。
进入后,看一下队伍中设置,应该就能够明白了。队伍设置中,“各种幽灵*6”,里面可以看到独立的设置,如果要通过npc进行设置,可以看事件中的npc。
说白了,2句话:
进行变量附值,然后再附值到脚本调用中。
|
|