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

Project1

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

[已经解决] 怎么实现法力消耗通过一些计算公式得到?

[复制链接]

Lv3.寻梦者

梦石
0
星屑
4666
在线时间
1117 小时
注册时间
2014-5-9
帖子
163
跳转到指定楼层
1
发表于 2017-12-11 19:37:59 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
怎么实现法力消耗通过一些计算公式得到?而不是自己输的固定的数值

Lv3.寻梦者

梦石
0
星屑
4557
在线时间
807 小时
注册时间
2017-7-14
帖子
170

开拓者

6
发表于 2017-12-27 22:50:29 | 只看该作者
jianyulei 发表于 2017-12-13 15:00
class Game_BattlerBase
  def skill_mp_cost(skill)
    if skill.note.match(//)

大佬,你这个脚本真好用,但是好像技能消耗比例会无效,怎么才能让技能消耗比例特性对你这个脚本有效?

点评

谢谢!  发表于 2017-12-31 10:11
5楼公式已修正  发表于 2017-12-31 08:57
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2920
在线时间
713 小时
注册时间
2010-7-25
帖子
813

开拓者

5
发表于 2017-12-13 15:00:31 | 只看该作者
本帖最后由 jianyulei 于 2017-12-31 08:56 编辑

RUBY 代码复制
  1. class Game_BattlerBase
  2.   def skill_mp_cost(skill)
  3.     if skill.note.match(/<消费 (\S*)>/)
  4.       ((skill.mp_cost + eval($1)) * mcr).to_i
  5.     else
  6.       (skill.mp_cost * mcr).to_i
  7.     end   
  8.   end
  9. end


技能上备注<消费 XX>
XX可以是一个公式也可以是数值,消费和公式之间有个空格,如果得到负值会恢复MP,例如<消费 atk*2> 是技能消费为2倍技能拥有者的攻击力的数值。
以上公式计算后,会在结果加上你数据库里设定的MP消费量得到最终MP消费
回复 支持 1 反对 0

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2724
在线时间
227 小时
注册时间
2016-3-27
帖子
576
4
发表于 2017-12-12 19:39:58 | 只看该作者
设定成变量咯
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1150
在线时间
245 小时
注册时间
2016-2-3
帖子
178

开拓者

3
发表于 2017-12-12 11:19:00 | 只看该作者
其实可以直接改伤害公式:
a.mp- = (计算公式);(原伤害公式)

点评

刚看到 谢谢大神  发表于 2017-12-31 21:32
但只怕是伤害公式不够写,而且用了俩变量就有点...  发表于 2017-12-26 11:25
有点难,思路大概是用一个空变量(如100号)记录一下,然后用1取余再记录到另一个空变量(101号),如果结果不是0,把100号变量减去101号变量  发表于 2017-12-26 11:23
你好大神,一个固定值比如a.mp-=(5);(原公式)这样正常;但是如果是a.mp-=(ammp*0.05);(原公式) 结果有时人物状态里的当前MP会变成小数这个可以解决吗?  发表于 2017-12-21 07:57
究极半吊子
《重生学校》同人作:https://rpg.blue/thread-493882-1-1.html
回复 支持 反对

使用道具 举报

Lv4.逐梦者

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

开拓者

2
发表于 2017-12-11 19:43:16 | 只看该作者
  1. Game_BatterBase

  2.   #--------------------------------------------------------------------------
  3.   # ● 计算技能消费的 MP
  4.   #--------------------------------------------------------------------------
  5.   def skill_mp_cost(skill)
  6.     (skill.mp_cost * mcr).to_i
  7.   end
  8. end
复制代码

改这里面的内容
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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