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

Project1

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

怎么在商店里制作只能购买一次的物品

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
8 小时
注册时间
2008-5-8
帖子
430
跳转到指定楼层
1
发表于 2008-5-23 22:53:11 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
如题,请问各位高手能否在商店里制作出只能购买一次的商品?需要什么样的脚本啊?
我记得以前好想在哪里看到过,但是现在找不到了,希望各位前辈指教以下!我会及时认可答案的!谢谢!!
版务信息:本贴由楼主自主结贴~

Lv1.梦旅人

梦石
0
星屑
50
在线时间
8 小时
注册时间
2008-5-8
帖子
430
6
 楼主| 发表于 2008-5-25 03:58:33 | 只看该作者
用楼上的办法似乎最好,我先用用看看
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
29 小时
注册时间
2008-5-23
帖子
14
5
发表于 2008-5-24 00:19:40 | 只看该作者
本帖最后由 Calathus 于 2011-4-15 20:12 编辑

楼主是说 购买物品时那里的数值输入只能购买一个吗?
要时这样你试试这样修改一下吧.
在处理商店画面的类(Scene_Shop)里面找到(默认):"购买窗口激活的情况下 获取物品所持数"这里分别对物品所持数修改.

      # 获取物品所持数
      case @item
      when RPG::Item
        number = $game_party.item_number(@item.id)
        # 如果下面物品ID号已经拥有了 1 个以上的情况下
        if number >= 1 and @item.id == 1
          # 演奏冻结 SE
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        # 计算可以最多购买的数量
        if @item.id == 1 # ID为1号的物品
          #最大数量是1个
          max = 1
        #elsif @item.id == n 道具编号
          #max = n 最多购买数
        else
        # 如果已经拥有了 99 个情况下
        if number == 99
          # 演奏冻结 SE
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        # 计算可以最多购买的数量
        max = @item.price == 0 ? 99 : $game_party.gold / @item.price
        max = [max, 99 - number].min
      end
      # 武器
      when RPG::Weapon
        number = $game_party.weapon_number(@item.id)
        # 如果已经拥有了 99 个情况下
        if number == 99
          # 演奏冻结 SE
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        # 演奏确定 SE
        $game_system.se_play($data_system.decision_se)
        # 计算可以最多购买的数量
        max = @item.price == 0 ? 99 : $game_party.gold / @item.price
        max = [max, 99 - number].min
      # 防具
      when RPG::Armor
        number = $game_party.armor_number(@item.id)
        # 如果已经拥有了 99 个情况下
        if number == 99
          # 演奏冻结 SE
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        # 演奏确定 SE
        $game_system.se_play($data_system.decision_se)
        # 计算可以最多购买的数量
        max = @item.price == 0 ? 99 : $game_party.gold / @item.price
        max = [max, 99 - number].min
      end

大概就是这样,还有记得把这个分歧下面的(如果已经拥有了 99 个情况下..计算可以最多购买的数量)部分给注释掉,不然冲突来了.

还有要是想购买一个后不能再购买的物品颜色无效化到(Window_ShopBuy)的描绘项目里面

    # 获取物品所持数
    case item
    when RPG::Item
      number = $game_party.item_number(item.id)
      # 如果玩家金钱数比物品价格上多的情况下,而且ID为n号的物品它的数量小于n的话
      if (item.price <= $game_party.gold) and (item.id == 1 and number < 1)
        self.contents.font.color = normal_color
      # 不包括道具ID 1 号
      elsif item.price <= $game_party.gold and (item.id != 1 and number < 99)
        self.contents.font.color = normal_color
      #elsif (item.price <= $game_party.gold) and (number < 最大数量 and item.id != 道具ID)
      #  self.contents.font.color = normal_color
      #除此之外的情况设置为无效文字色
      else
        self.contents.font.color = disabled_color
      end
    when RPG::Weapon
      number = $game_party.weapon_number(item.id)
      # 价格在所持金以下、并且所持数不是 99 的情况下为普通文字颜色
      # 除此之外的情况设置为无效文字色
      if item.price <= $game_party.gold and number < 99# and (item.id == n and number < n)
        self.contents.font.color = normal_color
      else
        self.contents.font.color = disabled_color
      end
    when RPG::Armor
      number = $game_party.armor_number(item.id)
      # 价格在所持金以下、并且所持数不是 99 的情况下为普通文字颜色
      # 除此之外的情况设置为无效文字色
      if item.price <= $game_party.gold and number < 99# and (item.id == n and number < n)
        self.contents.font.color = normal_color
      else
        self.contents.font.color = disabled_color
      end
    end


最后这里下面的无效文字色分歧也要给注释掉.
大概就是这么多了呵呵..

系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
这家伙很精,居然只留下这么一句话.
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
72
在线时间
36 小时
注册时间
2008-5-19
帖子
186
4
发表于 2008-5-24 00:08:58 | 只看该作者
真实商店
http://rpg.blue/web/htm/news269.htm
回复 支持 反对

使用道具 举报

Lv1.梦旅人

沈黙栤冷

梦石
0
星屑
55
在线时间
5 小时
注册时间
2007-12-15
帖子
3048
3
发表于 2008-5-23 23:32:01 | 只看该作者
这个貌似没有人做过吧……
你试试这个吧……http://rpg.blue/web/htm/news922.htm
重来,一切将回更美好?我想不一定,因为苍天给予你的是最美好的结束……阿弥陀佛……(我了个去,关“阿弥陀佛”什么事?)
对于破解游戏,我无话可说,对于破解后宣传,我强烈鄙视,没错,我刚破解了某个正版游戏,想要吗?请自宫后,拿那个东西过来换吧。
……请用行动来支持国产游戏……
PS:谁有仙五破解版啊……(喂!PIA!)
什么情况,汽车漏胎?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
8 小时
注册时间
2008-5-8
帖子
430
2
 楼主| 发表于 2008-5-23 23:04:23 | 只看该作者
各位大哥!能不能抽空看一下?不然一会帖子就沉下去了,不好意思,2hit一下不犯法吧?{/tp}
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-8-1 22:27

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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