UID1351
帖子
精華
主題
積分11594
現金
積極性
威望
違規
熱心
推廣次數
閱讀權限30
註冊時間2007-8-15
在線時間 小時
最後登錄1970-1-1
TA的每日心情 | 奮斗 2013-4-19 08:04 PM |
---|
簽到天數: 1 天 連續簽到: 1 天 [LV.1]初來乍到
|
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 0 1
6 ● 2
5 4 3
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 warp pronterawarp1033 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,3 shop 斧商 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
﹡﹡● ﹡﹡ ﹡﹡﹡﹡﹡
﹡﹡● ﹡﹡
﹡﹡﹡﹡﹡
走到 ﹡的地方就會觸發腳本!
註釋可用//和/* */
每行語句用;(分號)結束 |
|