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

Project1

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

[已经解决] RMVA里的自定义伤害公式可以自由到什么程度?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
144
在线时间
7 小时
注册时间
2019-8-30
帖子
4
跳转到指定楼层
1
发表于 2019-11-24 23:21:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
如题,由于系统是把伤害公式当作脚本去读取,所以除了加减乘除还可以写出很多骚东西来,
目前我知道的有:
①加减乘除 a.atk-b.def,
②引入开关、变量的值 s[1]、v[1],
③三目运算符 a.atk>100? a.atk*10 : a.atk*5
求大佬再列举些别的功能
meow

Lv4.逐梦者

梦石
0
星屑
14767
在线时间
5839 小时
注册时间
2011-7-18
帖子
159

开拓者

2
发表于 2019-11-25 01:35:27 | 只看该作者
https://rpg.blue/thread-307316-1-2.html
适合学习 里面有很多很好的例子

评分

参与人数 1星屑 +50 收起 理由
VIPArcher + 50 塞糖

查看全部评分

这里岚风·雷,任饭、PM理性粉、UT/DR原作粉、(Trans)Furry自萌,半吊子技术一枚_(:з」∠)_    游戏制作交流工(liao)作(tian)室欢迎来玩!
【无偿/有偿】RGSS3(VA)脚本定制 + 合作招募/同好交友    修正Firefox/火狐浏览器的代码框复制问题(油猴脚本)
Click→←Click
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2605
在线时间
896 小时
注册时间
2011-4-30
帖子
131

开拓者

3
发表于 2019-11-25 18:00:04 | 只看该作者
这么说吧只要是脚本执行那基本可以说是万能的。它的源方法是写在RGSS内部的,F1可以找到,当然你可以覆盖它
  1. class RPG::UsableItem::Damage
  2.   def eval(a, b, v)
  3.     [Kernel.eval(@formula), 0].max * sign rescue 0
  4.   end
  5. end
复制代码

它的调用在Game_Battler中
value = item.damage.eval(user, self, $game_variables)
也就是说把源方法改了,参数也不一定是abv,你可以把它改成你自己的计算模板
当然不一定是伤害,啥都可能

点评

你说的开关值原本并不能实现,你可以加一个参数s并把$game_switches传进去来实现  发表于 2019-11-25 18:05
这里的abv也就涉及到引用传参  发表于 2019-11-25 18:01
回复 支持 1 反对 0

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 12:46

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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