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

Project1

 找回密码
 注册会员
搜索
查看: 3329|回复: 1
打印 上一主题 下一主题

[已经解决] 求高人解决多背包系统从vx到xp的脚本移植问题

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
69 小时
注册时间
2011-5-31
帖子
8
跳转到指定楼层
1
 楼主| 发表于 2013-2-6 21:43:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 Fengxwu 于 2013-2-12 14:44 编辑

@protosssonny 本人脚本初学菜鸟,想移植这个脚本 http://rpg.blue/thread-210189-1-1.html 到rmxp上用。
但是在后面由于vx和xp获取物品的定义有很多不同所以不知道怎么弄。自己摸索了一个多小时只在金钱上成功了{:2_271:}
下面是原脚本额
  1. #==============================================================================
  2. # ■ 简易多背包系统
  3. #------------------------------------------------------------------------------
  4. #
  5. #   本脚本来自www.66RPG.com,使用和转载请保留此信息
  6. #
  7. #   作者:protosssonny   
  8. #
  9. #==============================================================================

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

  32. class Scene_Title
  33.   
  34.   #--------------------------------------------------------------------------
  35.   # ● 指令 : 新游戏
  36.   #--------------------------------------------------------------------------
  37.   def command_new_game
  38.     variable_initialize
  39.     confirm_player_location
  40.     Sound.play_decision
  41.     $game_party.setup_starting_members            # 初期同伴
  42.     $game_map.setup($data_system.start_map_id)    # 初期地图位置
  43.     $game_player.moveto($data_system.start_x, $data_system.start_y)
  44.     $game_player.refresh
  45.     $scene = Scene_Map.new
  46.     RPG::BGM.fade(1500)
  47.     close_command_window
  48.     Graphics.fadeout(60)
  49.     Graphics.wait(40)
  50.     Graphics.frame_count = 0
  51.     RPG::BGM.stop
  52.     $game_map.autoplay
  53.   end
  54.   
  55.   #--------------------------------------------------------------------------
  56.   # ● 初始化背包变量
  57.   #--------------------------------------------------------------------------
  58.   def variable_initialize
  59.     $game_variables[1000] = 1                     #默认情况下背包1是当前背包
  60.     for i in 1..3*PACKAGES
  61.       $game_variables[1000+i] = [0,0,0]
  62.       for j in 0..999
  63.         $game_variables[1000+i][j] = 0
  64.       end
  65.     end
  66.   end  
  67. end
  68. #==============================================================================
  69. # ■ Game_Interpreter
  70. #------------------------------------------------------------------------------
  71. #  执行事件命令的解释器。本类在 Game_Map 类、Game_Troop 类、
  72. # Game_Event 类的内部使用。
  73. #==============================================================================

  74. class Game_Interpreter
  75.   #--------------------------------------------------------------------------
  76.   # ● 当清空n号背包物品、金钱及其存档
  77.   #--------------------------------------------------------------------------
  78.   def clear_package(n)
  79.     for i in 1..999
  80.       $game_variables[998+3*n][i] = 0
  81.       $game_variables[999+3*n][i] = 0
  82.       $game_variables[1000+3*n][i] = 0      
  83.     end
  84.     for i in 1..999
  85.       $game_party.gain_item($data_weapons[i],-999,false)
  86.       $game_party.gain_item($data_armors[i],-999,false)
  87.       $game_party.gain_item($data_items[i],-999)
  88.     end
  89.     $game_variables[998+3*n][0] = 0
  90.     $game_party.gain_gold($game_variables[998+3*n][0] - $game_party.gold)
  91.   end
  92.   #--------------------------------------------------------------------------
  93.   # ● 当前背包的物品存档
  94.   #--------------------------------------------------------------------------
  95.   def save_package(n)
  96.     for i in 1..999
  97.       $game_variables[998+3*n][i] = $game_party.item_number($data_weapons[i])
  98.       $game_variables[999+3*n][i] = $game_party.item_number($data_armors[i])
  99.       $game_variables[1000+3*n][i] = $game_party.item_number($data_items[i])
  100.     end
  101.     $game_variables[998+3*n][0] = $game_party.gold
  102.   end  
  103.   #--------------------------------------------------------------------------
  104.   # ● 切换到n号背包
  105.   #--------------------------------------------------------------------------
  106.   def load_package(n)
  107.     if $game_variables[1000] == n
  108.       $game_message.texts.push("无法切换,已经是当前背包!")
  109.     end
  110.     save_package($game_variables[1000])
  111.     $game_variables[1000] = n
  112.     for i in 1..999
  113.       $game_party.gain_item($data_weapons[i],-999,false)
  114.       $game_party.gain_item($data_armors[i],-999,false)
  115.       $game_party.gain_item($data_items[i],-999)
  116.     end
  117.     for j in 1..999
  118.       $game_party.gain_item($data_weapons[j],$game_variables[998+3*n][j],false)
  119.       $game_party.gain_item($data_armors[j],$game_variables[999+3*n][j],false)
  120.       $game_party.gain_item($data_items[j],$game_variables[1000+3*n][j])
  121.     end
  122.     $game_party.gain_gold($game_variables[998+3*n][0] - $game_party.gold)
  123.   end
  124.   #--------------------------------------------------------------------------
  125.   # ● 将n号背包的物品、金钱转移到当前号背包中
  126.   #--------------------------------------------------------------------------
  127.   def package_to_another(n)
  128.     save_package($game_variables[1000])
  129.     for j in 1..999
  130.       $game_party.gain_item($data_weapons[j],$game_variables[998+3*n][j],false)
  131.       $game_party.gain_item($data_armors[j],$game_variables[999+3*n][j],false)
  132.       $game_party.gain_item($data_items[j],$game_variables[1000+3*n][j])
  133.     end
  134.     $game_party.gain_gold($game_variables[998+3*n][0])
  135.     save_package($game_variables[1000])
  136.   end
  137. end  

  138. #------------------------------------------------------------------------------
  139. #
  140. #   本脚本来自www.66RPG.com,使用和转载请保留此信息
  141. #
  142. #                                                          作者:protosssonny   
  143. #                                                             2011年9月23日
  144. #==============================================================================
复制代码
如果有大神能帮忙的话就真是太感谢了

Lv1.梦旅人

梦石
0
星屑
50
在线时间
69 小时
注册时间
2011-5-31
帖子
8
2
 楼主| 发表于 2013-2-8 15:22:33 | 只看该作者
本帖最后由 Fengxwu 于 2013-2-12 14:46 编辑

好吧自己摸索了大约6个小时终于解决了

点评

······你出师了  发表于 2013-4-20 11:45
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-29 09:58

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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