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

Project1

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

[已经解决] 请问如何在游戏中加入新的能力值?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
65
在线时间
43 小时
注册时间
2008-7-29
帖子
9
跳转到指定楼层
1
发表于 2016-5-30 20:28:43 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
可以不用显示出来。

Lv1.梦旅人

梦石
0
星屑
72
在线时间
14 小时
注册时间
2016-5-28
帖子
11
2
发表于 2016-5-30 21:06:50 | 只看该作者
不用显示的话...设置个变量不就好?
需要的时候读取变量参与运算就可以了吧?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
65
在线时间
43 小时
注册时间
2008-7-29
帖子
9
3
 楼主| 发表于 2016-5-30 21:35:39 | 只看该作者
roymustang0211 发表于 2016-5-30 21:06
不用显示的话...设置个变量不就好?
需要的时候读取变量参与运算就可以了吧?
...

但是变量只有一个,而能力值则是每名角色都有的。如果用变量做的话,做技能的伤害公式之类时会很难引用。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
72
在线时间
14 小时
注册时间
2016-5-28
帖子
11
4
发表于 2016-5-31 07:38:36 | 只看该作者
lyb9707 发表于 2016-5-30 21:35
但是变量只有一个,而能力值则是每名角色都有的。如果用变量做的话,做技能的伤害公式之类时会很难引用。 ...

我倒是觉得没那么麻烦。
这样吧,具体来说你想加一个什么样的能力值呢?
在伤害公式中具体如何参与运算?
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

5
发表于 2016-5-31 08:10:19 | 只看该作者
lyb9707 发表于 2016-5-30 21:35
但是变量只有一个,而能力值则是每名角色都有的。如果用变量做的话,做技能的伤害公式之类时会很难引用。 ...

每个角色对应一个变量,技能公式中可以通过角色id加上一个固定的偏移量获取

比如 1号角色对应 101号变量,2号角色对应102号变量……以此类推
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
65
在线时间
43 小时
注册时间
2008-7-29
帖子
9
6
 楼主| 发表于 2016-5-31 10:18:45 | 只看该作者
taroxd 发表于 2016-5-31 08:10
每个角色对应一个变量,技能公式中可以通过角色id加上一个固定的偏移量获取

比如 1号角色对应 101号变量 ...

对不起,不是很明白……能否说得更详细一些?关于技能公式的设定方面。
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
23068
在线时间
8648 小时
注册时间
2011-12-31
帖子
3367
7
发表于 2016-5-31 10:46:22 | 只看该作者
你可參孝這個
http://midori.wp.xdomain.jp/?p=284
MV Plugin 生活パラメータ
新規にパラメータを5つ追加します。
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

8
发表于 2016-5-31 11:18:36 | 只看该作者
lyb9707 发表于 2016-5-31 10:18
对不起,不是很明白……能否说得更详细一些?关于技能公式的设定方面。 ...

大概是这个意思,没有测试。
如果确定技能释放者不会是敌人的话,用 a.actorId() + 100 就可以
  1. v[a.isActor() ? a.actorId() + 100 : a.enemyId() + 200]
复制代码
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
65
在线时间
43 小时
注册时间
2008-7-29
帖子
9
9
 楼主| 发表于 2016-5-31 13:25:20 | 只看该作者
tseyik 发表于 2016-5-31 10:46
你可參孝這個
http://midori.wp.xdomain.jp/?p=284
MV Plugin 生活パラメータ

看起来确实很有用,但是因为是日语所以看得不是很懂……
麻烦问一下如何使用事件里的脚本,对某一角色的某一参数进行赋值呢?
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
277
在线时间
53 小时
注册时间
2014-1-24
帖子
18
10
发表于 2016-6-3 12:51:31 | 只看该作者
本帖最后由 qq420134293 于 2016-6-3 12:54 编辑

Game_Actor.prototype.paramBase = function (paramId) { //取消职业属性,获取Actors.json里属性
         var thisparam = this.getParams(paramId);
     if (thisparam == 0) {
         thisparam = this.currentClass().params[paramId][this._level];
     }
     return Math.ceil(thisparam);
};

//获取属性方法
Game_Actor.prototype.getParams = function (paramsID) {
    return this._paramsAll[paramsID];
};

Game_Actor.prototype.setup = function (actorId) {
    var actor = $dataActors[actorId];
    this._paramsAll = actor.params;//Actors.json里的角色属性
    this._actorId = actorId;
    this._candie = actor.die == 0 ? true : false;
    this._deter = Math.ceil(actor.Deterrence); //威慑
    this._resis = Math.ceil(actor.Resistance); //抵抗
    this._name = actor.name;
    this._nickname = actor.nickname;
    this._profile = actor.profile;
    this._classId = actor.classId;
    this._level = actor.initialLevel;
    this.initImages();
    this.initExp();
    this.initSkills();
    this.initEquips(actor.equips);
    this.clearParamPlus();
    this.recoverAll();
};


Game_Action.prototype.executeDamage = function (target, value) {
    var result = target.result();
    if (value === 0) { result.critical = false; }
    var plusvalue = this.DeterResis(0, 0) - target.DeterResis(1, 0); //获取威慑抵抗差值,正直,翻plusvalue倍,负值伤害减倍
    while (plusvalue <= -50) { value /= 2; plusvalue + 50; }
    if (plusvalue > -50) value *= (plusvalue / 100 + 1)
    if (this.isHpEffect()) {
        this.executeHpDamage(target, value);
    }
    if (this.isMpEffect()) {
        this.executeMpDamage(target, value);
    }
};


角色数据里Actors.json里添加params数组,就是角色的属性了。比如下面个角色,血9900,魔9999,攻击999,升级不加属性。
{"id":1,"params":[9900,9999,999,30,30,30,30,30],"battlerName":"Actor1_1","characterIndex":0,"characterName":"Actor1","classId":1,"equips":[1,1,2,3,0],"faceIndex":0,"faceName":"Actor1","traits":[{"code":11,"dataId":1,"value":1}],"initialLevel":1,"maxLevel":99,"name":"哈罗尔德","nickname":"昵称","note":"注释","profile":"简介","Deterrence":99,"Resistance":99},
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-25 02:31

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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