诚实小鸟 发表于 2026-3-27 15:04:35

#ELSESAY 这个指令收尾的话,是不是不用加BREAK收尾了。


[@学习学习]
#IF
检测
#ACT
执行
#ELSESAY
巴拉巴拉巴
BREAK
然后 我更新NPC
不通过的时候
显示 #ELSESAY 下面的话
对话框
巴拉巴拉巴 break
#ELSESAY是不是自带终止的效果,不需要加BREAK, 不加BREAK 不会循环吗?

诚实小鸟 发表于 2026-3-27 15:04:35

玩到现在SAY和ACT还分不清嘛。

诚实小鸟 发表于 2026-3-27 15:04:35

higee 发表于 2022-9-26 01:37 玩到现在SAY和ACT还分不清嘛。
啥意思啊, 说重点啊,那个要不要break结尾。。

诚实小鸟 发表于 2026-3-27 15:04:35

你想咋样,
要么你就不写BREAK
要么你就干脆多写点,测试下会不会触发循环
要么你就加个#ACT
#ACT
BREAK
自己测试,自己体会

诚实小鸟 发表于 2026-3-27 15:04:35

[@学习学习]
#IF
检测
#ACT
执行
#ELSESAY
巴拉巴拉巴
#ELSEACT
BREAK

诚实小鸟 发表于 2026-3-27 15:04:35

elseact 后面可以加break 其实不加也是一样
elsesay 只是显示文字..

诚实小鸟 发表于 2026-3-27 15:04:35

首先你的理解比较片面了,实际上代码也好,脚本也好,根本上离不开IF,ELSE
[@学习学习]
#IF
//IF,实际上就是条件
#ACT
//ACT也好SAY也罢,传奇的脚本语言中,没有加上ELSE就是条件为真
#ELSE***
//ELSE则是条件为假,也就是判断条件失败执行的语句
机器从根本上不会知道你要做什么,所以需要脚本OR代码来告诉它需要做什么,这个内容就包括:
判断一个条件,如果条件符合则执行,不符合则执行。
执行逻辑基本上逃不开这个结构。
补充内容 (2022-9-26 11:36):
BREAK,一般都是循环体内使用,用于终止跳出当前循环的

诚实小鸟 发表于 2026-3-27 15:04:35

经测试。
#SAY 后面 跟的 BREAK === 文字输出,且无法用BREAK来中断执行。

诚实小鸟 发表于 2026-3-27 15:04:35

第一,#ACT、#ELSEACT后面是执行脚本命令,而#SAY、#ELSESAY是打开NPC对话框,显示内容。因为BREAK是命令,所以#SAY和#ELSESAY后面确实不能跟BREAK,如果你非要在里面写上,那只能是在NPC的对话框内多显示BREAK这几个字符而已,起不到结束脚本段的作用。
第二,BREAK这个命令的意思是结束当前的脚本段,有时候用#SAY显示完了确实要结束脚本段,那要怎么办呢,那就必须#ACE BREAK和#SAY 巴拉巴拉 这样一起写。而且你不用担心写上#ACT BREAK之后,#SAY不显示,不会的。比如这样:
#IF
EQUAL P1 0
#ACT
BREAK
#SAY
巴拉巴拉!
#IF
EQUAL P2 1
#SAY
拉巴拉巴!
这样执行的结果就是:只要P1等于0,就显示巴拉巴拉,然后不再往下执行。而只有P1不等于0,才会接着往下执行。
不知道我这样的解释能不能让你看得懂。

诚实小鸟 发表于 2026-3-27 15:04:35

。。。。建议你问问题之前先自己多测试一下,毕竟也是老菜鸟了。。这种问题算是基础了吧。。
页: [1] 2
查看完整版本: #ELSESAY 这个指令收尾的话,是不是不用加BREAK收尾了。