- 鐵幣
- 1000 元
- 文章
- 3516 篇
- 聲望
- 1826 枚
- 上次登入
- 07-7-8
- 精華
- 65
- 註冊時間
- 03-9-15
- UID
- 16551
|
注意:這篇文章很長,有心學習者在觀看!!!
若以下文章對你有幫助就給個聲望吧OTZ
轉載自[流星=家族]
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,"滴的血");
通報自己尚有多少血. |
|