查看: 625350110|回复: 17

[RMVA发布] 【VA】移植过来的负重系统

[复制链接]
梦石
0
星屑
67
在线时间
140 小时
注册时间
2012-2-6
回帖
351
发表于 2012-3-1 14:50:16 | 显示全部楼层 |阅读模式

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

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

×
需要原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]

点评

无法复制可修复么  发表于 2012-9-1 22:10
签名是什么?可以吃么?
梦石
0
星屑
194
在线时间
667 小时
注册时间
2011-9-25
回帖
216
发表于 2012-3-1 14:55:13 | 显示全部楼层
功能和设置和VX版本的一样吗?和yangfly的脚本应该能兼容的吧

点评

介绍最后自动添加?我做一下  发表于 2012-3-1 17:38
嘿嘿,不错~话说能不能在物品的介绍栏末自动添加重量呢?就和雪流星的装备限制那样  发表于 2012-3-1 16:49
和VX一样。 完全兼容YF你放心吧  发表于 2012-3-1 16:14
回复

使用道具 举报

梦石
0
星屑
67
在线时间
140 小时
注册时间
2012-2-6
回帖
351
 楼主| 发表于 2012-3-1 17:40:00 | 显示全部楼层
本帖最后由 杂兵天下 于 2012-3-1 21:40 编辑
  1. class RPG::BaseItem
  2.   def description
  3.     if load==0
  4.       return @description
  5.     else
  6.       return @description+"负重:"+load.to_s
  7.     end
  8.   end
  9. end
复制代码
好了。
@xuzhengchi

点评

怎么复制不了  发表于 2012-6-3 20:55
奇怪,@我了居然没被提醒。。。  发表于 2012-3-1 19:59
签名是什么?可以吃么?
回复

使用道具 举报

天仙

梦石
0
星屑
720
在线时间
184 小时
注册时间
2008-4-15
回帖
4872

贵宾

发表于 2012-3-1 21:52:52 | 显示全部楼层
83行和130行

我原版的不是那句话吧

点评

{:4_86:}  发表于 2012-3-1 21:55
VA脚本开工中...
偷窃脚本1.0 - 已完成
回复 1 0

使用道具 举报

梦石
0
星屑
50
在线时间
346 小时
注册时间
2011-2-11
回帖
20
发表于 2012-3-5 20:26:20 | 显示全部楼层
脚本小白球用法

点评

啥意思……  发表于 2012-3-25 13:04
求原版地址  发表于 2012-3-5 21:20
和VX版用法一样。  发表于 2012-3-5 21:03
回复

使用道具 举报

梦石
0
星屑
50
在线时间
16 小时
注册时间
2011-6-12
回帖
5
发表于 2012-3-25 10:06:25 | 显示全部楼层
请问下怎么设置物品重量呢……

点评

请查看VX版说明  发表于 2012-3-25 18:34
回复

使用道具 举报

梦石
0
星屑
194
在线时间
667 小时
注册时间
2011-9-25
回帖
216
发表于 2012-4-10 16:23:57 | 显示全部楼层
突然想起来,当装备穿上之后负重就没了。能否改成穿上的装备也占负重呢?
回复

使用道具 举报

梦石
0
星屑
55
在线时间
89 小时
注册时间
2010-7-30
回帖
21
发表于 2012-4-14 01:04:17 | 显示全部楼层
话说,可以把每个变量设置成负重吗?这样虽然简单,但是绝对很实用。。。。

点评

真の机智  发表于 2015-2-11 16:39
回复

使用道具 举报

梦石
0
星屑
50
在线时间
59 小时
注册时间
2012-3-4
回帖
64
发表于 2012-6-3 20:54:30 | 显示全部楼层
代码复制不起啊

点评

复制到Word里还是不能用,第一行出错!  发表于 2012-8-16 22:13
回复

使用道具 举报

梦石
0
星屑
49
在线时间
342 小时
注册时间
2010-10-2
回帖
130
发表于 2012-6-25 10:43:38 | 显示全部楼层
这个。。。有问题啊。。
如果负重满了去买东西 钱还是会花掉 但是退出商店的时候又会提示说负重满了东西没得到。。。
抗议啊!JS有木有!
能否修改为负重不足直接无法购买呢?
大家好,我是路过的一级非限定邪神万雄。兴趣是特摄题材的东西,以及挖坑哦!欢迎来搅基!
--------------
知道么,俺在10年前就已经是深度邪气眼中二症患者了
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部