这是以前在程序编写过程之中整理的。
这个文档的部分解释可能不全(如果需要可以发帖询问),并且偶有与Honeyfox提供的脚本编辑器有所出入的地方(以这个文档为准)。
“ReportMsg” ,“”
向网络调试器发送信息
///////////////////////////////
脚本基本函数
“CallFunction”,“s”
脚本.调用函数
ScriptName
//Current Stack Call
“StartThread”,“ss”
脚本.开线程
ScriptName
ScriptThreadName
“PauseThread”,“s”
脚本.暂停线程
ScriptThreadName
“ContinueThread”,“s”
脚本.继续线程
ScriptThreadName
“KillThread”,”s”
脚本.终止线程
ScriptThreadName
Audio: 全局声音接口
“Audio.PlayMusic”,“s”
声音.放音乐
Music Name 无路径($\music),全名字,包含后缀
“Audio.SetMusicVolume”,”v”
声音.调整音乐声音
Float 0~1
Audio.StopMusic,””
Audio.PlaySoundDirect,” sv”
按文件名播放,不含”.wav”
Frame: 代表整个游戏进程,是全局静态唯一的。
/////////////////////////////////////////
命令ID,接参数
“Frame.StartScene”
“s”
“Frame.StopScene”
“”
“Frame.LoadGlobalSoundFromDir”
“s”
“Frame.Command”
“*”
“Frame.QuitGame”
“”
GUI,即GlobalUI:跟Frame是一个级别,全局静态唯一
“GUI.LoadFromFile”,
“s”
GUI.ControlMove,“svvvv vvv”
控件.移动
ControlName控件名
Destx目的
Desty
Movetype:1-Linear,2-EaseIn移动模式
Duration移动时间
Decay (EaseIn)距离衰减率
MaxSpeed(EaseIn)最大速度
MaxAccelerate(EaseIn)最大加速
“GUI. ControlMoveOffSet” ,“svvvv vvv”
控件.差量移动
ControlName同上
Offsetx
Offsety
Movetype:1-Linear,2-EaseIn
Duration
Decay (EaseIn)
MaxSpeed(EaseIn)
MaxAccelerate(EaseIn)
GUI. ControlResize
GUI.ControlResizeFromCenter
,“svvvv vvv”
控件.大小变化
ControlName名
Sizex新大小
Sizey
Movetype:1-Linear,2-EaseIn移动模式同上
Duration
Decay (EaseIn)
MaxSpeed(EaseIn)
MaxAccelerate(EaseIn)
GUI.ControlRestorePosition,“svvv”
GUI.ControlRestoreSize
控件移动回原来的位置,大小
控件名
移动方式
持续时间
距离衰减
"GUI.ControlLayerChangeColor ",“svvvv vv”
控件.某一层变色
ControlName名
Index 组件号
Duration需要时间
Red红
Green绿
Blue蓝
Alpha透明
GUI. ControlSwitch
“svvvv vv”
控件,切换到某一层
ControlName名
Index 组件号
Duration需要时间
Red红
Green绿
Blue蓝
Alpha透明
“GUI. ControlEnable”,“sv”
控件.允许点击
ControlName
Enabled:0-1
GUI. ControlChangeText “ss”
控件改变文字
ControlName
Text
GUI.ControlSetTextAsInt “sv”
GUI.ControlSetTextAsFloat “sv”
控件改变文字
ControlName
Value
GUI.ControlGroupMoveOffset"
“svvvvv”
GUI.ControlGroupResize"
“svvv”
GUI.ControlGroupResizeFromCenter"
“svvv”
GUI.ControlGroupSwitch"
“svvvvvv”
GUI.ControlGroupEnable"
“sv”
GUI.ControlGroupRestorePosition
GUI.ControlGroupRestoreSize
第一个参数是Group名字,其余不变
GUI.Command"
“*”
SUI,即SceneUI:与Scene层次一样
SUI所有操作函数与GUI一样,只需要将GUI替换为SUI
scene
代表场景(关卡),比Frame低一级
“Scene.LogicPause”
“”
“Scene.LogicContinue”
“”
“Scene.LoadSoundFromDir”
“s”
“Scene.ReleaseSound”
“”
“Scene.LoadOEFromFile”,
,“s”
“Scene.ReleaseOE”,
,“”
“Scene.LoadObject3DFromListFile”,
,“s”
“Scene.ReleaseObject3D”,
,“”
“Scene.LoadFeatureFromDir”
“ss”
“Scene.ReleaseFeature”
“”
“Scene.LoadAnimationFromDir”
“ss”
“Scene.ReleaseAnimation”
“”
Scene.LoadStripesFromDir
“ss”
Scene.ReleaseStripes
“”
“Scene.LoadUnitsFromDir”
“ss”
“Scene.LoadFormationsFromDir”
“ss”
“Scene.ReleaseUnitsAndFormations”
“”
“Scene.LoadWeaponsFromDir”
“ss”
“Scene.ReleaseWeapons”
“”
OE,全称Overlay Effect
一个OE本质上就是一个四边形
“OE.SetVertex”
“svvvv”
设坐标
Name
Vtx index
坐标序号0~3
X
Y
z
“OE.SetVisible”
“sv”
Name
0-1
“OE.SwitchColor”
“svvvv v”
Name
Duration
R
G
B
A
“OE.SetUVSpeed”
“svv”
Name
SpeedU
SpeedV
OE.ChangePositionType
“sv”
Name
Type=
OTPT_Foreground=1
OTPT_AboveScene=2
OTPT_BlowScene=3
OTPT_Background=4
///////////////////////
Camera,light,fog
“Camera.ChangePosition” ,“vvvvvvvv”
摄像机.移动位置
8个参数
Type=0,1,2
Destx
Desty
Destz
Duration
Decay
MaxSpeed
MaxAccelerate
“Camera.ChangeLookAt”,“vvvvvvvv”
摄像机.移动视点
8个参数
Type=0,1,2
Destx
Desty
Destz
Duration
Decay
MaxSpeed
MaxAccelerate
“Camera.ChangeRollAngle”,“vvvvvv”
摄像机.自旋转
6个参数
Type=0,1,2
Dest
Duration
Decay
MaxSpeed
MaxAccelerate
“Camera.Shake”,“vv”
幅度
时间
Camera.ChangeRangeFar,”v”
Camera.ChangeRangeNear,”v”
调整视野的远近限度
//////////////////////////////////////////
“Lights.Create”,“vv”
灯.创建
Index
Type D3DLIGHT_POINT=1,D3DLIGHT_SPOT=2,D3DLIGHT_DIRECTIONAL=3
“Lights.TurnOn”,“v”
灯.开
Index
“Lights.TurnOff”,“v”
灯.关
Index
“Lights.ChangeAmbient”,“vvvvvvvv”
灯.改变环境光颜色
8个参数
Index
Change type
R
G
B
A
Duration
Decay
“Lights.ChangeDiffuse”,“vvvvvvvv”
灯.改变漫射光颜色
8个参数
Index
Change type
R
G
B
A
Duration
Decay
“Lights.ChangeSpecular”,“vvvvvvvv”
灯.改变镜面光颜色
8个参数
Index
Change type
R
G
B
A
Duration
Decay
“Lights.ChangePosition”,“vvvvvvvvv”
9个参数
灯.移动位置
Index
Move type
X
Y
Z
Duration
Decay
Max speed
Max accelerate
“Lights.ChangeLookAt”,“vvvvvvvvv”
灯.移动视点
9个参数
Index
Move type
X
Y
Z
Duration
Decay
Max speed
Max accelerate
/////////////////////////////////////////////////////
“Fog.Enable”,“”
雾.开
“Fog.Disable”,“”
雾.关
“Fog.ChangeColor”,“vvvvv”
雾.变色
R红
G绿
B蓝
A透明
Duration//默认是linear if==0 then immediate
“Fog.ChangeDistanceNear”,“vv”
改变fog开始距离
Distance near距离
Duration持续时间
////仅支持Linear
“Fog.ChangeDistanceFar”,“vv”
改变fog结束距离
Distance near距离
Duration持续时间
////仅支持Linear
Terrain地面
“Terrain.LoadFromFile”
“s”
“Terrain.Start”
“”
“Terrain.Stop”
“”
“Terrain.ChangeSpeed”
“vvvvvv”
“Terrain.ChangeOffsetX”
“vvvvvv”
“Terrain.ChangeHeight”
“vvvvvv”
Dest Value
Movetype:0-immediate,1-Linear,2-EaseIn
Duration
Distance Decay (EaseIn)
MaxSpeed(EaseIn)
MaxAccelerate(EaseIn)
“Terrain.DisableLoop”
“s”
用于解除地形循环锁
GAnim2D=Global Animation 2D
2D动画,与UI配合使用
“GAnim2D.LoadFromDir”
“ss”
Directory, Filter
“GAnim2D.Emit”
“svvvv”
Anim Name
Posx,Posy
SpeedX,SpeedY
“GAnim2D.Clear”
“”
Object:三维物体
本系列的函数主要操作三维物体零件之间的位置关系
“Object.Move”
“vvvvv vvvv”
“Object.MoveDelta”
“vvvvv vvvv”
零件移动:
1 零件ID
234 Dest XYZ
5 移动方式
6 持续时间
7 距离衰减
8 Max speed
9 Max Accelerate
“Object.RotateAroundX”
“vvvvv vv”
“Object.RotateAroundY”
“vvvvv vv”
“Object.RotateAroundZ”
“vvvvv vv”
零件转动:
1零件ID
2 Dest Angle
3移动方式
4 持续时间
5 距离衰减
6 Max speed
7 Max Accelerate
“Object.Show”
“v”
零件ID
“Object.Hide”
“v”
零件ID
“Object.SelectPart”
“”
没用了
“Object.GetPartIndex”
“s”
获取零件ID
“Object.EmitAnim”
“vvvvv vvvv”
零件发动画效果
1 动画序号
2 零件ID
3 变换方式
456 偏移坐标
789 速度
Object.MapPartPositionToGlobal
“vvvv”
零件ID
XYZ
将零件坐标系的相对坐标变换为全局坐标
结果保存在Result0, Result1, Result2中
Object.MapPartSpeedToGlobal
“vvvv”
零件ID
XYZ
将零件坐标系的相对速度矢量变换为全局矢量
结果保存在Result0, Result1, Result2中
Object.CreateStripe/////注意,这个不是系统函数,而是带返回值的数值函数
返回Stripe的ID
Object.PullStripe
" vvvvvvvvv"
1 Stripe ID
2 零件ID
3 变换方式
456 XYZ
789 速度XYZ
Object.KillStripe
“v”
Stripe ID
Position:位置属性
用于Formation,Unit,Feature,Weapon等逻辑物体
“Position.SetType”
“v”
移动方式
0 = 速度与角度分离
MoveT_Seperate
1 = 绝对速度+角度转动
MoveT_SpeedToAngle
“Position.MoveXYZ”
“vvvvv”
移动
XYZ坐标,
移动方式 见下
持续时间
Move_Immediate=0
Move_Linear=1
Move_Easein=2
Move_EaseInOut=3
Move_Approach=4
Move_Shoot=5
Move_ShootFree=6
Move_Stop=7
“Position.SetMaxSpeed”
“v”
“Position.SetMaxAccelerate”
“v”
“Position.SetDistanceDecay”
“v”
设置距离衰减
“Position.SetSpeedDecay”
“v”
设置速度衰减
“Position.SetAccelerate”
“vvv”
如果是3个参数,即设置加速度为XYZ
如果是1个参数,即设置加速度绝对值大小为XYZ
“Position.RotateX”
“vvv”
目标角度
移动方式
持续时间
“Position.SetRotateXMaxSpeed”
“v”
“Position.SetRotateXMaxAccelerate”,“v”
“Position.SetRotateXDistanceDecay”,“v”
“Position.SetRotateXSpeedDecay”
“v”
“Position.SetRotateXAccelerate”
“v”
“Position.RotateY”
"vvv"同RotateX
“Position.SetRotateYMaxSpeed”
“v”
“Position.SetRotateYMaxAccelerate”
“v”
“Position.SetRotateYDistanceDecay”,“v”
“Position.SetRotateYSpeedDecay”
“v”
“Position.SetRotateYAccelerate”
“v”
“Position.RotateZ”
"vvv"同RotateX
“Position.SetRotateZMaxSpeed”
“v”
“Position.SetRotateZMaxAccelerate”,“v”
“Position.SetRotateZDistanceDecay”,“v”
“Position.SetRotateZSpeedDecay”
“v”
“Position.SetRotateZAccelerate”
“v”
Feature
无生命物体
“Feature.Create”
“svvv”
名字
XYZ
后面可接更多参数
“Feature.EmitAnim”
“vvvvv vv”
放动画
1 Anim序号
2 变换方式
345 XYZ
678 XYZ速度
“Feature.Destroy”
“”
“Feature.PlaySound”
“vv”
Formation:小队
Scene.CreateFormation
“ssvvv vvvv*”
1 Fmt Name,
2 Data Name,
3 Side
456 x,y,z
789 angle xyz
后接参数表
Scene.SelectFormation
“”
可接受1个参数,可为字符串(名字)或值(ID)
Scene.CommandFormation
“*”
第一个参数标志formation,可为字符串(名字)或值(ID)
后接参数列表
Formation.CreateUnitSimple
“v”
参数表示unit的index(从1开始)
Formation.CreateUnit
“vvvvv vv*”
1 Unit序号,从1开始
234 Xyz(全局)
567 Angle xyz
后接参数
Formation.Destroy
“”
Formation.MoveUnit
“vvvv”
Unit序号
XYZ
自动在unit的脚本之中,启动OnMove线程
Formation.Command
“*”
与Scene.CommandFormation有区别
用于command当前的Formation
纯参数列表
Formation.CommandUnit
“v*”
Unit index
后接参数
Formation.CommandAllUnits
“*”
纯参数列表
Formation.GetUnitPosition
“v”
获取unit的全局坐标,保存在result012之中
Formation.SelectUnit
“v”
选取unit为当前unit
TF:Target Facility
用于Formation,Unit和Weapon
“TF.ChangeTargetType”
“vv”
Target_Random=0
全随机
Target_Distance=1
直线距离
Target_X=2
X距离
Target_Y=3
Y距离
Target_Z=4
Z距离
Target_AngleXZ=5
XZ偏角距离
Target_AnglePitch=6
俯角距离
最大允许距离
"TF. ScanTarget
“”
自动挑选Target
“TF.SelectTargetByID”
“v”
选择ID为当前(唯一)Target
TF.SelectTargetByIndex
“v”
将序号为index的ID放到最前,清空其它target
“TF.AppendTargetByID”
“v”
添加ID到Target组最后
“TF.RemoveTargetByIndex”
“v”
去除固定序号Target
“TF.RemoveTargetByID”
“v”
去除某Target ID
“TF.ClearTarget”
“”
清空Target列表
“TF.GetTargetPosXYZ”
“v”
获取Target的位置
结果保存在Result0, Result1, Result2中
Weapon
Weapon.EmitAnim
“vvvvv vvv”
见"Feature.EmitAnim"
Weapon.CreateSubWeapon
“vvvvv vvv”
1 subWeaponindex,
2 TransformType,
345 xyz
678 direction xyz
Weapon.PlaySound
“vv”
Weapon.Destroy
“”
Unit
Unit.EmitAnim
“vvvvvvvv”
见"Feature.EmitAnim"
Unit.CreateWeapon
“vvvvvvvv”
放武器
1 weapon序号
2 变换方式
345 XYZ
678 XYZ速度
Unit.PlaySound
“vv”
Unit.Destroy
“”
Unit.GetPositionByFormation
“”
获得本单位在小队中标准位置的全局坐标
Unit.DefaultOnHit
“v”
调用该Unit默认的中弹处理过程。
包括:1:扣血,2:如果血量少于0,则自动开始OnDestroy线程。(线程名为” OnDestroy”)
DamageField
DamageField.Create
“vvvvv v”
1,2,3:全局坐标XYZ
4:伤害半径
5:伤害类型
6:伤害值
Player
Player.GainMetal
“v”
获取金属资源
Player.GainEnergy
“v”
获取能量资源