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

Project1

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

[已经解决] 如何让一个技能的成功率与两方属性有关?

[复制链接]

Lv2.观梦者

梦石
0
星屑
424
在线时间
196 小时
注册时间
2014-4-18
帖子
207
跳转到指定楼层
1
发表于 2016-7-31 20:03:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
比如说,我想制作一个逃跑技能,这个技能的成功率=我方敏捷总数-敌方敏捷总数+50%,这样的效果如何实现?
那再顺着这个思路,再制作一个佯攻技能,这个技能的成功率=使用者敏捷-目标敏捷+50%,该如何实现?
以上。
怠惰的鸽子

Lv3.寻梦者

梦石
0
星屑
1206
在线时间
561 小时
注册时间
2014-11-30
帖子
155
2
发表于 2016-7-31 20:29:01 | 只看该作者
同问,比如做一个技能效果,带伤害,带状态的,中状态几率跟自身和敌人的属性有关,该怎么做
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
220
在线时间
135 小时
注册时间
2008-4-30
帖子
106
3
发表于 2016-8-8 16:37:42 | 只看该作者
https://rpg.blue/forum.php?mod=v ... ;page=13#pid2672171
YEP.85 – Hit Accuracy
看看这个插件
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
21 小时
注册时间
2014-11-27
帖子
5
4
发表于 2016-8-16 19:51:14 | 只看该作者
我也想做这样的err7技能,楼主问题解决了吗,分享一下呗。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1019 小时
注册时间
2012-4-25
帖子
799
5
发表于 2016-8-16 21:36:25 | 只看该作者
一个非常简单的方法。

首先,敌群通常是确定的,也就是敌人的敏捷总数也是确定,这样的话,可以在敌群里将敌人的敏捷总数(自己计算就可以了)代入变量A

然后将自己的队伍平均敏捷代入变量B。

变量B-变量A + 50代入变量C

然后随机数和变量C比较,大于则脱离战斗
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
22978
在线时间
8639 小时
注册时间
2011-12-31
帖子
3367
6
发表于 2016-8-17 09:36:09 | 只看该作者
本帖最后由 tseyik 于 2016-8-17 10:30 编辑

翻譯中…………
看攻撃的傷害式就可
a.atk * 4 - b.def * 2
攻撃方攻撃力*4-被攻撃方守備力*2
基本知識:
(a為使用者、b為目標)
x.atk  攻擊力
x.def  防禦力
x.mat  魔法攻擊
x.mdf  魔法防禦
x.agi  敏捷/速度
x.luk  幸運
x.mhp  最大HP
x.mmp  最大MP
x.hp  現在HP
x.mp  現在MP
x.tp  現在TP
x.level  現在等級

其他小知識:
属性有効度
x.elementRate(属性ID)
例:用敵之属性1和属性3有効度的平均値計算傷害
a.atk * ((b.elementRate(1) + b.elementRate(3)) / 2)

例:用敵属性1和属性3有効度比較高一方計算傷害
Math.max(a.atk * b.elementRate(1),a,atk * b.elementRate(3))
 
状態有効度
x.stateRate(ステートID)



●防御貫通
b.isGuard() ? m * b.grd : n

防御状態無視技能。
m和n為計算式
例:防御中的敵人通常傷害2倍
a.atk * (b.isGuard() ? 4 * b.grd : 1)


いわゆる、防御状態を無視できるスキルを作れます。
mとnには、それぞれ数値や計算式を入れてください。

例:防御している敵には通常の2倍の威力のダメージを与え、それ以外の敵には通常のダメージを与える
a.atk * (b.isGuard() ? 4 * b.grd : 1)

ちなみに、x.grdで対象の防御効果率を算出できます。

●特定のステートにかかっているかを調べる
x.isStateAffected(ステートID) ? m : n

敵が毒にかかってたら威力が上がるスキルや、使用者が特定のステートにかかってたら威力が上がるスキルなどが作れます。
例:敵が3番目のステートにかかってたら、威力が2倍になる。
かかってなかったら、通常の威力になる。
a.mat * (b.isStateAffected(3) ? 2 : 1)

●特定の能力値が1段階以上強化されているかを調べる
x.isBuffAffected(パラメータID) ? m : n

使い方は、上のものと大体一緒です。
使用効果の能力値で能力を強化した場合のみ反映されます。
パラメータIDは、0~7の整数のどれかが入ります
0:HP 1:MP 2:攻撃力 3:防御力 4:魔法力 5:魔法防御力 6:敏捷性 7:運

●特定の能力値が1段階以上弱体化されているかを調べる
x.isDebuffAffected(パラメータID) ? m : n

●特定の能力値が最大まで強化されているかを調べる
x.isMaxBuffAffected(パラメータID) ? m : n

●特定の能力値が最大まで弱体化されているかを調べる
x.isMaxDebuffAffected(パラメータID) ? m : n

●最低でも1のダメージを与える
Math.max(m,1)

mには任意の計算式を入れてください。
maxをminに変えれば、maxと逆のことができます。

●1~3の中からランダムでダメージを与える:
(Math.random() * 3) + 1

0から始める場合は、「+1」を消せばいけます。

●瀕死で威力が上がるスキル
a.atk * 4 *(a.hp <= a.mhp / 5 ? 2 : 1) - b.def * 2

点评

抱歉现在才回,有点看不懂…………  发表于 2016-12-30 21:35
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
12639
在线时间
909 小时
注册时间
2014-10-24
帖子
322
7
发表于 2016-8-17 10:25:21 | 只看该作者
看来楼上出现大神了
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
21 小时
注册时间
2014-11-27
帖子
5
8
发表于 2016-8-17 16:01:28 | 只看该作者
tseyik 发表于 2016-8-17 09:36
翻譯中…………
看攻撃的傷害式就可
a.atk * 4 - b.def * 2

翻了半天的教程头都大了,大神能教个具体的方法吗?
我想做个:魔法的命中率=施法者的智力-目标的智力+20%
要怎么实现呢,在技能注释那里写代码有用吗?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1019 小时
注册时间
2012-4-25
帖子
799
9
发表于 2016-8-18 12:52:25 | 只看该作者
youelin 发表于 2016-8-17 16:01
翻了半天的教程头都大了,大神能教个具体的方法吗?
我想做个:魔法的命中率=施法者的智力-目标的智力+20 ...

如果MV的战斗处理顺序跟VA是一样的话,在战斗公式里写是不可能的事情,因为在VA中,战斗公式的引入是在判断命中与否之后。

我有一个想法,未知道是否确定可行,需要几个YEP的插件。

一个是YEP的额外属性处理插件,将命中HIT改成条件分歧, 比如说某开关ON 的时候 HIT = (a.mat - b.mat +20)/100,当然,开关改成最好能在公式里进行修改的。比如附加特殊状态

二个是YEP伤害管理插件,将伤害计算公式放在命中计算之前,伤害处理放在命中计算之后,理论上应该可以达到你想要的方法
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
22978
在线时间
8639 小时
注册时间
2011-12-31
帖子
3367
10
发表于 2016-8-18 14:15:31 | 只看该作者
動的データベース構築プラグイン
http://triacontane.blogspot.hk/2 ... ipt-javascript.html
1        アニメーション        <DDアニメーション:f> (f:計算式)        "スキル
武器
アイテム"        アニメーションを指定します。        "計算式は、まず制御文字の変換を行ってから文字列をJavaScriptとして評価します。
例:(\v[2] + 10) / \v[1]
変数[2]に10を加算した値を変数[1]で除算した結果が設定値になります。"                               
2        アイコン        <DDアイコン:f> (f:計算式)        全般        アイコンを指定します。                                       
3        命中タイプ        <DD命中タイプ:f> (f:計算式)        "スキル
アイテム"        命中タイプのプルダウン番号を指定します。        "プルダウン番号は一番上の選択項目から順番に0,1,2...です。
0:
以後も同様。"                               
4        使用可能時        <DD使用可能時:f> (f:計算式)        "スキル
アイテム"        使用可能時のプルダウン番号を指定します。                                       
5        連続回数        <DD連続回数:f> (f:計算式)        "スキル
アイテム"        連続回数を指定します。                                       
6        範囲        <DD範囲:f> (f:計算式)        "スキル
アイテム"        範囲のプルダウン番号を指定します。                                       
7        速度補正        <DD速度補正:f> (f:計算式)        "スキル
アイテム"        速度補正を指定します。                                       
8        成功率        <DD成功率:f> (f:計算式)        "スキル
アイテム"        成功率を指定します。                                       
9        消費TP        <DD消費TP:f> (f:計算式)        スキル        消費TPを指定します。                                       
10        得TP        <DD得TP:f> (f:計算式)        "スキル
アイテム"        得TPを指定します。                                       
11        消費MP        <DD消費MP:f> (f:計算式)        スキル        消費MPを指定します。                                       
12        属性        <DD属性:f> (f:計算式)        "スキル
アイテム"        属性のプルダウン番号を指定します。        "このプルダウンは他と異なり一番上が「-1」になります。
通常攻撃:-1
なし:0
各属性:1..."                               
13        タイプ        <DDタイプ:f> (f:計算式)        "スキル
アイテム"        タイプのプルダウン番号を指定します。                                       
14        分散度        <DD分散度:f> (f:計算式)        "スキル
アイテム"        分散度を指定します。                                       
15        価格        <DD価格:f> (f:計算式)        "アイテム
武器
防具"        価格を指定します。                                       
16        最大HP        <DD最大HP:f> (f:計算式)        "武器
防具
敵キャラ"        最大HPを指定します。                                       
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-2 21:03

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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