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

Project1

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

[交流讨论] 萌新又来提问题了,怎么设计一个类似梦幻西游善恶有报...

[复制链接]

Lv2.观梦者

梦石
0
星屑
375
在线时间
40 小时
注册时间
2018-12-23
帖子
127
跳转到指定楼层
1
发表于 2018-12-23 20:47:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 fengge127 于 2018-12-23 20:48 编辑

以下是善恶有报技能效果:

善恶有报,指的是攻击时一定概率给予对手造成双倍的伤害或恢复一定气血。恶报可以给对手造成双倍的伤害,善报可能为对方恢复造成伤害50%气血。

恶报可以给对手造成双倍的伤害,善报可能为对方恢复一定气血。。
几率:恶报几率为70%-75%,善报为25-30%。

我想设计一个剧情,让猪脚先做几件好事,获得一点金币,然后在野外遇到一个美女在洗澡,选择偷看,被美女逮住没收所有金币,然后大彻大悟,领悟了善恶有报这个新手村最牛技能,开始他的冒险旅程,大家觉得咋样?还有,要怎样才能实现这个技能?

另,如果我准备设计一把每进行一次战斗,攻击力+1的可成长新手剑,要怎样设计?问题有点多哈,希望大佬可以帮帮我
啦啦啦,这里小萌新一枚。

Lv2.观梦者

梦石
0
星屑
765
在线时间
90 小时
注册时间
2018-10-29
帖子
94
2
发表于 2018-12-24 10:47:24 | 只看该作者
技能设定为公共事件,条件变量1为随机数70-75,条件变量2为随机数25-30,然后再用公共事件
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
375
在线时间
40 小时
注册时间
2018-12-23
帖子
127
3
 楼主| 发表于 2018-12-24 12:43:06 | 只看该作者
无名小生 发表于 2018-12-24 10:47
技能设定为公共事件,条件变量1为随机数70-75,条件变量2为随机数25-30,然后再用公共事件 ...

公共事件怎么设置?还有随机数要怎么设置?大神,能说明白点吗?

我以前学过java,但是现在忘的差不多啦

可以把善恶有报的技能伤害公式设置为一个额外参数吗?比如x,然后定义x

从1-100中产生一个随机数a

如果(1《a《70)
技能类型=hp恢复
动画=回复
x=50%猪脚造成的伤害(也是一个公式)
否则
技能类型=物理攻击
动画=物理攻击
x=2*猪脚造成伤害

我们把善恶有报的概率设为一个固定值好了,不用百度百科的资料

但问题是,我不知到咋写代码,也不知道这种方法可行吗?

或者按照你说的方法(只是我的猜测,我并不知道你的具体想法)

是不是可以把善恶有报设计为两个技能,善报和恶报分开设计,然后在使用技能时调取公共事件产生一个1-100的随机数,如果随机数是1-70,就放恶报技能,如果随机数是71-100,就放善报?
啦啦啦,这里小萌新一枚。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1410
在线时间
183 小时
注册时间
2017-1-29
帖子
92
4
发表于 2018-12-24 13:15:35 | 只看该作者
JS都是伪随机数
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33218
在线时间
10497 小时
注册时间
2009-3-15
帖子
4756
5
发表于 2018-12-24 14:37:05 | 只看该作者
伤害公式里设定吧?
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
375
在线时间
40 小时
注册时间
2018-12-23
帖子
127
6
 楼主| 发表于 2018-12-24 15:02:02 | 只看该作者
本帖最后由 fengge127 于 2018-12-24 15:04 编辑


伪随机数是什么意思?
啦啦啦,这里小萌新一枚。
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
375
在线时间
40 小时
注册时间
2018-12-23
帖子
127
7
 楼主| 发表于 2018-12-24 15:03:55 | 只看该作者
soulsaga 发表于 2018-12-24 14:37
伤害公式里设定吧?

伤害公式计算貌似实现不了

点评

应该可以吧?我记得有人求助过类似公式..你等大大给你公式吧  发表于 2018-12-24 15:25
啦啦啦,这里小萌新一枚。
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
375
在线时间
40 小时
注册时间
2018-12-23
帖子
127
8
 楼主| 发表于 2018-12-24 16:03:36 | 只看该作者
刚我看了下yep大神写的战斗损伤核心js,发现战斗伤害应该和以下代码有关,有学编程的大佬可以告诉我怎么修改吗?

BattleManager.actionFlatDamage = function(actionArgs) {
    if (actionArgs[0].match(/(?:VARIABLE|VAR)[ ](\d+)/i)) {
      var value = parseInt($gameVariables.value(parseInt(RegExp.$1)));
    } else if (actionArgs[0].match(/([\+\-]\d+)/i)) {
      var value = parseInt(RegExp.$1);
    } else if (actionArgs[0].match(/(\d+)/i)) {
      var value = parseInt(RegExp.$1);
    } else {
      return true;
    }
    $gameSystem._flatDamage = value;
    return true;
};
啦啦啦,这里小萌新一枚。
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
375
在线时间
40 小时
注册时间
2018-12-23
帖子
127
9
 楼主| 发表于 2018-12-24 16:05:23 | 只看该作者
还有代码备注里的这段代码,貌似也有点价值

* Skill and Item Notetags:
*   <damage formula>
*    value = 500;
*    value += 2500;
*   </damage formula>
*   This will overwrite the damage formula found at the top and use the
*   strings in the middle as the formula instead. Keep in mind that using
*   comments here will cancel out anything following after. New variables can
*   be used, too, to make damage calculations a bit easier.
*
*   value   - Refers to the amount that will become the base damage value.
*   user    - Refers to the actor/enemy using the skill/item.
*   subject - Refers to the actor/enemy using the skill/item.
*   target  - Refers to the target actor/enemy on the receiving end of
*             the skill/item.
*
啦啦啦,这里小萌新一枚。
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
765
在线时间
90 小时
注册时间
2018-10-29
帖子
94
10
发表于 2018-12-24 17:34:51 | 只看该作者
我只会点事件,代码的不会,我觉得你是大神才对
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-4 05:08

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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