Project1

标题: 如何让装备和状态影响物品获取率? [打印本页]

作者: bloodyliao    时间: 2014-10-20 22:24
标题: 如何让装备和状态影响物品获取率?
本帖最后由 bloodyliao 于 2014-10-20 22:29 编辑

编辑器原版只能拥有一个双倍获取物品特性,但是我想加入不同倍率的,例如增加15%、30%这样的……请问要如何实现?
作者: 三途亚梦    时间: 2014-11-2 02:39
本帖最后由 三途亚梦 于 2014-11-2 03:07 编辑
  1. class Game_Enemy < Game_Battler
  2.   def drop_item_rate
  3.     amu_itemdrop = 0
  4.     $game_party.drop_item_double? ? amu_itemdrop += 2 : amu_itemdrop += 1 #这里是特性的掉落双倍,不要动
  5.     amu_itemdrop += 1 if $game_party.battle_members.any? {|a| a.state?(2) }
  6.     #↑如果队伍中有人处在2号状态则掉率+1倍
  7.     amu_itemdrop += 1 if $game_party.battle_members.any? {|a| a.weapons.include?($data_weapons[1]) }
  8.     #↑如果队伍中有人装备1号武器则掉率+1倍
  9.     amu_itemdrop += 1 if $game_party.battle_members.any? {|a| a.armors.include?($data_armors[1]) }
  10.     #↑如果队伍中有人装备1号防具则掉率+1倍
  11.     return amu_itemdrop
  12.   end
  13. end
复制代码
模仿着例子写就可以按照需要影响掉落率啦
作者: VIPArcher    时间: 2014-11-2 11:40
本帖最后由 VIPArcher 于 2014-11-15 13:27 编辑

改了一下用Taroxd基础设置 里的note_objects来迭代
以下脚本需要Taroxd基础设置 脚本的支持
  1. # 在角色|职业|状态|装备|已学技能上备注 <物品掉率:50%> 就是掉率上升50%
  2. #现在是计算所有角色特性的所有备注信息,计算总值,并且可以使用小数、负数
  3. #降低掉率例如 <物品掉率:-12.5%> 就是降低12.5%的掉率
  4. #require Taroxd基础设置
  5. class Game_Enemy < Game_Battler
  6.   def drop_item_rate
  7.     return $game_party.party_drop_rate
  8.   end
  9. end
  10. class Game_Party < Game_Unit
  11.   #--------------------------------------------------------------------------
  12.   # ● 获取全队伍物品掉率总值
  13.   #--------------------------------------------------------------------------
  14.   def party_drop_rate
  15.     drop_rate = 100
  16.     battle_members.each {|actor| actor.note_objects.each {|obj|
  17.     drop_rate += $1.to_f if obj.note =~ /<物品掉率:\s*([0-9+.-]+)%>/
  18.     }}
  19.     return drop_rate / 100
  20.   end
  21. end
复制代码
依旧未测试
作者: VIPArcher    时间: 2014-11-2 15:54
咱还有个技能(无法使用,被动),效果是学习该技能后掉落率提升XXX,能帮忙改进下嘛?希望一起实现

用这个脚本来做被动技能or状态
https://rpg.blue/thread-365969-1-2.html
注意这里的公告
作者: taroxd    时间: 2014-11-2 15:56
VIPArcher 发表于 2014-11-2 15:54
用这个脚本来做被动技能or状态
https://rpg.blue/thread-365969-1-2.html
注意这里的公告 ...

其实,只要把 feature_objects 改成“基础设置”中的 note_objects 就可以,连 each 都省了~

不需要再用那个被动脚本的
作者: bloodyliao    时间: 2014-11-3 11:14
VIPArcher 发表于 2014-11-2 15:54
用这个脚本来做被动技能or状态
https://rpg.blue/thread-365969-1-2.html
注意这里的公告 ...

他那个脚本可以实现读取状态里备注的功能吗?




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1