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

Project1

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

[已经解决] 状态法 如何 达到暂时增加 Maxhp 和Maxmp的效果?

 关闭 [复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
7 小时
注册时间
2011-1-20
帖子
11
跳转到指定楼层
1
发表于 2011-11-2 21:56:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽

Lv1.梦旅人

梦石
0
星屑
50
在线时间
134 小时
注册时间
2009-3-29
帖子
470
2
发表于 2011-11-2 23:42:34 | 只看该作者
你好,欢迎光临,请看图。再见!



点评

虾米,虾米我果然是黑黑痴!呜呜呜  发表于 2011-11-3 00:22
LZ要增加的是MaxHP和MaxMP 你这个只是恢复=。=  发表于 2011-11-3 00:13
满血就加满血,一点一点加就像图上。  发表于 2011-11-2 23:44
黑之结界勇士
回复

使用道具 举报

Lv1.梦旅人

星君

梦石
0
星屑
83
在线时间
2980 小时
注册时间
2011-10-9
帖子
2317

贵宾短篇七萝莉正太组冠军

3
发表于 2011-11-3 00:16:45 | 只看该作者
必须脚本调用的……
不过默认脚本里面好像没有暂时增加MaxHP和MaxMP
可以自行修改脚本
(注释神马的……)

回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
134 小时
注册时间
2009-3-29
帖子
470
4
发表于 2011-11-3 00:32:43 | 只看该作者
被我发现了:10秒后自动变回


黑之结界勇士
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
354
在线时间
1036 小时
注册时间
2011-5-19
帖子
2098
5
发表于 2011-11-3 14:08:43 | 只看该作者
本帖最后由 MSQ 于 2011-11-4 14:55 编辑

抱歉,偶的方法经测试,会产生叠加效果。(丢脸丢大了~~{:nm_2:} )
本来想删去的,但想一想,还是留着抛砖引玉吧~~
图裂了~~囧





回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
116 小时
注册时间
2008-5-12
帖子
264
6
发表于 2011-11-4 09:47:10 | 只看该作者
本帖最后由 shinliwei 于 2011-11-4 10:54 编辑
  1. # 设定模块,设定五项能力值的最大值

  2. module Enhance_State
  3.   CRITICAL_MAX = 100
  4.   HIT_MAX = 100
  5.   EVA_MAX = 100
  6.   MAXHP_MAX = 9999
  7.   MAXMP_MAX = 9999
  8.   ODDS_MAX =30
  9.   DEF_MAX =999
  10.   AGI_MAX =999
  11.   SPI_MAX =999
  12.   ATK_MAX =999
  13. end

  14. # RPG::State模块,定义读取三种附加能力
  15. module RPG
  16.   class State
  17.     def cri_plus
  18.       return read_note("cri_plus")
  19.     end
  20.    
  21.     def hit_plus
  22.       return read_note("hit_plus")
  23.     end
  24.    
  25.     def eva_plus
  26.       return read_note("eva_plus")
  27.     end
  28.    
  29.     def maxhp_plus
  30.       return read_note("maxhp_plus")
  31.     end
  32.    
  33.     def maxmp_plus
  34.       return read_note("maxmp_plus")
  35.     end
  36.    
  37.     def odds_plus
  38.       return read_note("odds_plus")
  39.     end
  40.    
  41.     def def_plus
  42.       return read_note("def_plus")
  43.     end
  44.    
  45.     def atk_plus
  46.       return read_note("atk_plus")
  47.     end
  48.    
  49.     def spi_plus
  50.       return read_note("spi_plus")
  51.     end
  52.    
  53.     def agi_plus
  54.       return read_note("agi_plus")
  55.     end
  56.   end
  57. end

  58. # 致命一击、命中率和闪躲率等的追加定义
  59. class Game_Actor
  60.   include Enhance_State
  61.   alias :enhance_cri :cri
  62.   def cri
  63.     n = enhance_cri
  64.     states.each do |state|
  65.       next if state.cri_plus == nil
  66.       n += state.cri_plus
  67.     end
  68.     return [n , CRITICAL_MAX].min
  69.   end
  70.   
  71.   alias :enhance_hit :hit
  72.   def hit
  73.     n = enhance_hit
  74.     states.each do |state|
  75.       next if state.hit_plus == nil
  76.       n += state.hit_plus
  77.     end
  78.     return [n , HIT_MAX].min
  79.   end
  80.   
  81.   alias :enhance_eva :eva
  82.   def eva
  83.     n = enhance_eva
  84.     states.each do |state|
  85.       next if state.eva_plus == nil
  86.       n += state.eva_plus
  87.     end
  88.     return [n , EVA_MAX].min
  89.   end
  90.   
  91.   alias :enhance_maxhp :maxhp
  92.   def maxhp
  93.     n = enhance_maxhp
  94.     states.each do |state|
  95.       next if state.maxhp_plus == nil
  96.       n += state.maxhp_plus
  97.     end
  98.     return [n , MAXHP_MAX].min
  99.   end

  100.   alias :enhance_maxmp :maxmp
  101.   def maxmp
  102.     n = enhance_maxmp
  103.     states.each do |state|
  104.       next if state.maxmp_plus == nil
  105.       n += state.maxmp_plus
  106.     end
  107.     return [n , MAXMP_MAX].min
  108.   end
  109.   
  110.   alias :enhance_odds :odds
  111.   def odds
  112.     n = enhance_odds
  113.     states.each do |state|
  114.       next if state.odds_plus == nil
  115.       n += state.odds_plus
  116.     end
  117.     return [n , ODDS_MAX].min
  118.   end
  119.   
  120.   alias :enhance_def :def
  121.   def def
  122.     n = enhance_def
  123.     states.each do |state|
  124.       next if state.def_plus == nil
  125.       n += state.def_plus
  126.     end
  127.     return [n , DEF_MAX].min
  128.   end
  129.   
  130.   alias :enhance_atk :atk
  131.   def atk
  132.     n = enhance_atk
  133.     states.each do |state|
  134.       next if state.atk_plus == nil
  135.       n += state.atk_plus
  136.     end
  137.     return [n , ATK_MAX].min
  138.   end
  139.   
  140.   alias :enhance_spi :spi
  141.   def spi
  142.     n = enhance_spi
  143.     states.each do |state|
  144.       next if state.spi_plus == nil
  145.       n += state.spi_plus
  146.     end
  147.     return [n , SPI_MAX].min
  148.   end
  149.   
  150.   alias :enhance_agi :agi
  151.   def agi
  152.     n = enhance_agi
  153.     states.each do |state|
  154.       next if state.agi_plus == nil
  155.       n += state.agi_plus
  156.     end
  157.     return [n , AGI_MAX].min
  158.   end
  159. end
复制代码
使用方法,脚本插在main之前,在状态的备注栏里写maxhp_plus = 200即表示体力上限增加200

cri爆击
hit命中
eva回避
maxhp体力上限
maxmp法力上限


回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
448
在线时间
628 小时
注册时间
2011-9-27
帖子
3996
7
发表于 2011-11-4 14:52:07 | 只看该作者
本帖最后由 小白玩家 于 2011-11-4 15:10 编辑

事件写错了 下面才对
这样啊 没人和我说

111.jpg (18.38 KB, 下载次数: 18)

111.jpg

点评

MSQ
那个啥……这位同好……在6R连贴过多会扣分的~~建议用编辑功能(小小建议)  发表于 2011-11-4 15:03
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
9 小时
注册时间
2011-11-5
帖子
9
8
发表于 2011-11-6 00:14:51 | 只看该作者
  1. class Game_Battler
  2.   @@对MaxHP有影响的状态 = {
  3.   #状态ID 影响值(若为浮点数则计算百分比)
  4.   2 => 50, #非末尾行补上半角逗号
  5.   3 => 0.2 # 20%
  6.   }
  7.   @@对MaxMP有影响的状态 = {
  8.   #同上
  9.   2 => 5,
  10.   3 => 2.0 # 200%
  11.   }
  12.   alias gasai_yuno_mh maxhp
  13.   def maxhp
  14.     record = @maxhp_plus
  15.     @@对MaxHP有影响的状态.each{|k,v| (@maxhp_plus += v.is_a?(Float) ? base_maxhp * (v - 1) : v) if state?(k)}
  16.     @maxhp_plus = @maxhp_plus.round
  17.     ans = gasai_yuno_mh
  18.     @maxhp_plus = record
  19.     return ans
  20.   end
  21.   alias gasai_yuno_mm maxmp
  22.   def maxmp
  23.     record = @maxmp_plus
  24.     @@对MaxMP有影响的状态.each{|k,v| (@maxmp_plus += v.is_a?(Float) ? base_maxmp * (v - 1) : v) if state?(k)}
  25.     @maxmp_plus = @maxmp_plus.round
  26.     ans = gasai_yuno_mm
  27.     @maxmp_plus = record
  28.     return ans
  29.   end
  30. end
复制代码

点评

如果作者没有特殊说明,脚本只要放在【Main】脚本以前就可以正常使用;放在【Main】脚本之后的脚本都会被忽视掉。  发表于 2011-11-6 10:35
这个…… 怎么使用呢??  发表于 2011-11-6 10:32
我妻由乃 その者、头脳明晰、容姿端丽にして、 ストーカー也

要是阿雪跟這女生關係好起來,說不定阿雪就會喜歡上她。一定要殺掉,絕不會讓任何人接近阿雪的,接近阿雪的傢伙都要殺掉!你們這群傢伙也想把阿雪從我身邊奪走是吧?
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-7-24 10:52

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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