查看: 2826|回复: 6

[已经解决] 怎样用事件(用物品给使用者加随机的体力上限等)?

[复制链接]
梦石
0
星屑
3784
在线时间
933 小时
注册时间
2017-1-19
回帖
156
发表于 2017-6-23 22:28:53 | 显示全部楼层 |阅读模式

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

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

×
没办法完成必须在事件中加脚本
梦石
0
星屑
6375
在线时间
1473 小时
注册时间
2015-7-25
回帖
609

极短25参与开拓者

发表于 2017-6-23 23:49:23 | 显示全部楼层
插件脚本
[pre lang="ruby"]class Game_Battler < Game_BattlerBase
  def item_apply(user, item)
    @result.clear
    @result.used = item_test(user, item)
    @result.missed = (@result.used && rand >= item_hit(user, item))
    @result.evaded = (!@result.missed && rand < item_eva(user, item))
   
    if @result.hit?
      unless item.damage.none?
        @result.critical = (rand < item_cri(user, item))
        make_damage_value(user, item)
        execute_damage(user)
      end
      if /<随机增加最大HP\s*(\d+)>/ =~ item.note
        add_param(0,rand($1.to_i)+1)
      end
      item.effects.each {|effect| item_effect_apply(user, item, effect) }
      item_user_effect(user, item)
    end
  end
end[/pre]

数据库物品备注
<随机增加最大HP 最大数值>
比如
<随机增加最大HP 100>
则随机范围为1~100

评分

参与人数 2星屑 +40 梦石 +1 收起 理由
VIPArcher + 1 认可答案
铅笔描绘的思念 + 40 精品文章

查看全部评分

笨肉包的游戏讨论群932812135 (实时更新) 喜欢的话欢迎加入~
目前的坑
??? #像素风OC游戏 准备中 短篇-约5小时
花城梦之心 #像素风OC游戏 系统开发+素材绘制中
【不可思议的迷宫】幽灵契约外传:歌莉娅 v0.4 游戏文件已更新
同时更新中~ (沉迷摸鱼中~更新速度较慢请见谅w)
这是属于笨肉包一个人的旅行~(这只肉包又在摸鱼!
旅途的最终目标~ ???(保密~
回复

使用道具 举报

梦石
0
星屑
3784
在线时间
933 小时
注册时间
2017-1-19
回帖
156
 楼主| 发表于 2017-6-24 17:58:49 | 显示全部楼层
如果使用多个该怎么办(如mp上限 物攻上限 物防上限等等)

点评

那就自己参照上面的插件脚本写  发表于 2017-6-24 20:42
回复

使用道具 举报

梦石
0
星屑
3784
在线时间
933 小时
注册时间
2017-1-19
回帖
156
 楼主| 发表于 2017-6-25 16:40:01 | 显示全部楼层
脚本有个bug必须在物品的能力提升(比如体力上限+1)否则出现物品使用无反应
回复

使用道具 举报

梦石
0
星屑
6375
在线时间
1473 小时
注册时间
2015-7-25
回帖
609

极短25参与开拓者

发表于 2017-6-25 17:24:55 | 显示全部楼层
修复楼上说的bug
[pre lang="ruby"]class Game_Battler < Game_BattlerBase
  def item_apply(user, item)
    @result.clear
    @result.used = item_test(user, item)
    @result.missed = (@result.used && rand >= item_hit(user, item))
    @result.evaded = (!@result.missed && rand < item_eva(user, item))
    if /<随机增加最大HP\s*(\d+)>/ =~ item.note
        add_param(0,rand($1.to_i)+1)
    end
    if @result.hit?
      unless item.damage.none?
        @result.critical = (rand < item_cri(user, item))
        make_damage_value(user, item)
        execute_damage(user)
      end
      
      item.effects.each {|effect| item_effect_apply(user, item, effect) }
      item_user_effect(user, item)
    end
  end
  def item_test(user, item)
    return false if item.for_dead_friend? != dead?
    return true if $game_party.in_battle
    return true if item.for_opponent?
    return true if item.damage.recover? && item.damage.to_hp? && hp < mhp
    return true if item.damage.recover? && item.damage.to_mp? && mp < mmp
    return true if item_has_any_valid_effects?(user, item)
    return true if /<随机增加最大HP\s*(\d+)>/ =~ item.note
    return false
  end
end[/pre]
笨肉包的游戏讨论群932812135 (实时更新) 喜欢的话欢迎加入~
目前的坑
??? #像素风OC游戏 准备中 短篇-约5小时
花城梦之心 #像素风OC游戏 系统开发+素材绘制中
【不可思议的迷宫】幽灵契约外传:歌莉娅 v0.4 游戏文件已更新
同时更新中~ (沉迷摸鱼中~更新速度较慢请见谅w)
这是属于笨肉包一个人的旅行~(这只肉包又在摸鱼!
旅途的最终目标~ ???(保密~
回复

使用道具 举报

梦石
0
星屑
3784
在线时间
933 小时
注册时间
2017-1-19
回帖
156
 楼主| 发表于 2017-6-25 22:14:44 | 显示全部楼层
非常感谢
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部