发表于 2004-8-14 17:111#
楼主GetChar()函式
语法
GetChar(string name)
功用
得到目标ID
用法
GetChar("player"); 得到第一位玩家的ID(这是没用的指令,因为第一位玩家一定是1号)
GetChar("vip");得到己方首领编号,这个指令在SN档中使用会容易得到-1(不存在)的值,仅能用在NPC档中才能正确启用。
GetChar("enemyvip");得到敌方VIP编号,这个指令在SN档中会不易指定,用在NPC档中就能正确启用。
GetChar("flag ");得到持镖者编号,没有持镖者值一定是-1.
GetChar("XXX ");得到指定人物的编号,游戏中没有这个人物值一定是-1.
范例:
int a;
a = GetChar("国宝");
如果国宝不存在
a的值为-1
如果国宝存在
a就等于国宝的当前ID
GetAnyChar()函式
语法
GetAnyChar (string name)
功用
得到任一目标ID
用法
GetAnyChar("player"); 得到第一位玩家的ID(这是没用的指令,因为第一位玩家一定是1号)
GetAnyChar("vip");得到己方首领编号,这个指令在SN档中使用会容易得到-1(不存在)的值,仅能用在NPC档中才能正确启用。
GetAnyChar("enemyvip");得到敌方VIP编号,这个指令在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目标的目前生命值
范例:
int a;
int b;
a = GetChar("国宝");
b = GetHP (a);
如果国宝不存在
b的值为-1
如果国宝存在
b就等于国宝的当前生命值
GetMaxHP()函式
语法
GetMaxHP (int ID)
功用
得到任一ID目标的最大生命值,(经我测试应该说是初始值才对,这个值不会因吃华陀而改变…所以我的结论是得到初始值)
范例:
int a;
int b;
a = GetChar("国宝");
b = GetMaxHP(a);
如果国宝不存在
b的值为-1
如果国宝存在
b就等于国宝的初始生命值
GetTeam()函式
语法
GetTeam (int ID)
功用
得到任一ID目标的所在队伍.
范例:
int a;
int b;
a = GetChar("国宝");
b = GetTeam(a);
如果国宝不存在或国宝并没有分队b的值为0
如果国宝在流星,b的值为1
如果国宝在蝴蝶,b的值为2
GetEnemy()函式
语法
GetEnemy(int ID)
功用
得到任一ID目标他当前的目标敌手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, ...)
功用
得到目标ID
用法
ChangeBehavior(int id, "wait");NPC在原地做警戒.
ChangeBehavior(int id, "idle");NPC在原地不动.
ChangeBehavior(int id, "run");NPC在出生点附近乱跑(大多是绕圈圈)。
ChangeBehavior(int id, "follow", string name/ int id);
NPC跟随到指定人物[人物参照GetChar()函式]或是指定ID人物.
ChangeBehavior(int id, "patrol", int waypoint1, int waypoint2..);
NPC在所规定的巡逻点实施巡逻.
ChangeBehavior(int id, "attacktarget", int idx, int a);
NPC不顾一切的跑到IDX的目标位置,若a为不存在则为跑到目标位置,a值大于0则到目标位置实施攻击.
ChangeBehavior(int id, "Kill", string name/ int id);
NPC追杀指定人物[人物参照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, ...)
功用
叫NPC做指定动作
用法
Perform (int id1, "faceto", int id2);id1的NPC面朝著id2
Perform (int id, "say",string say);NPC送出交谈内容.
Perform (int id, "pause",int min);
NPC做出上个动作后过了几秒再做下个指定动作,但程序仍然在执行中。
Perform (int id, "aggress");NPC做出挑衅的动作.
Perform (int id, "jump");NPC做出跳跃的动作.
Perform (int id, "attack");NPC做出攻击的动作.
Perform (int id, "guard", int min);NPC做出防御动作几秒钟.
Perform (int id, "crouch", int min); NPC做出蹲下动作几秒钟.
Perform (int id, "use", int itemID);NPC使用编号道具.
范例:
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);
功用
得到乱数值
范例:
int a = Rand(10);
a的值即为0-9的其中一值
AddNPC()函式
语法
AddNPC(string npc);
功用
加入NPC
范例:
AddNPC("npc13_01");
加入冷燕到流星队
RemoveNPC()函式
语法
RemoveNPC(int id)
功用
指定NPC离开
范例:
int a = GetChar("国宝");
AddNPC(a);
指定国宝离开游戏中
Say()函式
语法
Say(id, a, b, c, ...);
功用
送出组合式谈话内容
范例:
int a = GetChar("国宝");
int h = GetHP(a);
Say(a, "我现在有", h,"滴的血");
通报自己尚有多少血.
语法
GetChar(string name)
功用
得到目标ID
用法
GetChar("player"); 得到第一位玩家的ID(这是没用的指令,因为第一位玩家一定是1号)
GetChar("vip");得到己方首领编号,这个指令在SN档中使用会容易得到-1(不存在)的值,仅能用在NPC档中才能正确启用。
GetChar("enemyvip");得到敌方VIP编号,这个指令在SN档中会不易指定,用在NPC档中就能正确启用。
GetChar("flag ");得到持镖者编号,没有持镖者值一定是-1.
GetChar("XXX ");得到指定人物的编号,游戏中没有这个人物值一定是-1.
范例:
int a;
a = GetChar("国宝");
如果国宝不存在
a的值为-1
如果国宝存在
a就等于国宝的当前ID
GetAnyChar()函式
语法
GetAnyChar (string name)
功用
得到任一目标ID
用法
GetAnyChar("player"); 得到第一位玩家的ID(这是没用的指令,因为第一位玩家一定是1号)
GetAnyChar("vip");得到己方首领编号,这个指令在SN档中使用会容易得到-1(不存在)的值,仅能用在NPC档中才能正确启用。
GetAnyChar("enemyvip");得到敌方VIP编号,这个指令在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目标的目前生命值
范例:
int a;
int b;
a = GetChar("国宝");
b = GetHP (a);
如果国宝不存在
b的值为-1
如果国宝存在
b就等于国宝的当前生命值
GetMaxHP()函式
语法
GetMaxHP (int ID)
功用
得到任一ID目标的最大生命值,(经我测试应该说是初始值才对,这个值不会因吃华陀而改变…所以我的结论是得到初始值)
范例:
int a;
int b;
a = GetChar("国宝");
b = GetMaxHP(a);
如果国宝不存在
b的值为-1
如果国宝存在
b就等于国宝的初始生命值
GetTeam()函式
语法
GetTeam (int ID)
功用
得到任一ID目标的所在队伍.
范例:
int a;
int b;
a = GetChar("国宝");
b = GetTeam(a);
如果国宝不存在或国宝并没有分队b的值为0
如果国宝在流星,b的值为1
如果国宝在蝴蝶,b的值为2
GetEnemy()函式
语法
GetEnemy(int ID)
功用
得到任一ID目标他当前的目标敌手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, ...)
功用
得到目标ID
用法
ChangeBehavior(int id, "wait");NPC在原地做警戒.
ChangeBehavior(int id, "idle");NPC在原地不动.
ChangeBehavior(int id, "run");NPC在出生点附近乱跑(大多是绕圈圈)。
ChangeBehavior(int id, "follow", string name/ int id);
NPC跟随到指定人物[人物参照GetChar()函式]或是指定ID人物.
ChangeBehavior(int id, "patrol", int waypoint1, int waypoint2..);
NPC在所规定的巡逻点实施巡逻.
ChangeBehavior(int id, "attacktarget", int idx, int a);
NPC不顾一切的跑到IDX的目标位置,若a为不存在则为跑到目标位置,a值大于0则到目标位置实施攻击.
ChangeBehavior(int id, "Kill", string name/ int id);
NPC追杀指定人物[人物参照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, ...)
功用
叫NPC做指定动作
用法
Perform (int id1, "faceto", int id2);id1的NPC面朝著id2
Perform (int id, "say",string say);NPC送出交谈内容.
Perform (int id, "pause",int min);
NPC做出上个动作后过了几秒再做下个指定动作,但程序仍然在执行中。
Perform (int id, "aggress");NPC做出挑衅的动作.
Perform (int id, "jump");NPC做出跳跃的动作.
Perform (int id, "attack");NPC做出攻击的动作.
Perform (int id, "guard", int min);NPC做出防御动作几秒钟.
Perform (int id, "crouch", int min); NPC做出蹲下动作几秒钟.
Perform (int id, "use", int itemID);NPC使用编号道具.
范例:
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);
功用
得到乱数值
范例:
int a = Rand(10);
a的值即为0-9的其中一值
AddNPC()函式
语法
AddNPC(string npc);
功用
加入NPC
范例:
AddNPC("npc13_01");
加入冷燕到流星队
RemoveNPC()函式
语法
RemoveNPC(int id)
功用
指定NPC离开
范例:
int a = GetChar("国宝");
AddNPC(a);
指定国宝离开游戏中
Say()函式
语法
Say(id, a, b, c, ...);
功用
送出组合式谈话内容
范例:
int a = GetChar("国宝");
int h = GetHP(a);
Say(a, "我现在有", h,"滴的血");
通报自己尚有多少血.
签名:~~~~~~~~~~~
UID 8



