这是一个函数类型触发器的字母顺序索引表。查看表达式文档获得函数类型触发器在表达式中的用法。除非另外指定,我们将用P1代表正在计算的游戏者,P2代表他的对手(组队模式中通常为最接近的对手)。
一些触发器不标准且不能用表达式作为他们的参数,这些触发器在索引中被标上(*)。一些触发器不被赞成;这些触发器被标上(**)。以上这些触发器是不建议使用的,因为在将来的引擎版本中可能会取消对它们的支持。
老式触发器,标有(***),仅出现在(触发器)(相关操作符)(值)形式的分句中。查看exp.doc的第8段获得更多详细资料。
在所有的触发器中,若触发器被重定向到一个不存在的目标,或者重定向的ID号计算出SFalse,则返回SFalse。这种情况不单独列在每个触发器的错误条件中。
新版本的trigger在旧版本中无法使用且会导致该人物无法载入,使用FF3查看代码时也可以得知相关触发器属于哪个版本的。
触发器字母表索引
--------------------------
-Abs (math)
-Acos (math)
-AILevel(1.0新特性)
-Alive
-Anim
-AnimElem(*,***)
-AnimElemNo
-AnimElemTime
-AnimExist
-AnimTime
-Asin(math)
-Atan(math)
-AuthorName(*,***)
-BackEdge(1.1新特性)
-BackEdgeBodyDist
-BackEdgeDist
-BottomEdge(1.1新特性)
-CameraPos(1.1新特性)
-CameraZoom(1.1新特性)
-CanRecover
-Ceil(math)
-Command(*,***)
-Cond (math)(1.0新特性)
-Const(*)
-Const240p(1.0新特性)
-Const480p(1.0新特性)
-Const720p(1.0新特性)
-Cos
-Ctrl
-DrawGame
-E(math)
-Exp(math)
-Facing
-Floor(math)
-FrontEdge(1.1新特性)
-FrontEdgeBodyDist
-FrontEdgeDist
-FVar
-GameHeight(1.0新特性)
-GameTime
-GameWidth(1.0新特性)
-GetHitVar(*)
-HitCount
-HitDefAttr(*,***)
-HitFall
-HitOver
-HitPauseTime
-HitShakeOver
-HitVel
-ID
-IfElse (math)
-IsHelper
-IsHomeTeam
-LeftEdge(1.1新特性)
-Life
-Ln (math)
-Log (math)
-Lose
-MatchNo
-MatchOver
-MoveContact
-MoveGuarded
-MoveHit
-MoveType(*,***)
-Name(*,***)
-NumEnemy
-NumExplod
-NumHelper
-NumPartner
-NumProj
-NumProjID
-NumTarget
-P1Name(*,***)
-P2BodyDist
-P2Dist
-P2Life
-P2MoveType(*,***)
-P2Name(*,***)
-P2StateNo
-P2StateType(*,***)
-P3Name(*,***)
-P4Name(*,***)
-PalNo
-ParentDist
-Pi (math)
-PlayerIDExist
-PrevStateNo
-Pos
-ProjCancelTime
-ProjContact(*,***)
-ProjContactTime
-ProjGuarded(*,***)
-ProjGuardedTime
-ProjHit(*,***)
-ProjHitTime
-Random
-RightEdge(1.1新特性)
-RootDist
-RoundNo
-RoundsExisted
-RoundState
-ScreenPos
-ScreenHeight(1.1新特性)
-ScreenWidth(1.1新特性)
-SelfAnimExist
-Sin (math)
-StateNo
-StateType(*,***)
-StageVar(*,***)(1.0新特性)
-SysFVar
-SysVar
-Tan (math)
-TeamMode(*,***)
-TeamSide
-TicksPerSecond
-Time
-TimeMod(*,**,***)
-TopEdge(1.1新特性)
-UniqHitCount
-Var
-Vel
-Win
------------------------------------------------------------
#常数(常时触发)
------------------------------------------------------------
格式:任意常数
参数:无
返回值类型:无
示例:
trigger1 = 1
表示无条件触发
------------------------------------------------------------
#Abs(绝对值)
------------------------------------------------------------
计算其参数的绝对值。
格式:abs(exprn)
参数:exprn为要计算绝对值的表达式。
返回值类型:与exprn的类型相同。
错误条件:若exprn计算出SFalse则返回SFalse。
------------------------------------------------------------
#Acos(反余弦)
------------------------------------------------------------
计算指定参数的反余弦(按弧度)。
格式:acos(exprn)
参数:exprn为要计算反余弦的表达式(浮点小数值)。
返回值类型:float
错误条件:若exprn计算出SFalse或者exprn不在反余弦的定义域范围内(即[-1.0,1.0])则返回SFalse。
示例:
value = acos(1)
设置1的反余弦值,近似为1(可能有一些舍入误差。)。
------------------------------------------------------------
#AILevel(AI等级)(1.0新特性)
------------------------------------------------------------
返回角色AI的难度等级
格式:AILevel
参数:无
返回值类型:int
错误条件:无
示例:
------------------------------------------------------------
#Alive(活着)
------------------------------------------------------------
若游戏者还有战斗能力则返回1,若被KO则返回0。
格式:alive
参数:无
返回值类型:boolean int (1 or 0)
错误条件:无
详细资料:
如果角色AI可用,则该值得区间为1-8.如果AI不可用,则为0
示例:
trigger1 = Random < AILevel * 10
随等级上升而提高触发概率,该角色AI等级为1时有10%几率触发,AI等级为2时20%几率触发
------------------------------------------------------------
#Anim(动画)
------------------------------------------------------------
返回游戏者当前动画的动作号。
格式:Anim
参数:无
返回值类型:int
错误条件:无
示例:
trigger1 = Anim = 200
游戏者正处在200号动画时触发
------------------------------------------------------------
#AnimElem(*,***)(动画元素)
------------------------------------------------------------
获取从当前动画动作开始后到指定画面元素经过的动画时间。在动画动作的画面元素同步事件中有用。(提示:动作的第一个画面元素是1,不是0)
AnimElemTime有与AnimElem类似的功能,但能将表达式作为它的参数。
格式:
1. AnimElem = value1
2. AnimElem = value1, [oper] value2
参数:[oper]可为=, !=, <,>, <=,>=
value1为检测的画面元素号,int格式
value2为要比较的动画时间值,int格式
返回值类型:boolean int (1 or 0)
错误条件:
该动画的指定画面元素号无效时返回SFalse(例如,太大或太小)。
详细资料:
格式1触发器在游戏者动画到达value1所指定的画面元素号时为真。换句话说,若value1等于n,则在该动画的第n幅画面首个游戏时间帧时为真。
格式2触发器比较游戏者动画为t+value2(时间帧),这里的t是value1所指定的画面元素开始的时间。
示例:
trigger1 = AnimElem = 2
当游戏者动画在第二幅画面元素的首个游戏时间帧时为真。
等同于:trigger1 = AnimElem = 2, = 0
trigger1 = AnimElem = 2, = 4
游戏者动画的第二幅画面元素开始后的第4游戏时间帧时为真。
trigger1 = AnimElem = 2, >= 0
trigger1 = AnimElem = 3, < 0
游戏者动画的整个第二幅画面元素内为真,假设有第三幅画面元素的话。若第三幅画面元素不存在,则第二行将读为:trigger1 = AnimTime <= 0
------------------------------------------------------------
#AnimElemNo(动画元素号)
------------------------------------------------------------
返回当前动作在指定时间内应被显示的动画画面元素号。AnimElemNo的参数代表检测的时间,用相对于当前(元素)游戏时间帧表示。
格式:AnimElemNo(exprn)
参数:exprn为计算得出时间偏移量(整数)的表达式。
返回值类型:int
错误条件:若你尝试检测一个在当前动画开始前结束的时间则返回SFalse。
Notes:
若动作正处于它的循环部分,则认为已经永久循环。即,无论你检测的这个动作 已经过了多久,AnimElemNo将总是返回处于动作的循环部分的画面元素号。
示例:
trigger1 = AnimElemNo(0) = 2
当动画画面元素在0时间帧后(即现在)为画面元素2时为真。这等价于:
trigger1 = AnimElem = 2, >= 0
trigger1 = AnimElem = 3, < 0
trigger1 = AnimElemNo(2) = 4
若动画画面元素在两个时间帧后将显示画面元素4则为真。这等价于:
trigger1 = AnimElem = 4, >= -2
trigger1 = AnimElem = 5, < -2
------------------------------------------------------------
#AnimElemTime(动画元素时间)
------------------------------------------------------------
得到从当前动作动画的指定画面元素开始所经过的动画时间。在动画画面元素的同步事件时有用。(提示:动作的第一个画面元素是1,不是0)
格式:AnimElemTime(exprn)
参数:exprn为计算出要检测的画面元素号的表达式(整数型)。
返回值类型:int
错误条件:若exprn算出SFalse,或exprn算出一个对当前动作无效的画面元素号,则返回SFalse。
示例:
trigger1 = AnimElemTime(2) = 0
在游戏者动画的第2个画面元素的首个游戏时间帧时为真。等同于:trigger1 = AnimElem = 2
trigger1 = AnimElemTime(2) = 4
在游戏者第二个动画画面元素开始后第4个游戏时间帧时为真。
trigger1 = AnimElemTime(2) >= 0
trigger1 = AnimElemTime(3) < 0
在游戏者动画的整个第二幅画面元素内为真。若第三幅画面元素不存在,则第二句算出SFalse于是trigger1将永不触发。在这种情况,第二句应读作:trigger1 = AnimTime <= 0
------------------------------------------------------------
#AnimExist(动画存在)
------------------------------------------------------------
若游戏者的指定动画动作存在则返回1。若该游戏者已经被一个成功击中(hit)置于定制状态,则该触发器的结果是undefined(未定义)。
格式:AnimExist(exprn)
参数:exprn为一个算出动画号的表达式(整数型)。
返回值类型:boolean int (1 or 0)
错误条件:若exprn算出SFalse则返回SFalse。
示例:
trigger1 = !AnimExist(200)
若游戏者缺失200号动画则触发。
------------------------------------------------------------
#AnimTime(动画时间)
------------------------------------------------------------
给出当前动画循环时间和游戏者动画时间之间的区别,这在需要了解动画结束后多久时会有用。(动画时间是游戏者在当前动画活动内经过的游戏时间帧数。)
该名称可能会混淆。你可以理解为“到动画结束前的时间”。在这个动画时间内,AnimTime将总是返回一个非正数字。
格式:AnimTime
参数:无
返回值类型:int
错误条件:无
示例:
trigger1 = AnimTime = -5
当动画时间在动作结束前5帧时触发
trigger1 = AnimTime = 0
当动画时间在动作结束前0帧时触发,即动作已到结束位置。
------------------------------------------------------------
#Asin(反正弦)
------------------------------------------------------------
计算指定参数的反正弦(按弧度)。
格式:asin(exprn)
参数:exprn为要计算反正弦的表达式(浮点小数型)。
返回值类型:float
错误条件:若exprn算出SFalse,或者exprn不在反正弦定义域(即[-1.0,1.0])内时返回SFalse。
示例:
value = asin(1)
设置value为1的反正弦,即约等于π/2(可能有一些舍入误差。)
------------------------------------------------------------
#Atan(反正切)
------------------------------------------------------------
计算指定参数的反正切(按弧度)。
格式:atan(exprn)
参数:exprn为要计算反正切的表达式(浮点小数型)。
返回值类型:float
错误条件:若exprn算出SFalse则返回SFalse。
示例:
value = atan(1)
设置value为1的反正切,即约等于π/4(可能有一些舍入误差。)
------------------------------------------------------------
#AuthorName(*,***)(作者名)
------------------------------------------------------------
返回游戏者的作者名(在.DEF文件中指定)。这也可能在区分具有同样名字但是不同作者的角色时有用。常用于对策或特殊开场动画。
格式:AuthorName [oper] "name"
参数:[oper]
=, != (其他符号无效)
"name" (string)
要比较的名字。必须在双引号内。
返回值类型:boolean int (1 or 0)
错误条件:无
示例:
trigger1 = Authorname = "Suika"
若角色的作者名叫Suika则返回真。
------------------------------------------------------------
#BackEdge(后边界距离)(1.1新特性)
------------------------------------------------------------
返回角色身后的屏幕边缘在整个场景中的x位置
格式:BackEdge
参数:无
返回值类型:float
错误条件:无
注:这个触发器等于"ifelse(facing = 1, LeftEdge, RightEdge)"
示例:
trigger1 = Pos X + CameraPos X < BackEdge
若角色朝向左侧屏幕边缘时触发
------------------------------------------------------------
#BackEdgeBodyDist(后边界身体距离)
------------------------------------------------------------
BackEdgeBodyDist给出角色身体背后的距离,即角色的宽度条后边缘到屏幕的后边界的距离。
格式:BackEdgeBodyDist
参数:无
返回值类型:float
错误条件:无
示例:
trigger1 = BackEdgeBodyDist < 30
若游戏者的宽度条后边缘到他屏幕后边界的距离在30象素内则触发。
------------------------------------------------------------
#BackEdgeDist(后边界距离)
------------------------------------------------------------
BackEdgeDist给出游戏者x坐标到该游戏者背后的屏幕边界的距离。
格式:BackEdgeDist
参数:无
返回值类型:float
错误条件:无
示例:
trigger1 = BackEdgeDist < 30
若游戏者的x坐标到他后面的屏幕边界的距离在30象素内则触发。
------------------------------------------------------------
#BottomEdge(底边界距离)(1.1新特性)
------------------------------------------------------------
返回角色身后的屏幕边缘在整个场景中的y位置
格式:BottomEdge
参数:无
返回值类型:float
错误条件:无
注:这个触发器等于"Pos Y - ScreenPos Y + GameHeight"
示例:
trigger1 = Pos Y < BottomEdge
当角色位置超出屏幕的上方时触发
------------------------------------------------------------
#CameraPos(相机位置)(1.1新特性)
------------------------------------------------------------
获取与场景关联的相机位置的相关值
格式:CameraPos [component]
参数:[component] X, Y
返回值类型:float
错误条件:无
注:相机的原始坐标是0,0。当相机向右移时,"CameraPos X"的值会增加,当相机上移时"CameraPos Y"会减少。返回的位置坐标是根据角色的分辨率计算而来。
示例:
trigger1 = CameraPos X >= 0
当相机在场景左侧时为真
------------------------------------------------------------
#CameraZoom(相机缩放)(1.1新特性)
------------------------------------------------------------
获取相机的缩放参数
格式:CameraZoom
参数:无
返回值类型:float
错误条件:无
示例:
fvar(1) = CameraZoom * ScreenWidth
将fvar(1)设为屏幕左右之间的距离。"CameraZoom * ScreenWidth"等于GameWidth触发器
------------------------------------------------------------
#CanRecover(能恢复)
------------------------------------------------------------
若游戏者正处于一个下落的状态,他能够恢复则返回1,不能恢复则返回0。若游戏者不处于下落状态,该触发器的返回值为undefined(未定义)。
格式:CanRecover
参数:无
返回值类型:boolean int (1 or 0)
错误条件:无
------------------------------------------------------------
#Ceil(向上取整)
------------------------------------------------------------
执行“ceiling(向上取整)”函数。返回大于或等于指定参数的最小整数。
格式:ceil(exprn)
参数:exprn为要计算向上取整的表达式。
返回值类型:int
错误条件:若exprn算得SFalse则返回SFalse。
示例:
1. value = ceil(5.5)
设置value为6。
2. value = ceil(-2)
设置value为-2。
------------------------------------------------------------
#Command (*,***)(指令)
------------------------------------------------------------
测试用户是否已输入指定指令(招式)。多用于对策。
格式:Command [oper] "command_name"
参数:[oper]可为=, != (其他符号无效)
"command_name" (string)为指令(招式)的名字。指令在游戏者的CMD文件内定义,名字区分大小写。若该CMD含有多个相同名字的指令,则那些指令中的任何一个都可行。指令名字必须出现在双引号内。
返回值类型:boolean int (1 or 0)
错误条件:无
示例:
trigger1 = Command = "fireball motion"
当用户输入对应于指令“fireball motion”的指令时为真。
------------------------------------------------------------
#Cond (*)(条件)(1.0新特性)
------------------------------------------------------------
该触发器有三个参数。第一个是条件参数,如果条件为真(比如非零),则该该触发器返回第二个参数,如果条件为假,则返回第三个参数。如果只写了条件,那么会直接返回条件所写参数。
由于所有的未使用的参数都不会运行,所以Cond参数可以代替ifElse来避免运行未使用的参数。
该参数出错率和bug比ifElse要少,比如ifElse有些时候检测不到target而报错,所以高版本下建议用这个
格式:Cond(exp_cond,exp_true,exp_false)
参数:
exp_cond要检测的参数
exp_true表示exp_cond非零时返回的值
exp_false表示exp_cond为零时返回的值
返回值类型:exp_true和exp_false可返回任何类型的值
错误条件:
exp_cond或者exp_true或者exp_false返回null
详细资料:无
示例:
value = Cond(var(3),1,2)
如果var(3)不是0,则返回1,如果var(3)是0,则返回2
------------------------------------------------------------
#Const (*)(常数)
------------------------------------------------------------
返回游戏者的一个常数值。
格式:Const(param_name)
参数:param_name
要检测的常数名。有效值见详细资料。
返回值类型:依赖于指定的参数。见详细资料。
错误条件:无
详细资料:
param_name的如下返回值返回游戏者常数[Data]组中指定的值。
data.life:返回“life”参数的值。(整数型)
data.power:返回“power”参数的值。(整数型)
data.attack:返回“attack”参数的值。(整数型)
data.defence:返回“defence”参数的值。(整数型)
data.fall.defence_mul:返回防御乘数因子,由100/(f+100)计算出,这里f是 “fall.defence_up”参数。(浮点小数型)
(以下格式完全雷同,翻译省略)
data.liedown.time: Returns value of the "liedown.time" parameter.(int)
data.airjuggle: Returns value of the "airjuggle" parameter. (int)
data.sparkno: Returns value of the "sparkno" parameter. (int)
data.guard.sparkno: Returns value of the "guard.sparkno" parameter.(int)
data.KO.echo: Returns value of the "ko.echo" parameter. (int)
data.IntPersistIndex: Returns value of the "IntPersistIndex"parameter. (int)
data.FloatPersistIndex: Returns value of the "FloatPersistIndex"parameter. (int)
The following values of param_name return values specified in the
[Size] group in the player's constants.
size.xscale: Returns value of the "xscale" parameter. (float)
size.yscale: Returns value of the "yscale" parameter. (float)
size.ground.back: Returns value of the "ground.back" parameter.(int)
size.ground.front: Returns value of the "ground.front" parameter.(int)
size.air.back: Returns value of the "air.back" parameter. (int)
size.air.front: Returns value of the "air.front" parameter. (int)
size.height: Returns value of the "height" parameter. (int)
size.attack.dist: Returns value of the "attack.dist" parameter.(int)
size.proj.attack.dist: Returns value of the "proj.attack.dist"parameter. (int)
size.proj.doscale: Returns value of the "proj.doscale" parameter.(int)
size.head.pos.x: Returns x-component of the "head.pos" parameter.(int)
size.head.pos.y: Returns y-component of the "head.pos" parameter.(int)
size.mid.pos.x: Returns x-component of the "mid.pos" parameter.(int)
size.mid.pos.y: Returns y-component of the "mid.pos" parameter.(int)
size.shadowoffset: Returns value of the "shadowoffset" parameter.(int)
size.draw.offset.x: Returns x-component of the "draw.offset"parameter. (int)
size.draw.offset.y: Returns y-component of the "draw.offset"parameter. (int)
The following values of param_name return values specified in the
[Velocity] group in the player's constants.
velocity.walk.fwd.x: Returns value of the "walk.fwd" parameter.(float)
velocity.walk.back.x: Returns value of the "walk.back" parameter.(float)
velocity.run.fwd.x: Returns x-component of the "run.fwd" parameter.(float)
velocity.run.fwd.y: Returns y-component of the "run.fwd" parameter.(float)
velocity.run.back.x: Returns x-component of the "run.back"parameter.(float)
velocity.run.back.y: Returns y-component of the "run.back"parameter.(float)
velocity.jump.y: Returns y-component of the "jump.neu" parameter. (float)
Note: 这个不是"velocity.jump.neu.y". 只有"neu"参数会取一个y轴的值
velocity.jump.neu.x: Returns x-component of the "jump.neu"parameter.(float)
velocity.jump.back.x: Returns value of the "jump.back" paramamter. (float)
velocity.jump.fwd.x: Returns value of the "jump.fwd" parameter.(float)
velocity.runjump.back.x: Returns value of the "runjump.back"paramamter. (float)
velocity.runjump.fwd.x: Returns value of the "runjump.fwd"parameter.(float)
velocity.airjump.y: Returns y-component of the "airjump.neu"parameter.(float)
Note: 这个不是"velocity.airjump.neu.y".
velocity.airjump.neu.x: Returns x-component of the "airjump.neu"parameter. (float)
velocity.airjump.back.x: Returns value of the "airjump.back"paramamter. (float)
velocity.airjump.fwd.x: Returns value of the "airjump.fwd"parameter.(float)
(以下velocity.air.gethit系列是1.0文档中新增参数)
velocity.air.gethit.groundrecover.x: Returns x-component of the "air.gethit.groundrecover" parameter. (float)
velocity.air.gethit.groundrecover.y: Returns y-component of the "air.gethit.groundrecover" parameter. (float)
velocity.air.gethit.airrecover.mul.x: Returns x-component of the "air.gethit.airrecover.mul" parameter. (float)
velocity.air.gethit.airrecover.mul.y: Returns x-component of the "air.gethit.airrecover.mul" parameter. (float)
velocity.air.gethit.airrecover.add.x: Returns x-component of the "air.gethit.airrecover.add" parameter. (float)
velocity.air.gethit.airrecover.add.y: Returns x-component of the "air.gethit.airrecover.add" parameter. (float)
velocity.air.gethit.airrecover.back: Returns value of the "air.gethit.airrecover.back" parameter. (float)
velocity.air.gethit.airrecover.fwd: Returns value of the "air.gethit.airrecover.fwd" parameter. (float)
velocity.air.gethit.airrecover.up: Returns value of the "air.gethit.airrecover.up" parameter. (float)
velocity.air.gethit.airrecover.down: Returns value of the "air.gethit.airrecover.down" parameter. (float)
The following values of param_name return values specified in the
[Movement] group in the player's constants.
movement.airjump.num: Returns value of the "airjump.num" parameter.(int)
movement.airjump.height: Returns value of the "airjump.height"parameter. (int)
movement.yaccel: Returns value of the "yaccel" parameter. (float)
movement.stand.friction: Returns value of the "stand.friction"parameter. (float)
movement.crouch.friction: Returns value of the "crouch.friction"parameter. (float)
(以下movement.threshold系列是1.0文档中新增参数)
movement.stand.friction.threshold: Returns value of the "stand.friction.threshold" parameter. (float)
movement.crouch.friction.threshold: Returns value of the "crouch.friction.threshold" parameter. (float)
movement.jump.changeanim.threshold: Returns value of the "jump.changeanim.threshold" parameter. (float)
movement.air.gethit.groundlevel: Returns value of the "air.gethit.groundlevel" parameter. (float)
movement.air.gethit.groundrecover.ground.threshold: Returns value of the "air.gethit.groundrecover.ground.threshold" parameter. (float)
movement.air.gethit.groundrecover.groundlevel: Returns value of the "air.gethit.groundrecover.groundlevel" parameter. (float)
movement.air.gethit.airrecover.threshold: Returns value of the "air.gethit.airrecover.threshold" parameter. (float)
movement.air.gethit.airrecover.yaccel: Returns value of the "air.gethit.airrecover.yaccel" parameter. (float)
movement.air.gethit.trip.groundlevel: Returns value of the "air.gethit.trip.groundlevel" parameter. (float)
movement.down.bounce.offset.x: Returns x-component of the "down.bounce.offset.x" parameter. (float)
movement.down.bounce.offset.y: Returns y-component of the "down.bounce.offset.y" parameter. (float)
movement.down.bounce.yaccel: Returns value of the "down.bounce.yaccel" parameter. (float)
movement.down.bounce.groundlevel: Returns value of the "down.bounce.groundlevel" parameter. (float)
movement.down.friction.threshold: Returns value of the "down.friction.threshold" parameter. (float)
示例:
trigger1 = Const(velocity.walk.fwd.x) > 4
若向前走动速度大于4则触发
------------------------------------------------------------
# Const240p / Const480p / Const720p(1.0新特性)
------------------------------------------------------------
将一个值从240p/480p/720p转换为角色的分辨率。转换比例为两者的宽度比。
格式:Const240p(exprn) / Const480p(exprn) / Const720p(exprn)
参数:exprn表示要转换的值。(float)
返回值类型:float
错误条件:值为空
详细资料:
在common1.cns里的非0的位置和偏移量应该用Const中的一个触发器来保持角色在不同分辨率的正常
示例:
value = Const240p(3)
如果角色的分辨率是320x240 (240p),则值设为3
value = Const480p(3)
如果角色的分辨率是640x480 (480p),则值设为6
value = Const720p(3)
如果角色的分辨率是1280x720 (720p),则值设为12
------------------------------------------------------------
#Cos(余弦)
------------------------------------------------------------
计算指定参数的余弦(按弧度)。某些波浪型轨迹的飞行道具时用到
格式:cos(exprn)
参数:exprn为要计算余弦的表达式。
返回值类型:float
错误条件:若exprn算出SFalse则返回SFalse。
示例:
value = cos(0)
设置value为0的余弦值,约等于1.0(可能有一些舍入误差)。
------------------------------------------------------------
#Ctrl(控制)
------------------------------------------------------------
返回p1的控制标记。
格式:Ctrl
参数:无
返回值类型:boolean int (1 or 0)
错误条件:无
示例:
trigger1 = Ctrl
测试游戏者是否可受控制。
------------------------------------------------------------
#DrawGame(平局)
------------------------------------------------------------
若游戏者(或游戏者的队,在队模式中)已经以平局结束则返回1,否则返回0。
格式:Draw
参数:无
返回值类型:boolean int (1 or 0)
错误条件:无
示例:
trigger1 = DrawGame
测试游戏者(或队)是否以平局结束了。
------------------------------------------------------------
#E(自然常数)
------------------------------------------------------------
返回自然常数值(2.718281828……)
格式:e
参数:无
返回值类型:float
错误条件:无
------------------------------------------------------------
#Exp(e的幂)
------------------------------------------------------------
计算以参数为指数(e的参数次幂)。该函数略微比等价的e**(参数)精确
些。
格式:exp(exprn)
参数:exprn为要计算e指数的表达式。(浮点小数型)
返回值类型:float
错误条件:若exprn算出SFalse则返回SFalse。
示例:
value = exp(4-var(0))
设置value为e的4-var(0)次幂。
------------------------------------------------------------
#Facing(面向)
------------------------------------------------------------
若游戏者面向右方则返回1,若游戏者面向左方则返回-1。
格式:Facing
参数:无
返回值类型:int
错误条件:无
示例:
Trigger = Facing = -1
测试游戏者是否面向屏幕左方。
------------------------------------------------------------
#Floor(向下取整)
------------------------------------------------------------
执行向下取整函数。返回小于或等于其参数的最大整数。
格式:floor(exprn)
参数:exprn为要计算向下取整的表达式。
返回值类型:int
错误条件:exprn算出SFalse则返回SFalse。
示例:
1. value=floor(5.5)
设置value为5。
2. value=floor(-2)
设置value为-2。
------------------------------------------------------------
#FrontEdge(前边界距离)(1.1新特性)
------------------------------------------------------------
返回角色距离自身前面的屏幕边缘在整个场景中的x位置
格式:FrontEdge
参数:无
返回值类型:float
错误条件:无
注:这个触发器等于" ifelse(facing = 1, RightEdge, LeftEdge) "
示例:
trigger1 = facing * (Pos X + CameraPos X) < facing * (FrontEdge)
若角色在面向的屏幕边缘的后边时触发
------------------------------------------------------------
#FrontEdgeBodyDist(前边缘身体距离)
------------------------------------------------------------
FrontEdgeBodyDist给出游戏者前部(由他宽度条的前边缘决定)和屏幕边缘的距离。
格式:FrontEdgeBodyDist
参数:无
返回值类型:float
错误条件:无
示例:
trigger1 = FrontEdgeBodyDist < 30
测试游戏者前部是否跟他前面的屏幕边缘在30象素距离内。
------------------------------------------------------------
#FrontEdgeDist(前边缘距离)
------------------------------------------------------------
FrontEdgeDist给出游戏者的x坐标和该游戏者前面屏幕边缘间的距离。
格式:FrontEdgeDist
参数:无
返回值类型:float
错误条件:无
示例:
trigger1 = FrontEdgeDist < 30
测试游戏者的x坐标是否与他前面的屏幕边缘在30象素距离内。
------------------------------------------------------------
#FVar
------------------------------------------------------------
该触发器用一个托管变量号作为参数。它返回游戏者的指定浮点变量值。
格式:FVar(exprn)
参数:exprn为算出一个变量号的表达式。这里有效数值为0-39。
返回值类型:float
错误条件:exprn算出SFalse则返回SFalse,或者exprn算出一个无效变量下标则返回SFalse。
示例:
trigger1 = FVar(5) = -1.23
当浮点变量5的值为-1.23时触发。
------------------------------------------------------------
#GameHeight(游戏高度)(1.0新特性)
------------------------------------------------------------
以当前分辨率返回角色在游戏显示中的当前高度。游戏显示是指角色当前所在的可见游戏范围,而不是整个窗口大小。游戏显示的宽高可以在mugen.cfg中定义。
(1.1新增说明)注意:GameWidth和GameHeight会与相机缩放值有关。例如,如果相机缩放值为0.5,那么GameWidth和GameHeight将会将这个数翻倍,也就是返回缩放值为1。ScreenWidth和ScreenHeight都不会受到相机缩放值的影响
格式:GameHeight
参数:无
返回值类型:float
错误条件:无
示例:
trigger1 = ScreenPos Y < GameHeight / 2
角色高于屏幕中央时则该条件生效
------------------------------------------------------------
#GameTime(游戏时间)
------------------------------------------------------------
返回游戏到目前为止经过的总时间帧数。
格式:GameTime
参数:无
返回值类型:int
错误条件:无
示例:
trigger1 = (GameTime%27)=0
每27个游戏帧时触发。
------------------------------------------------------------
#GameWidth(游戏宽度)(1.0新特性)
------------------------------------------------------------
以当前分辨率返回角色在游戏显示中的与自己一侧屏幕的距离(1P为左侧,2P为右侧)。游戏显示的宽高可以在mugen.cfg中定义。
(1.1新增说明)注意:GameWidth和GameHeight会与相机缩放值有关。例如,如果相机缩放值为0.5,那么GameWidth和GameHeight将会将这个数翻倍,也就是返回缩放值为1。ScreenWidth和ScreenHeight都不会受到相机缩放值的影响
格式:GameWidth
参数:无
返回值类型:float
错误条件:无
示例:
trigger1 = ScreenPos Y < GameWidth / 2
角色在屏幕右侧时则该条件生效
------------------------------------------------------------
#GetHitVar(*)(获得击中变量)
------------------------------------------------------------
当游戏者在一个gethit状态中时,返回指定hit参数的值。
格式:GetHitVar(param_name)
参数:param_name为要检测的hit参数。有效值为:
xveladd, yveladd, type, animtype, airtype, groundtype, damage,
hitcount, fallcount, hitshaketime, hittime, slidetime, ctrltime,
recovertime, xoff, yoff, zoff, xvel, yvel, yaccel, hitid,
chainid, guarded, fall, fall.damage, fall.xvel, fall.yvel,
fall.recover, fall.time, fall.recovertime.
返回值类型:依赖于指定的hit参数。见详细资料。
错误条件:无
详细资料:
xveladd: 返回游戏者被KO时加到它自己x速度的增量。(float)
yveladd: 返回游戏者被KO时加到它自己y速度的增量。(float)
type: 返回hit的类型:0为无,1为高,2为低,3为绊倒(仅在地面)。
animtype: 返回hit动画类型。(0为轻,1为中,2为重,3为向后,4为向上,5为旋转向上)
airtype: 返回HitDef中指定的一个空中hit类型。
groundtype: 返回HitDef中指定的一个地面hit类型。
damage: 返回hit给出的损害值。(整数型)
hitcount: 返回游戏者在当前连续技中产生的hit数。(int)
fallcount: 返回游戏者在当前连续技中已经撞击地面的次数。(int)
hitshaketime: 返回游戏者在hit中被“冻结”的时间。该数字在每个时间帧后减1,达到0时停止。(int)
hittime: 返回hit后游戏者恢复控制前的时间。(int)
slidetime: 返回hit后游戏者向后滑行的时间(在地面上)。(int)
ctrltime: 返回防住hit后游戏者恢复控制前的时间。(int)
recovertime: 返回倒下状态中游戏者起身前的时间。(int)
xoff: "Snap" x offset when hit (deprecated)
被hit时“突然的”x偏移量(不推荐)
yoff: "Snap" y offset when hit (deprecated)
被hit时“突然的”y偏移量(不推荐)
zoff: "Snap" z offset when hit (deprecated)
被hit时“突然的”z偏移量(不推荐,1.0中已删除该参数)
xvel: Fixed x-velocity imparted by hit. (float)
由hit给予的固定x速度。
yvel: Fixed y-velocity imparted by hit. (float)
由hit给予的固定y速度。
yaccel: y acceleration set by the hit. (float)
由hit设置的y加速度。
chainid: 最近一次hit产生的游戏者指派chainID。(int)
guarded: 若最近一次hit被防御则为真,否则为假。
fall: 若下落则为真,否则为假。(int)
fall.damage: 下落中的损害值。(int)
fall.xvel: 从地面弹起后x方向的速度。(float)
fall.yvel: 从地面弹起后y方向的速度。(float)
fall.recover: 若游戏者能恢复则为真,否则为假。
fall.recovertime: 游戏者能恢复前的时间。(int)
fall.kill: 在攻击者hitdef中fall.kill参数的值。(int)
fall.envshake.time: See below. (int)(看下面)
fall.envshake.freq: See below. (float)(看下面)
fall.envshake.ampl: See below. (int)(看下面)
fall.envshake.phase: 返回在一个攻击者hitdef中由fall.envshake.*参数设置的值。(float)
示例:
trigger1 = GetHitVar(yvel) < -5.5
若hit的指定y速度小于-5.5则触发。
------------------------------------------------------------
#HitCount(击中数)
------------------------------------------------------------
返回游戏者当前攻击招式已击中一个或多个对手的次数。该值仅在单个状态中有效;在任何状态转换后,它将清0。为防止清0,设置StateDef(查看cns文档获得详细资料)中的hitcountpersist。HitCount和UniqHitCount触发器仅在游戏者用同一个攻击击中两个对手时有区别,HitCount将在每次hit增加1,而UniqHitCount增加2。AI中取消连段和一些人物招式第X下的特殊效果会用到。
格式:HitCount
参数:无
返回值类型:int
错误条件:无
示例:
trigger1 = HitCount > 8
从游戏者的攻击开始后已给对手造成多于8次hit时触发。
------------------------------------------------------------
#HitDefAttr(*,***)(击中定义属性)
------------------------------------------------------------
检查游戏者当前活动HitDef中的属性参数。若游戏者当前不在攻击状态中,则该条件不触发。能在CMD文件内从弱攻击到强攻击的简单招式中断中使用。
注意:HitDefAttr != value1, value2逻辑上等于!(HitDefAttr = value1, value2)
格式:HitDefAttr [oper] value1, value2
参数:[oper]可以是=, !=
value1为一个至少含有“S”、“C”和“A”其中之一的字母分别表示站、蹲和空中攻击。例如,“SA”表示站立和空中攻击。
value2为2字符的字符串集,由逗号格开。每2字符的字符串必须是如下描述的形式:第一个字符可以是“N”表示“普通”,“S”表示“必杀”,或“H”表示“超(必杀)”。第二个字符必须是“A"表示“打击”(一个普通hit打击)或“T”表示“投掷”。例如,“NA,ST”表示普通攻击和必杀投掷。
游戏者HitDef的属性采取如下形式:
arg1, arg2
则触发器条件仅当arg1是value1的子集,且arg2是value2的子集时被决定为真。查看附属B中的HitDef控制器的“attr”参数获得详细信息。
返回值类型:boolean int (1 or 0)
错误条件:无
示例:
trigger1 = A, HA (1.0中的写法改为了trigger1 = HitDefAttr = A, HA)
当游戏者在攻击状态时触发,且当前HitDef有如下属性:
1.是空中打击
2.是超必杀打击
trigger1 = SC, NA, SA(1.0中的写法改为了trigger1 = HitDefAttr = SC, NA, SA)
当游戏者在攻击状态时触发,且当前HitDef有如下属性:
1. 是站立或蹲下打击
2. 是普通攻击或必杀打击
------------------------------------------------------------
#HitFall(击中落下)
------------------------------------------------------------
若游戏者正处于一个受击状态,则返回hit的下落标记。若游戏者不在受击状态,则返回未定义(undefined)。查看HitDef文档获得下落标记的解释。
格式:HitFall
参数:无
返回值类型:boolean int (1 or 0)
错误条件:无
示例:
trigger1 = !HitFall
若该hit未使游戏者进入下落状态则触发。
------------------------------------------------------------
#HitOver(击中完了)
------------------------------------------------------------
若游戏者在受击状态,则当hittime已过期时返回1,否则返回0。查看HitDef
文档获得hittime的解释。
格式:HitOver
参数:无
返回值类型:boolean int (1 or 0)
错误条件:无
示例:
trigger1 = HitOver = 1
当游戏者的hittime已过期时触发。
------------------------------------------------------------
#HitPauseTime(击中暂停时间)
------------------------------------------------------------
返回游戏者hitpause过期前的时间。当游戏者的攻击接触到一个对手时进入一个
hitpause。初始hitpause时间等于游戏者HitDef的pausetime参数第一个值。若
ignorehitpause未设置,该触发器将总是返回0。
格式:HitPauseTime
参数:无
返回值类型:int
错误条件:无
示例:
trigger1 = HitPauseTime = 0
当游戏者未被击中暂停时触发。
------------------------------------------------------------
#HitShakeOver(击中震动完了)
------------------------------------------------------------
若游戏者处于受击状态,则若hit震动(当他在某位置震动的时期)已经结束则返回1,否则返回0。
格式:HitShakeOver
参数:无
返回值类型:boolean int (1 or 0)
错误条件:无
示例:
trigger1 = HitShakeOver = 0
若游戏者仍在hit震动中则触发。
------------------------------------------------------------
#HitVel(击中速度)
------------------------------------------------------------
获得游戏者被一个hit给予的速度。你必须指定你要检测的部分,例如,“HitVel Y”检测竖直速度部分。
格式:HitVel [component]
参数:[component]为X, Y
返回值类型:float
错误条件:无
详细资料:
正的HitVel Y意思是游戏者在屏幕上向上运动。正的HitVel X意思是向后运动。注意HitVel X触发器与Vel X触发器以相反的方式表现。
示例:
trigger1 = HitVel X > 0.5
当游戏者的受击x速度大于每时间帧0.5象素时为真。
I-M
------------------------------------------------------------
#ID(身份)
------------------------------------------------------------
返回游戏者的ID号。该ID号一场比赛的过程中对每个游戏者是唯一的。任何在这段时间内创建的援护者也将获得它们自己的唯一ID号。该触发器可能在获得对手ID号时有用,之后用“playerID”重定向键值(见exp文档)。
格式:ID
参数:无
返回值类型:int
错误条件:无
示例:
value = ID
设置value为当前游戏者的ID号。
value = EnemyNear, ID
设置value为最近距离对手的ID号。
------------------------------------------------------------
#IfElse(如果否则)
------------------------------------------------------------
该触发器有三个参量。若第一个非0,IfElse返回第二个参量的值。否则,返回第三个参量的值。所有参量求值优先于执行ifelse。
格式:IfElse(exp_cond,exp_true,exp_false)
参数:exp_cond
要测试的表达式。
exp_true
exp_cond为非0时要指定值的表达式。
exp_false
exp_cond为0时要指定值的表达式。
返回值类型:exp_true或exp_false的类型,返回的那个。
错误条件:若任何参数返回空则返回空。
示例:
value = ifelse(var(3),1,2)
若var(3)非0则设置value为1,而且若var(3)为0则设置value为2。
------------------------------------------------------------
#IsHelper(是援护者)
------------------------------------------------------------
该触发器用一个可选ID号作为参量。若ID号省略,则IsHelpler当游戏者是援护者角色时返回1,否则返回0。若包含ID号,则IsHelper当游戏者是指定ID号的援护者角色时返回1,否则返回0。
格式:
IsHelper
IsHelper(exprn)
参数:无
返回值类型:boolean int (1 or 0)
错误条件:exprn算出SFalse则返回SFalse。
示例:
1. trigger1 = !IsHelper
若游戏者不是一个援护者类型角色则触发。
2. trigger1 = IsHelper(1234)
若游戏者时一个ID号为1234的援护者则触发。
------------------------------------------------------------
#IsHomeTeam(是主队)
------------------------------------------------------------
若游戏者队被认为是“主队”则返回1。在arcade模式中,电脑总是被认为是主队。在versus(对战)模式中,P1方(左边)是主队。
格式:IsHomeTeam
参数:无
返回值类型:boolean int (1 or 0)
错误条件:无
示例:无
------------------------------------------------------------
#LeftEdge(左边界距离)(1.1新特性)
------------------------------------------------------------
返回角色距离屏幕左边缘在整个场景中的x位置
格式:LeftEdge
参数:无
返回值类型:float
错误条件:无
注:这个触发器等于" ifelse(facing = 1, RightEdge, LeftEdge) "
示例:
trigger1 = Pos X + CameraPos X < LeftEdge
若角色在屏幕左边缘的左边时触发
------------------------------------------------------------
#Life(生命)
------------------------------------------------------------
返回游戏者的生命值。
格式:Life
参数:无
返回值类型:int
错误条件:无
示例:
trigger1 = life <= 10
若游戏者有10或更少的生命点剩余时触发。
------------------------------------------------------------
#Ln(自然对数)
------------------------------------------------------------
返回其参量的自然对数。产生略微比其另外的等价表达式log(e,(参量))更精确
的结果。
格式:ln(exprn)
参数:exprn
要计算自然对数的表达式。
返回值类型:float
错误条件:若exprn算出SFalse则返回SFalse,否则若exprn非正(则返回SFalse)。
示例:
value = ln(time)
设置value为游戏者状态时间的自然对数。
------------------------------------------------------------
#Log(对数)
------------------------------------------------------------
有a和b两个参量,且返回以a为底的b的对数。
格式:Log(exp1,exp2)
参数:exp1为给出对数的底数的表达式。必须为正。
exp2为给出对数的真数的表达式。必须为正。
返回值类型:float
错误条件:若exp1或exp2算出SFalse则返回SFalse,或者若exp1或exp2非正(则返回SFalse)。
示例:
value=log(2,64)
设置value为以2为底的64的对数,即6.0。
------------------------------------------------------------
#Lose(失败)
------------------------------------------------------------
若游戏者(或游戏者的队,在队模式中)已经输了这局则返回1,否则返回0。能用加上“KO”或者“Time”的后缀分别仅当这局是被KO或是时间到期而输的而返回1。
格式:1. Lose
2. LoseKO
3. LoseTime
参数:无
返回值类型:boolean int (1 or 0)
错误条件:无
示例:
1. trigger1 = Lose
若游戏者(或他的队)已经输了这局则触发。
2. trigger1 = !LoseKO
若游戏者(或他的队)没有被KO而输了则触发。例如,这将在游戏者队未输这局时触发,或者他们是因为时间到期而输了这局时触发。
------------------------------------------------------------
#MatchNo(比赛号)
------------------------------------------------------------
返回当前比赛号。一般用于闯关模式。
格式:MatchNo
参数:无
返回值类型:int
详细资料:
在versus类型模式中当前比赛号总是1。在Arcade和Team Arcade模式中,该比赛号以1开始并在每个新的比赛开始时增加1(例如,由续关,赢了场比赛,等等。)若你完成了arcade模式并开始了一次新游戏,则比赛号回复到1。
示例:无
------------------------------------------------------------
#MatchOver(比赛结束)
------------------------------------------------------------
若比赛已结束则返回1。(例如,在三局两胜赛的情况中,当其中一个游戏者或队已经赢了两局则返回真。)
格式:MatchOver
参数:无
返回值类型:boolean int (1 or 0)
错误条件:无
详细资料:
通常MatchOver不会返回真直到游戏者开始他的胜利姿势(状态180)。该行为可能在将来的版本中被改变。
示例:
trigger1 = !matchover
若比赛未结束则触发。例如,当前局可能尚未结束,或已经结束但还未决定该场比赛的结果。
------------------------------------------------------------
#MoveContact(招式接触)
------------------------------------------------------------
该触发器仅当游戏者在攻击状态时有效。若P2已被击中或已防御住P1的攻击则MoveContact返回1。其它情况返回0。P1是游戏者,P2是他的对手。代表性地和用“StateNo”和“Command”触发器来检测在CMD文件中的招式中断。
格式:MoveContact
参数:无
返回值类型:boolean int (1 or 0)
错误条件:无
示例:
trigger1 = MoveContact
若P1的攻击命中P2或被P2防御住则为真。
------------------------------------------------------------
#MoveGuarded(招式已防御)
------------------------------------------------------------
该触发器仅当游戏者在攻击状态时有效。若P2正在防御或已防御住P1的攻击则MoveGuarded返回1。攻击错过或者成功击中则返回0。P1是游戏者,P2是他的对手。
通常与“StateNo”、“Command”触发器配合使用来检测CMD文件中的招式中断。
格式:MoveGuarded
参数:无
返回值类型:boolean int (1 or 0)
错误条件:无
示例:
trigger1 = MoveGuarded
若P1的攻击被P2防御住则为真。
------------------------------------------------------------
#MoveHit(招式击中)
------------------------------------------------------------
该触发器仅当游戏者在攻击状态时有效。若P2已被P1的攻击击中则MoveHit返回1。若该攻击错过或被防御住则返回0。
通常与“StateNo”、“Command”触发器配合使用来检测CMD文件中的招式中断。
格式:MoveHit
参数:无
返回值类型:boolean int (1 or 0)
错误条件:无
示例:
trigger1 = MoveHit
若P1的成功击中P2则为真。
------------------------------------------------------------
#MoveType(*,***)(招式类型)
------------------------------------------------------------
MoveType给出游戏者的招式类型。查阅CNS文档中的StateDef段以获得更多关于MoveType的信息。对CMD文件中的“move interrupts(招式中断)”有效。
格式:MoveType [oper] move_type
参数:[oper]可用=, != (其他无效)
move_type (char)为A, I, H,即攻击,空闲和受击招式类型。
返回值类型:boolean int (1 or 0)
错误条件:无
示例:
trigger1 = movetype != H
若游戏者当前不处于受击类型状态时触发。
------------------------------------------------------------
#Name(*,***)(名字)
------------------------------------------------------------
返回游戏者的名字(在.DEF文件中指定的内部名字,可能与显示的名字不同)
格式:Name [oper] "name"
参数:[oper]可用=, != (其他符号无效)
"name" (string)为要比较的名字。必须在双引号内。
返回值类型:boolean int (1 or 0)
错误条件:无
示例:
trigger1 = Name = "Kumquat"
若游戏者名为Kumquat则返回真。
------------------------------------------------------------
#NumEnemy(敌人数量)
------------------------------------------------------------
NumEnemy返回存在对手的数量。中立游戏者和普通援护者不被认为是对手。
格式:NumEnemy
参数:无
返回值类型:int
错误条件:无
示例:
trigger1 = NumEnemy = 2
trigger1 = enemynear(1), name = "Squash"
若有2个对手,且第二近的一个名为Squash则触发。
------------------------------------------------------------
#NumExplod(爆炸数量)
------------------------------------------------------------
该触发器用一个ID号作为可选参量。若该ID号被省略,则NumExplod返回游戏者拥有的爆炸数量。若包含ID号,则NumExplod返回游戏者拥有的该ID号的爆炸数量。该ID号必须大于-1。一个为-1或者更小的ID号将产生与省略该ID号相同的效果。
格式:1. NumExplod
2. NumExplod(exprn)
参数:exprn为算出ID号的表达式。
返回值类型:int
错误条件:exprn算出SFalse则返回SFalse。
示例:
1. trigger1 = NumExplod >= 4
若游戏者当前拥有4个或更多爆炸则触发。
2. trigger1 = NumExplod(1234) >= 4
若游戏者当前拥有大于等于4个ID号为1234的爆炸则触发。
------------------------------------------------------------
#NumHelper(援护者数量)
------------------------------------------------------------
该触发器用一个ID号作为可选参量。若ID号省略,则NumHelper返回游戏者当前拥有的援护者总数。若包含ID号,则NumHelper返回游戏者拥有的该ID号的援护者总数。该ID号必须大于0,若ID号是0或更小,则计算所有的援护者。
格式:1. NumHelper
2. NumHelper(exprn)
参数:exprn为要计算ID号的表达式。
返回值类型:int
错误条件:exprn算出SFalse则返回SFalse。
示例:
1. trigger1 = NumHelper < 2
若游戏者现在有少于2个的援护者则触发。
2. trigger1 = NumHelper(1234) < 2
若游戏者现在有少于2个的ID号为1234的援护者则触发。
------------------------------------------------------------
#NumPartner(伙伴数量)
------------------------------------------------------------
NumPartner返回当前存在的伙伴数量,即多人同屏组队模式中的伙伴。中立游戏者和普通援护者不被认为是伙伴。
格式:NumPartner
参数:无
返回值类型:int
错误条件:无
示例:
trigger1 = NumPartner = 1
trigger1 = partner, life < 200
若游戏者有一个少于200生命值的伙伴则触发。
------------------------------------------------------------
#NumProj(飞行道具数量)
------------------------------------------------------------
返回游戏者当前拥有的飞行道具总数。
格式:NumProj
参数:无
返回值类型:int
错误条件:无
示例:
trigger1 = NumProj = 0
若游戏者当前没有活动的飞行道具则触发。
------------------------------------------------------------
#NumProjID(ID飞行道具数量)
------------------------------------------------------------
该触发器用一个ID号作为必须参量。它返回游戏者当前拥有的指定ID号的飞行道具数量。
格式:NumProjID(exprn)
参数:exprn为算出ID号的表达式
返回值类型:int
错误条件:若指定一个负的ID,则ID默认为0。若exprn算出SFalse则返回SFalse。
示例:
trigger1 = NumProjID(1234) = 1
若游戏者当前只拥有1个ID号为1234的飞行道具则触发。
------------------------------------------------------------
#NumTarget(目标数量)
------------------------------------------------------------
该触发器用一个ID号作为可选参量。若ID号省略,NumTarget返回游戏者当前目标数量。若包含ID号,则NumTarget返回游戏者当前具有指定目标ID号的目标数量。该ID号必须大于-1。一个为-1或更小的ID号将产生与ID号被省略相同的效果
格式:1. NumTarget
2. NumTarget(exprn)
参数:exprn为算出ID号的表达式。
返回值类型:int
错误条件:exprn算出SFalse则返回SFalse。
示例:
1. trigger1 = NumTarget >= 4
若游戏者当前拥有4个或更多目标则触发。
2. trigger1 = NumTarget(1234) >= 4
若游戏者当前拥有4个或更多ID号为1234的目标则触发。
------------------------------------------------------------
#P1Name(*,***)(P1名字)
------------------------------------------------------------
这是Name触发器的一个别名。见“Name”。
------------------------------------------------------------
#P2BodyDist(P2身体距离)
------------------------------------------------------------
返回P2离P1的距离,这里P1是游戏者,P2是他的对手。P2BodyDist在cmd中,要做拥有距离不同而出不同攻击的招式是非常有用的,例如拳皇的近5A和远5A
格式:P2BodyDist [component]
参数:[component]为X, Y
返回值类型:float
错误条件:无
详细资料:
比较Y方向上的距离,P2BodyDist给出在游戏者Y坐标高度上的区别。负值意思是P2在P1之上。
比较X方向上的距离,P2BodyDist给出P2前部离P1前部的X方向上的距离。所以,若游戏者正紧挨着站在对方的右边,则P2BodyDist为0。记住,你能在“front.width”中设置游戏者的宽度,其他也是同理。在[Size]下的游戏者变量中。
也见P2Dist。
示例:
trigger1 = P2BodyDist X < 30
若P2前部离P1前部的距离在30象素内则触发。
------------------------------------------------------------
#P2Dist(P2距离)
------------------------------------------------------------
返回P2离P1的距离,这里P1是游戏者,P2是他的对手。
格式:P2Dist [component]
参数:[component]
X, Y
返回值类型:float
错误条件:无
详细资料:
比较Y方向上的距离,P2Dist给出在游戏者Y坐标高度上的区别。负值意思是P2在P1上面。
比较X方向上的距离,P2Dist给出P2坐标到P1坐标的X方向上的距离。正值表明P2在P1前面。
也见P2BodyDist。
示例:
trigger1 = P2Dist Y <= -12
若P2至少高于P1超过12象素则为真。
------------------------------------------------------------
#P2Life(P2生命)
------------------------------------------------------------
同Life,除了是返回对手的生命外。
------------------------------------------------------------
#P2MoveType(P2招式类型)
------------------------------------------------------------
同MoveType,除了是返回对手的招式类型。
------------------------------------------------------------
#P2Name(*,***)(P2名字)
------------------------------------------------------------
同P1名字,除了这是返回主对手的名字(versus模式的对手,或team模式的第一个
对手)外。
若没有主对手,则p2name = "name" 无论指定任何名字都将返回0。同样,p2name != "name " 无论指定任何名字都将返回1。
------------------------------------------------------------
#P2StateNo(P2状态号)
------------------------------------------------------------
同StateNo,除了这是返回对手的状态号。
错误条件:若p2不存在则返回SFalse。(例如,这局已经赢了)。
------------------------------------------------------------
#P2StateType(P2状态类型)
------------------------------------------------------------
同StateType,除了这是返回对手的状态号外。
错误条件:若p2不存在则返回SFalse。(例如,这局已经赢了)。
------------------------------------------------------------
#P3Name(*,***)(P3名字)
------------------------------------------------------------
同P1Name,除了这是返回游戏者队友的名字外,如果存在的话。
若没有队友,则p3name = "name" 无论指定任何名字都将返回0。同样,
p3name != "name" 无论指定任何名字都将返回1。
------------------------------------------------------------
#P4Name(*,***)(P4名字)
------------------------------------------------------------
同P1Name,除了这是返回第二个对手的名字外,如果存在的话。
若没有第二个对手,则p4name = "name" 无论指定任何名字都将返回0。同样,
p4name != "name" 无论指定任何名字都将返回1。
------------------------------------------------------------
#PalNo(调色板号)
------------------------------------------------------------
返回游戏者的调色板号(即人物选择中为人物选定的颜色方案)。常用于制作不同P数不同强度时用。
格式:PalNo
参数:无
返回值类型:int
错误条件:无
详细资料:
调色板分类为:
X Y Z
4 5 6
A B C
1 2 3
选择时按住开始键将加6到调色板号。
示例:
trigger1 = PalNo = 5
若当前调色板号是5则返回真。
------------------------------------------------------------
#ParentDist(父级距离)
------------------------------------------------------------
该触发器仅对援护者(helper)有效。ParentDist返回从援护者到它父级(即直接召唤出他的人,有时召唤他的有可能是其他helper而非角色本身)的距离。类似于P2Dist工作。
格式:ParentDist [component]
参数:[component]为X, Y
返回值类型:float
错误条件:若游戏者没有主体(即主体被干掉或KO)则返回SFalse。
详细资料:
比较Y方向上的距离,ParentDist给出在游戏者Y坐标上的高度的差别。负值意思是主体在它的援护者之上。
比较X方向上的距离,ParentDist给出从援护者坐标到主体坐标的X方向上的距离。正值表明主体在援护者的前方。
示例:
trigger1 = ParentDist X != 0
若主体与援护者角色在X方向上的坐标不同则触发。
------------------------------------------------------------
#Pi(圆周率)
------------------------------------------------------------
该触发器返回π的数值。
格式:pi
参数:无
返回值类型:float
错误条件:无
------------------------------------------------------------
#PlayerIDExist(游戏者ID存在)
------------------------------------------------------------
若指定ID号的游戏者存在则返回1,否则返回0。该ID号用“ID”触发器获得。(见ID)。
格式:PlayerIDExist(ID_number)
参数:ID_number
算出要检测的ID号的表达式。
返回值类型:boolean int (1 or 0)
错误条件:exprn算出SFalse则返回SFalse。
示例:
trigger1 = PlayerIDExist(var(4))
若指定ID号等于var(4)的值的游戏者存在则触发。
------------------------------------------------------------
#Pos(位置)
------------------------------------------------------------
获得游戏者的位置值。你必须指定你要检测的部分。例如,用“Pos Y”来检测Y坐标上的位置。
格式:Pos [component]
参数:[component]为X, Y
返回值类型:float
错误条件:无
详细资料:
对“Pos X”,该值相对于屏幕中间(值0)。负值是左,正值是右。
对“Pos Y”,该值相对于地面。负值更高,正值低于地面。
由于历史原因,“Pos X”在一些情况下没有获得角色的正确坐标,要完全获得正确坐标要用"Pos X + CameraPos X"
示例:
trigger1 = Pos Y >= 0
当游戏者低于地面时为真。
------------------------------------------------------------
#Power(能量)
------------------------------------------------------------
返回游戏者拥有的能量数量。
格式:Power
参数:无
返回值类型:int
错误条件:无
示例:
trigger1 = power >= 1000
若游戏者有至少1000能量值(水平1)则为真。
------------------------------------------------------------
#PrevStateNo(上次状态号)
------------------------------------------------------------
返回最近一次所在的状态号。该触发器的结果不保证精确。
格式:PrevStateNo
参数:无
返回值类型:int
错误条件:无
示例:
trigger1 = PrevStateNo = [200,650]
若角色的最后一次的状态号包含在200到650之间则返回真。
------------------------------------------------------------
#ProjCancelTime(飞行道具取消时间)
------------------------------------------------------------
该触发器必须要求有一个非负ID号作为参量。若游戏者最近一个飞行道具产生的任何类型的接触被对手的飞行道具抵消并具有指定的该ID号,则ProjCancelTime返回自接触起经过的时间帧数。若指定ID为0,则飞行道具ID不检测。若没有飞行道具满足所有的以上条件,则ProjCancelTime返回-1。
格式:ProjCancelTime(exprn)
参数:exprn
算出非负ID号的表达式。
返回值类型:int
错误条件:exprn算出SFalse则返回SFalse。
若指定非负ID,则ID默认为0。
示例:
1. trigger1 = ProjCancelTime(1234) = 1
若一个ID号为1234的飞行道具刚被对手的一个飞行道具抵消则触发。
2. trigger1 = ProjGuardedTime(0) != -1 && ProjGuardedTime(0) < 15
若最近15秒内游戏者的任何飞行道具被抵消则触发。
------------------------------------------------------------
#ProjContact(*,***)(飞行道具接触)
------------------------------------------------------------
该触发器用一个可选的ID号作为后缀。若省略该ID号,则ProjContact当游戏者的任何飞行道具成功击中对手或被对手防御住时返回真。当指定ID号后,若游戏者的任何指定该ID号的飞行道具成功击中对手或被对手防御住时ProjContact返回真。
格式:1. ProjContact[ID] = value
2. ProjContact[ID] = value, [oper] value2
参数:[ID]为可选ID号。
value (boolean)为要比较的值。0为假,1为真。
[oper]可用=, !=, <,>, <=,>=
value2为要比较的时间值。
返回值类型:boolean int
错误条件:无
详细资料:
ProjContact对飞行道具的每hit只触发一次,因此一个多重hit的飞行道具能触发多次。
ProjContact上面显示的第一种形式仅对接触后的一时间帧有效,不像MoveContact。
示例:
1. trigger1 = ProjContact1234 = 1
若一个ID号为1234的飞行道具刚与对手产生接触则触发。
2. trigger1 = ProjContact456 = 0, < 15
若没有ID号为456的飞行道具在最近15秒内产生接触则触发。
------------------------------------------------------------
#ProjContactTime(飞行道具接触时间)
------------------------------------------------------------
该触发器用一个必须的非负ID号作为参量。若游戏者最近一次产生任何类型的接触的飞行道具与对手产生接触并有指定的ID号,则ProjContactTime返回自接触产生起经过的时间帧数。若该指定ID号为0,则不检测飞行道具ID。若没有飞行道具符合以上所有条件,则ProjContactTime返回-1。
格式:ProjContactTime(exprn)
参数:exprn为算出非负ID号的表达式。
返回值类型:int
错误条件:exprn算出SFalse则返回SFalse。
若指定非负ID,则ID缺省为0。
示例:
1. trigger1 = ProjContactTime(1234) = 1
若一个ID号为1234的飞行道具与对手产生接触则触发。
2. trigger1 = ProjContactTime(0) != -1 && ProjContactTime(0) < 15
若游戏者的任何飞行道具在15时间帧内成功接触对手则触发。
------------------------------------------------------------
#ProjGuarded(*,***)(飞行道具被防御住)
------------------------------------------------------------
该触发器用一个可选ID号作为后缀。若省略ID号,则若游戏者的任何飞行道具被对手防御住则ProjGuarded返回真。当指定ID号时,若游戏者的一个指定ID号的飞行道具被对手防御住时ProjGuarded返回真。
格式:1. ProjGuarded[ID] = value
2. ProjGuarded[ID] = value, [oper] value2
参数:[ID]为可选ID号。
value (boolean)为要比较的值。0为假,1为真。
[oper]可用=, !=, <,>, <=,>=
value2为要比较的时间值。
返回值类型:boolean int (1 or 0)
错误条件:无
详细资料:
ProjGuarded对飞行道具的每hit将触发一次,因此一个多次hit的飞行道具能触发多次。
ProjGuarded上面显示的第一种形式仅对hit后的一秒有效,不像MoveGuarded。
对第二种形式,若飞行道具在n时间帧前被防御,这里n是一个满足关系 “n [oper] value2”的非负数,则ProjGuarded返回真。
指定ID号为0与省略ID号的行为相同(检测所有飞行道具)。
示例:
1. trigger1 = ProjGuarded1234 = 1
若对手刚防御住一个ID号为1234的飞行道具则触发。
2. trigger1 = ProjGuarded = 1, < 15
若对手在最近15秒内防御住任何飞行道具则触发。
------------------------------------------------------------
#ProjGuardedTime(飞行道具防御住时间)
------------------------------------------------------------
该触发器用一个必须的非负ID号作为参量。若游戏者最近一次产生任何类型的接触的飞行道具被对手防御住且有指定的ID号,则ProjGuardedTime返回自接触产生后经过的时间帧数。若指定ID号为0,则不检测飞行道具ID。若没有飞行道具满足以上所有条件,则ProjGuardedTime返回-1。
格式:ProjCancelTime(exprn)
参数:exprn为算出非负ID号的表达式。
返回值类型:int
错误条件:exprn算出SFalse则返回SFalse。
若指定负ID号,则ID号缺省为0。
示例:
1. trigger1 = ProjGuardedTime(1234) = 1
若一个ID号为1234的飞行当局刚被对手防御住则触发。
2. trigger1 = ProjGuardedTime(0) != -1 && ProjGuardedTime(0) < 15
若15时间帧内游戏者的任何飞行道具被对手防御住则触发。
------------------------------------------------------------
#ProjHit(*,***)(飞行道具击中)
------------------------------------------------------------
该触发器用一个可选的正ID号作为后缀。若省略ID号,则若游戏者的任何飞行道具成功击中对手则ProjHit返回真。当指定ID号时,若游戏者的一个指定ID号的飞行道具成功击中对手则返回真。
格式:1. ProjHit[ID] = value
2. ProjHit[ID] = value, [oper] value2
参数:[ID] (int)为可选的ID号。
value (boolean)为要比较的值。0为假,1为真。
[oper]可用=, !=, <,>, <=,>=
value2
Time value to compare against.
要比较的时间。
返回值类型:boolean int
错误条件:无
详细资料:
ProjHit对飞行道具的每次hit触发一次,因此一个多次hit的飞行道具能触发多次。
ProjHit上面显示的第一种形式仅在hit后一秒有效,不像MoveHit。对第二种形式,若飞行道具击中n时间帧前,这里n是一个满足关系“n [oper] value2”的非负数,则ProjHit返回真。
示例:
1. trigger1 = ProjHit1234 = 1
若一个ID号为1234的飞行道具刚成功接触(并击中)对手则触发。
2. trigger1 = ProjHit1234 = 1, < 15
若15秒内游戏者的任何飞行道具成功接触(并击中)对手则触发。
------------------------------------------------------------
#ProjHitTime(飞行道具击中时间)
------------------------------------------------------------
该触发器用一个必须的非负ID号作为参量。若游戏者最近一次产生成功接触的飞行道具击中对手且有指定的ID号,则ProjHit返回自接触产生后经过的时间帧数。若指定ID号为0,则不检测飞行道具ID。若无飞行道具满足以上所有条件,则ProjHitTime返回-1。
格式:ProjHitTime(exprn)
参数:exprn为算出非负ID号的表达式。
返回值类型:int
错误条件:exprn算出SFalse则返回SFalse。
若指定非负ID号,则ID缺省为0。
示例:
1. trigger1 = ProjHitTime(1234) = 1
若一个ID号为1234的飞行道具成功接触(并击中)对手则触发。
2. trigger1 = ProjHitTime(0) != -1 && ProjHitTime(0) < 15
若15时间帧内游戏者的任何飞行道具成功接触(并击中)对手则触发。
------------------------------------------------------------
#Random(随机数)
------------------------------------------------------------
返回一个包含在0到999之间的随机整数。
格式:Random
参数:无
返回值类型:int
错误条件:无
示例:
trigger1 = Random <= 249
若随机数小于或等于249则触发。(这产生25%的可能性)
------------------------------------------------------------
#RightEdge(左边界距离)(1.1新特性)
------------------------------------------------------------
返回角色距离屏幕右边缘在整个场景中的x位置
格式:RightEdge
参数:无
返回值类型:float
错误条件:无
注:这个触发器等于"CameraPos X + GameWidth / 2"
示例:
trigger1 = Pos X + CameraPos X > RightEdge
若角色在屏幕右边缘的右边时触发
------------------------------------------------------------
#RootDist(主体距离)
------------------------------------------------------------
该触发器仅对援护者类型人物有效。RootDist返回从援护者到它的主体的距离。主体是拥有该援护者的主要游戏者:例如,若你选择Kumquat玩,且Kumquat产生一个援护者名叫Kiwi,而他(Kiwi)又依次产生一个援护者名叫Penguin,则Penguin的主体是Kumquat,且Penguin是Kumquat的子级。RootDist工作原理类似于P2Dist。
格式:RootDist [component]
参数:[component]为X, Y
返回值类型:float
错误条件:若游戏者无主体则返回SFalse。
详细资料:
比较Y方向上的距离,RootDist给出游戏者Y坐标在高度上的不同。负值意思是主体在它的子级上方。
比较X方向上的距离,RootDist给出根祖先坐标离子孙坐标在X方向上的距离。正值表明根祖先在它的子孙前方。
示例:
trigger1 = RootDist X != 0
若主体不与援护者人物在相同的x位置则触发。
------------------------------------------------------------
#RoundNo(局号)
------------------------------------------------------------
返回当前局号。
格式:RoundNo
参数:无
返回值类型:int
错误条件:无
示例:
trigger1 = RoundNo = 3
若这是该场比赛的第3局则触发。
------------------------------------------------------------
#RoundsExisted(局存在)
------------------------------------------------------------
返回游戏者已经生存过的局数。在第一局返回0。这在Turns模式开场介绍中有用。
格式:RoundsExisted
参数:无
返回值类型:int
错误条件:无
示例:
trigger1 = RoundsExisted = 0
trigger1 = TeamMode = Turns
trigger1 = RoundNo > 0
若第一局后游戏者已经进入一个Turns模式队赛。你能用这个例子和一个ChangeState控制器去转换到一个开场介绍的状态覆盖初始化状态(状态5000)。
------------------------------------------------------------
#RoundState(局状态)
------------------------------------------------------------
返回当前局状态号。
格式:RoundState
参数:无
返回值类型:int
错误条件:无
详细资料:
返回值:
0:预开场介绍——渐入屏幕
1:开场介绍
2:格斗——游戏者战斗
3:预结束——一局刚赢或输
4:结束——胜利姿势
示例:
trigger1 = RoundState = 2
若实际格斗部分正在进行则触发。
------------------------------------------------------------
#ScreenPos(屏幕位置)
------------------------------------------------------------
获得游戏者绝对(相对于屏幕右上角的)位置。你必须指定你要检测的部分。例如,“Pos Y”检测Y方向上的位置。
格式:ScreenPos [component]
参数:[component]为X, Y
返回值类型:float
错误条件:无
详细资料:
对于“ScreenPos X”,该值为相对于屏幕左边(值0)。负值向左,正值向右。
对于“ScreenPos Y”,该值为相对于屏幕顶端,负值在屏幕上面,正值向下。
示例:
trigger1 = ScreenPos Y >= 0 && ScreenPos Y < GameHeight
当游戏者在屏幕的竖直范围内则为真。
------------------------------------------------------------
#ScreenHeight(屏幕高度)(1.1新特性)
------------------------------------------------------------
返回角色当前分辨率的屏幕高度。
格式:ScreenHeight
参数:无
返回值类型:float
错误条件:无
注意:ScreenWidth和ScreenHeight不受相机缩放值影响
示例:
type = Explod
space = screen
pos = 0, ScreenHeight
...
在屏幕左下角创造一个火花
------------------------------------------------------------
#ScreenWidth(屏幕宽度)(1.1新特性)
------------------------------------------------------------
返回角色当前分辨率的屏幕宽度。
格式:ScreenWidth
参数:无
返回值类型:float
错误条件:无
注意:ScreenWidth和ScreenHeight不受相机缩放值影响
示例:
type = Explod
space = screen
pos = ScreenWidth / 2, ScreenHeight / 2
...
在屏幕中央创造一个火花
------------------------------------------------------------
#SelfAnimExist(自己的动画存在)
------------------------------------------------------------
如AnimExist,除了这个仅检测P1的动画数据。若P1由一个hit被给出P2的动画数据,SelfAnimExist将不检测P2的动画数据以决定被给出的动作是否存在。
------------------------------------------------------------
#Sin(正弦)
------------------------------------------------------------
计算指定参量的正弦(按弧度)。
格式:sin(exprn)
参数:exprn为要计算正弦的表达式。
返回值类型:float
错误条件:exprn算出SFalse则返回SFalse。
示例:
value = sin(pi/2)
设置value为π/2,即约等于1.0(可能由一些舍入误差)。
------------------------------------------------------------
#StateNo(状态号)
------------------------------------------------------------
返回游戏者当前状态号。在CMD文件的“招式中断”中有用。
格式:StateNo
参数:无
返回值类型:int
错误条件:无
示例:
trigger1 = stateno = [200,650]
若状态号包含在200到650之间则返回真。
------------------------------------------------------------
#StateType(状态类型)
------------------------------------------------------------
StateType给出游戏者状态类型。查阅CNS文件中的StateDef段获得更多关于StateType的信息。在CMD文件的“招式中断”中有用。
格式:StateType [oper] state_type
参数:[oper]可为=, != (其他符号无效)
state_type (char)为S, C, A, L,即站立、下蹲、空中和倒地.
返回值类型:boolean int (1 or 0)
错误条件:无
示例:
trigger1 = StateType != A
若游戏者不在空中类型状态则触发。
------------------------------------------------------------
#StageVar(场景参数)(1.0新特性)
------------------------------------------------------------
返回场景的信息,可以支持一些参数。
格式:StageVar(param_name) [oper] "string"
参数:
param_name:检查场景名相关参数,有效的值为:info.name, info.displayname, info.authorname
[oper]:支持=、!=运算符,其他都不支持
"string":要比较的值,必须在双引号内
返回值类型:boolean int (1 or 0)
错误条件:无
详细资料:
info. author为[Info]区里的"author"参数、info. displayname为[Info]区里的" displayname "参数、info. name为[Info]区里的" name "参数
支持版本:1.0以上
示例:
trigger1 = StageVar(info.author) = "Suika"
若场景作者为Suika时触发。
------------------------------------------------------------
#SysFVar(系统浮点变量)
------------------------------------------------------------
该触发器用一个托管变量号作为参量。它返回游戏者指定系统浮点变量的值。该触发器不应被用于普通环境。系统变量保存在common1.cns文件中。
格式:SysFVar(exprn)
参数:exprn
算出变量号的表达式。有效数字为0——4。
返回值类型:float
错误条件:若exprn算出SFalse,或若exprn算出无效的变量下标,则返回SFalse。
示例:
trigger1 = SysFVar(0) = -1.23
若系统浮点变量0的值为-1.23则触发。
------------------------------------------------------------
#SysVar
------------------------------------------------------------
该触发器用一个托管变量号作为参量。它返回游戏者指定系统整数变量的值。该触发器不应被用于普通环境。系统变量保存在common1.cns文件中。
格式:SysVar(exprn)
参数:exprn为算出变量号的表达式。有效数字为0——4。
返回值类型:int
错误条件:若exprn算出SFalse,或若exprn算出无效的变量下标,则返回SFalse。
示例:
trigger1 = SysVar(0) = -34
若系统变量0的值为-34则触发。
------------------------------------------------------------
#Tan(正切)
------------------------------------------------------------
计算指定参量的正切(按弧度)。
格式:tan(exprn)
参数:exprn为计算正切的表达式。
返回值类型:float
错误条件:exprn算出SFalse则返回SFalse。
示例:
value = tan(pi/4)
设置value为π/4的正切值,即约等于1.0(可能有一些舍入误差)。
------------------------------------------------------------
#TeamMode(*,***)(队模式)
------------------------------------------------------------
TeamMode给出游戏者队模式当前玩的模式。
格式:TeamMode [oper] mode
参数:[oper]可以是 =, != (其他符号无效)
mode (string)为:
single -单个游戏者
simul - 2游戏者同时
turns -轮流战斗
返回值类型:boolean int (1 or 0)
错误条件:无
示例:
trigger1 = TeamMode = Single
若游戏者正在玩单人模式则触发。
------------------------------------------------------------
#TeamSide(队立场)
------------------------------------------------------------
返回游戏者所在的队的立场。1代表P1这边(左),2代表P2这边(右)
格式:TeamSide
参数:无
返回值类型:int
错误条件:无
示例:
trigger1 = TeamSide = 2
若游戏者在P2这边队则触发。
------------------------------------------------------------
#TicksPerSecond(每秒的时间帧数)
------------------------------------------------------------
返回每秒的时间帧数。在时间计算时有用。
格式:TicksPerSecond
参数:无
返回值类型:int
错误条件:无
示例:
trigger1 = Time > 10 * TicksPerSecond
10秒后触发,不管实际游戏速度。
------------------------------------------------------------
#Time(时间)
------------------------------------------------------------
返回游戏者进入该state状态后经过的时间(换句话说,就是游戏者在当前状态已经经过的时间帧数。)
格式:Time
参数:无
返回值类型:int
错误条件:无
示例:
trigger1 = Time = 2
当游戏者进入该state后的第2帧时触发。
trigger1 = Time = [0, 192]
当游戏者进入该state后的第0到192帧时触发。
------------------------------------------------------------
#TimeMod(*,**,***)(时间余数)
------------------------------------------------------------
返回游戏者的状态时间除以指定值所得的余数。
%操作符包含TimeMod的功能,因此推荐你用%代替。
格式:TimeMod [oper] divisor, value1
参数:[oper]可以是 =, !=, <,>, <=,>=
divisor (int)为用作除数的正数
value1 (int)为用来比较余数的值
返回值类型:boolean int (1 or 0)
错误条件:若除数为0则返回SFalse。
示例:
trigger1 = TimeMod = 4, 3
当状态时间是3、7、11、15……时触发。
------------------------------------------------------------
#TopEdge(顶边界距离)(1.1新特性)
------------------------------------------------------------
返回角色距离屏幕顶部边缘在整个场景中的y坐标
格式:TopEdge
参数:无
返回值类型:float
错误条件:无
注:这个触发器等于"Pos Y - ScreenPos Y"
示例:
trigger1 = Pos Y > TopEdge
若角色在屏幕顶部边缘下方时触发
------------------------------------------------------------
#UniqHitCount(唯一hit计数)
------------------------------------------------------------
返回游戏者当前攻击招式已经造成的hit总数。该值仅在单个状态内有效;在
任何状态后,它恢复到0。为避免它恢复到0,设置StateDef(见cns文档获得
详细信息)内的hitcountpersist。
HitCount和UniqHitCount触发器仅区别在当游戏者击中多于一个的对象时。
在游戏者用同一个攻击击中两个对手的情况时,HitCount每hit将增加1,而
UniqHitCount增加2。
格式:UniqHitCount
参数:无
返回值类型:int
错误条件:无
示例:
trigger1 = UniqHitCount = [4,6]
当自游戏者攻击招式开始后已处理4、5或6hit则触发。
------------------------------------------------------------
#Var(变量)
------------------------------------------------------------
该触发器用一个托管变量号作为参量。它返回游戏者的指定整数变量的值。
格式:Var(exprn)
参数:exprn为算出变量号的表达式。这时的有效数值为0——59。
返回值类型:int
错误条件:若exprn算出SFalse,或exprn算出一个无效的变量下标,则返回SFalse。
示例:
trigger1 = Var(0) = -34
若变量0的值为-34则触发。
------------------------------------------------------------
#Vel(速度)
------------------------------------------------------------
获得游戏者的速度值。你必须指定你想要的部分。例如,“Vel Y”检测Y方向上
的距离。
格式:Vel [component]
参数:[component]为X, Y
返回值类型:float
错误条件:无
详细资料:
对速度X,正值表明游戏者朝前运动。(该行为与HitVel的X行为相反)
对速度Y,正值表明游戏者朝下运动。
示例:
trigger1 = Vel Y >= 0
当游戏者不朝上运动则为真。
------------------------------------------------------------
#Win(胜利)
------------------------------------------------------------
若游戏者(或游戏者的队,在队模式中)已赢了这局则为真。可以标上“KO”、“Time”或“Perfect”的后缀对应仅当该局已由KO、时间到期或无生命值损失时为真。
格式:1. Win
2. WinKO
3. WinTime
4. WinPerfect
参数:无
返回值类型:boolean int (1 or 0)
错误条件:无
示例:
1. trigger1 = Win
若游戏者(或他的队)已赢了这局则触发。
2. trigger1 = !WinKO
若游戏者(或他的队)没有以KO赢了这局。例如,若游戏者的队尚未赢这局,或他们因时间到而赢了这局。