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

Project1

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

关于携带负重脚本

 关闭 [复制链接]

Lv1.梦旅人

本尊<

梦石
0
星屑
50
在线时间
2 小时
注册时间
2006-11-21
帖子
799

贵宾

跳转到指定楼层
1
发表于 2007-4-13 23:06:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
有人有角色随带物品限制数量的脚本么,如果能随着升级携带数量就增加的就更好了{/gg}

以前66帮我写了一个,但有bug,就是如果卸载武器时会自动增加携带的点数,如果反复的卸下装上或吃药水的话,就会加很多携带量

  1. #==============================================================================
  2. # ■ Window_Gold
  3. #------------------------------------------------------------------------------
  4. #  显示金钱的窗口。
  5. #==============================================================================

  6. class Window_Gold < Window_Base
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化窗口
  9.   #--------------------------------------------------------------------------
  10.   def initialize
  11.     super(0, 0, 160, 96)
  12.     self.contents = Bitmap.new(width - 32, height - 32)
  13.     self.z = 0
  14.     refresh
  15.   end
  16.   #--------------------------------------------------------------------------
  17.   # ● 刷新
  18.   #--------------------------------------------------------------------------
  19.   def refresh
  20.     self.contents.clear
  21.    
  22.     self.contents.font.size = 18
  23.    
  24.     cx = contents.text_size("金钱").width
  25.    
  26.     self.contents.font.color = normal_color
  27.     self.contents.draw_text(4+cx, 0, 124-cx, 24, $game_party.gold.to_s, 2)
  28.     self.contents.font.color = system_color
  29.     self.contents.draw_text(4, 0, cx, 24, "金钱", 2)
  30.    
  31.     cx = contents.text_size("货物余量").width
  32.    
  33.     self.contents.font.color = system_color
  34.     self.contents.draw_text(4, 24,cx, 24, "货物余量", 2)
  35.     self.contents.font.color = normal_color
  36.     self.contents.draw_text(4+cx, 24, 124-cx, 24, $game_variables[2].to_s, 2)
  37.   end
  38. end
复制代码
  1. #==============================================================================
  2. # ■ Scene_Shop249 309
  3. #------------------------------------------------------------------------------
  4. #  处理商店画面的类。
  5. #==============================================================================

  6. class Scene_Shop

  7.   #--------------------------------------------------------------------------
  8.   # ● 刷新画面 (指令窗口激活的情况下下面修改)
  9.   #--------------------------------------------------------------------------
  10.         
  11. ######################################################################
  12. #下一行修改过
  13. ######################################################################
  14.       if @item == nil or @item.price > $game_party.gold or $game_variables[2]==0
  15.         # 演奏冻结 SE
  16.         $game_system.se_play($data_system.buzzer_se)
  17.         return
  18.       end
  19.       
  20.       # 获取物品所持数
  21.       case @item
  22.       when RPG::Item
  23.         number = $game_party.item_number(@item.id)
  24.       when RPG::Weapon
  25.         number = $game_party.weapon_number(@item.id)
  26.       when RPG::Armor
  27.         number = $game_party.armor_number(@item.id)
  28.       end
  29.       
  30.       
  31.       # 如果已经拥有了 99 个情况下
  32.       if number == 99
  33.         # 演奏冻结 SE
  34.         $game_system.se_play($data_system.buzzer_se)
  35.         return
  36.       end
  37.       # 演奏确定 SE
  38.       $game_system.se_play($data_system.decision_se)
  39.       # 计算可以最多购买的数量
  40.       max = @item.price == 0 ? 99 : $game_party.gold / @item.price
  41.       
  42. ######################################################################
  43. #下一行修改过
  44. ######################################################################
  45.       max = [[max, 99 - number].min, $game_variables[2]].min
  46.       
  47.       
  48.       # 窗口状态转向数值输入模式
  49.       @buy_window.active = false
  50.       @buy_window.visible = false
  51.       @number_window.set(@item, max, @item.price)
  52.       @number_window.active = true
  53.       @number_window.visible = true
  54.     end
  55.   end
  56.   #--------------------------------------------------------------------------
  57.   # ● 画面更新 (卖出窗口激活的情况下)
  58.   #--------------------------------------------------------------------------
  59.   def update_sell
  60.     # 按下 B 键的情况下
  61.     if Input.trigger?(Input::B)
  62.       # 演奏取消 SE
  63.       $game_system.se_play($data_system.cancel_se)
  64.       # 窗口状态转向初期模式
  65.       @command_window.active = true
  66.       @dummy_window.visible = true
  67.       @sell_window.active = false
  68.       @sell_window.visible = false
  69.       @status_window.item = nil
  70.       # 删除帮助文本
  71.       @help_window.set_text("")
  72.       return
  73.     end
  74.     # 按下 C 键的情况下
  75.     if Input.trigger?(Input::C)
  76.       # 获取物品
  77.       @item = @sell_window.item
  78.       # 设置状态窗口的物品
  79.       @status_window.item = @item
  80.       # 物品无效的情况下、或者价格为 0 (不能卖出) 的情况下
  81.       if @item == nil or @item.price == 0
  82.         # 演奏冻结 SE
  83.         $game_system.se_play($data_system.buzzer_se)
  84.         return
  85.       end
  86.       # 演奏确定 SE
  87.       $game_system.se_play($data_system.decision_se)
  88.       # 获取物品的所持数
  89.       case @item
  90.       when RPG::Item
  91.         number = $game_party.item_number(@item.id)
  92.       when RPG::Weapon
  93.         number = $game_party.weapon_number(@item.id)
  94.       when RPG::Armor
  95.         number = $game_party.armor_number(@item.id)
  96.       end
  97.       # 最大卖出个数 = 物品的所持数
  98.       max = number
  99.       # 窗口状态转向个数输入模式
  100.       @sell_window.active = false
  101.       @sell_window.visible = false
  102.       @number_window.set(@item, max, @item.price)
  103.       @number_window.active = true
  104.       @number_window.visible = true
  105.       @status_window.visible = true
  106.     end
  107.   end
  108.   #--------------------------------------------------------------------------
  109.   # ● 刷新画面 (个数输入窗口激活的情况下)
  110.   #--------------------------------------------------------------------------
  111.   def update_number
  112.     # 按下 B 键的情况下
  113.     if Input.trigger?(Input::B)
  114.       # 演奏取消 SE
  115.       $game_system.se_play($data_system.cancel_se)
  116.       # 设置个数输入窗口为不活动·非可视状态
  117.       @number_window.active = false
  118.       @number_window.visible = false
  119.       # 命令窗口光标位置分支
  120.       case @command_window.index
  121.       when 0  # 购买
  122.         # 窗口状态转向购买模式
  123.         @buy_window.active = true
  124.         @buy_window.visible = true
  125.       when 1  # 卖出
  126.         # 窗口状态转向卖出模式
  127.         @sell_window.active = true
  128.         @sell_window.visible = true
  129.         @status_window.visible = false
  130.       end
  131.       return
  132.     end
  133.     # 按下 C 键的情况下
  134.     if Input.trigger?(Input::C)
  135.       # 演奏商店 SE
  136.       $game_system.se_play($data_system.shop_se)
  137.       # 设置个数输入窗口为不活动·非可视状态
  138.       @number_window.active = false
  139.       @number_window.visible = false
  140.       # 命令窗口光标位置分支
  141.       case @command_window.index
  142.       when 0  # 购买
  143.         # 购买处理
  144.         $game_party.lose_gold(@number_window.number * @item.price)
  145. ######################################################################
  146. #下一行新添加
  147. ######################################################################
  148.         $game_variables[2] -= @number_window.number
  149.         case @item
  150.         when RPG::Item
  151.           $game_party.gain_item(@item.id, @number_window.number)
  152.         when RPG::Weapon
  153.           $game_party.gain_weapon(@item.id, @number_window.number)
  154.         when RPG::Armor
  155.           $game_party.gain_armor(@item.id, @number_window.number)
  156.         end
  157.         # 刷新各窗口
  158.         @gold_window.refresh
  159.         @buy_window.refresh
  160.         @status_window.refresh
  161.         # 窗口状态转向购买模式
  162.         @buy_window.active = true
  163.         @buy_window.visible = true
  164.       when 1  # 卖出
  165.         # 卖出处理
  166.         $game_party.gain_gold(@number_window.number * (@item.price))
  167. ######################################################################
  168. #下一行新添加
  169. ######################################################################
  170.         $game_variables[2] += @number_window.number
  171.         case @item
  172.         when RPG::Item
  173.           $game_party.lose_item(@item.id, @number_window.number)
  174.         when RPG::Weapon
  175.           $game_party.lose_weapon(@item.id, @number_window.number)
  176.         when RPG::Armor
  177.           $game_party.lose_armor(@item.id, @number_window.number)
  178.         end
  179.         # 刷新各窗口
  180.         @gold_window.refresh
  181.         @sell_window.refresh
  182.         @status_window.refresh
  183.         # 窗口状态转向卖出模式
  184.         @sell_window.active = true
  185.         @sell_window.visible = true
  186.         @status_window.visible = false
  187.       end
  188.       return
  189.     end
  190.   end
  191. end
复制代码


然后是升级,但脚本弄丢了汗,只知道是根据一个战斗升级提示脚本改的,好象是日本的范例里的升级提示上改的,但是有上面我说的bug,大家看有什么好完善的,帮忙
黑羽毛

Lv1.梦旅人

本尊<

梦石
0
星屑
50
在线时间
2 小时
注册时间
2006-11-21
帖子
799

贵宾

2
 楼主| 发表于 2007-4-13 23:06:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
有人有角色随带物品限制数量的脚本么,如果能随着升级携带数量就增加的就更好了{/gg}

以前66帮我写了一个,但有bug,就是如果卸载武器时会自动增加携带的点数,如果反复的卸下装上或吃药水的话,就会加很多携带量

  1. #==============================================================================
  2. # ■ Window_Gold
  3. #------------------------------------------------------------------------------
  4. #  显示金钱的窗口。
  5. #==============================================================================

  6. class Window_Gold < Window_Base
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化窗口
  9.   #--------------------------------------------------------------------------
  10.   def initialize
  11.     super(0, 0, 160, 96)
  12.     self.contents = Bitmap.new(width - 32, height - 32)
  13.     self.z = 0
  14.     refresh
  15.   end
  16.   #--------------------------------------------------------------------------
  17.   # ● 刷新
  18.   #--------------------------------------------------------------------------
  19.   def refresh
  20.     self.contents.clear
  21.    
  22.     self.contents.font.size = 18
  23.    
  24.     cx = contents.text_size("金钱").width
  25.    
  26.     self.contents.font.color = normal_color
  27.     self.contents.draw_text(4+cx, 0, 124-cx, 24, $game_party.gold.to_s, 2)
  28.     self.contents.font.color = system_color
  29.     self.contents.draw_text(4, 0, cx, 24, "金钱", 2)
  30.    
  31.     cx = contents.text_size("货物余量").width
  32.    
  33.     self.contents.font.color = system_color
  34.     self.contents.draw_text(4, 24,cx, 24, "货物余量", 2)
  35.     self.contents.font.color = normal_color
  36.     self.contents.draw_text(4+cx, 24, 124-cx, 24, $game_variables[2].to_s, 2)
  37.   end
  38. end
复制代码
  1. #==============================================================================
  2. # ■ Scene_Shop249 309
  3. #------------------------------------------------------------------------------
  4. #  处理商店画面的类。
  5. #==============================================================================

  6. class Scene_Shop

  7.   #--------------------------------------------------------------------------
  8.   # ● 刷新画面 (指令窗口激活的情况下下面修改)
  9.   #--------------------------------------------------------------------------
  10.         
  11. ######################################################################
  12. #下一行修改过
  13. ######################################################################
  14.       if @item == nil or @item.price > $game_party.gold or $game_variables[2]==0
  15.         # 演奏冻结 SE
  16.         $game_system.se_play($data_system.buzzer_se)
  17.         return
  18.       end
  19.       
  20.       # 获取物品所持数
  21.       case @item
  22.       when RPG::Item
  23.         number = $game_party.item_number(@item.id)
  24.       when RPG::Weapon
  25.         number = $game_party.weapon_number(@item.id)
  26.       when RPG::Armor
  27.         number = $game_party.armor_number(@item.id)
  28.       end
  29.       
  30.       
  31.       # 如果已经拥有了 99 个情况下
  32.       if number == 99
  33.         # 演奏冻结 SE
  34.         $game_system.se_play($data_system.buzzer_se)
  35.         return
  36.       end
  37.       # 演奏确定 SE
  38.       $game_system.se_play($data_system.decision_se)
  39.       # 计算可以最多购买的数量
  40.       max = @item.price == 0 ? 99 : $game_party.gold / @item.price
  41.       
  42. ######################################################################
  43. #下一行修改过
  44. ######################################################################
  45.       max = [[max, 99 - number].min, $game_variables[2]].min
  46.       
  47.       
  48.       # 窗口状态转向数值输入模式
  49.       @buy_window.active = false
  50.       @buy_window.visible = false
  51.       @number_window.set(@item, max, @item.price)
  52.       @number_window.active = true
  53.       @number_window.visible = true
  54.     end
  55.   end
  56.   #--------------------------------------------------------------------------
  57.   # ● 画面更新 (卖出窗口激活的情况下)
  58.   #--------------------------------------------------------------------------
  59.   def update_sell
  60.     # 按下 B 键的情况下
  61.     if Input.trigger?(Input::B)
  62.       # 演奏取消 SE
  63.       $game_system.se_play($data_system.cancel_se)
  64.       # 窗口状态转向初期模式
  65.       @command_window.active = true
  66.       @dummy_window.visible = true
  67.       @sell_window.active = false
  68.       @sell_window.visible = false
  69.       @status_window.item = nil
  70.       # 删除帮助文本
  71.       @help_window.set_text("")
  72.       return
  73.     end
  74.     # 按下 C 键的情况下
  75.     if Input.trigger?(Input::C)
  76.       # 获取物品
  77.       @item = @sell_window.item
  78.       # 设置状态窗口的物品
  79.       @status_window.item = @item
  80.       # 物品无效的情况下、或者价格为 0 (不能卖出) 的情况下
  81.       if @item == nil or @item.price == 0
  82.         # 演奏冻结 SE
  83.         $game_system.se_play($data_system.buzzer_se)
  84.         return
  85.       end
  86.       # 演奏确定 SE
  87.       $game_system.se_play($data_system.decision_se)
  88.       # 获取物品的所持数
  89.       case @item
  90.       when RPG::Item
  91.         number = $game_party.item_number(@item.id)
  92.       when RPG::Weapon
  93.         number = $game_party.weapon_number(@item.id)
  94.       when RPG::Armor
  95.         number = $game_party.armor_number(@item.id)
  96.       end
  97.       # 最大卖出个数 = 物品的所持数
  98.       max = number
  99.       # 窗口状态转向个数输入模式
  100.       @sell_window.active = false
  101.       @sell_window.visible = false
  102.       @number_window.set(@item, max, @item.price)
  103.       @number_window.active = true
  104.       @number_window.visible = true
  105.       @status_window.visible = true
  106.     end
  107.   end
  108.   #--------------------------------------------------------------------------
  109.   # ● 刷新画面 (个数输入窗口激活的情况下)
  110.   #--------------------------------------------------------------------------
  111.   def update_number
  112.     # 按下 B 键的情况下
  113.     if Input.trigger?(Input::B)
  114.       # 演奏取消 SE
  115.       $game_system.se_play($data_system.cancel_se)
  116.       # 设置个数输入窗口为不活动·非可视状态
  117.       @number_window.active = false
  118.       @number_window.visible = false
  119.       # 命令窗口光标位置分支
  120.       case @command_window.index
  121.       when 0  # 购买
  122.         # 窗口状态转向购买模式
  123.         @buy_window.active = true
  124.         @buy_window.visible = true
  125.       when 1  # 卖出
  126.         # 窗口状态转向卖出模式
  127.         @sell_window.active = true
  128.         @sell_window.visible = true
  129.         @status_window.visible = false
  130.       end
  131.       return
  132.     end
  133.     # 按下 C 键的情况下
  134.     if Input.trigger?(Input::C)
  135.       # 演奏商店 SE
  136.       $game_system.se_play($data_system.shop_se)
  137.       # 设置个数输入窗口为不活动·非可视状态
  138.       @number_window.active = false
  139.       @number_window.visible = false
  140.       # 命令窗口光标位置分支
  141.       case @command_window.index
  142.       when 0  # 购买
  143.         # 购买处理
  144.         $game_party.lose_gold(@number_window.number * @item.price)
  145. ######################################################################
  146. #下一行新添加
  147. ######################################################################
  148.         $game_variables[2] -= @number_window.number
  149.         case @item
  150.         when RPG::Item
  151.           $game_party.gain_item(@item.id, @number_window.number)
  152.         when RPG::Weapon
  153.           $game_party.gain_weapon(@item.id, @number_window.number)
  154.         when RPG::Armor
  155.           $game_party.gain_armor(@item.id, @number_window.number)
  156.         end
  157.         # 刷新各窗口
  158.         @gold_window.refresh
  159.         @buy_window.refresh
  160.         @status_window.refresh
  161.         # 窗口状态转向购买模式
  162.         @buy_window.active = true
  163.         @buy_window.visible = true
  164.       when 1  # 卖出
  165.         # 卖出处理
  166.         $game_party.gain_gold(@number_window.number * (@item.price))
  167. ######################################################################
  168. #下一行新添加
  169. ######################################################################
  170.         $game_variables[2] += @number_window.number
  171.         case @item
  172.         when RPG::Item
  173.           $game_party.lose_item(@item.id, @number_window.number)
  174.         when RPG::Weapon
  175.           $game_party.lose_weapon(@item.id, @number_window.number)
  176.         when RPG::Armor
  177.           $game_party.lose_armor(@item.id, @number_window.number)
  178.         end
  179.         # 刷新各窗口
  180.         @gold_window.refresh
  181.         @sell_window.refresh
  182.         @status_window.refresh
  183.         # 窗口状态转向卖出模式
  184.         @sell_window.active = true
  185.         @sell_window.visible = true
  186.         @status_window.visible = false
  187.       end
  188.       return
  189.     end
  190.   end
  191. end
复制代码


然后是升级,但脚本弄丢了汗,只知道是根据一个战斗升级提示脚本改的,好象是日本的范例里的升级提示上改的,但是有上面我说的bug,大家看有什么好完善的,帮忙
黑羽毛

Lv1.梦旅人

月下可怜人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2005-11-23
帖子
4085

第1届短篇游戏比赛亚军

3
发表于 2007-4-13 23:22:08 | 只看该作者
一:所说的携带数量是针对单独的角色,还是RM默认的角色整体?
不过,不管怎样都最好提供BUG脚本直接修改省事。

二:在说什么??
纵然千里外,我等雁归来。
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
270
在线时间
1373 小时
注册时间
2005-10-16
帖子
5113

贵宾

4
发表于 2007-4-13 23:23:44 | 只看该作者
重新写一个不就行了.......{/pz}
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

本尊<

梦石
0
星屑
50
在线时间
2 小时
注册时间
2006-11-21
帖子
799

贵宾

5
 楼主| 发表于 2007-4-13 23:45:26 | 只看该作者
以下引用美兽于2007-4-13 15:22:08的发言:

一:所说的携带数量是针对单独的角色,还是RM默认的角色整体?
不过,不管怎样都最好提供BUG脚本直接修改省事。

二:在说什么??

如果能随着升级携带数量就增加的就更好了
黑羽毛
回复 支持 反对

使用道具 举报

Lv1.梦旅人

月下可怜人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2005-11-23
帖子
4085

第1届短篇游戏比赛亚军

6
发表于 2007-4-14 01:03:27 | 只看该作者
以下引用莫浪语于2007-4-13 15:45:26的发言:


以下引用美兽于2007-4-13 15:22:08的发言:

一:所说的携带数量是针对单独的角色,还是RM默认的角色整体?
不过,不管怎样都最好提供BUG脚本直接修改省事。

二:在说什么??


如果能随着升级携带数量就增加的就更好了


我的意思就你把提供存在BUG的那个脚本,我直接改多省事。
纵然千里外,我等雁归来。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

本尊<

梦石
0
星屑
50
在线时间
2 小时
注册时间
2006-11-21
帖子
799

贵宾

7
 楼主| 发表于 2007-4-14 01:14:39 | 只看该作者
.....
定义角色升级的在哪个脚本里?我找找
黑羽毛
回复 支持 反对

使用道具 举报

Lv1.梦旅人

本尊<

梦石
0
星屑
50
在线时间
2 小时
注册时间
2006-11-21
帖子
799

贵宾

8
 楼主| 发表于 2007-4-14 01:24:14 | 只看该作者
晕死,因为有bug,我把他删掉了....现在有相同类型的脚本么?介绍一个{/wx}
黑羽毛
回复 支持 反对

使用道具 举报

Lv1.梦旅人

月下可怜人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2005-11-23
帖子
4085

第1届短篇游戏比赛亚军

9
发表于 2007-4-14 01:30:19 | 只看该作者
以下引用莫浪语于2007-4-13 17:24:14的发言:

晕死,因为有bug,我把他删掉了....现在有相同类型的脚本么?介绍一个


存在BUG者是这个吗?
http://rpg.blue/web/htm/news489.htm
纵然千里外,我等雁归来。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

本尊<

梦石
0
星屑
50
在线时间
2 小时
注册时间
2006-11-21
帖子
799

贵宾

10
 楼主| 发表于 2007-4-14 01:50:40 | 只看该作者
不是,是我楼上的那个脚本,其中的bug就是比如50的箱子,如果装了50的药就满了,但我吃掉10个药后还是满的,这样的话我就越装越少了,只要使用物品,但箱子数量空间还是0
黑羽毛
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-5-21 21:10

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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