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

Project1

 找回密码
 注册会员
搜索
查看: 3833|回复: 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
头像被屏蔽

Lv4.逐梦者 (禁止发言)

梦石
0
星屑
11664
在线时间
28 小时
注册时间
2020-5-15
帖子
25
2
发表于 2020-5-15 19:35:02 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
417
在线时间
125 小时
注册时间
2010-10-11
帖子
96
3
 楼主| 发表于 2020-5-18 00:55:59 | 只看该作者
希望明天起来有大佬回复我!~~
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2988
在线时间
140 小时
注册时间
2018-1-22
帖子
137
4
发表于 2020-5-18 12:26:36 | 只看该作者
才疏学浅,不知道这样可否实现你希望的功能?

  1. for (i = 0; i < $dataActors.length; i++) {
  2.     if ($gameActor.actor(i).isStateAffected(2) && $gameActors.actor(i).equips().contains($dataArmors[1])) {
  3.         $gameActors.actor(i).addState(3);
  4.     } else removeState(3);
  5. };

  6. for (i = 0; i < $dataActors.length; i++) {
  7.     if ($gameActor.actor(i).isBattleMember()) {
  8.         switch ($gameParty.deadMembers().length) {
  9.             case 1:
  10.                 $gameActor.actor(i).equips().contains($dataArmors[1]) ? $gameActors.actor(i).addState(3) : $gameActors.actor(i).removeState(3);
  11.             break;

  12.             case 2:
  13.                 $gameActor.actor(i).equips().contains($dataArmors[1]) ? $gameActors.actor(i).addState(4) : $gameActors.actor(i).removeState(4);
  14.             break;

  15.             case 3:
  16.                 $gameActor.actor(i).equips().contains($dataArmors[1]) ? $gameActors.actor(i).addState(5) : $gameActors.actor(i).removeState(5);
  17.             break;
  18.         };
  19.     };
  20. };
复制代码

点评

其实好像我不清楚应该把这段加入到哪里?  发表于 2020-5-18 15:15

评分

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

查看全部评分

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

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2988
在线时间
140 小时
注册时间
2018-1-22
帖子
137
5
发表于 2020-5-18 17:13:34 | 只看该作者
你不是要加在Game_BattlerBase里面吗?我也不太清楚你是要在什么情况下触发这些判定。

我的建议是,最好用YEP_AutoPassive插件,专门为被动状态定制的,可以在状态备注里加上判定条件,包括有无装备,是否死亡等等。最方便的是可以直接在武器/护甲的备注里绑定你想要的状态,装备上这个武器/护甲就自动附加对应的状态。如果你英文好的话可以去他主页看视频教程 http://www.yanfly.moe/wiki
不好的话简书也有中文翻译的文字教程,简单易懂

点评

我加进去了报错,我试试yep插件看  发表于 2020-5-18 17:31

评分

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

查看全部评分

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

使用道具 举报

Lv2.观梦者

梦石
0
星屑
417
在线时间
125 小时
注册时间
2010-10-11
帖子
96
6
 楼主| 发表于 2020-5-18 17:50:10 | 只看该作者
本帖最后由 raisewing 于 2020-5-18 17:54 编辑
526396987 发表于 2020-5-18 17:13
你不是要加在Game_BattlerBase里面吗?我也不太清楚你是要在什么情况下触发这些判定。

我的建议是,最好用 ...


我看了一下这个被动脚本,感觉好像满足不了我的需求!
我讲一下我的需求内容吧!
1.当装备某护甲时,装备者如果处于中毒状态时,自动添加X号状态全能力强化,当中毒状态解除后X号状态也随机消失。
2.当装备某护甲时,每增加一个队友战斗不能,装备者全能力得到强化1次,强化可累加,队友被复活后能力值对应恢复。

点评

可以的,试试用yep的插件吧,这样应该比较简单  发表于 2020-5-19 00:27
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
417
在线时间
125 小时
注册时间
2010-10-11
帖子
96
7
 楼主| 发表于 2020-5-19 14:44:31 | 只看该作者
本帖最后由 raisewing 于 2020-5-19 16:02 编辑
526396987 发表于 2020-5-18 17:13
你不是要加在Game_BattlerBase里面吗?我也不太清楚你是要在什么情况下触发这些判定。

我的建议是,最好用 ...


我试了,好像不行。没有合适的命令。或者说是我不知道怎么写判断语句。
<Passive State: x>
<Passive State: x, x, x>
允许你的角色获得被动状态x。你可以放在角色、敌方、武器、装备等标签栏
<Passive State: x to y>
让你的角色获得状态x到y。你可以放在角色、敌方、武器、装备等标签栏
<Passive Condition: HP Above x%>
<Passive Condition: HP Below x%>
<Passive Condition: MP Above x%>
<Passive Condition: MP Below x%>
当血量或者魔法量低于或者高于最大值时,被动状态触发。
<Passive Condition: Stat Above x>
<Passive Condition: Stat Below x>
当其他状态低于或者高于x时,被动状态触发
<Passive Condition: Switch x ON>
<Passive Condition: Switch x OFF>
当开关是开启或者关闭时,被动状态触发
<Passive Condition: Variable x Above y>
<Passive Condition: Variable x Below y>
当变量x高于或者低于y时,被动状态触发
<Custom Passive Condition>
if (user.hp / user.mhp <= 0.25) {
condition = true;
} else {
condition = false;
}
</Custom Passive Condition>
这可以使你选择特定情况来让被动状态出现。如果condition返回为true,这个被动状态就会出现。如果condition返回为false,这个被动状态就不会出现。如果condition没有定义,这个被动状态会出现。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2727
在线时间
210 小时
注册时间
2017-9-28
帖子
283
8
发表于 2020-5-19 16:16:06 | 只看该作者
raisewing 发表于 2020-5-19 14:44
我试了,好像不行。没有合适的命令。或者说是我不知道怎么写判断语句。

使用自定义ApplyRemove效果,然后自己写代码,会吗?

点评

没错,小白一枚,真心不会。。。。  发表于 2020-5-19 16:23
看楼主眾多帖文內的內容,显然他是不会的  发表于 2020-5-19 16:20
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2727
在线时间
210 小时
注册时间
2017-9-28
帖子
283
9
发表于 2020-5-19 18:24:18 | 只看该作者
第一个
<Custom Apply Effect>
if (target.isEquipped($dataArmors[1])) {
  target.addState(2);
}
</Custom Apply Effect>
<Custom Remove Effect>
target.removeState(2);
</Custom Remove Effect>
使用YEP相关插件,中毒状态备注如上,当获得中毒时如果目标穿着护甲1则获得状态2,这里1和2要改成你要的数字,状态2是加攻击力的状态之类
然后第二个
无法战斗状态即状态1添加如下备注
<Custom Apply Effect>
$dataArmors[1].params[4]=100*(5-$gameParty.aliveMembers().length);
</Custom Apply Effect>
<Custom Remove Effect>
$dataArmors[1].params[4]=100*(5-$gameParty.aliveMembers().length);
</Custom Remove Effect>
意思是有人死了就是上了状态1即更新一次护甲1的魔法攻击力为100加上每死1人加100
护甲1添加个被动状态写如下备注,意思是战斗胜利后还原护甲1的魔法攻击力为100,允许失败的战斗估计还要添加Defeat效果
<Custom Victory Effect>
$dataArmors[1].params[4]=100;
</Custom Victory Effect>

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

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-4-24 00:12

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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