| 赞 | 0 |
| VIP | |
| 好人卡 | |
| 积分 | 1 |
| 经验 | |
| 最后登录 | 2013-10-25 |
| 在线时间 | 140 小时 |
- 梦石
- 0
- 星屑
- 67
- 在线时间
- 140 小时
- 注册时间
- 2012-2-6
- 回帖
- 351
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有账号?注册会员
×
需要原VX版?请点此
恩,就这样了。
一定要注意,任务物品负重一定要是0,否则获得任务物品了却因为负重无法获得,那就坑爹了
[pre lang="ruby" line="1"]
class RPG::BaseItem
def load
return if self.is_a?(RPG::Skill)
self.note.split(/[\r\n]+/).each { |line|
if line =~ /\[(?:load|负重|負重) (\w+)\]/
return $1.nil? ? 0 : $1.to_i
end}
return 0
end
end
class Scene_Item < Scene_ItemBase
alias load_start start
alias load_terminate terminate
alias load_update update
def start
load_start
@load_window = Window_Base.new(392, 0, 152, 56)
@load_window.viewport = @viewport
end
def terminate
@load_window.dispose
load_terminate
end
def update
@load_window.update
if @temp_load != $game_party.current_load
@load_window.contents.clear
@load_window.contents.draw_text(0, 0, 120, 24, "负重:#{$game_party.current_load}/#{$game_party.total_load}")
@temp_load = $game_party.current_load
end
if Input.trigger?(Input::X)
@item = @item_window.item
$game_party.lose_item(@item, 1)
@item_window.refresh
end
load_update
end
end
class Scene_Shop < Scene_MenuBase
alias load_start start
alias load_terminate terminate
alias load_update update
def start
load_start
@load_window = Window_Base.new(392, 0, 152, 56)
@load_window.viewport = @viewport
end
def terminate
@load_window.dispose
load_terminate
end
def update
@load_window.update
if @temp_load != $game_party.current_load
@load_window.contents.clear
@load_window.contents.draw_text(0, 0, 120, 24, "负重:#{$game_party.current_load}/#{$game_party.total_load}")
@temp_load = $game_party.current_load
end
load_update
end
end
class Game_Party < Game_Unit
attr_reader :current_load
alias load_initialize initialize
alias load_gain_item gain_item
def initialize
load_initialize
@current_load = 0
end
# 获取队伍最大负重
def total_load
party_load = 0
#members.size.times do |i|
for i in 0...members.size
actor = members
party_load += actor.load
end
return party_load
end
def gain_item(item, n, include_equip = false)
return if item.nil?
if ((item.load * n) + @current_load) > total_load
$game_message.texts.push("靠!负重都不足了,你妹的怎么还不赶快清空物品!")
$game_message.visible = true
return
else
@current_load += item.load * n
end
load_gain_item(item, n, include_equip)
end
end
class Game_Actor < Game_Battler
# 获取队员负重
def load
return (mhp + mmp) * @level / agi
end
end
class Game_Interpreter
alias load_command_126 command_126
alias load_command_127 command_127
alias load_command_128 command_128
def command_126
n = operate_value(@params[1], @params[2], @params[3])
return command_115 if check_load(@params[0], 0, n)
load_command_126
end
#--------------------------------------------------------------------------
# ● 增減武器
#--------------------------------------------------------------------------
def command_127
n = operate_value(@params[1], @params[2], @params[3])
return command_115 if check_load(@params[0], 1, n)
load_command_127
end
#--------------------------------------------------------------------------
# ● 增減防具
#--------------------------------------------------------------------------
def command_128
n = operate_value(@params[1], @params[2], @params[3])
return command_115 if check_load(@params[0], 2, n)
load_command_128
end
def check_load(item_id, type, n)
case type
when 0; item = $data_items[item_id]
when 1; item = $data_weapons[item_id]
when 2; item = $data_armors[item_id]
end
if (((item.load * n) + $game_party.current_load) > $game_party.total_load)
$game_message.texts.push("靠!负重都不足了,你妹的怎么还不赶快清空物品!")
$game_message.visible = true
return true
end
return false
end
end[/pre] |
|