论坛首页›扭转乾坤[修改]›AI函数

AI函数

楼主:龙云枫发表于 2019-5-24 21:00回复 0查看 667最后回复 2019-5-24
共 1 楼
发表于 2019-5-24 21:005108#
楼主


























































































































































































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档中只要NPC的HP=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);
功能
计算IDX1及IDX2之间的距离
范例
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("无名");
AddNPC(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);
command为w即为输入档,r即为输出档
函数
CloseFile()
语法
CloseFile(int fileID);
功能
关闭一个指定的资料存取档
函数
WriteFile()
语法
WriteFile(int fileID, int a);
功能
将资料写入档案中
函数
ReadFile()
语法
ReadFile(int fileID);
功能
将资料从档案中读出来
范例
int a = ReadFile(int fileID);

签名:本站QQ群:35814411,加群请注明论坛账号
UID 3
共 1 楼

关于这个存档

本页内容为历史存档,已关闭一切写操作。附件仅展示文件信息,不提供下载。内容如涉侵权或不当,请联系 server@yfzz.net 下架。

可以做的事:浏览版块、阅读主题与楼层、查看图片附件、按标题或作者搜索、打开用户资料页。
不能做的事:注册、登录、发帖、回复、引用、评分、私信、收藏;压缩包等附件不提供下载——存档版只展示文件信息。

数据截至 2021-02-05;附件约有 30–40% 的原文件未能保存,页面上以「已丢失」标注。2009 年前的不少图片是外链图床,原图床已关闭,页面会显示失效占位。
隐龙轩QQ群:点此查看

26,823 主题 / 280,734 帖 / 17,145 位发过言的会员 · 数据最后更新 2021-02-05

粤ICP备2024318274号-1