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

Project1

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

[有事请教] 关于使用脚本作为分支条件求助。

[复制链接]

Lv2.观梦者

梦石
0
星屑
948
在线时间
256 小时
注册时间
2023-3-16
帖子
62
跳转到指定楼层
1
发表于 2023-11-2 21:26:32 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
40星屑
脚本萌新求助,游戏自带的分支条件事件里用脚本制作能制作动态判定条件吗?
比如变量1=10就就判定10号开关打开,变量1=11就就判定11号开关打开才能进入分支,变量2=2就判定2号角色在队伍中或者2号道具在背包才能进入分支这种。

最佳答案

查看完整内容

1.判断变量0001等于10, 这样写脚本 $gameVariables.value(1)===10[/pre] 这样是变量1等于10, 语法是写三个等号 2.要判断一个区间, 例如1到10之间, 这样写 $gameVariables.value(1)>=1 && $gameVariables.value(1)

Lv3.寻梦者

梦石
0
星屑
1847
在线时间
281 小时
注册时间
2008-7-11
帖子
658
2
发表于 2023-11-2 21:26:33 | 只看该作者
本帖最后由 涂鸦boy 于 2023-11-2 23:23 编辑



1.判断变量0001等于10, 这样写脚本
JAVASCRIPT 代码复制
  1. $gameVariables.value(1)===10

这样是变量1等于10, 语法是写三个等号

2.要判断一个区间, 例如1到10之间, 这样写
JAVASCRIPT 代码复制
  1. $gameVariables.value(1)>=1 && $gameVariables.value(1)<=10

&& 是一个逻辑判断符号, 读作且, 0001变量大于等于1, 且小于等于10


3.我理解了一下你的想法, 也就是用变量0001来指定某个开关是否打开, 那么把if去掉, 等号改为三个就对了
脚本结构上没有问题, 仅仅是语法上的小问题
JAVASCRIPT 代码复制
  1. $gameSwitches.value($gameVariables.value(1))===true

点评

多谢,已经搞定了  发表于 2023-11-2 23:56
回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2381
在线时间
660 小时
注册时间
2017-10-13
帖子
53
3
发表于 2023-11-2 21:55:28 | 只看该作者
必须可以
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
948
在线时间
256 小时
注册时间
2023-3-16
帖子
62
4
 楼主| 发表于 2023-11-2 22:13:24 | 只看该作者

大佬能详细说说吗?我试着在上面写了if ($gameSwitches.value($gameVariables.value(1))==true,1号变量为1且1号开关打开的情况下还是报错,这种需要怎么让他进入事件?还有判断角色在队伍中才能进分支或者持有对应编号的道具才能进分支这种该怎么写?

点评

事件-分歧条件-最底下的脚本,不用写 if ,它自己直接eval你写的东西,再判定返回值  发表于 2023-11-2 22:50
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
948
在线时间
256 小时
注册时间
2023-3-16
帖子
62
5
 楼主| 发表于 2023-11-2 23:00:39 | 只看该作者
@百里_飞柳 大佬能i详细说说吗?这个具体该怎么写判定?没看懂该怎么处理,试了半天全在报错。
回复

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
11180
在线时间
2066 小时
注册时间
2013-6-10
帖子
1516
6
发表于 2023-11-2 23:14:14 | 只看该作者
本帖最后由 小怪兽奇奇侠 于 2023-11-2 23:18 编辑

变量1=10就判定10号开关打开是什么意思?
你想要的效果是十号开关打开且变量1=10才能进入分歧吗?
为什么要用脚本写,自带的事件不是就足够了吗

点评

VA的部分条件我就是用脚本判断的,而不是自带事件判断,这样可以带来一定的便携。  发表于 2023-11-3 13:37
回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1847
在线时间
281 小时
注册时间
2008-7-11
帖子
658
7
发表于 2023-11-2 23:51:22 | 只看该作者
本帖最后由 涂鸦boy 于 2023-11-2 23:57 编辑

第一行问题见五楼

第二行问题, 其它的一些判断语句

1.判断玩家是否有2号物品
JAVASCRIPT 代码复制
  1. $gameParty.hasItem($dataItems[2])


2.判断玩家是否有2号武器
JAVASCRIPT 代码复制
  1. $gameParty.hasItem($dataWeapons[2])


3.判断玩家是否有2号防具
JAVASCRIPT 代码复制
  1. $gameParty.hasItem($dataArmors[2])


4.判断2号玩家是否在队伍中
JAVASCRIPT 代码复制
  1. $gameParty.members().includes($gameActors.actor(2))


以【判断 0001 变量指定的玩家是否在队伍中】为例, 用 $gameVariables.value(1) 替换掉 2 就可以了
JAVASCRIPT 代码复制
  1. $gameParty.members().includes($gameActors.actor($gameVariables.value(1)))


回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
948
在线时间
256 小时
注册时间
2023-3-16
帖子
62
8
 楼主| 发表于 2023-11-2 23:54:14 | 只看该作者
本帖最后由 4887441 于 2023-11-2 23:55 编辑
小怪兽奇奇侠 发表于 2023-11-2 23:14
变量1=10就判定10号开关打开是什么意思?
你想要的效果是十号开关打开且变量1=10才能进入分歧吗?
为什么要 ...


已经搞定了原来只要去掉IF就行。代码是这样$gameSwitches.value($gameVariables.value(1)),判定编号为变量1的开关状态,如果是true则进入分支,如果是false则不进入分支。变量1=10就是判定10号开关开启则进入分支,变量1=15就是判定15号开关开启则进入分支。由变量决定判定哪一个开关。职业用自带事件的话没法用变量改变判定的开关、

点评

以及js里判定相等是用三个等号吧,你再查查文档  发表于 2023-11-3 09:35
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-26 13:10

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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