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

Project1

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

[已经过期] 如何规定各类物品上限?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
9 小时
注册时间
2017-1-13
帖子
5
跳转到指定楼层
1
发表于 2017-8-20 15:48:20 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
比如我想规定料理类道具上限为3,复活类上限10,该怎么弄?

Lv5.捕梦者 (版主)

梦石
1
星屑
23994
在线时间
3339 小时
注册时间
2011-7-8
帖子
3926

开拓者

6
发表于 2017-9-17 23:44:30 | 只看该作者
当然是修改 gain_item 方法中的 99 啦
  1. class Game_Party
  2. ITEM_MAX = {1=>10, 2=>20} # item_id => max_number
  3.   def gain_item(item_id, n)
  4.     # 更新 hash 的个数数据
  5.     if item_id > 0
  6.       @items[item_id] = [[item_number(item_id) + n, 0].max, ITEM_MAX[item_id]].min
  7.     end
  8.   end
  9. end
复制代码
熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9280
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

5
发表于 2017-9-16 00:02:48 | 只看该作者
item相关的脚本里面有,有一个地方是限制物品上限最高99,你可以把那个地方改了,加一些条件分歧
当物品id是多少的时候上限为10
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
68 小时
注册时间
2011-11-12
帖子
92
4
发表于 2017-8-20 17:36:40 | 只看该作者
本帖最后由 Nil2011 于 2017-8-20 17:39 编辑

才发现是XP。。我倒是知道ACE的
已经在做游戏了~~~愉悦的做游戏体验
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
9 小时
注册时间
2017-1-13
帖子
5
3
 楼主| 发表于 2017-8-20 17:26:48 | 只看该作者
怎么增加属性?

点评

增加属性是基本,自个儿研究  发表于 2017-8-20 20:01
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
270
在线时间
125 小时
注册时间
2009-12-16
帖子
155
2
发表于 2017-8-20 16:27:51 | 只看该作者
本帖最后由 0nepeop1e 于 2017-8-20 16:29 编辑

此脚本未经测试,如有问题请自行解决
  1. unless defined?(Game_Party::ITEM_TYPE_MAX_LIMIT)
  2.   Game_Party::ITEM_TYPE_MAX_LIMIT = {
  3.     '料理' => 3, # 请增加一个叫做料理的属性然后在对应的物品上打勾
  4.     '复活' => 10 # 请增加一个叫做复活的属性然后在对应的物品上打勾
  5.   }
  6.   Game_Party = Class.new(Game_Party) do
  7.     superclass.constants.each{|c|const_set(c, superclass.const_get(c))}
  8.     def gain_item(item_id,k n)
  9.       n = [$data_items[item_id].max_limit - (@items[item_id]||0), n].min
  10.       super(item_id, k)
  11.     end
  12.   end
  13.   RPG::Item = Class.new(RPG::Item) do
  14.     superclass.constants.each{|c|const_set(c, superclass.const_get(c))}
  15.     def element_set
  16.       set = super.clone
  17.       temp = ::Game_Party::ITEM_TYPE_MAX_LIMIT.to_a.map{|t|$data_system.elements.index(t[0])}
  18.       set.delete_if{|e|temp.include?(e)}
  19.       return set
  20.     end
  21.     def max_limit
  22.       if @limit.nil?
  23.         @limit=99#我擦竟然有人叫做limit
  24.         for e in @element_set
  25.           unless (l = Game_Party::ITEM_TYPE_MAX_LIMIT[$data_system.elements[e]]).nil?
  26.             @limit = [l, 99].min
  27.             break
  28.           end
  29.         end
  30.       end
  31.       return @limit#我擦竟然有人叫做limit
  32.     end
  33.   end
  34. end
复制代码

点评

对不起 看起来那段 我以为很重要 没敢 注释  发表于 2017-8-21 12:44
而且我也说了:此脚本未经测试,如有问题请自行解决  发表于 2017-8-21 01:40
把那个n删了,不小心多打了  发表于 2017-8-21 01:40
系统提示 第8行 出错 def gain_item(item_id,k n)  发表于 2017-8-20 23:28
根本无法使用  发表于 2017-8-20 23:27
⎝(゚∀。)⎠
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-11 11:32

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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