100%的驚喜!現正開放中!下去領五百加抽iPhone6電競來襲,快來稱王!!超爽的撿到一把青龍偃月刀
a58801027 ( =落葉飄飄= ) Lv. 5 | 文章數 : 45
0
第 1 篇 2010-12-22 04:40:26
本主題已被鎖定舊文故鎖定
小弟開始研究一下怎麼看也看不太懂的人工生命體AI腳本.....
小小的有一點心得了....

之前 omnix 大友分享過一篇改成主動攻擊的修改模式
http://www.gamebase.com.tw/forum/5090/topic/69348672
小弟再提一次,順便加以解析一下
function    GetMyEnemy (myid)
    local result = 0
    local type = GetV (V_HOMUNTYPE,myid)
    if (type == LIF or type == LIF_H or type == AMISTR or type == AMISTR_H or type == LIF2 or type == LIF_H2 or type == AMISTR2 or type == AMISTR_H2) then
        result = GetMyEnemyA (myid)
也許你看不懂不過給你個對照就知道了
LIF = 麗芙
LIF_H = 進化後的麗芙
AMISTR = 艾咪斯可魯
AMISTR_H = 進化後艾咪斯可魯

重點是在後面的LIF2!!?
LIF2就是同等於第2種型態的麗芙,而不是進化後的麗芙
所以如果你是上面這2種人工生命體的話就將它修改一下最後一句代碼
result = GetMyEnemyA (myid)
將紅色的A改成B就會變成主動攻擊怪物了


●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
再來就是.....你掛著~可愛的女兒會爆衝亂跑走散!!....也就是打怪時他會跟怪一起跑出去你能看見的範圍之外了,那人工生命體的動作...根據這兩三天測試結果
1.叫不回來(女兒被拐走了>"<)
2.不會動...被怪物打到升天...

所以這時候你該調整AI的收尋怪物範圍,你在資料夾可以收尋到以下這段代碼
function    OnMOVE_CMD (x,y)
   
    TraceAI ("OnMOVE_CMD")

    if ( x == MyDestX and y == MyDestY and MOTION_MOVE == GetV(V_MOTION,MyID)) then
        return        -- 營 檜翕醞檣 跡瞳雖諦 偽擎 夠檜賊 籀葬雖 彊朝棻.
    end

    local curX, curY = GetV (V_POSITION,MyID)
    if (math.abs(x-curX)+math.abs(y-curY) > 15) then        -- 跡瞳雖陛 橾薑 剪葬 檜鼻檜賊 (憮幗縑憮 試剪葬朝 籀葬雖 彊晦 陽僥縑)
        List.pushleft (ResCmdList,{MOVE_CMD,x,y})            -- 錳楚 跡瞳雖煎曖 檜翕擊 蕨擒棻.     
        x = math.floor((x+curX)/2)                            -- 醞除雖薄戲煎 試盪 檜翕棻.  
        y = math.floor((y+curY)/2)                            --
    end

    Move (MyID,x,y)   
   
    MyState = MOVE_CMD_ST
    MyDestX = x
    MyDestY = y
    MyEnemy = 0
    MySkill = 0

end

這時候你注意上面代碼的紅色15,那就是你人工生命體所尋找怪物的範圍
當然是以你為中心向外擴15格的距離,15隔距離就是你整個畫面最頂端的位置
所以人工生命體很容易就會跑到能見範圍之外
預設是15建議可以設定成12
這樣你所養的小朋友就不會跟你走散囉
如果還有走散的狀況就在向下修1~2就好了....
小弟有試著修正到10.....根本沒啥練到= =||||
(PS.尋找怪的範圍縮減了,相對的能打到怪的數量將會被限制住,所以只適合用在不想小朋友亂跑上)


●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
以上是目前小弟測試2天的結果~如果有更好的修改方式~希望大家可以提出討論一下@@~
補充一下要停止腳本只要按Alt+T或點選等待選項0.0




臉書回應

※ 最後編輯時間:2010-12-22 04:44:00
來源IP:125.227.222.* [ 檢舉此文 ]