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

Project1

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

[有事请教] 怎么制作一个只有破防才能造成高伤害的技能

[复制链接]

Lv1.梦旅人

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

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

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

x
想要制作一个专门用来破防的技能,如果使用后对方没有防御,那么伤害就很低(明显低于普攻),如果对方处在防御中,那么伤害就很高(明显高于普攻)。单纯在计算公式中引入自己的攻击力和对方的防御力似乎难以达成这样的伤害差距,我尝试使用变量,但是有很多问题。1,即使我在计算公式里使用了$gameVariables.value(n),伤害依然是0,应该是我没有正确地建立这个变量,我是在公共事件里简单地写了个比如变量1为100这种,然后在技能里引入这个公共事件,可能不太对。2,我不知道如何检测目标的防御状态,虽然公共事件里可以检测防御状态,但是只能检测几号敌人,不能检测技能的目标对象。其实说白了还是不太懂公共事件怎么用,望大佬解答。

Lv3.寻梦者

梦石
0
星屑
1919
在线时间
212 小时
注册时间
2009-11-10
帖子
234
10
发表于 2020-7-27 18:04:34 | 只看该作者
soulsaga 发表于 2020-7-27 15:30
var wtype = $dataWeapons[$gameActors._data[a.actorId()]._equips[0]._itemId].wtypeId;wtype == 2 ? a ...

谢谢。 真长啊。
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
36477
在线时间
10807 小时
注册时间
2009-3-15
帖子
4815
9
发表于 2020-7-27 15:30:52 | 只看该作者
本帖最后由 soulsaga 于 2020-7-27 15:33 编辑
zwlele1980 发表于 2020-7-27 11:54
大佬 根据装备的武器类型 给技能伤害加成的公式怎么写啊 ? 找不到相关的公式和教程啊 。 只好来求教了。 ...


JAVASCRIPT 代码复制
  1. var wtype = $dataWeapons[$gameActors._data[a.actorId()]._equips[0]._itemId].wtypeId;wtype == 2 ? a.atk * 10 - b.def * 2 : wtype == 3 ? a.atk * 8 - b.def * 2 : a.atk * 4 - b.def * 2
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1919
在线时间
212 小时
注册时间
2009-11-10
帖子
234
8
发表于 2020-7-27 11:54:26 | 只看该作者
tseyik 发表于 2020-5-5 19:50
●防御貫通
b.isGuard() ? m * b.grd : n
您可以創建一種可以忽略防御狀態的所謂技能。

大佬 根据装备的武器类型 给技能伤害加成的公式怎么写啊 ? 找不到相关的公式和教程啊 。 只好来求教了。
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
22973
在线时间
8639 小时
注册时间
2011-12-31
帖子
3367
7
发表于 2020-5-5 20:23:59 | 只看该作者

点评

感谢大佬!这些判定式找了好久,终于在您这里看到了!  发表于 2020-5-7 08:24

评分

参与人数 1+1 收起 理由
hanyilun + 1 塞糖

查看全部评分

回复 支持 1 反对 0

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
67
在线时间
9 小时
注册时间
2020-5-3
帖子
12
6
 楼主| 发表于 2020-5-5 20:14:09 | 只看该作者
冷俊逸 发表于 2020-5-5 20:01
a?b:c 是一种常见的语法结构,叫做三目运算符。等价于:

你怎么知道我在模仿摩尔勇士啊!!!我这个技能就叫崩牙呀!

评分

参与人数 1+1 收起 理由
冷俊逸 + 1

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
67
在线时间
9 小时
注册时间
2020-5-3
帖子
12
5
 楼主| 发表于 2020-5-5 20:12:30 | 只看该作者
tseyik 发表于 2020-5-5 19:50
●防御貫通
b.isGuard() ? m * b.grd : n
您可以創建一種可以忽略防御狀態的所謂技能。

谢谢啦,都不知道有这个功能。刚才测试了一下,m/2才是给与防御中敌人伤害的倍数,而n直接就是给与正常敌人伤害的倍数,还真是奇怪啊。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2832
在线时间
397 小时
注册时间
2015-8-8
帖子
443

R考场第七期纪念奖

4
发表于 2020-5-5 20:01:33 | 只看该作者
本帖最后由 冷俊逸 于 2020-5-5 20:02 编辑

a?b:c 是一种常见的语法结构,叫做三目运算符。等价于:

  1. if (a == true){
  2.    b
  3. }
  4. else{
  5.    c
  6. }
复制代码


另外这种技能在摩尔勇士中有,叫做崩牙哈哈

评分

参与人数 1+1 收起 理由
白嫩白嫩的 + 1 我很赞同

查看全部评分

旧作《邵彦朝的大冒险》下载

默默无闻的论坛观察者
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
22973
在线时间
8639 小时
注册时间
2011-12-31
帖子
3367
3
发表于 2020-5-5 19:50:53 | 只看该作者
●防御貫通
b.isGuard() ? m * b.grd : n
您可以創建一種可以忽略防御狀態的所謂技能。
在m和n中輸入數值和公式。
例:給予防御中的人敵通常2倍傷害、以外的敵通常傷害
a.atk * (b.isGuard() ? 4 * b.grd : 1)
順便說一句,您可以使用x.grd計算目標的防禦效率。

点评

66666666666666  发表于 2020-5-5 20:08
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
22973
在线时间
8639 小时
注册时间
2011-12-31
帖子
3367
2
发表于 2020-5-5 19:29:14 | 只看该作者
例:給予防御中的人敵通常2倍傷害、以外的敵通常傷害
a.atk * (b.isGuard() ? 4 * b.grd : 1)

点评

谢谢啦,式子里的?和:是什么含义呢  发表于 2020-5-5 19:45

评分

参与人数 1+1 收起 理由
白嫩白嫩的 + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-30 12:38

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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