前言
状态控制器参考
==========================
M.U.G.E.N, (c) Elecbyte 2001
2001.04.14版文档
2010.06.29版文档(1.0)
2010.03.27版文档(1.1)
测试版文档
翻译:久天
出处:MUGENCHINA
新版本翻译及格式整理:斯凯沃尔夫
出处:千寻平台
====================================================================
所有状态控制器都有两个可选参数,“persistent”和“ignorehitpause”。他们必须被设置为整数常量值。除非另外说明,否则数值状态控制器参数都可以用一个算术表达式来指定值
任何情况下,用表达式来设置一个参数值时,要注意表达式别对SFalse进行计算,否则该参数会被设置为0。
#AfterImage(残影)
#AfterImageTime(残影时间)
#AllPalFX
#AngleAdd(角度加)
#AngleDraw(角度绘制)
#AngleMul(角度乘)
#AngleSet(角度设置)
#AppendToClipboard(添加到剪贴板)
#AssertSpecial(特殊断言)
#AttackDist(攻击距离)
#AttackMulSet(攻击乘数设置)
#BGPalFX与PalFX相同,除了是以影响背景和生命条调色板代替影响人物调色板外。查看PalFX部分获得BGPalFX参数的详细资料。
#BindToParent(绑定到双亲)
#BindToRoot(绑定到根祖先)
#BindToTarget(绑定到目标)
#ChangeAnim(改变动画)
#ChangeAnim2(改变动画2)
#ChangeState(改变状态)
#ClearClipboard(清空剪贴板)
#CtrlSet(控制设置)
#DestroySelf(消灭自己)
#DisplayToClipboard(显示到剪贴板)(win专用)
#EnvColor(环境颜色)
#EnvShake(环境震动)
#Explod(爆炸)
#ExplodBindTime(爆炸绑定时间)
#ForceFeedback(强制回馈)
#FallEnvShake(跌落震屏)
#GameMakeAnim(游戏生成动画)
#Gravity(重力)
#Helper(援护者)
#HitAdd(击中点数加)
#HitBy(被...击中)
#HitFallDamage(击中落下伤害)
#HitFallSet(击中下落设置)
#HitFallVel(击中下落速度)
#HitOverride(击中覆盖)
#HitVelSet(击中速度设置)
#LifeAdd(生命增加)
#LifeSet(生命设置)
#MakeDust(生成尘土)
#ModifyExplod(修改爆炸)
#MoveHitReset(移动击中复位)
#NotHitBy(不被...击中)
#Null(无)
#Offset(偏移量)
#PalFX应用游戏者调色板的临时效果
#ParentVarAdd(双亲变量加)
#Pause(暂停)
#PlayerPush(游戏者推挤)
#PlaySnd(播放声音)
#PosAdd(位置加)
#PosFreeze(位置冻结)
#PosSet(位置设置)
#PowerAdd(能量加)
#PowerSet(能量设置)
#Projectile(飞行道具)
#RemapPal(改变色表)(1.0新特性)
#RemoveExplod(移除爆炸)
#ReversalDef(反弹定义)
#ScreenBound(屏幕边缘)
#SelfState(自己状态)
#SprPriority(精灵/图层 优先级)
#StateTypeSet(状态类型设置)
#SndPan(声音面板)
#StopSnd(停止声音)
#SuperPause(超级暂停)
#TargetBind(目标绑定)
#TargetDrop(目标下落)
#TargetFacing(目标面向)
#TargetLifeAdd(目标生命加)
#TargetPowerAdd(目标能量加)
#TargetState(目标状态)
#TargetVelAdd(目标速度加)
#TargetVelSet(目标速度设置)
#Turn(转向)
#VarAdd(变量加)
#VarRandom(变量随机)
#VarRangeSet(变量范围设置)
#VarSet(变量设置)
#VelAdd(速度加)
#VelMul(速度乘)
#VelSet(速度设置)
#VictoryQuote(胜利台词)(1.0新特性)
#Width(宽度)
#Zoom(镜头缩放)(1.1新特性)
------------------------------------------------------------
#AfterImage(残影)
------------------------------------------------------------
产生游戏者残影效果。将人物画面存储在历史缓冲中,并延迟一段时间作为残影显示。
必选参数:无
可选参数:time = duration (int)
指定残影显示的时间帧(tick)数。缺省为1。
time
length = no_of_frames (int)
设置画面历史缓冲的容量。缓冲将持续no_of_frames幅该人物最近保存的画面。◎增大length(长度)能增加残影显示一次的数量和“寿命”(没有更好的术语)。最大length值时60,缺省是20。
palcolor = col (int) palinvertall = invertall (bool)
palbright = add_r, add_g, add_b (int)
palcontrast = mul_r, mul_g, mul_b (int)
palpostbright = add2_r, add2_g, add2_b (int)
这些参数确定应用于所有残影的调色板效果。首先颜色级别根据palcolor的值调整,如果invertall(应该是palinvertall?)是非0那么颜色将被反转。然后,palbright成分将加到游戏者调色板相应的成分,每个成分乘以相应的palcontrast成分除以256,再将palpostbright成分加到结果中。palcolor的值域为从0(暗)到256(亮)。例如,如果人物调色板的红色成分表示为pal_r,并假设palcolor和palinvert为缺省值,那么残影调色板的红色成分由(pal_r+add_r)*mul_r/256 + add2_r给出。palcolor的有效值为0到256,palbright和palpostbright成分为0到255,palcontrast可以为任何非负整数。
缺省值为:
palcolor = 256
palinvertall = 0
palbright = 30,30,30
palcontrast = 120,120,220
palpostbright = 0,0,0
paladd = add_r, add_g, add_b (int)
palmul = mul_r, mul_g, mul_b (float)
这些参数指定重复应用于残影中连续画面的调色板效果。在这些调色板效果的应用中,首先是paladd成分被加到残影调色板,然后该成分乘以palmul乘数。这些效果被0次应用到最新的残影画面,1次应用到第二新的残影画面,2次应用到第三新的残影画面,等等。paladd成分的有效值为0-255,palmul乘数可以为任何浮点小数值。缺省值为paladd = 10,10,25palmul = .65,.65,.75
timegap = value (int)
该参数控制残影显示中跳过保存游戏者画面到历史缓冲的画面数。缺省值是1(不跳过画面)。为使得每三幅画面保存一次(举例),你应该用timegap = 3。
framegap = value (int)
历史缓冲中每第value幅画面将显示为残影。例如,如果framegap = 4(缺省),那么,历史缓冲中的第1、5、9、……幅画面将被显示为残影。
trans = type (string)
指定残影的透明类型。有效类型包括“none”为不透明残影、“add”,“add1”和“sub”。默认值是"none"
示例:无
------------------------------------------------------------
#AfterImageTime(残影时间)
------------------------------------------------------------
如果开启,将改变游戏者残影效果的持续时间。如果没有残影效果显示,该参数不做任何事。
已知Bug(缺陷):如果创建AfterImage控制器时timegap参数不是设置为1,那么使用这个AfterImageTime将导致画面当前位置(第几幅的意思)重设为初始值。
必选参数:time = new_duration (int)
设置残影消失前将显示的新时间帧(tick)数。
取代参数:
value = new_duration (int)
可选参数:无
示例:无
------------------------------------------------------------
#AllPalFX
------------------------------------------------------------
与PalFX相同,此外除了影响所有人物和爆炸(不管ownpal参数),还影响背景和生命条调色板。查看PalFX部分获得AllPalFX参数的详细资料。
------------------------------------------------------------
#AngleAdd(角度加)
------------------------------------------------------------
用于AngleDraw加上绘制(人物)的旋转角度值
必选参数: value = add_angle (float)
add_angle必须为角度值(即不是弧度值)。
可选参数:无
示例:无
------------------------------------------------------------
#AngleDraw(角度绘制)
------------------------------------------------------------
使游戏者(用于1幅画面)在他坐标轴中以旋转AngleSet设置的角度数来绘制。
注:在没有赋值value的情况下,默认为0;在之前有被赋值value的情况下,则默认为上一个数值
必选参数:无
可选参数:无
示例:无
type = AngleDraw
value = 90
scale = 1.25,1.25
使对象逆时针旋转90度(负值是顺时针)且x、y放大至1.25倍
------------------------------------------------------------
#AngleMul(角度乘)
------------------------------------------------------------
将用于AngleDraw的绘制旋转角度数乘以指定因数。
必选参数:value = angle_multiplier (float)
用angle_multiplier乘上绘制角度数。
可选参数:无
示例:无
------------------------------------------------------------
#AngleSet(角度设置)
------------------------------------------------------------
设置用于AngleDraw的绘制旋转角度的值。这个角度初始化为0。
必选参数: value = angle (float)
角度数必须为角度值(即不是弧度值)。
可选参数:无
示例:无
------------------------------------------------------------
#AppendToClipboard(添加到剪贴板)
------------------------------------------------------------
这个与DisplayToClipboard相同,除了消息文本是另外加在一新行,而不是覆盖已经在剪贴板上的任何文本。查看DisplayToClipboard以获得格式描述。
------------------------------------------------------------
#AssertSpecial(特殊断言,常用)
------------------------------------------------------------
这个控制器允许你同时断言三个特殊标记(flag)。MUGEN将在每个游戏时间帧(tick)自动“解除断言”每个标记,所以如果你想要某个标记起作用,你必须在每个时间帧断言该标记。
常用于一些比较特殊的效果和性能,例如隐藏血条和气条、自身人物不能空防/站防/蹲防、自己的攻击不能被防御。
可选参数:
flag = flag_name
flag_names是指定该标记需要断言的字符串。
可选参数:
flag2 = flag2_name
flag3 = flag3_name
你能同时断言三个标记。
详细资料:
标记的名称可以为以下之一:
- intro 告诉MUGEN该人物正表演他的开场姿势。(该名称)必须在表演开场姿势的每一个时间帧被断言
- invisible 断言后切换人物为不可见状态。不影响残影的显示。
- roundnotover 告诉MUGEN该人物正表演他的胜利姿势。(该名称)应该在表演胜利姿势的每一个时间帧被断言。
- nobardisplay 断言后不显示生命条、能量条等等。
- noBG 关闭背景。屏幕被清黑。
- noFG 不显示1号层的舞台(前景)。
- nostandguard 断言后,取消人物站防。
- nocrouchguard 断言后,取消人物蹲防。
- noairguard 断言后,取消人物空防。
- noautoturn 断言后,保持人物自动朝向对手。- nojugglecheck 断言后,取消连击(juggle)检查。P2能被连击而不管连击点数值。
- nokosnd 游戏者被击倒后抑制声音11,0(KO声)的重放。为了抑制游戏者KO声的所有回放,nokosnd必须在游戏者被KO后,被断言50或更长时间帧。
- nokoslow 断言后,阻止MUGEN慢动作显示该局(round)结束。- noshadow 断言后,不显示游戏者的影子。
- globalnoshadow 不显示所有游戏者、援护者和爆炸的影子。
- nomusic 断言后,暂停背景音乐的播放。
- nowalk 断言后,游戏者不能进入他的走(walk)状态,即使他在受控制中。用于预防跑状态变成走。
- timerfreeze 断言后,阻止该局(round)计时器的倒计时。常用于防止倒计时时time over。
- unguardable 断言后,所有断言游戏者的HitDef变不可防御,即他们的guardflag被忽视。
示例:无
------------------------------------------------------------
#AttackDist(攻击距离)
------------------------------------------------------------
改变该游戏者当前HitDef的guard.dist参数值。guard.dist是P2按住背离P1的方向就进入防御状态时,x方向上从P1到P2的距离。
如果P1当前不在HitDef活动,则AttackDist无效。(1.0描述改为了只有当P1 的movetype = A时guard.dist才生效)
必选参数: value = guard_dist (int)
新的防御距离,用象素数表示。
可选参数:无
示例:无
------------------------------------------------------------
#AttackMulSet(攻击乘数设置,常用)
------------------------------------------------------------
设置该游戏者的攻击乘数。所有该游戏者造成的伤害将按这个数量成比例(放大或缩小)。
必选参数: value = attack_mul (float)
指定想要的乘数。例如,为2的attack_mul产生两倍的伤害。
可选参数:无
示例:无
------------------------------------------------------------
#BGPalFX
------------------------------------------------------------
与PalFX相同,除了是以影响背景和生命条调色板代替影响人物调色板外。查看PalFX部分获得BGPalFX参数的详细资料。
------------------------------------------------------------
#BindToParent(绑定到双亲)
------------------------------------------------------------
如果游戏者是一个援护者(helper),绑定这个游戏者到相对他双亲(parent)的指定位置。如果游戏者不是援护者,这个控制器无效。
必选参数:无
可选参数:
time = bind_time (int)
指定绑定有效的时间帧数。缺省为1。
facing = facing_flag (int)
如果facing_flag是-1,将使游戏者在绑定时期内总是朝向与其双亲(parent)相反的方向。如果facing_flag是1,将使游戏者在绑定时期内总是朝向与其双亲相同的方向。如果facing_flag是0,游戏者将不管其双亲的朝向。缺省为0。
pos = pos_x (float)
pos_x和pos_y指定绑定(位置)偏移量(相对于双亲的坐标轴)。缺省为0,0。
注意:
如果游戏者的双亲消失了(例如,如果这是一个援护者,并执行了DestroySelf),则BindToParent效果中止。
示例:无
------------------------------------------------------------
#BindToRoot(绑定到根祖先)
------------------------------------------------------------
如果游戏者是一个援护者(helper),绑定这个游戏者到相对他根祖先(root)的指定位置。如果游戏者不是援护者,这个控制器无效。
必选参数:无
可选参数:
time = bind_time (int)
指定绑定有效的时间帧数。缺省为1。
facing = facing_flag (int)
如果facing_flag是-1,将使游戏者在绑定时期内总是朝向与其根祖先(root)相反的方向。如果facing_flag是1,将使游戏者在绑定时期内总是朝向与其根祖先相同的方向。如果facing_flag是0,游戏者将不管其根祖先的朝向。缺省为0。
pos = pos_x (float), pos_y (float)
pos_x和pos_y指定绑定(位置)偏移量(相对于根祖先的坐标轴)。缺省为0,0。
注意:
如果游戏者的根祖先以任何原因消失了(例如,如果这是一个援护者,并执行了DestroySelf),则BindToParent效果中止。
示例:无
------------------------------------------------------------
#BindToTarget(绑定到目标)
------------------------------------------------------------
绑定游戏者到相对指定目标的指定位置。
常用于抓投技
必选参数:无
可选参数:
time = bind_time (int)
指定绑定有效的时间帧数。缺省为1。
ID = bind_id (int)
指定绑定目标的ID号。缺省为-1(绑定任意目标)。
pos = pos_x (float), pos_y (float), postype (string)
pos_x和pos_y指定到绑定的(位置)偏移量(从绑定点)。绑定点缺省为目标的坐标轴。如果postype是“Foot”,则绑定点是目标的坐标轴。如果postype是“Mid”,则绑定点是目标的腰部。如果postype是“Head”,则绑定点是目标的头。在后两种情况中,绑定点取决于目标CNS文件中的head.pos和mid.pos参数。绑定点不保证匹配目标的头或者腰部分。
示例:无
------------------------------------------------------------
#ChangeAnim(改变动画,常用)
------------------------------------------------------------
改变游戏者动画的动作(action)号。最基本的控制器,制作招式时基本上一定会用到。
注:若没有使用该控制器跳转至其他动画,则主程序会播完动画后默认循环播放刚刚的动画,且循环的是动画,不是状态。
必选参数: value = anim_no (int)
anim_no是要改变成的动作(action)号。
可选参数:
elem = elem_no (int)
elem_no是指定动作开始的元素号。
示例:无
------------------------------------------------------------
#ChangeAnim2(改变动画2)
------------------------------------------------------------
像ChangeAnim一样,除了该控制器应被用于以下情况:如果你将P2经由一个打击(hit)而置于定制状态并且希望改变P2的动画为P1 air文件内指定的动画(号)。例如,当制作投时,用这个改变P2为一个被投的动画。
------------------------------------------------------------
#ChangeState(改变状态,常用)
------------------------------------------------------------
改变游戏者的状态号。
必选参数:value = state_no (int)
state_no是要变成的状态号。
可选参数:ctrl = ctrl_flag (int)
ctrl_flag是设置游戏者受控状态的值。0是不受控制,非0为受控制。
anim = anim_no (int)
这是转换到的动作号。如果省略,游戏者的动画将保持不变。
示例:
type = ChangeState
value = 0
ctrl = 1
改变到站立状态,并给游戏者受控制
------------------------------------------------------------
#ClearClipboard(清空剪贴板)
------------------------------------------------------------
清除当前游戏者剪贴板的任何文本
必选参数:无
可选参数:无
示例:无
------------------------------------------------------------
#CtrlSet(控制设置,常用)
------------------------------------------------------------
设置该游戏者的受控标记,即角色当前状态是否可控制。
常用于动作中途取消,如挑衅、前冲等
必选参数: value = ctrl_flag (int)
设置非0值变成可控制,或0值变成不可控制。
可选参数:无
示例:
[Statedef 195]
type = S
movetype= A
physics = S
velset = 0,0
anim = 195
ctrl = 0
;该动作播放时为不可控制
[State 5120, 4]
type = CtrlSet
trigger1 = time = 10
value = 1
;该动作播放到第10帧时可以控制,即第10帧时可以通过操作中断动作
------------------------------------------------------------
#DefenceMulSet(防御乘数设置,常用)
------------------------------------------------------------
与AttackMulSet同理,设置该游戏者的防御乘数。所有该游戏者受到的伤害将按这个数量成比例(放大或缩小)。
必选参数: value =defence_mul (float)
指定想要的乘数。例如,为2的defence_mul产生两倍的伤害。
可选参数:无
注意:LifeAdd控制器不会受角色的防御乘数影响
示例:
type = DefenceMulSet
value = .5
角色所受的所有伤害减半
------------------------------------------------------------
#DestroySelf(消灭自己)
------------------------------------------------------------
如果是被一个援护者(helper)类型的人物调用,DestroySelf会移除该援护者人物。DestroySelf对非援护者类型的人物无效。
必选参数:无
可选参数:无
(1.1新增参数)
recursive = recursive_flag (int)
如果recursive_flag为1,则援护者派生的所有援护者也会全部移除,默认是0
removeexplods = remove_explods (int)
如果为1,则所有属于援护者的爆炸都会被移除。如果是recursive_flag是1,那么属于派生的援护者的所有抱着也会被移除,默认是0
注意:任何没有被移除但其援护者已被移除的爆炸属于无主状态。
示例:无
------------------------------------------------------------
#DisplayToClipboard(显示到剪贴板,常用)(win专用)
------------------------------------------------------------
这个控制器仅仅在调试时有用,DisplayToClipboard清空游戏者剪贴板并打印指定消息到它。游戏者剪贴板的显示在调试模式被激活(按Ctrl+D)。
常用于Debug调试,通常放在-1、-2或-3下,可以直接把想用的最多5个量直接显示在屏幕最下方。(当然你需要比较好的视力去看清楚究竟里面写了什么...)。
必选参数:text = "format_string"
format_string必须用双引号围住。这是一个printf格式符,因此如果你知道printf格式符,你就可以跳过以下描述。该格式串包含你想要显示的文本。你也可以用\n产生一个换行,用\t产生一个tab字符。为显示一个算数表达式,你可以放一个%d(用于整数)或%f(用于浮点小数)在格式串中,然后指定该表达式在params列表中。为显示一个%字符,你必须放%%在格式串中。
整数和浮点数格式的只有这些可以用:%d, %i, %f, %F, %e, %E, %g或%G。不支持可变长字符串,如%lld。可识别的转义字符为\n, \t, \\, 和 \
可选参数:
params = exp_1, exp_2, exp_3, exp_4, exp_5(1.0增加了, exp_6)
最多5个数值参数(1.0增加到了6个)可以被指定在格式串中。这些(参数)应被整齐列在params项之下。每个参数的类型必须匹配它的格式指定者。你不能指定多于或少于格式串中要求的参数(数量)。
(1.0新增说明)如果参数类型和格式指定不匹配,则会以最合适的格式自动匹配。
示例:
type = DisplayToClipboard
text="The value of var(17) is %d, which is %f%% of 23.\n\t--Kiwi."
params = var(17):=1,var(17)/.230
会显示如下(内容)到游戏者的剪贴板。
The value of var(17) is 1, which is 4.347826% of 23. --Kiwi.
------------------------------------------------------------
#EnvColor(环境颜色)
------------------------------------------------------------
使整个屏幕变为一种纯色,除了前景层动画如打击火花和“ontop(顶层)”爆炸外。舞台的前景层将不显示。
必选参数:无
可选参数:
value = col_r, col_g, col_b (int)
指定设置屏幕颜色的R(红)、G(绿)、B(蓝)成分。每个成分应为0到255之间的整数。成分值越大,环境色中该颜色出现越多。缺省值是255,255,255(存色)
time = effective_time (int)
指定多少时间帧(tick)后该环境颜色应被显示。缺省是1时间帧(tick)。设为-1表示EnvColor一直持续。
under = under_flag (int)
设置under_flag为1表示让环境颜色在人物和飞行道具之下绘制。换句话说人物和飞行道具将在已上色的背景幕顶部可见(???)。缺省为0。
示例:无
------------------------------------------------------------
#EnvShake(环境震动)
------------------------------------------------------------
导致屏幕纵向震动。
必选参数: time = shake_time (int)
指定屏幕震动的时间帧(tick)数。
可选参数:
freq = shake_speed (float)
shake_speed是一个0(慢速震动)到180(快速震动)之间的浮点值。缺省为60。
ampl = shake_amplitude (int)
振幅越大,屏幕上下震动越远。负数值振幅表示屏幕将先向下震动。缺省为-4。(1.0的缺省为:240p下是-4,480p下是-8,720p下是-16)
phase = phase_offset (float)
指定震动相位偏移量。缺省值是0,除非频率乘数是90或者更大。换句话说,(频率乘数是90时)缺省相偏移位是90。
示例:无
------------------------------------------------------------
#Explod(爆炸)
------------------------------------------------------------
爆炸控制器是一个显示诸如火花、烟尘及其他可见特效等动画的灵活工具。它的功能包含了现在不被推荐的GameMakeAnim。
必选参数:anim = [F]anim_no (int)
anim_no指定播放的动画号。“F”前缀是可选的:如果包含它,将播放fightfx.air中的动画。
可选参数:ID = id_no (int)
id_no为当前爆炸指定一个ID号。主要在NumExplod触发器(trigger)和RemoveExplod控制器有用。
pos = off_ x, off_ y (int)
off_ x和off_y指定创建爆炸的偏移量。该准确行为依靠postype。如果这些参数(off_ x和off_ y)被省略,则缺省为0。
(1.1修改了该参数的描述)
如果爆炸没有被绑定,off_ x和off_y会定义创造出的爆炸的位置。如果爆炸有限制,则off_ x和off_y会根据爆炸绑定的对象定义偏移量
postype = postype_string (string)(官方已在1.1中废弃该参数,但依然会在1.1中兼容)
postype_string定义了postype怎样说明pos(参数)。任何情况下,正的y偏移量表示向下的位移。postype的有效值如下:
- p1 说明pos相对于p1的坐标轴。正的off_x是朝向p1的前方。这(参数)是postype的缺省值。详细见explod的末尾注意事项。
- p2 说明pos相对于p2的坐标轴。正的off_x是朝向p2的前方。详细见explod的末尾注意事项。
- front 说明off_x相对于p1面向的屏幕边缘,以及off_y相对于屏幕的顶端。正的off_x是朝向屏幕左边的方向,反之负的off_x是朝向屏幕右边的方向。
- back 说明off_x相对于p1背向的屏幕边缘,以及off_y相对于屏幕的顶端。正的off_x是朝向屏幕中心的方向,反之负的off_x是远离中心的方向。
由于历史原因,这个参数和postype = front矛盾
- left off_x和off_y相对于屏幕右上角,off_x负值向左,正值向右,off_y负值向上,正值向下。
- right off_x和off_y相对于屏幕左上角,off_x负值向左,正值向右,off_y负值向上,正值向下。
(1.1中用下列格式来代替postype = postype_string (string))
postype = p1
space = stage
pos = Pos X + CameraPos X, Pos Y
facing = facing
postype = p2
space = stage
pos = (enemynear, Pos X) + CameraPos X, (enemynear, Pos Y)
facing = enemynear, facing
postype = front
space = screen
pos = ifelse(facing = -1, 0, ScreenWidth), 0
facing = 1
postype = back
space = screen
pos = ifelse(facing = 1, 0, ScreenWidth), 0
facing = facing
postype = left
space = screen
pos = 0, 0
facing = 1
postype = right
space = screen
pos = ScreenWidth, 0
facing = 1
facing = facing (int)
设置facing为1使得爆炸面向正的off_x(取决于postype,1.1中不再取决于postype)相同的方向。-1使得爆炸面向相反的方向。缺省为1。
vfacing = vfacing (int)
设置vfacing为-1使得爆炸垂直翻转显示,或为1使得爆炸不垂直翻转(即垂直方向上按原样)显示。
bindID = bind_id (int) (1.1新增特性)
绑定到一个角色或援护者的id数。一个绑定的爆炸位置会与其绑定的对象相关联。特殊的值为-1(绑定到任何一个单独的角色上)和-2(不绑定),默认是-2。如果bindID 不是-2,那么bindtime参数是必填的。屏幕空间的爆炸不能被绑定。
bindtime = bind_time (int)
指定绑定爆炸(explod)到postype指定绑定点的游戏时间帧(tick)数。例如,若 postype = p1,pos = 30, -40,并且bindtime = 5,则爆炸将在5秒钟内都被画在相对于p1坐标轴30, -40的位置,而无论p1在这段时间内如何移动。
(1.1中将上述的描述改为:保持绑定爆炸的游戏时间帧数。)
这段绑定时间过期后,爆炸将不再被绑定到绑定点,而是维持它的位置(除非被vel或者accel参数影响)。如果bindtime = -1,则爆炸将被绑定,直到该爆炸被移除或另一个控制器影响了bindtime。
vel = x_vel, y_vel (float,float)
指定爆炸x和y部分的初速度。它们被解释为相对于爆炸的“facing”方向。如果省略,缺省值皆为0。
accel = x_accel, y_accel (float,float)
指定爆炸X和Y部分的加速度。缺省为0。
random = rand_x, rand_y (int,int)
创建时会导致爆炸的绑定点被替代为一个随机(位置)数量(的点)。rand_x指定x方向上的替代范围。rand_y指定y方向上的替代范围。例如,若 pos = 0,0 且 random = 40,80,则爆炸的x位置将为一个-20到19之间的随机数,且y位置将为一个-40到39之间的随机数。如果省略,两个参数缺省都为0。
removetime = rem_time (int)
如果rem_time为正,则爆炸将在这个数值的游戏时间帧(tick)内显示后被移除。如果rem_time为-1,则爆炸将被一直(循环)显示。如果rem_time是-2,则爆炸将在animtime达到0后被移除。如果省略,缺省值是-2。
remappal = dst_pal_grp, dst_pal_item (int, int) (1.1新增特性)
强制爆炸的当前色表映射到另一个指定的色表。这个参数只用于ownpal_flag为非0以及fightfx.air中的一个动画没被使用。如果dst_pal_grp是-1,这个参数会被忽略,默认是-1,0。
space = space (string)(1.1新增特性)
决定爆炸要以何种方式来根据分辨率创造。space的有效值如下:
screen——根据屏幕分辨率创建爆炸。屏幕右上角是0,0,右下角是ScreenWidth和ScreenHeight。爆炸的创建不会受到相机的移动和缩放的影响。
stage——此为默认值,根据场景分辨率创建爆炸。0,0点是场景地面的正中间。爆炸的创建会受相机的移动和缩放的影响
supermove = bvalue (boolean)
(不推荐该参数,建议使用supermovetime参数代替)设置supermove = 1使得爆炸持续到一个超级暂停(super pause),而无论removetime的值如何。缺省为0。
supermovetime = move_time (int)
决定爆炸在超级暂停(SuperPause)中将被“unfrozen(解冻)”的时间帧(tick)数。用于在SuperPause中播放爆炸,如定制超级火花(sparks)。缺省为0。
pausemovetime = move_time (int)
决定在暂停(Pause)中应被“unfrozen(解冻)”的时间帧(tick)数。缺省为0。
scale = x_scale, y_scale (float,float)
x_scale和y_scale指定应用于爆炸的水平方向和垂直方向缩放比例因数。若省略,两个的缺省值都为1(不缩放)。
angle = angle (float)(1.1新增特性)
angle决定了火花的绘制角度,默认是0.
yangle = y_angle (float)(1.1新增特性)
y_angle决定了火花围绕Y轴的绘制角度,默认是0.
xangle = x_angle (float)(1.1新增特性)
x_angle决定了火花围绕X轴的绘制角度,默认是0.
sprpriority = pr (int)
pr指定爆炸的绘制优先级(priority)。高优先级动画将画在低优先级动画的上层。例如,设置sprpriority = -3将导致该爆炸被画在大多数人物和其它爆炸的下层,(若这些人物和爆炸被设置了sprpriority >= -2。)
ontop = bvalue (boolean)
设置ontop = 1使得爆炸被画在所有图层(sprites)和背景层的上层。该参数优先于sprpriority。缺省为0。
shadow = shad_r, shad_g, shad_b (int, int, int)
指定爆炸阴影的R(红)、G(绿)和B(蓝)成分。各成分的有效值为0-255。成分值越大,该成分的颜色将在阴影中显示得越少。为使用舞台阴影色,须设置shad_r为-1。缺省是0,0,0(无阴影)。
(1.1中修改了该参数)
shadow = shadow (int)
如果shadow不是0,一个投影会为爆炸绘制,否则没有投影。默认是0
ownpal = bvalue (boolean)
设置ownpal = 1将给该爆炸它自己的调色板拷贝。它的价值体现在你想要保持临时的改变到游戏者的调色板,如从落下(fall)状态中恢复或使用PalFX控制器,影响爆炸的颜色。如果省略,缺省值为0。
removeongethit = bvalue (boolean)
设置这个为1将使得爆炸在被击中时被移除。缺省为0。
ignorehitpause = bvalue (boolean)
如果是1,该爆炸将根据创造者角色来播放动画。如果是0,当角色处于顿帧时不会更新。默认为1
trans = trans_type (string)
重写爆炸的动画透明度设置,细节见Trans控制器。如果trans_type是"additive",则必须定义"alpha"参数。
注意:只有当所有角色刷新完成后,一个和角色关联的爆炸的位置(如使用了"postype = p1")才会被决定。在把爆炸正确地绑定到角色的屏幕坐标时会很必要。
例如,角色的x速度是5,位置是160,0。如果一个爆炸以偏移量0,0创建出来,那么爆炸的实际屏幕坐标是165,0
------------------------------------------------------------
#ExplodBindTime(爆炸绑定时间)
------------------------------------------------------------
改变游戏者爆炸的位置绑定时间。
必选参数:无
可选参数:
ID = id_no (int)
只有ID等于id_no的爆炸将有位置绑定效果。设置ID为-1则影响所有爆炸的绑定。-1是缺省值。
time = binding_time (int)
指定爆炸应绑定到它的绑定点(爆炸被创建时定义)的时间帧(tick)数。缺省为1 tick。-1的时间将一直绑定爆炸或者直到其他控制器改变了绑定时间。
代替参数:value = binding_time可以用来代替time = binding_time
示例:无
------------------------------------------------------------
ForceFeedback(强制回馈)
------------------------------------------------------------
制造回馈来支持外设,目前只支持PS原生的震动手柄。(由于几乎没用,因此只做简单翻译)
必选参数:无
可选参数:
waveform = wave_type (string)
有效的参数为"sine", "square", "sinesquare"和"off","off"为关闭,默认是sine。
time = duration (integer constant)
回馈持续时间,默认60ticks
freq = start (integer constant), d1,d2, d3 (float constants)
目前该参数已被忽略
ampl = start (integer constant), d1,d2, d3 (float constants)
默认值是ampl = 128,0,0,0
self = self_flag (boolean constant)
如果self为1,那么p1的外设会震动,如果是0,那么就是2p的,默认是1
示例:见ommon1.cns.
------------------------------------------------------------
FallEnvShake(跌落环境震动)
------------------------------------------------------------
用一次攻击(见hitdef控制器)的fall.envshake造成屏幕晃动。当GetHitVar(fall.envshake.time)不是0时,这个控制器会生效,并且在执行后会把GetHitVar(fall.envshake.time)设为0。该控制器在common1.cns中用来设置角色跌落时的屏幕晃动,其他地方并不常用。
必选参数:无
可选参数:无
示例:见ommon1.cns.
------------------------------------------------------------
#GameMakeAnim(游戏生成动画,不推荐)
------------------------------------------------------------
创建一个游戏动画,比如一个击中火花或一个超级充电效果。这个控制器已经被Explod(爆炸)取代。现在在考虑废弃这个参数,未来的版本可能将取消对它的支持。
必选参数:无
可选参数:
value = anim_no (int)
指定要播放动画的动画号(来自fightfx)。缺省为0。
under = under_flag (int)
如果under_flag为0,该动画将画在人物精灵(sprite)后面。缺省为0(画在人物前面)。
pos = x_pos, y_pos (float)
指定显示动画的位置,相对于游戏者坐标。缺省为0,0。
random = rand_amt (int)
x和y方向上的动画位置将被(不同的)随机数取代。该取代相当于rand_amt的一半大。你可以认为rand_amt是指定所有可能任意移置动画“伸展”的位置。缺省为0。
示例:无
------------------------------------------------------------
#Gravity(重力)
------------------------------------------------------------
用游戏者的“yaccel”常量值使游戏者加速向下。
必选参数:无
可选参数:无
示例:
; 应用常量加速度贯穿状态
trigger1 = 1
type = Gravity
------------------------------------------------------------
#Helper(援护者,常用)
------------------------------------------------------------
创建另一个游戏者实例作为一个援护人物。
常用于飞行道具、距离检测、援护人物(如jojo的替身)。
必选参数:无
可选参数:
helpertype = type_string
若helpertype = normal,则该援护者允许离开屏幕边缘。此外,镜头不会试图保持援护者在屏幕内,若helpertype = player,则该援护者将被强迫在屏幕内并一直被镜头跟随,就像一个正常的游戏者。虽然官方说不要用player-type的援护者,该类型已经不支持了,但依然可以用该类型,只是对方AI会把该类型的helper认为是本体。player型不会被enemy识别,但会被2p识别。缺省为normal。如果你计划使用援护者的镜头处理,别用player-type援护者(不赞成)。如果必需要的话,使用ScreenBound控制器的“movecamera”参数。
name = "name_string"指定该援护者的名字,该名字应被加上双引号。如果省略,该名字缺省为“'s helper”,这里代表该援护者的创建者的名字。
ID = id_no (int)设置一个相关该援护者的ID号。缺省为0。
pos = x_off, y_off (int)(1.1改为了float)
决定创建援护者所在的x和y偏移量。这些参数的精确含义取决于postype。缺省为0,0。
postype = postype_string(string)
postype_string定义了postype如何说明pos参数的含义。任何情况下,正的y偏移量表示向下的位移。在任何情况下,off_y都和角色的位置有关联。
postype_string的有效值如下:
- p1 相对于p1的偏移量。正的x偏移量是朝向p1的前方。这(参数)是postype的缺省值。
- p2 相对于p2的偏移量。正的x偏移量是朝向p2的前方。如果p2不存在,位置将相对于p1而创建并且打印一个警告。
- front 说明xpos相对于p1面向的屏幕边缘。正的x偏移量是远离屏幕中心的方向,反之负的x偏移量是朝向中心的方向。
- back 说明xpos相对于p1背向的屏幕边缘。正的x偏移量是朝向屏幕中心的方向,反之负的x偏移量是远离中心的方向。
- left off_x负值向左,正值向右,off_y负值向上,正值向下。off_y是相对于地面(pos Y = 0)。
- right off_x负值向左,正值向右,off_y负值向上,正值向下。off_y是相对于地面(pos Y = 0)。
facing = facing (int)如果postype是left或right,设置facing为1将使得援护者面向右边,并且-1使得援护者面向左边。postype的其他值中除了p2外,如果facing为1,援护者将与游戏者面向相同的方向。如果facing为-1,援护者将面向相反的方向。postype = p2的情况下,facing具有以上同样效果,除了是相关于p2的facing外。缺省为1。
决定援护者开始的状态号。缺省为0。
keyctrl = ctrl_flag (boolean)
如果ctrl_flag = 1,则援护者能够从游戏者读取指令输入(例如,键盘或手柄)。并且,该援护者将继承它的根祖先的State -1。如果ctrl_flag = 0,则该援护者无权使用指令输入,并不能继承State -1。ctrl_flag缺省值为0。
ownpal = ownpal_flag (boolean)
如果ownpal_flag = 0,则援护者将受到它的双亲的工作调色板和RemapPal控制器影响。因此,若双亲的调色板临时被改变(比方说,被PalFX控制器改变),则该援护者也将被改变,反之亦然。如果ownpal_flag = 1,则援护者将收到它自己的工作调色板,不依赖它双亲的调色板。缺省为0。
remappal = dst_pal_grp, dst_pal_item (int, int) (1.1新特性)
强制援护者的当前色表映射到另一个指定的色表。这个参数只用于ownpal_flag为非0以及fightfx.air中的一个动画没被使用。如果dst_pal_grp是-1,这个参数会被忽略,默认是-1,0。
supermovetime =move_time (int)
在SuperPause(超级暂停)中决定援护者应被“unfrozen(解冻)”的时间帧(tick)数。通常用在援护者在SuperPause时露面。缺省为0。
pausemovetime = move_time (int)
在Pause(暂停)中决定援护者应被“unfrozen(解冻)”的时间帧(tick)数。缺省为0。
size.xscale (float)
size.yscale (float)
size.ground.back (int)
size.ground.front (int)
size.air.back (int)
size.air.front (int)
size.height (int)
size.proj.doscale (int)
size.head.pos (int,int)
size.mid.pos (int,int)
size.shadowoffset (int)
这些参数与根祖先的CNS文件内相应参数具有相同含义。你可以指定一个或多个以上的参数去改变它为适合该援护者获得的值。另外,它们缺省值继承于双亲。
示例:无
------------------------------------------------------------
#HitAdd(击中点数加)
------------------------------------------------------------
增加当前的连击数(即通常所说的hit数)。
value = add_count (int)
add_count指定需要加到当前连续技的hit数。
可选参数:无
示例:无
------------------------------------------------------------
#HitBy(被...击中,常用)
------------------------------------------------------------
临时指定游戏者允许被击中的击中(hit)类型。
必选参数: value = attr_string 或 value2 = attr_stringOnly
以上参数只有一个允许被指定,attr_string应为标准hit属性字符串。见详细资料
可选参数:
time = effective_time (int)
指定HitBy属性有效的游戏帧(tick)数。缺省为1。
详细资料:
游戏者有两个hit属性槽,它们能由value或value2参数被HitBy控制器使用。这两个槽也能被NotHitBy控制器设置。当一个槽被设置时,将会产生一个朝0方向减少的计时器(有效时间)。如果计时器尚未达到0,该槽即被认为是活动的。游戏者能被一个HitDef击中(hit)仅当HitDef的属性出现在当前所有活动槽内。
HitBy控制器用来设置指定槽仅包含在HitBy属性字符串中出现的hit属性。
示例:
trigger1 = 1
type = HitBy
value = S, NA
仅能被站立普通攻击击中(hit)
------------------------------------------------------------
#HitDef(攻击属性,常用)
------------------------------------------------------------
造成攻击所必须的打击属性,具体见单独的hitdef定义
------------------------------------------------------------
#HitFallDamage(击中落下伤害)
------------------------------------------------------------
当游戏者已经被击中而且处于下落的状态中时,对游戏者应用来自下落(在hitdef中指定)中的伤害。
必选参数:无
可选参数:无
示例:无
------------------------------------------------------------
#HitFallSet(击中下落设置)
------------------------------------------------------------
当游戏者已经被击中时,设置游戏者的下落变量。
必选参数:无
可选参数:
value = fallset_flag (int)
如果fallset_flag为-1,则该控制器不改变游戏者是否将下落。fallset_flag为0表示游戏者将不落下,1表示将要落下。缺省为-1。
xvel = x_velocity (float)
yvel = y_velocity (float)
如果指定,将分别设置游戏者的fall.xvel和fall.yvel参数。查看HitDef以获得关于该参数的更多描述。
示例:无
------------------------------------------------------------
#HitFallVel(击中下落速度)
------------------------------------------------------------
如果游戏者已经被击中且处于下落状态,将在HitDef指定的游戏者速度中设置下落速度(fall.xvel与fall.yvel)
必选参数:无
可选参数:无
示例:无
------------------------------------------------------------
#HitOverride(击中覆盖)
------------------------------------------------------------
定义一个hit覆盖。若游戏者被一个指定类型的攻击击中,他将去指定的状态以代替他的缺省受击行为。一次最多能使得8个hit覆盖活动。
必选参数: attr = attr_string(string)
标准hit属性字符串指定覆盖的hit类型。查看HitDef的描述获取“attr”参数(的描述)
stateno = value (int)(1.0中,该参数变为了
必选参数)
可选参数:
slot = slot_no (int)
指定放置该hit覆盖的槽(slot)号(0到7)。如果省略,缺省为0。
stateno = value (int)(1.0中,该参数变为了
必选参数)
被指定属性的HitDef击中时指定转去的状态。如果省略,缺省为-1(不改变)。
time = effective_time (int)
指定该hit覆盖应活动多久。缺省为1(1个tick)。设置这个为-1使得该覆盖持续到被另一个覆盖重写。
forceair = value (boolean)
若设置为1,被击中时该游戏者的受击变量将被设为好像在空中的状态。在你想要强迫游戏者从任何hit落下。如果省略缺省为0。
注意:如果P1有一个或多个激活的HitOverrides,P1将不会被P2的拥有下列特征的hitdef影响:
1、p1stateno参数不是-1
2、p2getp1state参数是1
示例:无
------------------------------------------------------------
#HitVelSet(击中速度设置)(已废弃)
------------------------------------------------------------
当游戏者已经被击中时,设置该游戏者想要的速度部分为适当的受击速度。
必选参数:无
可选参数:
x = x_flag (int)
y = y_flag (int)
非0的标记表示改变游戏者速度的该成分为受击速度。
示例:无
注意:已荒废。
------------------------------------------------------------
#LifeAdd(生命增加)
------------------------------------------------------------
增加指定数量的游戏者生命值,若需要则按游戏者防御乘数的比例缩放。
必选参数: value = add_amt (int)
指定要加到游戏者生命条的生命数量。
可选参数:
kill = kill_flag (int)
若kill_flag为0,则增加部分将不会使游戏者低于1点生命值。缺省为1。
absolute = abs_flag (int)
若abs_flag为1,则add_amt严格地加到游戏者的生命(忽略防御乘数)。缺省为0。
示例:无
------------------------------------------------------------
#LifeSet(生命设置)
------------------------------------------------------------
设置游戏者的生命为指定值。
必选参数: value = life_amt (int)
执行后指定游戏者将拥有的生命数量。
可选参数:无
示例:无
------------------------------------------------------------
#MakeDust(生成尘土)
------------------------------------------------------------
创建尘土效果。(已废弃,建议使用Explod)
必选参数:无
pos = x_pos, y_pos (int)
指定尘土应被画到的位置,相对于游戏者的坐标轴。缺省为0,0。
pos2 = x_pos, y_pos (float)
指定同时绘制的第二个尘土云应该画到的位置。如果省略,第二个尘土云将不被绘制。
spacing = value (int)
决定尘土云间等候的画面(frame)号。例如,spacing = 3(缺省)将每三幅画面画一个新的尘土云。spacing应为1或更大。
示例:无
------------------------------------------------------------
#ModifyExplod(修改爆炸)
------------------------------------------------------------
修改存在的Explod的参数。语法基本与Explod相同。但是该控制器服从未来的改变。依赖于该控制器的任何代码不保证在未来起作用。
注意:pos和postype参数必须一起决定(1.1中取消了该信息)
------------------------------------------------------------
#MoveHitReset(移动击中复位)
------------------------------------------------------------
复位movehit标记为0。就是说,在执行MoveHitReset后,触发器MoveContact、
MoveGuarded、和MoveHit都将返回0。
必选参数:无
可选参数:无
示例:无
------------------------------------------------------------
#NotHitBy(不被...击中,常用)
------------------------------------------------------------
临时指定不允许击中游戏者的hit类型。
常用于出招无敌等状态
必选参数: value = attr_string OR value2 = attr_string
以上参数仅其中一个能被指定。attr_string应为标准hit属性字符串。见详细资料
可选参数:
time = effective_time (int)
指定该NotHitBy属性有效的游戏帧(tick)数。缺省为1。
详细资料:
该援护者有两个可以用来为NotHitBy控制器设置“value”或“value2”参数的hit属性槽。这两个槽(slot)也能被HitBy控制器设置。当其中一个槽被设置时,若计时器尚未达到0,则该槽被认为是有效的。游戏者能被HitDef击中仅当该HitDef的属性出现在所有当前活动的槽内。NotHitBy控制器用来设置指定槽包含除NotHitBy属性字符串指定外的所有指定hit属性。
示例:
trigger1 = 1
type = NotHitBy
value = SCA
; 不被任何(攻击)击中
trigger1 = 1
type = NotHitBy
value = , NA, AP
; 不被普通攻击和所有飞行道具击中
------------------------------------------------------------
#Null(无)
------------------------------------------------------------
不做任何事。常用于临时将状态控制器的type改为Null,以此禁用其他状态控制器。
注意:即使取消状态控制器,任何与控制器关联的触发器仍然运行
必选参数:无
可选参数:无
------------------------------------------------------------
#Offset(偏移量)
------------------------------------------------------------
改变游戏者的显示(位置)偏移量。游戏者按由这个量被转移绘制在他的坐标中。
必选参数:无
可选参数:
x = x_val (float)
y = y_val (float)
分别指定x和y(位置)偏移量。你可以指定其中一个或两个可选参数。
示例:无
P
------------------------------------------------------------
#PalFX
------------------------------------------------------------
应用游戏者调色板的临时效果,这也将影响该游戏者的所有爆炸和援护者,除非它们的ownpal被指定了一个非0值。
必选参数:无
可选参数:
指定调色板效果应持续的游戏帧(tick)数。指定为-1使得调色板效果一直持续。
add = add_r, add_g, add_b (int)
每个add成分将被加到游戏者调色板的相应部分,结果再乘以适当的mul成分除以256。例如,若pal_r为游戏者原调色板的红色成分值,则新的红色成分值为(pal_r + add_r)*mul_r/256。这些参数的缺省值不变:add = 0,0,0; mul = 256,256,256
sinadd = ampl_r, ampl_g, ampl_b, period (int)
创建一个增加的正弦波形调色板叠加效果。period指定正弦波形的游戏帧(tick)数,振幅(amplitude)参数分别控制正弦波形振幅的各成分。例如,若t代表PalFX控制器激活后经过的时间帧(tick)数,pal_r为游戏者原调色板的红色成分,则游戏者调色板在t时刻的红色成分为(pal_r + add_r + ampl_r*sin(2*pi*t/period))*mul_r/256。
invertall = bvalue (bool)
如果bvalue非0,则调色板将被反色,创建一个“电影负片”效果。反转颜色在add和mul效果之前应用。bvalue缺省为0。
color = value (int)
这影响调色板的颜色水平。若值为0,调色板将偏暗。若值为256,调色板没有改变。二者之间将产生中间效果。该参数的效果在invertall、add和mul之前应用。缺省为256。
示例:无
------------------------------------------------------------
#ParentVarAdd(双亲变量加)
------------------------------------------------------------
若游戏者是援护者,则加到游戏者双亲的工作变量。浮点小数变量或整数变量都能被该控制器加。若游戏者不是援护者,该控制器无效。
Required parameters (int version):
必选参数(整数版):
v = var_no (int)
var_no应计算得出一个0到59之间的整数结果。
value = int_expr (int)
int_expr为加到var_no所指的整数变量的值。
必选参数(浮点小数版):
fv = var_no (int)
var_no应计算得出一个0到53之间的整数结果。
value = float_expr (float)
int_expr为加到var_no所指的浮点小数变量。
可选参数:
两种情况都无
可代替语法:
var(var_no) = int_expr (整数版)
fvar(var_no) = float_expr(浮点小数版)
注意:
由于历史原因,注意上面列出的VarAdd可代替语法既不能将变量赋值用于表达式内,也不能将变量加用于表达式内。
如果你已通过一个成功的hit置P2于一个定制(custom)状态,别将变量赋值中用于定制状态内。否则,你将覆盖P2双亲的变量,这会导致对方出bug。
示例:无
------------------------------------------------------------
#ParentVarSet(双亲变量设置)
------------------------------------------------------------
若游戏者是援护者,将设置双亲工作变量其中的某一个。浮点小数变量或整数变量都能被该控制器设置。若该游戏者不是援护者则不做任何事。
必选参数(整数版):
v = var_no (int)
var_no应计算得出一个0到59之间的整数结果。
value = int_expr (int)
int_expr为赋值var_no所指的整数变量的值。
必选参数(浮点小数版):
fv = var_no (int)
var_no应计算得出一个0到59之间的浮点小数结果。
value = float_expr (float)
int_expr为赋值var_no所指的浮点小数变量的值。
可选参数:
两种情况都无
可代替参数:
var(var_no) = int_expr (int版)
fvar(var_no) = float_expr (float版)
注意:
由于历史原因,注意上面列出的VarAdd可代替参数既不能将变量赋值用于表达式内,也不能将变量加用于表达式内。
如果你已通过一个成功的hit置P2于一个定制(custom)状态,别将变量赋值用于定制状态内。否则你将覆盖P2双亲的变量,这会导致对方出bug。
示例:无
------------------------------------------------------------
#Pause(暂停)
------------------------------------------------------------
暂停游戏指定的时间数。游戏者和背景更新在这段时间能将不被运载。
必选参数:time = t (int)
这是暂停的游戏帧(tick)数。t的有效值为所有正数,从1开始。
可选参数:
movetime = mt (int)
这是从暂停开始到允许游戏者运动之间经过的游戏帧(tick)数。这段时间内碰撞检测将被运载,所以有可能击中其他游戏者。mt的有效值为1到t,t为time参数的值。
注意:在另一个暂停(Pause)控制器的暂停时间内执行某个暂停控制器时,将抵消前一个暂停控制器的效果。
示例:无
-----------------------------------------------------------
#PlayerPush(游戏者推挤)
------------------------------------------------------------
在1游戏帧(tick)内取消游戏者推挤检测。推挤检测防止游戏者相互重叠。靠临时取消推挤检测,dodge-type(躲避类型)运动能实现穿过另一个游戏者(但仍能被击中)。
常用于翻滚或强制对方位移的技能(比如黑洞和拉面)
必选参数: value = push_flag (int)
如果push_flag非0,则推挤检测被激活。如果push_flag为0,则推挤检测被取消。
可选参数:无
示例:无
------------------------------------------------------------
#PlaySnd(播放声音,常用)
------------------------------------------------------------
播放一个声音。常用于添加角色的招式音效和语音。
必选参数: value = group_no, sound_no(int, int)
group_no与sound_no对应于游戏者snd文件中你所指定的各声音的一对标识。
可选参数:
volume = volume_level(win版)
volume_level(整数)为0时为普通音量,正数变大,负数变小。
volumescale = volume_scale (float)(1.0版)
volume_scale音量。100相当于100%的音量。有效值为0到100,默认100
channel = channel_nochannel_no (int)
channel_no(整数)指定该声音应播放在哪些游戏者声道。同一时间内一个特殊声道仅可以播放一个声音。例如,如果你在声道2播放一个声音,然后在该声音播放完之前同一个声道内播放(其它)任何声音,则缺省情况下第一个声音被停止并播放第二个声音。0是为游戏者说话声音特别保留的声道。游戏者被击中时声道0的声音会被停止。推荐你在0声道播放你的人物的说话声音。若省略,channel_no缺省为-1,表示该声音将在一个空闲的声道播放。
lowpriority = pr (int)
仅当声道不为-1时有效。若pr非0,则该声道(由上一个PlaySnd调用的)正在播放的声音不能被新的这个声音中断。
freqmul = f (float)
声音频率将乘以f。例如,将f设为1.1将导致一个higher-pitched(更高频?)的声音。缺省为1(频率不变)。
loop = loop_flag (int)
设置loop_flag为非0值使得声音尝试一遍又一遍地循环。缺省为0。
pan = p (int)
(与abspan互斥)这是声音的位置偏移量,以象素为单位。若p > 0,则声音向游戏者的前方偏移。若p < 0,则声音向游戏者的后方偏移。缺省为0。
abspan = p (int)
(与pan互斥)与pan类似,除了该声音以屏幕中间为准,而不是以游戏者的位置。
示例:
type = PlaySnd
value = 2,0
; 播放游戏者SND文件中的声音2,0
type = PlaySnd
value = F5,2
; 播放fight.snd中的声音5,2
注意:1.0RC8版中,volumescale替代了volume参数,volume参数不再支持并忽略。
------------------------------------------------------------
#PosAdd(位置加,常用)
------------------------------------------------------------
指定游戏者的位置偏移量。X坐标相对于游戏者的坐标轴为正数值朝游戏者面向的方向移动。Y坐标相对于游戏者的坐标轴为负数值向上运动。
常用于移动速度、突进技、移动技等
必选参数:无
可选参数:
x = x_value (float)
将角色在x轴上移动,默认是0
y = y_value (float)
将角色在y轴上移动,默认是0
你可以同时指定一或两个可选参数。
示例:无
------------------------------------------------------------
#PosFreeze(位置冻结,常用)
------------------------------------------------------------
暂时冻结游戏者的位置。
必选参数:无
可选参数:
value = freeze_flag (boolean)
若freeze_flag不为0,游戏者的位置会被冻结,否则将被冻结。缺省为1。
示例:无
------------------------------------------------------------
#PosSet(位置设置,常用)
------------------------------------------------------------
设置游戏者在指定坐标中的位置。X坐标相对于屏幕中心为正数值向右运动。Y坐标相对于地面为负数值向上运动。
可选参数:
x = x_value (float)
在x轴上设置角色的新坐标
y = y_value (float)
在y轴上设置角色的新坐标
你可以同时指定一或两个可选参数。
示例:无
------------------------------------------------------------
#PowerAdd(能量加)
------------------------------------------------------------
为游戏者加上指定数量的能量(Power)。
必选参数:value = add_amt (int)
add_amt为加到游戏者能量的数值。
可选参数:无
示例:无
------------------------------------------------------------
#PowerSet(能量设置)
------------------------------------------------------------
设置游戏者当前拥有的能量。
可选参数:value = pow_amt (int)
pow_amt为设置到游戏者能量的数值。
可选参数:无
示例:无
------------------------------------------------------------
#Projectile(飞行道具,常用)
------------------------------------------------------------
为游戏者创建一个飞行道具。飞行道具(Projectile)控制器包括所有HitDef飞行道具部分的参数。另外,Projectile还有以下增加的参数:
必选参数:无
可选参数:
ProjID = id_no (int)
指定涉及的该飞行道具ID号。若指定应为正。
projanim = anim_no (int)
为使用飞行道具的动画而指定动画的动作号。如果省略缺省为0。
projhitanim = anim_no (int)
当飞行道具击中对手时指定播放动画的动作号。若省略,缺省为-1(不改变动画)。
projremanim = anim_no (int)
当飞行道具被移除(由于时间到期或击到它的移除边缘,等等)时指定播放动画的动作号。若省略,将由projhitanim代替。
projcancelanim = anim_no (int)
当飞行道具在击中另一个飞行道具时被抵消时指定播放动画的动作号。若省略,将由projremanim代替。
projscale = x_scale, y_scale (float)
指定飞行道具的缩放比例因数。飞行道具的最终比例由该参数和p1常量文件内[Size]组的“proj.doscale”两个参数共同决定。若省略,缺省为1,1(普通尺寸)。
projremove = remove_flag (int)
设置非0值使得飞行道具在击中后被移除,或0取消该行为。缺省为1。
projremovetime = remove_time (int)
指定飞行道具应从屏幕中被移除时间帧(tick)数。缺省为-1(永不移除)。
velocity = x_vel, y_vel (float)
指定飞行道具行进的x和y的初速度。若省略,缺省为0,0。
remvelocity = x_vel, y_vel (float)
指定飞行道具正被移除时行进的x和y的速度。若省略,缺省为0,0。
accel = x_accel, y_accel (float)
指定应用于飞行道具在x和y方向的加速度。若省略,缺省为0,0。
velmul = x_mul, y_mul (float)
指定x和y的速度乘数。飞行道具的速度在每一个时间(帧)都将乘以该乘数。若省略,乘数缺省为1。
projhits = num_hits (int)
指定被移除前飞行道具能够产生的hit数。缺省为1。
projmisstime = miss_time (int)
若飞行道具产生多次hit,则miss_time指定能造成下个hit前必须经过的最少时间帧(tick)数。缺省为0,但你很可能需要非0值。
projpriority = proj_priority (int)
指定飞行道具优先级。若飞行道具与另一个同等优先级的飞行道具碰撞,则它们都被删去。若碰撞上一个低于它优先级的飞行道具,则将删去低优先级的飞行道具,并将高优先级的那个飞行道具的优先级减去1。
projsprpriority = priority (int)
指定精灵(sprite,这里理解为图层,下略)的优先权。高优先级的图层绘制在低优先级的图层之上。缺省为3。
projedgebound = value (int)
这是飞行道具离开屏幕边缘后被自动删除的距离。缺省为40。(1.0的缺省分别为:在240p中为40,在480p中为80,在720p中为160
projstagebound = value (int)
指定飞行道具被删除前可以在舞台上(不是屏幕)行进的最远距离。缺省为40。(1.0的缺省分别为:在240p中为40,在480p中为80,在720p中为160)
projheightbound = lowbound, highbound (int)
指定飞行道具允许到达的y坐标最小最大值。若飞行道具离开这个分界线则被移除。注意:因为y值由于(飞行道具)在屏幕上的高度的增加而减少而使得lowbound实际上指定飞行道具能到达的最大的高度。若省略,该参数缺省为-240,1。(1.0的缺省分别为:在240p中为-240,1,在480p中为-480,2,在720p中为-960,4)
offset = off_x, off_y (int)
指定飞行道具被创建时的x和y坐标偏移量。若省略,两个参数都缺省为0。飞行道具被创建时总是与角色相同方向,off_x于飞行道具的朝向关联。该偏移量参数的准确行为依赖于postype(参数)。
postype = type_string
type_string定义postype如何说明(解释)pos参数。任何情况下,正的y坐标偏移量表示向下的位移。在任何情况下,off_y于角色位置都有关联。postype有效值如下:
- p1 说明pos相对于p1的坐标轴。正的x坐标偏移量朝向p1的前方。该参数是postype的缺省值。
- p2 说明pos相对于p2的坐标轴。正的x坐标偏移量朝向p2的前方(1.0改为了p1的前方)。如果p2不存在,该位置会根据p1计算并且提示错误
- front 说明xpos相对于p1面向的屏幕边缘。正的x坐标偏移量朝向p1的前方
- back 说明xpos相对于p1背向的屏幕边缘,正的x坐标偏移量朝向p1的前方。
- left 说明xpos相对于屏幕左边。正的x坐标偏移量朝向p1前方。
- right 说明xpos相对于屏幕右边。正的x坐标偏移量朝向p1前方。
projshadow = shad_r, shad_g, shad_b (int)
指定飞行道具影子的R(红)、G(绿)和B(蓝)成分。这些成分应为0到255之间的整数。若shad_r等于-1,则将使用舞台的影子色。成分值越高,影子中该色彩显示得越少。所以一个全黑影子是255,255,255。缺省为0,0,0(无影子)。
1.1改动:
projshadow = shadow (int)
如果shadow不是0,那么一个shadow会作为火花绘制,否则没有shadow绘制。默认是0
1.1新增参数:
ownpal = ownpal_flag (boolean)
如果ownpal_flag为0,飞行道具将被归属方的色表和RemapPal控制器影响,这是默认值
如果ownpal_flag为1,飞行道具不会被归属方的色表和RemapPal控制器影响。
1.1新增参数:
remappal = dst_pal_grp, dst_pal_item (int, int)
会强制飞行道具的当前色表映射到另一个指定的色表。remappal这个参数只有当ownpal_flag非0时使用,如果dst_pal_grp是-1,remappal这个参数会被无视。remappal默认是-1,0
1.1新增参数:
afterimage.time = aftimg_time (int)
参数解释和afterimage控制器相同
afterimage.length
...
如果afterimage(残影)相关参数存在,则会添加到飞行道具上。
supermovetime = move_time (int)
决定飞行道具在一个SuperPause(超级暂停)中应被“unfrozen(解冻)”的时间帧(tick)数。缺省为0。
pausemovetime = move_time (int)
决定飞行道具在一个Pause(暂停)中应被“unfrozen(解冻)”的时间帧(tick)数。缺省为0。
注意:所有被helper创造出来的飞行道具都会立即归属为祖宗(即创造出helper的根级,也就是角色本体)
(1.0补充)当角色拥有另一个角色的状态和动画信息时,且[Statedef -2]处于停顿时,飞行道具的hitdef处于没有定义的状态。
------------------------------------------------------------
# RemapPal(改变色表)(1.0新增特性)
------------------------------------------------------------
将角色的其中一个色表改变为另一个色表。做人物状态切换或变身时可能会用到。
必选参数:source = src_pal_grp, src_pal_item:原始色表,两个参数为色表的groupid和itemid
dest = dst_pal_grp, dst_pal_item:目标色表,两个参数同上
所有关联了source色表的角色图片将会用dest色表代替。source和dest色表必须存在于角色中,同时这两个色表的颜色数必须相同。注意,dest色表数字是一个未映射的色表。例如,如果你将(1,1)映射到(1,6),然后你将(2,2)映射到(1,1),结果就是(2,2)从原始色表被映射到了(1,1),而不是(1,6)
可选参数:无(1.1中,将两个
必选参数变为了可选参数)
如果src_pal_grp是-1,所有与当前色表关联的图片将会改变为dest色表。这只作用于与dest色表有相同颜色数量的图片。所有其他存在的映射会被移除。
如果dst_pal_grp是-1,对source的映射会被移除。将dest设成和souce一样的值是同样的效果。
souce和dest的默认值都是-1,0
注意: 色表映射并不具有传递性;例如,将1,0映射到2,0,然后2,0映射到3,0,那么1,0将不会映射到3,0
在1.1以上的版本中,每个角色允许在同一时间拥有8个不同的色表映射。如果source已经不能被映射,那么RemapPal的触发将会失效。将dst_pal_grp设为-1可以将一个不用的映射移除。
示例:
type = RemapPal
source = 1,1
dest = 1,3
;所有用(1,1)的色表将被绘制成(1,3)
------------------------------------------------------------
#RemoveExplod(移除爆炸)
------------------------------------------------------------
移除一个游戏者的所有爆炸,或仅仅移除指定ID的爆炸。
必选参数:无
可选参数:
ID = remove_id (int)
remove_id是需要移除的爆炸ID。若省略则移除所有属于角色的爆炸。
------------------------------------------------------------
#ReversalDef(反弹定义,常用)
------------------------------------------------------------
定义一个反弹。若P2的一个Clsn1框与P1的一个Clsn1框相撞且一个ReversalDef处于活动中,则P1将翻转P2的攻击。配合使用p1stateno(也可包括p2stateno)可创建反弹攻击。
反弹定义包含HitDef参数的pausetime、sparkno、sparkxy、hitsound、p1stateno和p2stateno,增加的(参数)有:
必选参数: reversal.attr = attr_string
attr_string指定能被ReversalDef反弹的攻击属性列表。这是个标准hit属性字符串。例如, reversal.attr = SA,NA,SA表示地面和空中的、普通攻击、必杀攻击。
可选参数:无
注意:sparkxy参数相当于p2的hitdef的sparkxy。
(1.0补充)如果p1与p2交换,则movehit触发器可以用来清楚该状态
示例:无
------------------------------------------------------------
#ScreenBound(屏幕边缘)
------------------------------------------------------------
游戏者的动作是否被强制留在屏幕内。也决定镜头是否应跟随游戏者移动。该控制器的结果只持续1(tick)内有效。
必选参数:无
可选参数:
value = bound_flag (boolean)
若bound_flag为0,游戏者将被允许离开屏幕。若为1,则角色不得离开屏幕,若省略则默认为0
movecamera = move_x_flag, move_y_flag (boolean, boolean)
若为1,则镜头在x方向和y方向上分别以游戏者为准而跟随。若省略则缺省为0。
示例:无
------------------------------------------------------------
#SelfState(自己状态,常用)
------------------------------------------------------------
与ChangeState类似,除了是改变游戏者返回到它自己的状态数据外。当你已经经由一个攻击置对方角色于定制状态后并希望他返回到他自己的状态时用这个(控制器)
常用于投技
------------------------------------------------------------
#SprPriority(精灵/图层 优先级)
------------------------------------------------------------
改变游戏者的精灵(sprite,这里理解为图层,下略)。高优先级的图层画在低优先级的图层上面。
必须参数:
value = priority_level (int)
有效值为-5到5。
可选参数:无
示例:无
------------------------------------------------------------
#StateTypeSet(状态类型设置,常用)
------------------------------------------------------------
改变当前状态类型和运动类型。在从地面进入空中等状态有用。
常用于一个招式内状态发生多次变化的情况,比如升龙前5f地面发生,第6f开始浮空向上
必选参数:无
可选参数:
statetype = state_type (string)
state_type的A表示空中、C表示蹲、S表示站立、L表示倒下。缺省为不改变。
movetype = move_type (string)
move_type的I表示空闲、A表示攻击、或H表示被击中。缺省为不改变。
physics = physics (string)
physics的A表示空中、C表示蹲、S表示站立、或N表示无。缺省为不改变。
示例:无
------------------------------------------------------------
#SndPan(声音面板)
------------------------------------------------------------
改变当前播放声音的音场。该控制器可以不断被触发以平稳移动一个声音穿过声音区域或者使声音跟随游戏者。
必选参数:channel = chan_no (int)
指定声音出现的音场设置声道(channel)。
pan = p OR abspan = p (int)
这些参数不能同时被指定。p按离游戏者(pan的情况)或屏幕中心(abspan)的象素数决定声音效果(的位置)。查看PlaySnd获取pan参数的详细资料。
可选参数:无
示例:无
------------------------------------------------------------
#StopSnd(停止声音)
------------------------------------------------------------
停止指定声道(channel)正在播放的任何声音。
必选参数:channel = chan_no (int)
停止chan_no声道的声音播放。若chan_no为-1,则所有声音都被停止,包含属于其他人物的声音。
可选参数:无
示例:无
------------------------------------------------------------
#SuperPause(超级暂停)
------------------------------------------------------------
当游戏者载入一个超级暂停时冻结动作并使屏幕变暗。当各游戏者都被冻结后,他们的时间停止(他们的状态时间不增加)。
常用于必杀技或超必杀技中的闪光期间。
必选参数:无
可选参数:
time = pause_time (int)
决定暂停持续的游戏帧(tick)数。缺省为30游戏帧(半秒)。
anim = anim_no (int)
设置SuperPause(超级暂停)期间播放的动画号(来自fightfx.air)。载入效果时缺省为30。若anim为-1,则无动画播放。若你在anim_no前面加上“S”,则将播放来自游戏者AIR文件的动画。例如anim = S10。
sound = snd_grp, snd_no (int, int)
在SuperPause期间播放一个声音(来自common.snd)。缺省为-1,表示没有声音播放。若你在snd_grp前面加上“S”,则将播放来自游戏者自己SND文件的声音。例如,sound = S10,0。
pos = x_pos, y_pos (float)
决定超级暂停载入动画的(在游戏者坐标中的)位置偏移量。缺省为0,0。
movetime = value (int)
这是允许游戏者在SuperPause中运动时的游戏帧(tick)数。movetime缺省为0。若movetime与pause_time相同,则游戏者在整个SuperPause过程中都可以运动。
darken = bvalue (boolean)
若为1,SuperPause期间屏幕将变黑。设置0为取消该效果。缺省值为1。
p2defmul = def_mul (float)
这是游戏者临时乘对任何目标防御力数量。用于制造链接到更少伤害的超级暂停内。设置为1将不改变目标的防御力。0为特殊值,将设置防御为mugen.cfg文件内[Rules]段的Super.TargetDefenceMul所设置的值。缺省值为0。有效值为所有正数和0。
poweradd = value (int)
这是加到游戏者能量的数量。缺省为0。
unhittable = bvalue (boolean)
若设为1,则游戏者在SuperPause期间不能被击中。设置0为取消这个。缺省为1。
注意:
若Pause控制器已先被执行,并且动作还在暂停中,则执行一个SuperPause将抢占Pause控制器的效果。在SuperPause期间内,经过的时间在Pause控制器效果到期前将不被倒计时。
示例:无
------------------------------------------------------------
#TargetBind(目标绑定)
------------------------------------------------------------
绑定游戏者的指定目标到相对于游戏者坐标轴的指定位置。
必选参数:无
可选参数:
time = bind_time (int)
指定该绑定有效的游戏帧(tick)数。缺省为1。
ID = bind_id (int)
指定要绑定的目标ID。仅该目标ID的目标将被绑定。缺省为-1(绑定所有目标)。
pos = x_pos, y_pos (float)
指定绑定到游戏者坐标中的位置偏移量。若省略,缺省为0。
------------------------------------------------------------
#TargetDrop(目标下落)
------------------------------------------------------------
使游戏者目标列表的所有目标都落下,除了可能有指定目标ID号之外的。在仅应用效果到某些个目标时有用。
必选参数:无
可选参数:
excludeID = id_no (int)
该ID号所指的任何目标将被排除在将被落下的游戏者目标列表之外。缺省为-1(令所有目标下落)。
keepone = keep_flag (boolean)
若keep_flag非0,则最少一个目标将保持在游戏者的目标列表内。若有多个与id_no相同的目标ID号,则随机选取一个并令其余的落下。该行为在投技时防止同时投多个对手。若keep_flag为0,则所有适合的目标将被投。keep_flag缺省值为1。
示例:无
------------------------------------------------------------
#TargetFacing(目标面向)
------------------------------------------------------------
令所有目标转向面向相对于游戏者的指定方向。
必选参数:value = facing_val (int)
若facing_val为正,所有目标将面向与游戏者(所面向的)相同方向。若facing_val非0,则所有目标将面向与游戏者(所面向的)相反方向。
可选参数:
ID = target_id (int)
指定想要影响的目标ID。仅该目标ID的目标能被影响。缺省为-1(影响所有目标)。
示例:无
------------------------------------------------------------
#TargetLifeAdd(目标生命加)
------------------------------------------------------------
为所有目标的生命加上指定的量,必要的话按目标防御乘数缩放比例。
必选参数: value = add_amt (int)
add_amt为加到各目标的生命值。
可选参数:
ID = target_id (int)
指定想要影响的目标ID。仅该目标ID的目标能被影响。缺省为-1(影象所有目标)。
kill = kill_flag (boolean)
若kill_flag为0,则该加法将不改变任何生命力少于1点的游戏者(的生命值)。缺省为1。
absolute = abs_flag (boolean)
若abs_flag为1,则add_amt将不被缩放(攻击和防御乘数被忽视)。缺省为0。
示例:无
------------------------------------------------------------
#TargetPowerAdd(目标能量加)
------------------------------------------------------------
加上指定的量到所有目标的能量。
必选参数:value = add_amt (int)
add_amt为加到各目标能量的量。
可选参数:
ID = target_id (int)
指定想要影响的目标。仅该目标ID的目标能被影响。缺省为-1(影响所有目标)。
示例:无
------------------------------------------------------------
#TargetState(目标状态)
------------------------------------------------------------
令所有目标改变到指定状态号。
必选参数:value = state_no (int)
指定要改变到的状态号。
可选参数:
ID = target_id (int)
指定想要影响的目标。仅该目标ID的目标能被影响。缺省为-1(影响所有目标)。
Examples:
示例:无
------------------------------------------------------------
#TargetVelAdd(目标速度加)
------------------------------------------------------------
加上指定的量到所有目标的速度。正的x速度朝向该目标面向的方向,而正的y速度朝向屏幕下方。
必选参数:无
可选参数:
x = x_value (float)
增加目标x轴的速度
y = y_value (float)
增加目标y轴的速度
你可以同时指定一个或两个可选参数。
ID = target_id (int)
指定想要影响的目标。仅该目标ID的目标能被影响。缺省为-1(影响所有目标)。
示例:
type = TargetVelAdd
trigger1 = 1
y = 0.45
应用“gravity(重力加速度)”到所有目标
------------------------------------------------------------
#TargetVelSet(目标速度设置)
------------------------------------------------------------
设置指定的量到所有目标的速度。正的x速度朝向该目标面向的方向,而正的y速度朝向屏幕下方。
必选参数:无
可选参数:
x = x_value (float)
设置目标x轴的速度
y = y_value (float)
设置目标y轴的速度
你可以同时指定一个或两个可选参数。
ID = target_id (int)
指定想要影响的目标。仅该目标ID的目标能被影响。缺省为-1(影响所有目标)。
示例:无
------------------------------------------------------------
#Trans(改变)
------------------------------------------------------------
重写角色当前帧的动画的透明度参数。常用于特殊特效。
必选参数:
trans = trans_type (string)
trans_type必须是以下其中一个:
default - 什么都不做
none - 禁用透明度
add - 以add模式的透明度绘制(alpha值默认为256,256)
addalpha - (1.1中已废弃)以additive模式的透明度绘制(alpha值默认为256,0)
add1 - (1.1中已废弃)以alpha值为256,128的additive模式的透明度绘制
sub - 以subtractive模式的透明度绘制(alpha值默认为256,256)
可选参数:alpha = source_alpha, dest_alpha (int, int)
若trans_type为addalpha,则需要该参数。有效值为0至256。默认值取决于trans_type
示例:
type = Trans
trigger1 = time < 256
trans = add
alpha = time, 256-time
当时间小于256帧时,角色淡出
------------------------------------------------------------
#Turn(转向)
------------------------------------------------------------
立即令游戏者转向相反的方向,且不播放转向动画。
必选参数:无
可选参数:无
示例:无
------------------------------------------------------------
#VarAdd(添加变量)
------------------------------------------------------------
添加一个工作变量给角色。被该控制器加的既可以是浮点小数变量也可以是整数变量。
必选参数(整数版):
v = var_no (int)
var_no定义一个工作变量的编号,var_no必须是一个0到59之间的整数。
value = int_expr (int)
int_expr为加到ver_no所指整数变量的值。
必选参数(浮点小数版):
fv = var_no (int)
var_no定义一个工作变量的编号,var_no必须是一个0到39之间的浮点小数。
value = float_expr (float)
int_expr为加到ver_no所指整数变量的值。
可选参数:两种情况都无
可代替语法:
var(var_no) = int_expr (int version)(整数版)
fvar(var_no) = float_expr (float version)(浮点小数版)
注意:
由于历史原因,上面列出的VarAdd可代替语法既不能将变量赋值用于表达式内,也不能将变量加用于表达式内。
如果你已通过攻击(hit)将P2置于一个自定义状态,别将变量赋值用于自定义状态(states)内。否则,你将改写P2双亲的变量,这将导致对手出bug。
示例:无
------------------------------------------------------------
#VarRandom(变量随机)
------------------------------------------------------------
设置指定整数变量为一个随机数。浮点小数变量不能被该控制器设置。
必选参数:v = var_no (int)
var_no为要设置的整数变量的下标。它的计算结果应该为一个0到59之间的整数。
可选参数:
range = least_val,greatest_val (int)
least_val与greatest_val分别指定能被该控制器赋值的最小值和最大值。该变量将被赋值为此范围内随机选的一个整数。range缺省为0,1000。若仅指定一个参数,则该被视为指定范围为0,(参数)
注意:
如果你已通过攻击(hit)将P2置于一个自定义状态,别将变量赋值用于自定义状态(states)内。否则,你将改写P2双亲的变量,这将导致对手出bug。
示例:
type = VarRandom
v = 5
range = 500
赋一个0到500之间的随机数给var(5)。
------------------------------------------------------------
#VarRangeSet(变量范围设置)
------------------------------------------------------------
设置游戏者一个邻近范围的(所有)工作变量为相同的值。用该控制器既可以设置浮点小数变量也可以设置整数变量,但不能两个同时设置。
必选参数(整数版):
value = int_expr (int)
int_expr结果为要赋给之前所给范围内的所有整数变量的值。
必选参数(浮点小数版):
fvalue = float_expr (float)
float_expr结果为要赋给之前所给范围内的所有浮点小数变量的值。
可选参数(两种版本都是):
first = first_idx (int)
指定要设置的变量范围的最小下标。缺省为0(第一个变量)。
last = last_idx (int)
指定要设置的变量范围的最大下标。整数变量缺省为59,浮点小数变量为39(这是两种情况中的后一个可用变量)。
注意:
如果你已通过攻击(hit)将P2置于一个自定义状态,别将变量赋值用于自定义状态(states)内。否则,你将改写P2双亲的变量,这将导致对手出bug。
示例:无
------------------------------------------------------------
#VarSet(变量设置)
------------------------------------------------------------
设置游戏者的一个工作变量。该控制器既可以设置浮点小数变量,也可以设置整数变量,但不能两个同时设置。
必选参数(整数版):
v = var_no (int)
var_no定义一个工作变量的编号,var_no必须是一个0到59之间的整数。
value = int_expr (int)
int_expr为要赋给var_no所指的整数变量的值。
必选参数(浮点小数版):
fv = var_no (int)
var_no必须为一个0到39之间的整数。
value = float_expr (float)
float_expr为要赋给var_no所指的浮点小数变量的值。
可选参数:
两种情况都无
可代替语法:
var(var_no) = int_expr (int version)(整数版)
fvar(var_no) = float_expr (float version)(浮点小数版)
注意:
由于历史原因,注意上面列出的变量赋值的可代替语法不全同于用表达式赋值变量的语法。
如果你已通过攻击(hit)将P2置于一个自定义状态,别将变量赋值用于自定义状态(states)内。否则,你将改写P2双亲的变量,这将导致对手出bug。
示例:无
------------------------------------------------------------
#VelAdd(速度加)
------------------------------------------------------------
给游戏者的速度加上指定的量。正的x速度朝向游戏者面向的方向,正的y速度朝向屏幕下方。
必选参数:无
可选参数:
x = x_value (float)
y = y_value (float)
你可以同时指定一个或两个可选参数。
示例:
type = VelAdd
trigger1 = 1
y = 0.45
应用持续的“gravtiy(重力加速度)”给游戏者
------------------------------------------------------------
#VelMul(速度乘)
------------------------------------------------------------
指定游戏者速度乘数的量。正的x速度朝向游戏者面向的方向,正的y速度朝向屏幕下方。
必选参数:无
可选参数:
x = x_multiplier (float)
y = y_multiplier (float)
你可以同时指定一个或两个可选参数。
示例:
type = VelMul
trigger1 = 1
x = 0.8
应用“friction(摩擦力加速度)”给游戏者
------------------------------------------------------------
#VelSet(速度设置)
------------------------------------------------------------
设置游戏者的速度为指定值。正的x速度朝向游戏者面对的方向,正的y速度朝向屏幕下方。非零速度会产生位移。
常用于移动速度、突进技、移动技等
必选参数:无
可选参数:
x = x_value (float)
y = y_value (float)
你可以同时指定一个或两个可选参数。
注:人物在地面时速度会收到摩擦力影响,在空中时不会。
示例:无
------------------------------------------------------------
# VictoryQuote(胜利台词)(1.0新特性)
------------------------------------------------------------
从角色的胜利台词中选一个显示到下一次胜利画面
必须参数:无
可选参数:
value = quote_index (int)
台词的序列号,有效的值为0到99.如果quote_index是无效数字,则随机一个台词。默认值是-1
注意:
这个控制器可以被任何角色在正常战斗中的任何时候触发;然而只有胜利的角色才会显示台词。这个控制器值只影响当前比赛后的胜利界面。如果用一个helper触发则这个控制器不会生效。胜利台词在角色的cns文件中的[Quotes]区编辑。
示例:无
------------------------------------------------------------
#Width(宽度)
------------------------------------------------------------
在1帧中临时改变游戏者的宽度条尺寸。
常用于游戏者与其他人接触或在屏幕边缘时控制“pushing(推挤)”的行为。
必须参数:无
可选参数:
edge = edgewidth_front, edgewidth_back (int)
设置游戏者的前面和后面边缘宽度。边缘宽度决定该游戏者能离屏幕边缘多近。若省略这些参数缺省为0,0。
player = playwidth_front, playwidth_back (int)
设置游戏者前面和后面的宽度。游戏者宽度决定该游戏者能离其他游戏者多近。若省略这些参数缺省为0,0。
可代替语法:
value = width_front, width_back (int)
这是个同时设置边缘宽度和游戏者宽度的快捷语法。该参数仅可以被用于边缘和游戏者参数都没有被指定。
注意:
当碰撞判定框被显示时,边缘宽度条被显示为橙色,游戏者宽度条被显示为黄色。当他们重叠时,重叠的的区域被显示为嫩黄色。
示例:无
------------------------------------------------------------
#Zoom(镜头缩放)(1.1新特性)
------------------------------------------------------------
对游戏进行整体缩放,常用于必杀特写。
必须参数:无
可选参数:
scale = value (float)
摄像机缩放比例,1为100%,2.5为缩放至原大小的250%,不能小于1,否则会无效。
pos = x, y(int)
摄像机变焦的位置,该位置相对于场景中心。
lag = value(float)
变焦的速度,大于1会无效
可代替语法:无
示例:无