资料详情

AI函数

函数

GetChar()

语法

GetChar(string name);

功能

得到目标ID,如果没有返回-1

用法

 

 

GetChar("player");//得到第一位玩家的ID(这是没用的指令,因为第一位玩家一定是1)

 

GetChar("vip");//得到己方队长编号,这个指令在SN档中使用会容易得到-1(不存在)的值,仅能用在NPC档中才能正确启用。

 

GetChar("enemyvip");//得到敌方队长编号,这个指令在SN档中会不易指定,用在NPC档中就能正确启用。

 

GetChar("flag ");//得到持镖者编号,没有持镖者值一定是-1.

 

GetChar("XXX ");//得到指定人物的编号,游戏中没有这个人物值一定是-1.

范例

 

 

int a;

a = GetChar("无名");

如果无名不存在

a的值为-1

如果无名存在

a就等于无名的当前ID

 

 

函数

GetAnyChar()

语法

GetAnyChar (string name);

功能

得到目标ID,如果没有返回-1

用法

 

 

GetAnyChar("player");//得到第一位玩家的ID(这是没用的指令,因为第一位玩家一定是1)

 

GetAnyChar("vip");//得到己方队长编号,这个指令在SN档中使用会容易得到-1(不存在)的值, 仅能用在NPC档中才能正确启用。

 

GetAnyChar("enemyvip");//得到敌方队长编号,这个指令在SN档中会不易指定,用在NPC档中就能正确启用。

 

GetAnyChar("flag ");//得到持镖者编号,没有持镖者值一定是-1.

 

GetAnyChar("XXX ");//得到指定人物的编号,游戏中没有这个人物值一定是-1.

范例

 

 

int a;

a = GetAnyChar("无名");

如果无名不存在

a的值为-1

如果无名存在

a就等于无名的当前ID

这个指令基本上跟GetChar()一样,但不一样的是它可以在NPC档中侦测HP<=0的人物,NPC档中只要NPCHP=0, GetChar()将不再运作.如果你用NPC集合档则需用上这个指令.SN档只要用GetChar()即可.

 

 

函数

GetHP()

语法

GetHP (int ID);

功能

得到ID目标的目前生命值,如果没有返回-1

用法

 

 

GetHP (GetChar("无名"));//获取无名目前的生命值

 

GetHP (GetAnyChar ("无名"));//获取无名目前的生命值

范例

 

 

int a;

int b;

a = GetChar("无名");

b = GetHP (a);

如果无名不存在

b的值为-1

如果无名存在

b就等于无名的当前生命值

 

 

函数

GetTeam()

语法

GetTeam (int ID);

功能

得到ID目标的所在队伍.

用法

 

 

GetTeam(GetChar("无名"));//得到无名的所在队伍

 

GetTeam(GetAnyChar ("无名"));//得到无名的所在队伍

范例

 

 

int a;

int b;

a = GetChar("无名");

b = GetTeam(a);

如果无名不存在或无名并没有分队b的值为0

如果无名在流星,b的值为1

如果无名在蝴蝶,b的值为2

 

 

函数

GetEnemy()

语法

GetEnemy(int ID);

功能

得到ID目标当前锁定的对手ID.

用法

 

 

GetEnemy(GetChar("无名"));//得到无名当前锁定的对手ID

 

GetEnemy(GetAnyChar ("无名"));//得到无名当前锁定的对手ID

范例

 

 

int a;

int b;

a = GetChar("无名");

b = GetEnemy(a);

如果无名不存在或无名目前并没有锁定对手b的值为-1

如果无名没有分队已锁定预设对手,b的值为1(就是玩家)

如果无名已锁定对手,b的值为对手的ID

如果b值等于-1但不是无名不存在照成的,那么NPC可能会站着发呆.

 

 

函数

GetGameTime()

语法

GetGameTime();

功能

得到入游戏后所过的秒数

范例

 

 

int a;

a = GetGameTime() + 30;

Say(2, "已经过了",a,"");//ID 编号2号的NPC计算目前时间并说出来

 

 

函数

ChangeBehavior()

语法

ChangeBehavior(int id, string behavior, ...);

功能

控制AI的行动

用法

 

 

ChangeBehavior(int id, "wait");//AI在原地做警戒

 

ChangeBehavior(int id, "idle");//AI在原地不动

 

ChangeBehavior(int id, "run");//AI在出生点附近乱跑(大多是绕圈圈)

 

ChangeBehavior(int id, "follow", string name/ int id);// AI跟随到指定人物[人物参照GetChar()函数]或是指定ID人物.

 

ChangeBehavior(int id, "patrol", int waypoint1, int waypoint2..);// AI在所规定的巡逻点实施巡逻

 

ChangeBehavior(int id, "attacktarget", int idx, int a);// AI不顾一切的跑到IDX的目标位置,a为不存在则为跑到目标位置,a值大于0则到目标位置实施攻击.

 

ChangeBehavior(int id, "Kill", string name/ int id);// AI追杀指定人物[人物参照GetChar()函数]或是指定ID人物,若为同队则同于“follow”副指令

范例

 

 

int a;

SetTarget(1, "char","冷燕");

a = GetChar("无名");

ChangeBehavior(a, "wait");//无名在原地做警戒,看到敌人就跑去攻击

ChangeBehavior(a, "idle");//无名啥事情都不做

ChangeBehavior(a, "run");//无名在出生点附近乱跑

ChangeBehavior(a, "follow", "player");//无名跟着玩家行动

ChangeBehavior(a, "patrol", 1, 3, 5, 7, 9);//无名在1,3,5,7,9的巡逻点巡逻

ChangeBehavior(a, "attacktarget", 1, 1);//无名不顾一切的跑到冷燕旁边不管他是不是同队先海扁一下再说

ChangeBehavior(int id, "Kill", "冷燕");//无名追杀冷燕如果是同队则死命跟着冷燕

 

 

函数

Perform()

语法

Perform(int id, string pose, ...);

功能

AI做指定动作

用法

 

 

Perform (int id1, "faceto", int id2);// AI id1面朝着id2

 

Perform (int id, "say",string say);// AI发出交谈内容

 

Perform (int id, "pause",int min);// AI做出上个动作后过了几秒再做下个指定动作,但程序仍然在执行中

 

Perform (int id, "aggress");//AI做出挑衅的动作

 

Perform (int id, "jump");//AI做出跳跃的动作

 

Perform (int id, "attack");//AI做出攻击的动作

 

Perform (int id, "guard", int min);// AI做出防御动作几秒钟

 

Perform (int id, "crouch", int min);//AI做出蹲下动作几秒钟

 

Perform (int id, "use", int itemID);// AI使用编号道具

范例

 

 

int a = GetChar("无名");

int b = GetChar("冷燕");

Perform (a, "faceto", b);//无名面对冷燕

Perform (a, "say", "你上次砍我文章,觉悟吧!");//无名送出了交谈内容

Perform (b, "say", "放弃吧!你是打不赢我的");

Perform (a, "pause",1);//无名等待了1秒钟

Perform (a, "aggress");//无名做出了挑衅动作

Perform (b, "attack");//冷燕做攻击了一下.

Perform (a, "jump");//无名跳了一下

Perform (a, "guard", 1);//无名做出防御动作1秒钟.

Perform (a, "crouch", 1);//无名蹲下1秒钟.

Perform (a, "say", "看我的厉害!哈哈");

Perform (a, "use", 2);//无名使用了华陀最大生命+50.

Perform (a, "use", 1);//无名使用了肉包生命回复30.

Perform (a, "use", 3);//无名使用了铜皮防御上升

Perform (a, "use", 4);//无名使用了嗜战最大生命+50.

Perform (a, "use", 7);//无名使用了风水隐身

Perform (a, "use", 8);//无名使用了气元气力全满

Perform (a, "say", "哇哈哈!去死吧");

Perform (a, "say", "该死!怎么会这样?");

Perform (a, "use", 20);//无名使用了神骨最大生命到达999.

Perform (a, "use", 15);//无名使用了神灵生命回复1/2.

Perform (a, "use", 19);//无名使用了爆怒攻击力大幅提升

Perform (a, "use", 34);//无名使用了嗜血攻击力再提升.

Perform (a, "use", 23);//无名使用了火属练化武器

Perform (a, "use", 40);//无名使用了金钟罩防御上升

Perform (a, "use", 8);//无名使用了气元气力全满

Perform (a, "use", 27);//无名使用了蛋糕变身雪人

Perform (a, "use", 29);//无名使用了围巾防御上升

Perform (a, "use", 30);//无名使用了手套攻击提升

Perform (a, "use", 31);//无名使用了长靴速度提升.

Perform (a, "use", 32);//无名使用了头套自动回血

Perform (a, "use", 5);//无名使用了猫足速度提升

Perform (a, "use", 41);//无名使用了豹灵速度大幅提升

Perform (a, "say", "?!放你一马...");

Perform (b, "say", "= =!!");

 

 

函数

PlayerPerform()

语法

PlayerPerform(int id, string pose, ...);

功能

叫玩家做指定动作,这个指令区网没有作用

用法

 

 

PlayerPerform("say",string say);//发出孟星魂交谈内容(这是电脑会设定玩家名称为孟星魂)

 

PlayerPerform("pause",int min);//孟星魂做出上个动作后过了几秒再做下个指定动作,但程序仍然在执行中

 

PlayerPerform("aggress");//孟星魂做出挑衅的动作

 

PlayerPerform("jump");//孟星魂做出跳跃的动作

 

PlayerPerform("crouch", int min);//孟星魂做出蹲下动作几秒钟

 

PlayerPerform(int id, "use", int itemID);//孟星魂使用编号道具

 

PlayerPerform(int id, "block", 0&1);//孟星魂暂时不能操控开关1为不能控制0为可以

范例

 

 

参考Perform ()函数

 

 

函数

StopPerform()

语法

StopPerform(int id);

功能

停止AI的指定动作

范例

 

 

int a;

a = GetChar("无名");

Perform (a, "guard", 1);//无名做出防御动作1秒钟

StopPerform(a);//取消刚才指定的动作

 

 

函数

SetTarget()

语法

SetTarget(int idx, string type, ...);

功能

设定IDX编号所代表物

用法

 

 

SetTarget(int idx, "char", string name);//设定IDX编号物件为某一玩家或NPC

 

SetTarget(int idx, "waypoint", int waypoint);//设定IDX编号物件为某一路径点

范例

 

 

参考ChangeBehavior()函数的范例

 

 

函数

Distance()

语法

Distance(int idx1, int idx2);

功能

计算IDX1IDX2之间的距离

范例

 

 

SetTarget(0, "char", "无名");

SetTarget(1, "char", "冷燕");

int a = Distance(0, 1);

a的值为座标值,倘若无名的座标在1202,111,0冷燕的座标为-101,111,0,那么a值即为1202+101的数值,300以内的数值几乎就算是面对面了

 

 

函数

Rand()

语法

Rand(int n);

功能

一定范围内的随机整数

用法

 

 

Rand(100);

范例

 

 

int a = Rand(10);

a的值即为0-9的随机数

 

 

函数

AddNPC()

语法

AddNPC(AI档名);

功能

加入AI

范例

 

 

AddNPC("npc13_01");//加入冷燕到流星队

 

 

函数

RemoveNPC()

语法

RemoveNPC(int id);

功能

指定AI离开

范例

 

 

int a = GetChar("无名");

RemoveNPC(a);

指定无名离开游戏中

 

 

函数

Say()

语法

Say(id, a, b, c, ...);

功能

送出组合式谈话内容

范例

 

 

int a = GetChar("无名");

int h = GetHP(a);

Say(a, "我现在有", h,"滴的血");

通报自己有多少血.

 

 

函数

GetWeaponType()

语法

GetWeaponType(int id);

功能

侦测目标ID的武器类型(传回值为武器类别)

范例

 

 

传回值

0

1

2

3

4

5

武器种类

轻剑

匕首

火鎗

飞镖

大锤

大刀

传回值

6

7

8

9

10

11

武器种类

飞轮

长枪

双刺

乾坤

指虎

忍刀

 

 

 

 

 

 

 

 

 

函数

GetWeapon()

语法

GetWeapon(int id);

功能

侦测目标ID的武器编号(传回值为武器编号)

范例

 

 

武器编号请参考武器资料表

 

 

函数

GetAnger()

语法

GetAnger(int id);

功能

侦测目标ID的气元值,100=气满,0-目前没气

 

 

函数

OpenFile()

语法

OpenFile("files name",command);

功能

开启一个资料存取档

范例

 

 

int fileID = OpenFile("files name",command);

commandw即为输入档,r即为输出档

 

 

函数

CloseFile()

语法

CloseFile(int fileID);

功能

关闭一个指定的资料存取档

 

 

函数

WriteFile()

语法

WriteFile(int fileID, int a);

功能

将资料写入档案中

 

 

函数

ReadFile()

语法

ReadFile(int fileID);

功能

将资料从档案中读出来

范例

 

 

int a = ReadFile(int fileID);