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

Project1

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

[有事请教] 求大佬帮忙改一下以前VA版主帮我弄的脚本内容

[复制链接]

Lv2.观梦者

梦石
0
星屑
417
在线时间
125 小时
注册时间
2010-10-11
帖子
96
跳转到指定楼层
1
发表于 2020-5-10 20:11:36 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
本帖最后由 raisewing 于 2020-5-17 16:39 编辑

在VA的Game_BattlerBase写入,麻烦帮忙改成MV可用的


    if self.state?(2) && self.actor?
      #↑这句的意思是当self在状态2且是玩家人物时返回true进入接下来的判断,否者跳过。
      # 因为敌人是没有装备的,所以不添加是否是玩家的判断会报错。
      self.armors.include?($data_armors[1]) ? add_state(3) : remove_state(3)
      # 上面这句的格式叫“三目运算符”,它的作用是当?号前的内容是true时返回 : 前的内容,如果不是则返回 : 后的内容;
      # self.armors.include?($data_armors[1]) 的意思就是当主体的装备有防具1(也就是布衣时),
      # 自动附加状态3,否则移除状态3。
    end
    if self.actor? && $game_actors.include?(self) #这里是判断角色是否是玩家,且所有人物是否已经初始化
      dead = 0 #这里是设置了一个临时变量
      $game_party.battle_members.each {|actor| dead += 1 if actor.dead?} #检测参战人物中死亡者的个数,如果有则让dead变量+1
      case dead #根据dead变量的值,判断主体是否带有特定装备,并附加对应的状态
      when 1 #如果死亡者为1个,附加状态3
        self.armors.include?($data_armors[1]) ? add_state(3) : remove_state(3)
      when 2 #如果死亡者为2个,附加状态4
        self.armors.include?($data_armors[1]) ? add_state(4) : remove_state(4)
      when 3 #如果死亡者为3个,附加状态5
        self.armors.include?($data_armors[1]) ? add_state(5) : remove_state(6)
      end
    end

Lv3.寻梦者

梦石
0
星屑
4078
在线时间
141 小时
注册时间
2018-1-22
帖子
137
18
发表于 2020-5-21 20:31:19 | 只看该作者
raisewing 发表于 2020-5-21 16:05
再请教一下另外一条。当装备1号护甲时,装备者如果处于(2号状态)中毒状态时,自动添加3号状态全能力强 ...

之前根据死亡成员数量强化属性的可行吗?
给1号护甲加上备注<Passive State: 3>,然后在3号状态里加上备注: (如果无效请告诉我,我再试试)
  1. <Custom Passive Condition>
  2. if (user.isStateAffected(2)) {
  3.     condition = true;
  4. } else {
  5.     condition = false;
  6. }
  7. </Custom Passive Condition>
复制代码



点评

好用,真香!~~~  发表于 2020-5-21 21:15

评分

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

查看全部评分

自分自身の神様になること
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2727
在线时间
210 小时
注册时间
2017-9-28
帖子
283
17
发表于 2020-5-21 19:07:12 | 只看该作者
raisewing 发表于 2020-5-21 16:05
再请教一下另外一条。当装备1号护甲时,装备者如果处于(2号状态)中毒状态时,自动添加3号状态全能力强 ...

我前面写了自己看啊,Remove

点评

谢谢大佬,已经搞定了,之前的代码不知道什么原因在我这是的时候一直默认自动加持了能力强化状态!  发表于 2020-5-21 21:17

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
417
在线时间
125 小时
注册时间
2010-10-11
帖子
96
16
 楼主| 发表于 2020-5-21 16:05:52 | 只看该作者
526396987 发表于 2020-5-20 01:22
你重新定义一个新状态,比如说20号状态,什么都不要设置,图标也不要有,然后给武器/装备的备注栏里加上, ...

再请教一下另外一条。当装备1号护甲时,装备者如果处于(2号状态)中毒状态时,自动添加3号状态全能力强化,当(2号状态)中毒状态解除后3号状态也随机消失。这个应该怎么写?
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
417
在线时间
125 小时
注册时间
2010-10-11
帖子
96
15
 楼主| 发表于 2020-5-20 12:29:27 | 只看该作者
擦不完的水 发表于 2020-5-20 09:12
我测试过没什么问题,你插件弄了没

插件装了,确实也生效了的,因为看到中毒状态增益的那个BUFF被自动赋予了。还是说这个插件有需要放在哪个具体核心下?
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33485
在线时间
5108 小时
注册时间
2012-11-19
帖子
4878

开拓者

14
发表于 2020-5-20 09:39:12 | 只看该作者
翻译了一下,至于放在哪儿的,我也不知道

  1. if (this.isActor()) {
  2.     var result = this.isEquipped($dataArmors[1]);
  3.     if (this.isStateAffected(2)) result ? this.addState(3) : this.eraseState(3);
  4.     if (!!$gameActors._data[this.actorId()]) {
  5.         var dead = $gameParty.battleMembers().filter(function(a){return a.isDead();}).length;
  6.         var stateId = [0,3,4,5][dead];
  7.         if (stateId > 0) result ? this.addState(stateId) : this.eraseState(stateId);
  8.     }
  9. }
复制代码

评分

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

查看全部评分

xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2727
在线时间
210 小时
注册时间
2017-9-28
帖子
283
13
发表于 2020-5-20 09:12:09 | 只看该作者
raisewing 发表于 2020-5-20 00:14
谢谢大佬,第一条我的测试的结果是2号状态在人物装备上后并没有中毒时已经生效了。
第二条的话如果我也是 ...

我测试过没什么问题,你插件弄了没

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4078
在线时间
141 小时
注册时间
2018-1-22
帖子
137
12
发表于 2020-5-20 01:22:50 | 只看该作者
本帖最后由 526396987 于 2020-5-20 01:26 编辑

你重新定义一个新状态,比如说20号状态,什么都不要设置,图标也不要有,然后给武器/装备的备注栏里加上<Passive State: 20>,意思就是给这个武器/装备附加上20号状态,最后在这个20号状态的备注里加上下面这段:(这样做就不用判断装备是否在身上了,因为脱下装备后这个状态自动移除,而这个状态的作用就是根据死亡人数来添加别的状态)
  1. <Custom Passive Condition>
  2. if ($gameParty.deadMember().length === 1) {
  3.     user.addState(3);
  4.     user.removeState(4);
  5.     user.removeState(5);
  6.     condition = true;
  7. } else if ($gameParty.deadMember().length === 2) {
  8.     user.addState(4);
  9.     user.removeState(3);
  10.     user.removeState(5);
  11.     condition = true;
  12. } else if ($gameParty.deadMember().length === 3) {
  13.     user.addState(5);
  14.     user.removeState(3);
  15.     user.removeState(4);
  16.     condition = true;
  17. } else {
  18.     user.removeState(3);
  19.     user.removeState(4);
  20.     user.removeState(5);
  21.     condition = false;
  22. }
  23. </Custom Passive Condition>
复制代码



点评

这个队友阵亡加能力,好用!  发表于 2020-5-21 15:19
应该是$gameParty.deadMembers().length 你试试这个,最后少了个s,看看行不行  发表于 2020-5-20 19:42
$gameParty.deadMember is not a function是什么原因?  发表于 2020-5-20 16:10
我是想强化人物属性翻倍,我去试试。  发表于 2020-5-20 13:06
而且还有一点,param[]这种,指的是装备的属性,不是你人物的属性,因为前面的对象的$dataArmor而不是$gameActor,看你是要强化装备属性还是人物属性  发表于 2020-5-20 01:37

评分

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

查看全部评分

自分自身の神様になること
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
417
在线时间
125 小时
注册时间
2010-10-11
帖子
96
11
 楼主| 发表于 2020-5-20 00:14:16 | 只看该作者
本帖最后由 raisewing 于 2020-5-20 00:41 编辑
擦不完的水 发表于 2020-5-19 18:24
虽然不是特别好,有问题再问吧


谢谢大佬,第一条我的测试的结果是2号状态在人物装备上后并没有中毒时已经生效了。
第二条的话如果我也是想让装备角色全能力翻倍的话应该怎么改?
params[4]是指魔法攻击吧?如果是全能力的话就[1,2,3,4,5,6,7,8]这样写么?
我测试了一下,好像人物属性并没有得到提升。麻烦大佬了!
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2727
在线时间
210 小时
注册时间
2017-9-28
帖子
283
10
发表于 2020-5-19 18:24:56 | 只看该作者
本帖最后由 擦不完的水 于 2020-5-19 18:27 编辑

虽然不是特别好,有问题再问吧

评分

参与人数 1+1 收起 理由
raisewing + 1 谢谢大佬,我去试试

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-26 20:37

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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