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

Project1

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

[已经解决] 继续求问如何控制携带道具的上限

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
47 小时
注册时间
2005-11-6
帖子
130
跳转到指定楼层
1
发表于 2011-2-15 09:58:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
急求,这个效果对我来说很重要,求大大务必帮帮我。

本人不懂改脚本,不过现成的还是能看看。

效果如下:
指定道具携带上限
比如 回复剂携带最多30个,超回复剂携带最多10个。
超过就无法携带。

请问这种效果应该如何实现?


我尝试实用公共事件,当回复剂超过X时,提示:回复剂拿不下了。回复剂-99 回复剂+X

但是公共事件不能用在战斗中,所以每次战斗后一旦超过就会提示一次,非常麻烦,购买的时候也没办法计算精准,而且购买了以后钱花掉了,道具也没有了。这是一个恶性的BUG,我实在想不出解决方法。

点评

需要改的是Game_Party和Scene_Shop,等待其他人补充  发表于 2011-2-15 10:12

Lv2.观梦者

梦石
0
星屑
491
在线时间
339 小时
注册时间
2010-12-15
帖子
926

开拓者

2
发表于 2011-2-15 10:20:34 | 只看该作者
超过三小时的帖子可以自定,请不要重复发帖 - -
等待管理删帖 - -
回复

使用道具 举报

Lv3.寻梦者 (暗夜天使)

精灵族の天使

梦石
0
星屑
1697
在线时间
3038 小时
注册时间
2007-3-16
帖子
33731

开拓者贵宾

3
发表于 2011-2-15 10:23:38 | 只看该作者
回复

使用道具 举报

Lv1.梦旅人

路人党员

梦石
0
星屑
52
在线时间
2276 小时
注册时间
2010-12-30
帖子
3225
4
发表于 2011-2-15 11:10:50 | 只看该作者
本帖最后由 英顺的马甲 于 2011-2-15 11:23 编辑
  1. $item_max = {1=>30,2=>10}  # 物品id => 上限(可以超过99)
  2. class Game_Party
  3.   def gain_item(item_id, n)
  4.     if item_id > 0
  5.       @max = 99
  6.       @max = $item_max[item_id] if $item_max[item_id] != nil
  7.       @items[item_id] = [[item_number(item_id) + n, 0].max, @max].min
  8.     end
  9.   end
  10. end
  11. class Scene_Shop
  12.   def update_buy
  13.     @status_window.item = @buy_window.item
  14.     if Input.trigger?(Input::B)
  15.       $game_system.se_play($data_system.cancel_se)
  16.       @command_window.active = true
  17.       @dummy_window.visible = true
  18.       @buy_window.active = false
  19.       @buy_window.visible = false
  20.       @status_window.visible = false
  21.       @status_window.item = nil
  22.       @help_window.set_text("")
  23.       return
  24.     end
  25.     if Input.trigger?(Input::C)
  26.       @item = @buy_window.item
  27.       if @item == nil or @item.price > $game_party.gold
  28.         $game_system.se_play($data_system.buzzer_se)
  29.         return
  30.       end
  31.       item_max = 99
  32.       case @item
  33.       when RPG::Item
  34.         number = $game_party.item_number(@item.id)
  35.         item_max = $item_max[@item.id] if $item_max[@item.id] != nil
  36.       when RPG::Weapon
  37.         number = $game_party.weapon_number(@item.id)
  38.       when RPG::Armor
  39.         number = $game_party.armor_number(@item.id)
  40.       end
  41.       if number == 99
  42.         $game_system.se_play($data_system.buzzer_se)
  43.         return
  44.       end
  45.       $game_system.se_play($data_system.decision_se)
  46.       max = @item.price == 0 ? 99 : $game_party.gold / @item.price
  47.       max = [max, item_max - number].min
  48.       @buy_window.active = false
  49.       @buy_window.visible = false
  50.       @number_window.set(@item, max, @item.price)
  51.       @number_window.active = true
  52.       @number_window.visible = true
  53.     end
  54.   end
  55. end
复制代码
本人擅长XP,如果有脚本或者Ruby方面的问题欢迎发电邮到[email protected]咨询,本人很少检查电邮所以不一定会及时回复,本人不会直接出手解决问题只会提供一个方向,所以谢绝伸手党
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
47 小时
注册时间
2005-11-6
帖子
130
5
 楼主| 发表于 2011-2-15 12:45:54 | 只看该作者
非常感谢LS的脚本,解决了我一个重大的问题
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
47 小时
注册时间
2005-11-6
帖子
130
6
 楼主| 发表于 2011-2-15 12:46:29 | 只看该作者
回复 精灵使者 的帖子

谢谢,但是我要的并不是商店上限,而是携带上限
回复

使用道具 举报

Lv3.寻梦者 (暗夜天使)

精灵族の天使

梦石
0
星屑
1697
在线时间
3038 小时
注册时间
2007-3-16
帖子
33731

开拓者贵宾

7
发表于 2011-2-15 21:37:46 | 只看该作者
携带上限的话那就麻烦了……恐怕牵涉到物品栏窗口,和增减物品的事件指令

点评

4楼的脚本已经解决了我的问题,还是谢谢你的帮忙了  发表于 2011-2-16 15:46
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-28 19:41

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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