查看: 5808|回复: 9

[已经解决] VA多背包脚本

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

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

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

×
求VA的多背包脚本,希望各位大神帮忙下
梦石
0
星屑
284
在线时间
271 小时
注册时间
2013-4-23
回帖
122
发表于 2013-7-8 21:33:11 | 显示全部楼层
什麼叫多背包
你是說多開物品種類之類嗎?
回复

使用道具 举报

梦石
0
星屑
50
在线时间
29 小时
注册时间
2013-5-18
回帖
13
 楼主| 发表于 2013-7-8 21:58:46 | 显示全部楼层
和http://rpg.blue/forum.php?mod=viewthread&tid=210189一样不过那个是VX的不能给VA用
回复

使用道具 举报

梦石
0
星屑
55
在线时间
416 小时
注册时间
2012-11-30
回帖
146
发表于 2013-7-9 12:07:51 | 显示全部楼层
不解释,跟你讲的VX应该一个方法

<object width="630" height="500" align="middle" id="reader" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" classid="clsid:d27cdb6e-ae6d-11cf-96b8-44455354000
回复

使用道具 举报

梦石
0
星屑
50
在线时间
29 小时
注册时间
2013-5-18
回帖
13
 楼主| 发表于 2013-7-9 17:13:00 | 显示全部楼层
我不懂脚本
回复

使用道具 举报

梦石
0
星屑
9292
在线时间
2504 小时
注册时间
2011-5-20
回帖
14521

开拓者

发表于 2013-7-9 17:41:08 | 显示全部楼层
VX的脚本绝大多数都可以直接在VA上用

点评

VX的绝大多数脚本都不可以直接在VA上用吧……  发表于 2013-7-9 19:51
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复

使用道具 举报

梦石
0
星屑
50
在线时间
29 小时
注册时间
2013-5-18
回帖
13
 楼主| 发表于 2013-7-9 17:51:24 | 显示全部楼层
#==============================================================================
# ■ 简易多背包系统
#------------------------------------------------------------------------------
#
#   本脚本来自,使用和转载请保留此信息
#
#   作者:protosssonny   
#
#==============================================================================

#==============================================================================
# ■ 使用方法:
#        首先要设定背包的总数,本脚本中默认是3个背包。
#        使用事件以下脚本命令来调用,具体使用可以见本范例:
#            load_package(n)       #切换到n号背包
#            clear_package(n)      #清空n号背包以及n号背包的物品、金钱储存信息
#            package_to_another(n) #将n号背包的物品、金钱转移到当前号背包中
# ■ 注意事项:
#        本脚本是使用变量来储存背包信息的,您的背包系统最多有n个背包,
#        那么1000号至1000+3*n号变量请勿使用。
#        例如,本脚本默认背包是3个,所以1000至1009号变量不能再使用。
#
#==============================================================================
#
#
#请在这里设定总背包数:
PACKAGES = 3
#==============================================================================
# ■ Scene_Title
#------------------------------------------------------------------------------
#  处理标题画面的类。
#==============================================================================

class Scene_Title < Scene_Base
  
  #--------------------------------------------------------------------------
  # ● 指令 : 新游戏
  #--------------------------------------------------------------------------
  def command_new_game
    variable_initialize
    confirm_player_location
    Sound.play_decision
    $game_party.setup_starting_members            # 初期同伴
    $game_map.setup($data_system.start_map_id)    # 初期地图位置
    $game_player.moveto($data_system.start_x, $data_system.start_y)
    $game_player.refresh
    $scene = Scene_Map.new
    RPG::BGM.fade(1500)
    close_command_window
    Graphics.fadeout(60)
    Graphics.wait(40)
    Graphics.frame_count = 0
    RPG::BGM.stop
    $game_map.autoplay
  end
  
  #--------------------------------------------------------------------------
  # ● 初始化背包变量
  #--------------------------------------------------------------------------
  def variable_initialize
    $game_variables[1000] = 1                     #默认情况下背包1是当前背包
    for i in 1..3*PACKAGES
      $game_variables[1000+i] = [0,0,0]
      for j in 0..999
        $game_variables[1000+i][j] = 0
      end
    end
  end  
end
#==============================================================================
# ■ Game_Interpreter
#------------------------------------------------------------------------------
#  执行事件命令的解释器。本类在 Game_Map 类、Game_Troop 类、
# Game_Event 类的内部使用。
#==============================================================================

class Game_Interpreter
  #--------------------------------------------------------------------------
  # ● 当清空n号背包物品、金钱及其存档
  #--------------------------------------------------------------------------
  def clear_package(n)
    for i in 1..999
      $game_variables[998+3*n][i] = 0
      $game_variables[999+3*n][i] = 0
      $game_variables[1000+3*n][i] = 0      
    end
    for i in 1..999
      $game_party.gain_item($data_weapons[i],-999,false)
      $game_party.gain_item($data_armors[i],-999,false)
      $game_party.gain_item($data_items[i],-999)
    end
    $game_variables[998+3*n][0] = 0
    $game_party.gain_gold($game_variables[998+3*n][0] - $game_party.gold)
  end
  #--------------------------------------------------------------------------
  # ● 当前背包的物品存档
  #--------------------------------------------------------------------------
  def save_package(n)
    for i in 1..999
      $game_variables[998+3*n][i] = $game_party.item_number($data_weapons[i])
      $game_variables[999+3*n][i] = $game_party.item_number($data_armors[i])
      $game_variables[1000+3*n][i] = $game_party.item_number($data_items[i])
    end
    $game_variables[998+3*n][0] = $game_party.gold
  end  
  #--------------------------------------------------------------------------
  # ● 切换到n号背包
  #--------------------------------------------------------------------------
  def load_package(n)
    if $game_variables[1000] == n
      $game_message.texts.push("无法切换,已经是当前背包!")
    end
    save_package($game_variables[1000])
    $game_variables[1000] = n
    for i in 1..999
      $game_party.gain_item($data_weapons[i],-999,false)
      $game_party.gain_item($data_armors[i],-999,false)
      $game_party.gain_item($data_items[i],-999)
    end
    for j in 1..999
      $game_party.gain_item($data_weapons[j],$game_variables[998+3*n][j],false)
      $game_party.gain_item($data_armors[j],$game_variables[999+3*n][j],false)
      $game_party.gain_item($data_items[j],$game_variables[1000+3*n][j])
    end
    $game_party.gain_gold($game_variables[998+3*n][0] - $game_party.gold)
  end
  #--------------------------------------------------------------------------
  # ● 将n号背包的物品、金钱转移到当前号背包中
  #--------------------------------------------------------------------------
  def package_to_another(n)
    save_package($game_variables[1000])
    for j in 1..999
      $game_party.gain_item($data_weapons[j],$game_variables[998+3*n][j],false)
      $game_party.gain_item($data_armors[j],$game_variables[999+3*n][j],false)
      $game_party.gain_item($data_items[j],$game_variables[1000+3*n][j])
    end
    $game_party.gain_gold($game_variables[998+3*n][0])
    save_package($game_variables[1000])
  end
end  

#------------------------------------------------------------------------------
#
#   本脚本来自,使用和转载请保留此信息
#
#                                                          作者:protosssonny   
#                                                             2011年9月23日
回复

使用道具 举报

梦石
0
星屑
50
在线时间
29 小时
注册时间
2013-5-18
回帖
13
 楼主| 发表于 2013-7-9 17:51:47 | 显示全部楼层
可以帮我看看吗
回复

使用道具 举报

梦石
1
星屑
23241
在线时间
9564 小时
注册时间
2012-6-19
回帖
7018

开拓者短篇九导演组冠军

发表于 2013-7-9 20:12:16 | 显示全部楼层
仔细一看发现都是新方法移植起来意外的简单,就是替换一段def的事…………

没有经过太详细测试,有错再说

[pre lang="ruby" line="1"]#==============================================================================
# ■ RMVA 简易多背包系统(VX移植)
#------------------------------------------------------------------------------
#
#   本脚本来自www.66RPG.com,使用和转载请保留此信息
#
#   作者:protosssonny   
#   移植:喵呜喵5
#
#==============================================================================

#==============================================================================
# ■ 使用方法:
#        首先要设定背包的总数,本脚本中默认是3个背包。
#        使用事件以下脚本命令来调用,具体使用可以见本范例:
#            load_package(n)       #切换到n号背包
#            clear_package(n)      #清空n号背包以及n号背包的物品、金钱储存信息
#            package_to_another(n) #将n号背包的物品、金钱转移到当前号背包中
# ■ 注意事项:
#        本脚本是使用变量来储存背包信息的,您的背包系统最多有n个背包,
#        那么1000号至1000+3*n号变量请勿使用。
#        例如,本脚本默认背包是3个,所以1000至1009号变量不能再使用。
#
#==============================================================================
#
#
#请在这里设定总背包数:
PACKAGES = 3
#==============================================================================
# ■ Scene_Title
#------------------------------------------------------------------------------
#  处理标题画面的类。
#==============================================================================

class Scene_Title < Scene_Base
  
  #--------------------------------------------------------------------------
  # ● 指令 : 新游戏
  #--------------------------------------------------------------------------
=begin
  def command_new_game
    variable_initialize
    confirm_player_location
    Sound.play_decision
    $game_party.setup_starting_members            # 初期同伴
    $game_map.setup($data_system.start_map_id)    # 初期地图位置
    $game_player.moveto($data_system.start_x, $data_system.start_y)
    $game_player.refresh
    $scene = Scene_Map.new
    RPG::BGM.fade(1500)
    close_command_window
    Graphics.fadeout(60)
    Graphics.wait(40)
    Graphics.frame_count = 0
    RPG::BGM.stop
    $game_map.autoplay
  end
=end
  
  def command_new_game
    DataManager.setup_new_game
    close_command_window
    fadeout_all
    $game_map.autoplay
    SceneManager.goto(Scene_Map)
    variable_initialize
  end
  
  #--------------------------------------------------------------------------
  # ● 初始化背包变量
  #--------------------------------------------------------------------------
  def variable_initialize
    $game_variables[1000] = 1                     #默认情况下背包1是当前背包
    for i in 1..3*PACKAGES
      $game_variables[1000+i] = [0,0,0]
      for j in 0..999
        $game_variables[1000+i][j] = 0
      end
    end
  end  
end
#==============================================================================
# ■ Game_Interpreter
#------------------------------------------------------------------------------
#  执行事件命令的解释器。本类在 Game_Map 类、Game_Troop 类、
# Game_Event 类的内部使用。
#==============================================================================

class Game_Interpreter
  #--------------------------------------------------------------------------
  # ● 当清空n号背包物品、金钱及其存档
  #--------------------------------------------------------------------------
  def clear_package(n)
    for i in 1..999
      $game_variables[998+3*n] = 0
      $game_variables[999+3*n] = 0
      $game_variables[1000+3*n] = 0      
    end
    for i in 1..999
      $game_party.gain_item($data_weapons,-999,false)
      $game_party.gain_item($data_armors,-999,false)
      $game_party.gain_item($data_items,-999)
    end
    $game_variables[998+3*n][0] = 0
    $game_party.gain_gold($game_variables[998+3*n][0] - $game_party.gold)
  end
  #--------------------------------------------------------------------------
  # ● 当前背包的物品存档
  #--------------------------------------------------------------------------
  def save_package(n)
    for i in 1..999
      $game_variables[998+3*n] = $game_party.item_number($data_weapons)
      $game_variables[999+3*n] = $game_party.item_number($data_armors)
      $game_variables[1000+3*n] = $game_party.item_number($data_items)
    end
    $game_variables[998+3*n][0] = $game_party.gold
  end  
  #--------------------------------------------------------------------------
  # ● 切换到n号背包
  #--------------------------------------------------------------------------
  def load_package(n)
    if $game_variables[1000] == n
      $game_message.texts.push("无法切换,已经是当前背包!")
    end
    save_package($game_variables[1000])
    $game_variables[1000] = n
    for i in 1..999
      $game_party.gain_item($data_weapons,-999,false)
      $game_party.gain_item($data_armors,-999,false)
      $game_party.gain_item($data_items,-999)
    end
    for j in 1..999
      $game_party.gain_item($data_weapons[j],$game_variables[998+3*n][j],false)
      $game_party.gain_item($data_armors[j],$game_variables[999+3*n][j],false)
      $game_party.gain_item($data_items[j],$game_variables[1000+3*n][j])
    end
    $game_party.gain_gold($game_variables[998+3*n][0] - $game_party.gold)
  end
  #--------------------------------------------------------------------------
  # ● 将n号背包的物品、金钱转移到当前号背包中
  #--------------------------------------------------------------------------
  def package_to_another(n)
    save_package($game_variables[1000])
    for j in 1..999
      $game_party.gain_item($data_weapons[j],$game_variables[998+3*n][j],false)
      $game_party.gain_item($data_armors[j],$game_variables[999+3*n][j],false)
      $game_party.gain_item($data_items[j],$game_variables[1000+3*n][j])
    end
    $game_party.gain_gold($game_variables[998+3*n][0])
    save_package($game_variables[1000])
  end
end  

#------------------------------------------------------------------------------
#
#   本脚本来自www.66RPG.com,使用和转载请保留此信息
#
#                                                          作者:protosssonny   
#                                                             2011年9月23日
#==============================================================================[/pre]

点评

厉害  发表于 2013-7-9 20:37

评分

参与人数 2星屑 +30 梦石 +1 收起 理由
迷糊的安安 + 1 认可答案 附赠66RPG提供的精美好人卡一张^^.
weixun + 30 塞糖

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部