鐵之狂傲

 取回密碼
 註冊
搜尋

函式教學文件

[複製連結] 檢視: 2114|回覆: 1

注意:這篇文章很長,有心學習者在觀看!!!

若以下文章對你有幫助就給個聲望吧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,"滴的血");

通報自己尚有多少血.
 

回覆 使用道具 檢舉

全世界最先進的跳動筆

回覆: 函式教學文件

雖然這是轉載文章...
因為你有心...把那麼好的文章帶來鐵傲...
這大指就送給你了!!!!!!!!!!!!!!!!!
以後期待你的表現喔!!!
謝謝你對本版的熱心與支持!!!
繼續吃資料...(超大噓)
 

準備再度大範圍下潛....

回覆 使用道具 檢舉

你需要登入後才可以回覆 登入 | 註冊

存檔|手機版|聯絡我們|新聞提供|鐵之狂傲

GMT+8, 20-2-29 08:35 , Processed in 1.838351 second(s), 16 queries .

回頂部