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

Project1

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

[有事请教] 请问如何设置不同职业对不同武器的熟练度

[复制链接]

Lv2.观梦者

梦石
0
星屑
268
在线时间
160 小时
注册时间
2014-9-17
帖子
67
跳转到指定楼层
1
发表于 2019-7-30 22:31:25 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
请问如何设置不同职业对不同武器的熟练度,如A和B职业都可以装备镰刀,但是A装备之后伤害比B高
c

Lv3.寻梦者

梦石
0
星屑
3511
在线时间
420 小时
注册时间
2019-3-3
帖子
87
2
发表于 2019-7-30 22:37:40 | 只看该作者
本帖最后由 多卡多卡 于 2019-7-30 22:51 编辑

JAVASCRIPT 代码复制
  1. var _Game_Action_executeDamage = Game_Action.prototype.executeDamage;
  2. Game_Action.prototype.executeDamage = function (target, value) {
  3. if(value>0)/*大于0时为伤害量,小于0时为治疗量*/{
  4.     if(this.subject().isActor() &&  this.subject().actorId() == 1/*A的Id*/  && this.subject()._classId == 1/*职业Id*/){
  5.         this.subject().equips().forEach(function (equip){
  6.              if (equip != null  && equip.wtypeId != undefined && equip.wtypeId == 5/*假设镰刀的类型为5*/)
  7.               value *= 1.2;/*伤害倍率*/
  8.     });
  9. }}
  10. _Game_Action_executeDamage.call(this, target, value);
  11. }

如果要实现多个加成效果,就把第二个if里的复制一下改下参数就行了。

如果说是武器熟练度插件,这里有个日站的(需要科学上网)
http://dourakusoftweb.blog.fc2.com/blog-entry-4.html
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv3.寻梦者

梦石
0
星屑
2379
在线时间
912 小时
注册时间
2014-10-14
帖子
1331

开拓者

3
发表于 2019-7-31 00:41:08 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3511
在线时间
420 小时
注册时间
2019-3-3
帖子
87
4
发表于 2019-7-31 07:35:30 | 只看该作者
j296196585 发表于 2019-7-31 00:41
== 1/*A的Id*/这是什么意思 、
[classId == 20, 21/*职业Id*/ 如何添加多个职业 多卡大兄弟/ size]


第一个是角色的Id
如果要添加多个职业,可以这样:
  1. var list = [1,2,3];//职业Id
  2. list.contains(this.subject()._classId);
复制代码

至于大于30之后,我测试时没发现有问题,是不是和你用的某些插件冲突了?

点评

放在第2行和第3行之间  发表于 2019-7-31 15:15
不是 是这个 var list = [1,2,3];//职业Id list.contains(this.subject()._classId); 怎么添加  发表于 2019-7-31 14:19
自己做一个空白插件,把代码加进去就行了  发表于 2019-7-31 12:01
关键这个代码 我还是不会添加 QAQ  发表于 2019-7-31 11:30

评分

参与人数 1+1 收起 理由
j296196585 + 1 可能吧

查看全部评分

回复 支持 反对

使用道具 举报

头像被屏蔽

Lv3.寻梦者

梦石
0
星屑
2379
在线时间
912 小时
注册时间
2014-10-14
帖子
1331

开拓者

5
发表于 2019-7-31 16:03:10 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3511
在线时间
420 小时
注册时间
2019-3-3
帖子
87
6
发表于 2019-7-31 17:20:43 | 只看该作者
本帖最后由 多卡多卡 于 2019-7-31 17:28 编辑
j296196585 发表于 2019-7-31 16:03
多卡大兄弟 你看是这样吗

怎样添加 角色   我自己鼓捣半天好像没效果  ...



如果要添加多个角色,就把蓝色的这部分复制一下,放在第一个if的里面就行了
如果不同的人职业不同,就多定义几个list取不同名称就行了
当做成结构体的形式时要多写很多代码,所以角色不是很多时这样会简单些

点评

我之所以 一直问 主要想实现俩点 武修 所有武器可以装备但是使用效果只能正常 剑修只能装备长剑其他武器不可使用 但是使用效果增加一半  发表于 2019-7-31 18:06

评分

参与人数 1+1 收起 理由
j296196585 + 1 多卡大兄弟 这个小插件真是好东西.

查看全部评分

回复 支持 反对

使用道具 举报

头像被屏蔽

Lv3.寻梦者

梦石
0
星屑
2379
在线时间
912 小时
注册时间
2014-10-14
帖子
1331

开拓者

7
发表于 2019-7-31 18:00:43 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3511
在线时间
420 小时
注册时间
2019-3-3
帖子
87
8
发表于 2019-7-31 18:18:24 | 只看该作者
j296196585 发表于 2019-7-31 18:00
放在第一个if的里面就行了 【我是猪 】看不明白
如果不同的人职业不同,就多定义几个list取不同 ...

这个应该够详细了,自己对着看吧
对于一个角色能够使用哪些武器,这个不需要插件,直接角色那里调就可以了

评分

参与人数 1+1 收起 理由
j296196585 + 1 超级感谢

查看全部评分

回复 支持 反对

使用道具 举报

头像被屏蔽

Lv3.寻梦者

梦石
0
星屑
2379
在线时间
912 小时
注册时间
2014-10-14
帖子
1331

开拓者

9
发表于 2019-7-31 19:08:12 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
268
在线时间
160 小时
注册时间
2014-9-17
帖子
67
10
 楼主| 发表于 2019-7-31 19:44:25 | 只看该作者
多卡多卡 发表于 2019-7-30 22:37
var _Game_Action_executeDamage = Game_Action.prototype.executeDamage;
Game_Action.prototype.execute ...

多卡大神,我用了你的脚本,发现只要我一装备武器就报错:cannot read property 'params' of null
为此我改了代码,还是报这个错,请问为什么?
JAVASCRIPT 代码复制
  1. // Author:Doka
  2. // Modified by cc Artermices
  3. // 如果要实现多个加成效果,就把第二个if里的复制一下改下参数就行了
  4.  
  5. var _Game_Action_executeDamage = Game_Action.prototype.executeDamage;
  6. Game_Action.prototype.executeDamage = function (target, value) {
  7. if(value>0)/*大于0时为伤害量,小于0时为治疗量*/{
  8.    if(this.subject().isActor() && this.subject().actorId() > 0 ){
  9.        if(this.subject()._classId == 16/*枪手*/){
  10.                        this.subject().equips().forEach(function (equip){
  11.                        if (equip != null  && equip.wtypeId != undefined){
  12.                                switch(equip.wtypeId){
  13.                                        case 9 /*轻枪*/:
  14.                                                value *= 1.2;/*伤害倍率*/
  15.                                                break;
  16.                                        case 20 /*重枪*/
  17.                                                value *= 1.1;
  18.                                                break;
  19.                                        default:
  20.                                }
  21.                        }
  22.        });
  23.        }else if(this.subject()._classId == 17/*潜行者*/){
  24.                        this.subject().equips().forEach(function (equip){
  25.                        if (equip != null  && equip.wtypeId != undefined){
  26.                                switch(equip.wtypeId){
  27.                                        case 1 /*匕首*/:
  28.                                                value *= 1.2;
  29.                                                break;
  30.                                        case 17 /*忍刀*/
  31.                                                value *= 1.1;
  32.                                                break;
  33.                                        default:
  34.                                }
  35.                        }
  36.        });
  37.        }
  38.    }
  39. }
  40. _Game_Action_executeDamage.call(this, target, value);
  41. }
c
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-14 11:35

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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