雪光 發表於 2007-8-16 08:01:55

[教學] 腳本的基礎知識及教學(教你自編腳本

QUOTE:
前言:
本人見168的腳本區.玩家都問一些好普通的問題!!
例:如何新增NPC..改一些普遍的問題..
還有分享腳本1次就放幾百個上來.
好多都是改了小小.有些就重複!(好亂= =")
都沒人討論 腳本 技術!!..~.~
所以希望加上教學~.希望大家努力學習!
發揮你的創造力.為自己的私服.寫上特別.
有特色的腳本.請多交流腳本技術!!


athena 腳本編寫可能有很多人都感到好難!
因為不知道應該從那開始學,該如何學習!

如要學好腳本要先:
1.對編寫腳本感興趣.
2.開始學習指令運用.
3.試寫腳本.試用指令(重要).
4.看其他人寫的腳本.
5.學會別人的指令運用.
6.試優化別人的腳本.
7.加上創意.寫出自己的腳本.

如果有問題. 可以發帖提問.

QUOTE:
新增npc:

1.做一個腳本放到npc目錄裡面
2.然後在map_athena裡面添加相對路徑和檔案名
3.相對路徑是指以map-server.exe所在檔案夾內的檔案夾名稱。

例︰道場.txt
運行NPC腳本設定(不需要運行的腳本在npc前輸入 // 表示關閉)
npc: npc\道場.txt



一: 最最基本的簡介

QUOTE:
1個腳本最基本是有個npc 位置 樣子 內容

prontera.gat,148,180,5   script   測試人員   868,{}

地圖名(prontera.gat),X坐標(148),Y坐標(180),方向(5)   script   名稱   NPC編號,{ 內容 }

a.地圖名稱:可在遊戲內打 /where 找出 記我要加上 .gat
b.地圖坐標:可在遊戲內打 /where 找出

               ↑Y 遞增
            ( 0,200)--(200,200)
               |          |
               | 地圖   |
               |          |
            ( 0, 0)--(200, 0)→X遞增

c.NPC方向: 5代表npc所朝向的方向
               7   01
               6●   2
               5   43
d.NPC名稱:自行輸入(測試人員)
e.script      :代表這是一個腳本.還有其他!
f. NPC編號: 內有NPC ID: 點我
                     如果npcid為-1則這個NPC不會出現下地圖上(但是對話內容依然有效).
g.內容: {   } 開 {   關} 因為沒打上內容所以點了NPC也是沒有反應!

ps.中間的空格地方需要用TAB鍵
   {}裡面是腳本所需要執行的內容

prontera.gat,148,180,5<TAB鍵> script <TAB鍵>測試人員 <TAB鍵> 868,{}

以上只是1個簡單沒內容的NPC腳本 !
開始介紹別的!!


QUOTE:
怪物:
         固定自動刷新的怪物.

例: prt_fild10.gat,0,0,0,0         monster      波波利      1031,20,0,0,0

地圖名,x,y,xs,ys<tab>monster<tab>顯示名<tab> 怪物代碼,數量,刷新延遲,死亡延遲,[事件]

         地圖名          所在的地圖名(必須有.gat)。
         x                  坐標.0為隨機.
         y                  坐標.0為隨機.
         xs                  坐標X的延伸範圍。
         ys                  坐標Y的延伸範圍。
         xs,ys的例子 :
                     0,0                2,1
                                   ﹡﹡﹡﹡﹡
                        ●             ﹡﹡● ﹡﹡
                                   ﹡﹡﹡﹡﹡

            ﹡●點為怪物出現的位置:
            2.1代表 怪會隨機出現在 X 正負2,Y 正負1的地方

         顯示名            怪物的名字. --ja-- 調用mob_db內的名字
         怪物代碼          出現怪物的ID,參考mob_db.txt的設定.
         怪物數量          map啟動時產生的數量,與下面設定的重複刷新無關。
         刷新延遲          刷新後等多少毫秒再次刷新。0為即時
         死亡延遲          死亡後等多少毫秒再次刷新。0為即時
         事件                  死亡後調用腳本(script 類型-1)需同地圖.可不寫


QUOTE:
傳送類型:         

將範圍的玩家傳送到目標地圖及坐標.

例:prontera.gat,107,215,0    warppronterawarp1033   2,2,prt_in.gat,240,139

地圖名,x,y<tab>warp<tab>顯示名<tab>X延伸,Y延伸,到達地圖名,目的坐標X,目的坐標Y

         地圖名      原先的地圖.要加上.gat.
         x                  原先地圖的坐標X.
         y                  原先地圖的坐標Y.
         顯示名      移動點的名稱.不能重複.DEBUG用.
         x延伸          移動點的橫向X觸發範圍.
         y延伸          移動點的縱向Y觸發範圍.
         dx,dy的例子︰

                0,0                   1,0                        2,2
                ﹡﹡﹡       ﹡﹡﹡﹡﹡      ﹡﹡﹡﹡﹡﹡﹡
                ﹡●﹡      ﹡﹡●﹡﹡   ﹡﹡﹡﹡﹡﹡﹡
                ﹡﹡ ﹡      ﹡﹡﹡﹡ ﹡   ﹡﹡﹡﹡﹡﹡﹡
                                                   ﹡﹡﹡● ﹡﹡﹡
                                                   ﹡﹡﹡﹡﹡﹡﹡
                                                   ﹡﹡﹡﹡﹡﹡﹡
                                                   ﹡﹡﹡﹡﹡﹡﹡

         進入﹡的話就發生傳送。

         到達地圖名          目標地圖.不要忘記加.gat。
         目的坐標x            目標地圖的坐標X。
         目的坐標y            目標地圖的坐標Y。

         注意事 :
         如果移動點有重複,則使用最後加載的.
         如果目的坐標點不能進入,則會隨機傳送當前地圖可站立坐標.
         如果到達地圖名沒有開,那就原會發生傳送.


QUOTE:
商店:

例:prt_in.gat,92,73,3shop 斧商79,1302:1000,1352:1000

地圖名,x,y,方向<tab>shop<tab>顯示名<tab>NPC代碼,道具代碼:道具價格

         地圖名               出現的地圖.記得加.gat
            x                        坐標x
            y                        坐標y
         方向                   NPC介紹了
         顯示名               商店名字。
         NPC代碼            內有NPC ID: 點我
         道具代碼         出售的道具的ID.參考item_db。
         道具價格         道具的購買價格.如果為 -1,則按照item_db.txt的設定.

PS.道具代碼 : 道具價格,可以用(,)來增加更多的道具.但最後一個後面必須留空


QUOTE:
觸法NPC事件:

格式跟NPC錯不多 只是多了 觸發的X,Y範圍!
因為 139 這個編號是透明NCP所以在遊戲內是看不到他!
可自行找找NPC 還有幾個是透明.

例:ayothaya.gat,150,160,0      script      hp      139,10,10,{ }

地圖名,x,y,方向<tab>script<tab>顯示名<tab>NPC代碼,xs,ys,{執行內容}

         地圖名                  出現的地圖。
         x                  坐標x。
         y                  坐標y。
         方向            NPC面對的方向。設定參考上例商店
         顯示名      NPC的名字.
         NPC代碼   NPC的ID,如果npcid為-1則這個NPC不會出現下地圖上(但是對話內容依然有效
         x觸發         坐標X延伸的觸發範圍,位於範圍內將觸發NPC,
                              如NPC 內容帶有OnTouch標籤,則觸發標籤後的內容
                              有些不用OnTouch也可直接執行.
         y觸發         坐標Y延伸的觸發範圍,與X延伸共同作用.具體觸發坐標如下
         
         ●為NPC位置:
                     2,0                2,1
                     ﹡﹡● ﹡﹡   ﹡﹡﹡﹡﹡
                                     ﹡﹡● ﹡﹡
                                     ﹡﹡﹡﹡﹡
   
         走到 ﹡的地方就會觸發腳本!
         註釋可用//和/* */
         每行語句用;(分號)結束

弒殺武神 發表於 2007-8-16 08:15:34

....@@

我有貼了說 囧

雪光 發表於 2007-8-16 08:19:04

回復 #2 弒殺武神 的帖子

對不起。。。我沒看到

請原諒我的無知

弒殺武神 發表於 2007-8-16 08:54:41

原帖由 雪光 於 2007-8-16 08:19 AM 發表 http://roonline.netman.hk/images/common/back.gif
對不起。。。我沒看到

請原諒我的無知

什麼無知...ˊˋ

講的好像==

我欺負你ˊˋ

雪光 發表於 2007-8-16 10:03:52

回復 #4 弒殺武神 的帖子

你欺負我

嗚嗚︿M<

弒殺武神 發表於 2007-8-16 11:45:19

-   3 -.......

kkfgf 發表於 2007-8-21 23:07:37

版主.....我看不懂!!!

冷情絕愛〃世家 發表於 2007-8-22 04:24:20

看不懂...但是還是謝謝了=ˇ=

烤焦王子 發表於 2007-8-22 09:58:57

f. NPC编號: 內有NPC ID: 点我
這ㄍ好像沒有用ㄟ!!

〝小洨Ω翰〃 發表於 2007-8-24 13:42:31

感謝大大的分享XD~~

不爽小子 發表於 2007-9-7 22:34:55

謝謝大大的教學~~

aass70532 發表於 2007-9-9 19:39:56

謝謝大大的教學 ~~~~~~

std31011 發表於 2007-9-13 21:58:15

好像不錯喔來自己寫看看

jack1212 發表於 2007-9-23 22:57:57

努力的研究,雖然就看的不是很懂,但是看久了因該可以研究出來,
謝謝囉

ea967896 發表於 2007-11-24 18:37:10

回復 1# 的帖子

@@ 這位大大您辛苦拉...
頁: [1] 2 3 4 5 6
查看完整版本: [教學] 腳本的基礎知識及教學(教你自編腳本