设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
12
返回列表 发新帖
楼主: a2445606444
打印 上一主题 下一主题

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

[复制链接]

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21686
在线时间
9420 小时
注册时间
2012-6-19
帖子
7119

开拓者短篇九导演组冠军

11
发表于 2013-7-9 20:12:16 | 只看该作者
仔细一看发现都是新方法移植起来意外的简单,就是替换一段def的事…………

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

RUBY 代码复制
  1. #==============================================================================
  2. # ■ RMVA 简易多背包系统(VX移植)
  3. #------------------------------------------------------------------------------
  4. #
  5. #   本脚本来自[url]www.66RPG.com[/url],使用和转载请保留此信息
  6. #
  7. #   作者:protosssonny   
  8. #   移植:喵呜喵5
  9. #
  10. #==============================================================================
  11.  
  12. #==============================================================================
  13. # ■ 使用方法:
  14. #        首先要设定背包的总数,本脚本中默认是3个背包。
  15. #        使用事件以下脚本命令来调用,具体使用可以见本范例:
  16. #            load_package(n)       #切换到n号背包
  17. #            clear_package(n)      #清空n号背包以及n号背包的物品、金钱储存信息
  18. #            package_to_another(n) #将n号背包的物品、金钱转移到当前号背包中
  19. # ■ 注意事项:
  20. #        本脚本是使用变量来储存背包信息的,您的背包系统最多有n个背包,
  21. #        那么1000号至1000+3*n号变量请勿使用。
  22. #        例如,本脚本默认背包是3个,所以1000至1009号变量不能再使用。
  23. #
  24. #==============================================================================
  25. #
  26. #
  27. #请在这里设定总背包数:
  28. PACKAGES = 3
  29. #==============================================================================
  30. # ■ Scene_Title
  31. #------------------------------------------------------------------------------
  32. #  处理标题画面的类。
  33. #==============================================================================
  34.  
  35. class Scene_Title < Scene_Base
  36.  
  37.   #--------------------------------------------------------------------------
  38.   # ● 指令 : 新游戏
  39.   #--------------------------------------------------------------------------
  40. =begin
  41.   def command_new_game
  42.     variable_initialize
  43.     confirm_player_location
  44.     Sound.play_decision
  45.     $game_party.setup_starting_members            # 初期同伴
  46.     $game_map.setup($data_system.start_map_id)    # 初期地图位置
  47.     $game_player.moveto($data_system.start_x, $data_system.start_y)
  48.     $game_player.refresh
  49.     $scene = Scene_Map.new
  50.     RPG::BGM.fade(1500)
  51.     close_command_window
  52.     Graphics.fadeout(60)
  53.     Graphics.wait(40)
  54.     Graphics.frame_count = 0
  55.     RPG::BGM.stop
  56.     $game_map.autoplay
  57.   end
  58. =end
  59.  
  60.   def command_new_game
  61.     DataManager.setup_new_game
  62.     close_command_window
  63.     fadeout_all
  64.     $game_map.autoplay
  65.     SceneManager.goto(Scene_Map)
  66.     variable_initialize
  67.   end
  68.  
  69.   #--------------------------------------------------------------------------
  70.   # ● 初始化背包变量
  71.   #--------------------------------------------------------------------------
  72.   def variable_initialize
  73.     $game_variables[1000] = 1                     #默认情况下背包1是当前背包
  74.     for i in 1..3*PACKAGES
  75.       $game_variables[1000+i] = [0,0,0]
  76.       for j in 0..999
  77.         $game_variables[1000+i][j] = 0
  78.       end
  79.     end
  80.   end  
  81. end
  82. #==============================================================================
  83. # ■ Game_Interpreter
  84. #------------------------------------------------------------------------------
  85. #  执行事件命令的解释器。本类在 Game_Map 类、Game_Troop 类、
  86. # Game_Event 类的内部使用。
  87. #==============================================================================
  88.  
  89. class Game_Interpreter
  90.   #--------------------------------------------------------------------------
  91.   # ● 当清空n号背包物品、金钱及其存档
  92.   #--------------------------------------------------------------------------
  93.   def clear_package(n)
  94.     for i in 1..999
  95.       $game_variables[998+3*n][i] = 0
  96.       $game_variables[999+3*n][i] = 0
  97.       $game_variables[1000+3*n][i] = 0      
  98.     end
  99.     for i in 1..999
  100.       $game_party.gain_item($data_weapons[i],-999,false)
  101.       $game_party.gain_item($data_armors[i],-999,false)
  102.       $game_party.gain_item($data_items[i],-999)
  103.     end
  104.     $game_variables[998+3*n][0] = 0
  105.     $game_party.gain_gold($game_variables[998+3*n][0] - $game_party.gold)
  106.   end
  107.   #--------------------------------------------------------------------------
  108.   # ● 当前背包的物品存档
  109.   #--------------------------------------------------------------------------
  110.   def save_package(n)
  111.     for i in 1..999
  112.       $game_variables[998+3*n][i] = $game_party.item_number($data_weapons[i])
  113.       $game_variables[999+3*n][i] = $game_party.item_number($data_armors[i])
  114.       $game_variables[1000+3*n][i] = $game_party.item_number($data_items[i])
  115.     end
  116.     $game_variables[998+3*n][0] = $game_party.gold
  117.   end  
  118.   #--------------------------------------------------------------------------
  119.   # ● 切换到n号背包
  120.   #--------------------------------------------------------------------------
  121.   def load_package(n)
  122.     if $game_variables[1000] == n
  123.       $game_message.texts.push("无法切换,已经是当前背包!")
  124.     end
  125.     save_package($game_variables[1000])
  126.     $game_variables[1000] = n
  127.     for i in 1..999
  128.       $game_party.gain_item($data_weapons[i],-999,false)
  129.       $game_party.gain_item($data_armors[i],-999,false)
  130.       $game_party.gain_item($data_items[i],-999)
  131.     end
  132.     for j in 1..999
  133.       $game_party.gain_item($data_weapons[j],$game_variables[998+3*n][j],false)
  134.       $game_party.gain_item($data_armors[j],$game_variables[999+3*n][j],false)
  135.       $game_party.gain_item($data_items[j],$game_variables[1000+3*n][j])
  136.     end
  137.     $game_party.gain_gold($game_variables[998+3*n][0] - $game_party.gold)
  138.   end
  139.   #--------------------------------------------------------------------------
  140.   # ● 将n号背包的物品、金钱转移到当前号背包中
  141.   #--------------------------------------------------------------------------
  142.   def package_to_another(n)
  143.     save_package($game_variables[1000])
  144.     for j in 1..999
  145.       $game_party.gain_item($data_weapons[j],$game_variables[998+3*n][j],false)
  146.       $game_party.gain_item($data_armors[j],$game_variables[999+3*n][j],false)
  147.       $game_party.gain_item($data_items[j],$game_variables[1000+3*n][j])
  148.     end
  149.     $game_party.gain_gold($game_variables[998+3*n][0])
  150.     save_package($game_variables[1000])
  151.   end
  152. end  
  153.  
  154. #------------------------------------------------------------------------------
  155. #
  156. #   本脚本来自[url]www.66RPG.com[/url],使用和转载请保留此信息
  157. #
  158. #                                                          作者:protosssonny   
  159. #                                                             2011年9月23日
  160. #==============================================================================

点评

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

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-25 14:46

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表