赞 | 1 |
VIP | 1 |
好人卡 | 10 |
积分 | 1 |
经验 | 40901 |
最后登录 | 2017-9-22 |
在线时间 | 1089 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 1089 小时
- 注册时间
- 2014-5-9
- 帖子
- 504
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
draw_item_name 这里出现了冲突。 不知道怎么解决。求救!!
[pre lang="ruby" file="物品描绘"]- module RPG
- class Skill
- def description
- description = @description.split(/@/)[0]
- return description != nil ? description : ''
- end
- def name_color_66RPG
- name_color = @description.split(/@/)[1]
- return name_color != nil ? name_color.to_i : 0
- end
- end
- class Weapon
- def description
- description = @description.split(/@/)[0]
- return description != nil ? description : ''
- end
- def name_color_66RPG
- name_color = @description.split(/@/)[1]
- return name_color != nil ? name_color.to_i : 0
- end
- end
- class Item
- def description
- description = @description.split(/@/)[0]
- return description != nil ? description : ''
- end
- def name_color_66RPG
- name_color = @description.split(/@/)[1]
- return name_color != nil ? name_color.to_i : 0
- end
- end
- class Armor
- def description
- description = @description.split(/@/)[0]
- return description != nil ? description : ''
- end
- def name_color_66RPG
- name_color = @description.split(/@/)[1]
- return name != nil ? name_color.to_i : 0
- end
- end
- end
- class Window_Base < Window
- def disabled_color
- return Color.new(255, 255, 255, 128)
- end
- def draw_item_name(item, x, y, enabled = true)
- if item != nil
- draw_icon(item.icon_index, x, y, enabled)
- self.contents.font.color = text_color(item.name_color_66RPG)
- self.contents.font.color.alpha = enabled ? 255 : 128
- self.contents.draw_text(x + 24, y, 200, 21, item.name)
- end
- end
- end
复制代码 [/pre]
[pre lang="ruby" file="装备扩展"]
#==============================================================================
# 此脚本来自 www.66rpg.com
#------------------------------------------------------------------------------
# 功能:[RMVA]增加装备栏数量
# 作者:后知后觉([email protected])
# 版本:v1.1 2012-02-20
# 使用说明:
# 1.在下面设置需要增加的数量以及增加部位的名字
# 2.在数据库-护甲-备注 里写入 @etype[位置编号]
# 默认系统一共有5个装备位置.占用了0~4号
# 所以扩展出来的装备栏位置编号是从 5 开始.比如 @etype[5] @etype[6]
# 3.在扩展位置上给角色设置初始装备的方法
# 在 数据库-角色-备注 里写入 @add_equips[装备1ID,装备2ID.....]
# 每个ID中间由半角的 , 分开 比如 @add_equips[61] @add_equips[61,63]
# 4.设置 固定装备 的初始值
# 在 数据库-角色-备注 里写入 @fix_equips[装备位置编号,装备位置编号......]
# 每个编号间由半角的 , 分开 比如 @fix_equips[5] @fix_equips[5,6]
# 5.设置 禁用装备 的初始值
# 在 数据库-角色-备注 里写入 @seal_equips[装备位置编号,装备位置编号......]
# 每个编号间由半角的 , 分开 比如 @seal_equips[5] @seal_equips[5,6]
# 6.游戏运行时可以使用:
# $game_actors[角色ID].fix_equips 来获取该角色被固定装备位置的数组
# $game_actors[角色ID].seal_equips 来获取该角色被禁用装备位置的数组
# 然后可以使用数组类的 delete 和 push 方法来删除/增加 etype_id
# 来达到解除与启用 固定、禁用的效果
# 比如 $game_actors[1].fix_equips.delete(5) 解除1号角色5号位置的固定
# $game_actors[2].seal_equips.push(6) 2号角色禁用6号装备位置
# 注意事项:
# 1.上面说的设置初始装备、固定装备、禁用装备都是只针对新扩展部位的
# 默认的前5个装备位置的固定、禁用、设置初始.还请使用RMVA默认方式设置
# 2.状态画面的描绘装备部分.在默认分辨率下.只能描绘6个装备.
# 我小改了一下.但还是觉得不怎么好看.建议你自己重新描绘那一块...
#==============================================================================
module HzhjEquip
# 设置要增加的装备部位数量
ETYPE_ADD_NUM = 2
# 设置要增加的装备部位的名字
ETYPE_ADD_NAME = ["魂环","特技"]
end
def Vocab.etype(etype_id)
etypes = $data_system.terms.etypes + HzhjEquip::ETYPE_ADD_NAME
etypes[etype_id]
end
class RPG::Actor < RPG::BaseItem
def add_equips
if /@add_equips\[(.+?)\]/ =~ @note
result = $1.split(/,/).collect{|str|str.to_i}
result << 0 while result.size < HzhjEquip::ETYPE_ADD_NUM
else
result = Array.new(HzhjEquip::ETYPE_ADD_NUM){0}
end
result
end
def fix_equips
if /@fix_equips\[(.+?)\]/ =~ @note
result = $1.split(/,/).collect{|str|str.to_i}
else
result = []
end
result
end
def seal_equips
if /@seal_equips\[(.+?)\]/ =~ @note
result = $1.split(/,/).collect{|str|str.to_i}
else
result = []
end
result
end
end
class RPG::Armor < RPG::EquipItem
def etype_id
if /@etype\[(.+?)\]/ =~ @note
return $1.to_i
else
return @etype_id
end
end
end
class Game_Actor < Game_Battler
attr_accessor :fix_equips
attr_accessor :seal_equips
alias hzhj_old_init_equips_game_actor init_equips
def init_equips(equips)
@fix_equips = actor.fix_equips
@seal_equips = actor.seal_equips
hzhj_equips = equips.clone
add_equips = actor.add_equips
HzhjEquip::ETYPE_ADD_NUM.times{hzhj_equips << add_equips.shift}
hzhj_old_init_equips_game_actor(hzhj_equips)
end
alias hzhj_old_equip_slots_game_actor equip_slots
def equip_slots
result = hzhj_old_equip_slots_game_actor
HzhjEquip::ETYPE_ADD_NUM.times{result << result.size}
result
end
def equip_type_fixed?(etype_id)
if etype_id > 4
return @fix_equips.include?(etype_id)
else
return super
end
end
def equip_type_sealed?(etype_id)
if etype_id > 4
return @seal_equips.include?(etype_id)
else
return super
end
end
end
class Window_EquipSlot < Window_Selectable
def actor=(actor)
return if @actor == actor
@actor = actor
create_contents
refresh
end
end
class Window_Status < Window_Selectable
def draw_equipments(x, y)
x = 240 if @actor.equips.size > 6
@actor.equips.each_with_index do |item, i|
dx = x + 150 * (i / 6)
dy = y + line_height * (i % 6)
self.draw_item_name_(item, dx, dy, true, 120)
end
end
end
[/pre] |
|