资料详情

地图PST基础 语句 变量 函数

语句

语句

说明

用法

If (……){……}

判断语句

判断语句主要用于,满足条件时执行操作

例如:

If (a==1)//如果a=1 就执行a=a+1,a不等于1时不执行

{

a=a+1;

}

表达式有 等于(==),不等于(!=),大于(>),小于(<,小于等于(<=),大于等于(>=

多条件可以使用,和(&&,或(||

例如:

If (a>1 && a<9)//如果a大于1小于9 就执行a=a+1

{

a=a+1;

}

 

If (a==1 || a==9)//如果a等于1或者等于9 时就执行a=a+1

{

a=a+1;

}

 

If (a>1 && a!=9)//如果a大于1并且不等于9 时就执行a=a+1

{

a=a+1;

}

 

For(……){……}

循环语句

循环语句用于重复操作

例如:

       int i;

       string name;

       for (i=0; i<99; i=i+1)//循环执行99次下面的代码

       {     

              MakeString(name, "D_HUA", i+1);

              SetSceneItem(name, "name", "machine");

              SetSceneItem(name, "attribute", "collision", 0);

              SetSceneItem(name, "attribute", "interactive", 1);

       }

 

如果不用循环语句要达到上面的效果需要这样写

 

       SetSceneItem("D_HUA01", "name", "machine");

       SetSceneItem("D_HUA01", "attribute", "collision", 0);

       SetSceneItem("D_HUA01", "attribute", "interactive", 1);

 

       SetSceneItem("D_HUA02", "name", "machine");

       SetSceneItem("D_HUA02", "attribute", "collision", 0);

       SetSceneItem("D_HUA02", "attribute", "interactive", 1);

 

       SetSceneItem("D_HUA03", "name", "machine");

       SetSceneItem("D_HUA03", "attribute", "collision", 0);

       SetSceneItem("D_HUA03", "attribute", "interactive", 1);

       ……

       SetSceneItem("D_HUA99", "name", "machine");

       SetSceneItem("D_HUA99", "attribute", "collision", 0);

       SetSceneItem("D_HUA99", "attribute", "interactive", 1);

 

有规律的重复操作时使用循环语句能节省大量的工作量

 

 

 

 

变量

变量

说明

使用

Int

整数变量

Int a; //声明一个整数类型的a变量,a的值为默认值0

Int a=10; //声明一个整数类型的a变量,并给a赋值为10

 

String

字符串变量

String a; //声明一个字符串类型的a变量,a等于空

String a=”无名杀手”; //声明一个字符串类型的a变量,a等于 无名杀手

 

Int x[x]

整数1维数组变量

Int a[9]; //声明一个整数类型的a[0] - a[9] 1维变量

 

赋值可以一个一个的赋值

a[0]=1;

a[1]=1;

……

a[9]=1;

 

也可以用for循环赋值

 

       Int I;

       for (i=0; i<=9; i=i+1)

       {     

              a[i]=1;

       }

 

 

 

 

函数

函数

说明

使用

MakeString

生成字符串

把字符串和数字组合成字符串

例如:

String name;

MakeString(name,”hua”,9);//把字符串“hua”和数字9组合成一个新的字符串并保存到变量namename现在的值是hua09

 

SetSceneItem

设置场景道具

 

SetSceneItem("D_xxx", "name", "machine");//建造名字为D_xxx的道具,如果没有这一行,道具会一直旋转

 

SetSceneItem("D_ xxx ", "attribute", "collision", 1);//D_xxx道具是否有碰撞,0/1关闭/开启,如果没开启碰撞模型会没有实体

 

SetSceneItem("D_ xxx ", "attribute", "damage", 1); //D_xxx道具是否有伤害,0/1关闭/开启

 

SetSceneItem("D_ xxx ", "attribute", "damagevalue", 100); //D_xxx道具的伤害值,伤害值为100/10HP

 

SetSceneItem("D_ xxx ", "attribute", "active", 0); //D_xxx道具是否显示 0/1 隐藏/显示

 

SetSceneItem("D_ xxx ", "attribute", "interactive", 1); //D_xxx道具是否能互动 0/1 /

 

SetSceneItem("D_ xxx ", "pose", 0, 0); //播放D_xxx道具的FMC动画,第三位参数是动画的序号,第四位参数是动画是否循环播放,0/1 /

 

SetSceneItem("D_ xxx ", "frame", 0); //播放D_xxx道具的FMC动画从第几帧开始

 

 

CreateEffect

创建道具特效

 

CreateEffect("D_ xxx ", "xxx", 1);//D_xxx道具创建xxx特效,循环播放,参数1、道具名称,参数2、特效名称,参数3、是否循环播放特效 0/1 /

 

 

Misc

杂项

 

Misc("transfer", id, dname);//传送指定ID到指定道具地址,ID是需要传送的角色IDdname是传送到达的道具

 

Misc("gettime");//获取游戏时间

 

Misc("randomseries", int0, int1, int2);//生成随机数组,有点类似二维数组,不过是随机的!int0是行,int1是列的低位,int2是列的高位

例如:

Misc("randomseries", 0, 1, 5);

Misc("randomseries", 1, 6, 10);

 

1

2

3

4

5

0

3

1

6

4

2

1

9

6

7

10

8

 

 

 

 

 

 

 

 

 

 

 

 

注:以上数据排序每次会不同!

 

 

Misc("getseries", int0, int1); //取随机数组中的值,int0是行,int1是列

列如:

1

2

3

4

5

0

3

1

6

4

2

1

9

6

7

10

8

2

15

11

14

13

12

3

20

18

16

19

17

如果随机数组如上方表格所示,那么:

Misc("getseries", 0, 2);//值为1

Misc("getseries", 3, 4);//值为19

Misc("getseries", 2, 3);//值为14