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

Project1

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

[已经解决] 关于属性上限

[复制链接]

Lv2.观梦者

梦石
0
星屑
284
在线时间
230 小时
注册时间
2016-2-21
帖子
93
跳转到指定楼层
1
发表于 2018-1-18 16:10:04 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
RT啊,自带的各属性上限貌似是999?但是像力量敏捷智力这些属性如果要自定义一个上限怎么做呢,比如260?貌似用公共事件做了无效,也不知道为什么会这样,请各位大佬看看给个解决法子啊,不胜感激!

搜狗截图18年01月18日1603_1.png (8.69 KB, 下载次数: 28)

搜狗截图18年01月18日1603_1.png

Lv5.捕梦者

梦石
0
星屑
36402
在线时间
10791 小时
注册时间
2009-3-15
帖子
4813
2
发表于 2018-1-18 16:22:57 | 只看该作者
操作变量並不影响角色能力的说..
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
284
在线时间
230 小时
注册时间
2016-2-21
帖子
93
3
 楼主| 发表于 2018-1-18 16:24:18 | 只看该作者
好吧,仔细想了下,貌似一个是看不见的变量运算,一个是看的见的界面数值显示?就是有一个敏捷X2的首饰,游戏里力量敏捷智力幸运啥的最大值是260,所以如果本身敏捷超过130带上这个首饰也只能达到260,显示界面也是260,不足130就很简单了直接X2,希望有大佬帮忙解决下啊谢谢!
回复 支持 反对

使用道具 举报

Lv4.逐梦者

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

开拓者

4
发表于 2018-1-18 16:46:39 | 只看该作者
Game_BattleBase裏面的這部分決定了能力的最大值

  1.   #--------------------------------------------------------------------------
  2.   # ● 获取普通能力的最大值
  3.   #--------------------------------------------------------------------------
  4.   def param_max(param_id)
  5.     return 999999 if param_id == 0  # MHP
  6.     return 9999   if param_id == 1  # MMP
  7.     return 999
  8.   end
复制代码

參考其中對mhp、mmp的單獨設定上限修改就行
比如在
  1. retufn 999
复制代码
的上面加一個
  1. return 250 if param_id==2
复制代码
就是力量上限為250
你也可以通過角色id、職業id等等做更多更複雜的上限修改
甚至可以在這個方法的開始部分設一個新的變量,比如a
然後在下面加各種判定
如果職業id為1那a+=500
如果是1號角色a+=400
最後返回a也可以

点评

如果變量先初始化過了就可以  发表于 2018-1-18 19:15
返回$game_variables可以不..  发表于 2018-1-18 18:06
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33442
在线时间
5108 小时
注册时间
2012-11-19
帖子
4878

开拓者

5
发表于 2018-1-18 18:04:12 | 只看该作者
本帖最后由 芯☆淡茹水 于 2018-1-18 18:13 编辑

记得以前有一个帮别人写的最大属性,可以初始备注和游戏中更改

  1. #==============================================================================
  2. class Game_System
  3.   #--------------------------------------------------------------------------
  4.   def param_max_data
  5.     return @param_max_data || {}
  6.   end
  7.   #--------------------------------------------------------------------------
  8.   def param_max(actor_id, param_id)
  9.     return !param_max_data[actor_id] ? nil : param_max_data[actor_id][param_id]
  10.   end
  11.   #--------------------------------------------------------------------------
  12.   def change_param_max(actor_id, param_id, num)
  13.     @param_max_data = @param_max_data || {}
  14.     @param_max_data[actor_id] = @param_max_data[actor_id] || []
  15.     @param_max_data[actor_id][param_id] = [param_id == 1 ? 0 : 1, num].max
  16.   end
  17. end
  18. #==============================================================================
  19. class Game_Actor < Game_Battler
  20.   #--------------------------------------------------------------------------
  21.   def note_param_max(param_id)
  22.     reg = [/<MaxHp:(\d+)>/,/<MaxMp:(\d+)>/,/<MaxAtk:(\d+)>/,/<MaxDef:(\d+)>/]
  23.     reg += [/<MaxMat:(\d+)>/,/<MaxMdf:(\d+)>/,/<MaxAgi:(\d+)>/,/<MaxLuk:(\d+)>/]
  24.     return actor.note.match(reg[param_id]) ? $1.to_i : nil
  25.   end
  26.   #--------------------------------------------------------------------------
  27.   alias xr_new_param_max param_max
  28.   def param_max(param_id)
  29.     return $game_system.param_max(@actor_id, param_id) ||
  30.            note_param_max(param_id) || xr_new_param_max(param_id)
  31.   end
  32. end
  33. #==============================================================================
  34. class Game_Interpreter
  35.   #--------------------------------------------------------------------------
  36.   def change_param_max(actor_id, param_id, num)
  37.     $game_system.change_param_max(actor_id, param_id, num)
  38.   end
  39. end
  40. #==============================================================================
复制代码
xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
284
在线时间
230 小时
注册时间
2016-2-21
帖子
93
6
 楼主| 发表于 2018-1-19 14:18:53 | 只看该作者
chd114 发表于 2018-1-18 16:46
Game_BattleBase裏面的這部分決定了能力的最大值

參考其中對mhp、mmp的單獨設定上限修改就行

感谢大佬帮忙啊,只不过貌似无效啊,按你说的加了一行return 260 if param_id ==6没效果啊,6不是敏捷的ID编号么,是不是还要改别的什么东西?
回复 支持 反对

使用道具 举报

Lv4.逐梦者

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

开拓者

7
发表于 2018-1-19 17:45:58 | 只看该作者
前世涅缘 发表于 2018-1-19 14:18
感谢大佬帮忙啊,只不过貌似无效啊,按你说的加了一行return 260 if param_id ==6没效果啊,6不是敏捷的I ...

要加在return 999的前面,加在后面没效果,没有条件限制的返回值要放到最后处理,不然加进去不会处理
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
284
在线时间
230 小时
注册时间
2016-2-21
帖子
93
8
 楼主| 发表于 2018-1-20 14:50:33 | 只看该作者
chd114 发表于 2018-1-19 17:45
要加在return 999的前面,加在后面没效果,没有条件限制的返回值要放到最后处理,不然加进去不会处理 ...

带上手镯之后状态里敏捷数据还是284,翻倍了的。

搜狗截图18年01月20日1445_1.png (7.62 KB, 下载次数: 30)

搜狗截图18年01月20日1445_1.png

搜狗截图18年01月20日1446_2.png (81.88 KB, 下载次数: 31)

搜狗截图18年01月20日1446_2.png
回复 支持 反对

使用道具 举报

Lv4.逐梦者

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

开拓者

9
发表于 2018-1-20 14:55:47 | 只看该作者
前世涅缘 发表于 2018-1-20 14:50
带上手镯之后状态里敏捷数据还是284,翻倍了的。

兩種原因:
1、你用到的其他腳本也動了param_max
2、你用的其他腳本動了param(param_id)
全局搜索一下def param_max或者def param(param_id)看看
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
284
在线时间
230 小时
注册时间
2016-2-21
帖子
93
10
 楼主| 发表于 2018-1-20 17:07:29 | 只看该作者
chd114 发表于 2018-1-20 14:55
兩種原因:
1、你用到的其他腳本也動了param_max
2、你用的其他腳本動了param(param_id)

还真是,加入了一种代币,以前设置成贵重物品可是默认的数量上限只有10个,后来用了个大佬芙蕾雅的破限脚本解决了,刚刚为了不冲突把那个代币设置普通物品了,把那个破限脚本全部注释掉了,现在已经没事了!太感谢了!都是强迫症闹的啊,辛苦那么久才弄到那个破限脚本现在又不能用了。。。都是为了那一点点完美的感觉,代币弄成贵重物品舒服些,现在算了,不管这些了,感谢大佬帮忙
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-17 13:28

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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