OK論壇

 找回密碼
 註冊
查看: 994|回復: 7

腳本技術 集思廣益(教學討論)

 關閉 [複製鏈接]

該用戶從未簽到

發表於 2008-4-11 01:17:33 | 顯示全部樓層 |閱讀模式
前言:
先說我個人
我研究腳本經歷約只有3到4個月
而且也只研究過EA的腳本
今天發這篇文不是來炫燿說我對腳本有多罩
我只是就我所學到的技術來講解一些寫腳本的方式
希望如果原本就不懂的人看了能有所幫助
也希望各位高手看到本文也能多多提供自己所學
也不吝於糾正小弟的錯誤
讓所有看到本文的人都能一起成長
畢竟
GM的努力是所有玩家的福氣

以下
就我所知的技術提出來跟大家討論:

prontera.gat,160,250,5    script    npcname    88,{}
相信很多人看到一篇腳本最先看到的就是這一行
當然不盡相同拉
我就來解釋一下上面那一行的意義
首先要注意的是空白的部分
在記事本裡面可不能就瘋狂的按空白鍵
要使用鍵盤左邊的tab鍵代替
否則程式是無法判斷內容的
再來什麼是prontera.gat
那就是你所要製作的NPC所處在的地圖名字
記得一定要加.gat否則程式一樣無法判斷
,這個是逗號用來區隔不同的數值
160,250就是NPC在該地圖的座標位置
而接下來的5就代表NPC在遊戲中面對的方向
俱說總共有8個方位
而每個數字代表的方位我並不是很清楚
還請各位先進指點
再來就是script的意義
那是程式碼中
將該NPC判斷為一個劇本NPC的指令
在遊戲中通常是以對話開始
中間可以加入增加或減少玩家物品或金錢的指令
甚至有選項跟判斷式等等的應用(容後再表)
目前就我所知只有
SCRIPT 劇本(基礎劇本)
SHOP 商店(遊戲中販賣物品的NPC)
FUNCTION 程式(可當作總劇本經由多個SCRIPT呼叫使多個NPC使用同一個劇本減少寫相同腳本的麻煩)
至於NPCNAME則是可以任意設定想對遊戲中玩家顯示該NPC的名字
目前不清楚究竟能使用多長的字元
後面的88代表的是NPC在遊戲中顯示的外觀代碼
這裡有一個網址聽說是目前代碼最齊全的網站
提供各位參考
http://www.usamimi.info/~blaze/npc/npc_all.html
最後的{}代表的則是腳本的內容總合
所有的腳本內容都要寫在這2個符號裡面
否則程式是無法判斷的
不過SHOP腳本好像不需要{}符號

接下來介紹{}以內的內容
mes "文字";
next;
menu "X選項",X,"Y選項",Y;
if(判斷內容) goto Z;
close;
end;
warp "prontera.gat",140,285;
set A,B;
以上是我所能理解的對於雅典那程式有意義的程式碼
要注意的一點是這裡的空白鍵是實在的空白鍵
我並不清楚使用tab代替會有什麼效果
不過我個人是該用空白就用空白
另外因為程式判斷程式碼是由左到又由上到下
因此在買一行的尾巴要加上這個;分號
程式才能判斷這一行結束而跳到下一行
所以是很重要的符號
mes這是對話式
遊戲中點選NPC會顯示對話框的就是這個
而所有的對話內容都必須輸入在兩個""符號裡面
next這是接續式
這是遊戲中NPC對話框會出現的下一步按鈕
因為遊戲中的對話框大小有限
如果過長的對話內容沒有使用下一步
對話框右邊會自動出現類似網頁的捲軸
玩家必須向下拉才能看到內容
menu這是選擇式
遊戲中出現的選項就是在這裡設定的
可以在""中間設定要讓玩家看到的選項文字
然後在逗號後面設定當玩家選擇了前面的選項
則程式就直接跳到設定的程式代碼
目前就我所知程式代碼可以自己任意設定
但是似乎有某些程式代碼對於程式本身是有特定意義的
例如OnTimer1000就是當程式進行了1秒鐘之後就呼叫該程式代碼以下的內容
還有OnClock2400則是以主機的電腦時間來判斷程式的開始時間
而所有的程式代碼都是以:冒號做結尾
執行的程式內容是以冒號以下的程式碼為準
if這是判斷式
判斷式的內容非常龐大
這裡先簡單介紹
判斷的內容全部都設定在()這兩個括號裡
而後面的goto Z只是代表如果當下狀態符合判斷式的內容
則程式跳到Z這個程式代碼開始
當然不一定會是跳轉程式代碼
也有增加或刪除玩家物品或金錢的可能
或是進行全域或地圖廣播等等的
甚至可以用||這兩個符號來設定多重判斷式
||代表的就是OR
使用在兩個()||()之間
close這是結束式
對話的結束靠這個程式碼
如果少了這個
就會出現對話中斷但對話框卻沒有消失的囧境
這時候除了重登沒別的辦法解決了
end這是強制結束式
使用這個程式碼
程式會直接跑到這裡然後結束
對話式絕不可以這做結尾
否則玩家就看不到任何對話了
warp這是傳送式
與NPC對話後程式跑到這一行
就會將與該NPC對話的玩家傳送至後面設定的地圖與座標
set這是設定式
設定式的內容也博大精深
有些好像可以自己決定設定式的內容
有些設定式的程式碼似乎對於程式是有意義的
將在後面做討論
這裡先說設定式的用法
用個日常生活的例子解說
契約上常常有這麼一句話
某某人(以下簡稱甲方)
某某人指的就是要設定為替代的內容
而甲方就是以下契約(程式碼)中使用的替代詞語
他的好處就在於當你的某某人內容很長或當他是一個變數的時候
你使用甲方替代可以減少程式碼的內容(美觀)
或是當變數變動時你不需要一個一個去做設定
程式自然會判斷當時的變數內容然後加以替代
這裡介紹的設定式的使用方法就是將以後的程式內容中出現的A用B來替代

今天就先講到這裡
希望各位先進不吝賜教
謝謝

評分

參與人數 1積分 +20 現金 +20 積極性 +20 收起 理由
goddameit + 20 + 20 + 20 原創內容

查看全部評分

  • TA的每日心情
    開心
    2014-5-17 12:43 PM
  • 簽到天數: 1 天

    連續簽到: 1 天

    [LV.1]初來乍到

    發表於 2008-4-11 09:43:07 | 顯示全部樓層
    很用心的教學..不錯加油..
    為什麼不發到教學區呢?

    補充一下
    則程式就直接跳到設定的程式代碼

    你說的這個程式代碼其實是叫作標籤
    記得這個標籤名字..不要使用變量或是不能用數字來命名
    不然系統好像會找不到

    還有...
    ||是代表or
    &&是代表and

    下一次當你再詳細介紹判別式時
    順便再補充一下吧...
    回復 支持 反對

    使用道具 舉報

    該用戶從未簽到

     樓主| 發表於 2008-4-11 12:05:20 | 顯示全部樓層

    回覆 2樓的 moonporing 的帖子

    謝謝你的提醒
    我會再加強整理
    至於教學區
    因為我不想把她當作教學
    我是希望大家能像你這樣
    把自己知道的提供大家做參考
    算是討論
    而不是教學
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    開心
    2014-5-17 12:43 PM
  • 簽到天數: 1 天

    連續簽到: 1 天

    [LV.1]初來乍到

    發表於 2008-4-11 13:25:56 | 顯示全部樓層
    其實教學區置頂的地方
    也有一個整理帖
    http://okayro.com/thread-19794-1-1.html
    只不過那邊好像所有東西也有

    其實如果開一個帖
    把以往所有只關於腳本的教學都整理一下連結
    應該也很不錯
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    無聊
    2013-8-5 02:12 PM
  • 簽到天數: 5 天

    連續簽到: 2 天

    [LV.2]偶爾看看I

    發表於 2008-4-11 19:05:56 | 顯示全部樓層
    -__-玩了好幾年我也未真正清楚那一些正確的名稱

    (自己明白就可以啦!!!!!!ˊˋ)

    呀~!抱歉- -太多字了 沒有看樓主的教學-.-

    [ 本帖最後由 依魯加 於 2008-4-11 07:07 PM 編輯 ]
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    慵懶
    2012-6-13 04:41 PM
  • 簽到天數: 9 天

    連續簽到: 0 天

    [LV.3]偶爾看看II

    發表於 2008-4-11 20:28:22 | 顯示全部樓層
    我好無聊= = 又開始寫私服了= =" 希望這次收穫比較多ˇˇ~~
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情

    2013-6-24 08:52 PM
  • 簽到天數: 17 天

    連續簽到: 1 天

    [LV.4]偶爾看看III

    發表於 2008-4-11 20:49:36 | 顯示全部樓層
    不好意思,我有一個疑問,假如我創造了一個新物品。(阿•JA版本的)

    延續上面,類似『老舊的收集冊』之類的功能。

    但是我想把它設定可以開到MVP卡,這樣的話。

    我設定某一樣道具(延用而已)>>>>12246,Unknown_Item,具有魔力的卡片冊,2,0,,50,,,,,1000333311,2,,,,,,{ getitem CARD_ALBUMQ,1; },{}

    後面多加了一個Q.....

    我新增了一個這種名稱的文件檔>>>item_cardalbumq<<<<

    裡面設定了MVP的卡,都設定好了唷!!

    但是卻開不出任何東西,為什麼?(落落長,抱歉)
    回復 支持 反對

    使用道具 舉報

    該用戶從未簽到

     樓主| 發表於 2008-4-11 21:58:26 | 顯示全部樓層

    回覆 7樓的 leoiing 的帖子

    據我所知
    RO裡諸如藍紫箱或是枯樹枝之類可以開出隨機選項的物品內容設定
    是經由原始碼作連結的
    頂多只能修改那些已經設定好的檔案內容
    並不能自己新增新的檔案
    因為根本就連結不到
    不過我並不能肯定
    如果有人知道
    還請多多指點
    回復 支持 反對

    使用道具 舉報

    您需要登錄後才可以回帖 登錄 | 註冊

    本版積分規則

    Archiver|手機版|小黑屋|OK討論區

    GMT+8, 2024-5-16 01:34 AM , Processed in 0.051069 second(s), 22 queries , Gzip On.

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回復 返回頂部 返回列表