簡體中文 | 繁體中文

魔王現役-----NScripter全攻略:LeVeL 1


都市之靈醫藥皇 冷少霸道愛 當劍三玩家穿成陳世美 結婚,不可能 至剩鮮師 霸道總裁溫柔妻 八零後修道生活錄 截教小徒 惹愛成婚:小妻不好養 重生之夫君太難追 鬼帝狂後之廢材庶小姐 他背後有雙眼 靈異回憶錄 獨家記憶前世 極品全能高手 絕代雙驕小魚兒重生 1895淘金國度 凌雲誌異 重生之最強聯姻 竹馬纏青梅
NScripter全攻略:LeVeL 1

前:因為起點系統歧視英文,會自動把英文改變大小寫和全形半形,所以在這裡特別提醒:在教程正文(除作業)出現的英文字母,全部為“半形、小寫”格式。

============正文分割線=============邪惡之詛咒:盜帖者全家死光光無端轉載者出門被狗咬假如獲得轉載授權,轉載同時請貼出本人簽字畫押授權書。

本教程已在國家R界專利局申請專利,禁止任何形式的侵犯版權行為。

作者聯絡方式:fs_countd@126.comLeVeL_1_Hello_World!友情提示:在觀看LeVeL1教程之前,請先詳細讀完LeVeL0~謝謝合作~相關指令:*definegame*startendreset\@brclickstr_;HelloWorld。

也就是所謂的“自己動手製作的第一個程式”。

似乎,在看過的基本所有程式類“入門到精通”的書裡,都有這東西的存在。

雖然這個程式既沒有樂趣也沒多少成就感,而且還沒創意,但是,……首先,開啟我們已經建好的0.txt(其實叫2.txt或者99.txt或者別的什麼也無所謂),在裡面輸入以下內容,然後儲存。

**********這裡是需要複製的內容***********;—————————-我是分隔線—————————-*definegame*start你好,世界。

@這是我的第一個程式。

\end;—————————-我是分隔線—————————-**********需要複製內容結束***********(效果見附圖)再補充說明一下:一般來說,NScripter讀取指令的時候,是依靠“分行”來辨認的,將每一行視為一條指令。

如果有空行,就會被忽略。

還要注意的是“文章(無論中文e文數字都一樣)”及“標點符號”必須使用全形,而作為“顯示文章”標誌的@和\,以及其他的英文部分的指令則是使用半形的。

接下來,是每條指令詳細的說明……*define“define”是e文“定義”的意思。

從*define到game之間的部分,被稱為NS的定義區塊。

這部分的主要功能是對NS的內部設定做一些修改。

假如裡面什麼都不寫的話也沒關係,NS會全部採用預設設定。

(包括我們現在看到的那排寫著“畫面設定”“字型設定”的選單欄,內建存檔的個數等等,都是可以修改的。

)而NS開始執行遊戲,也就是從尋找TXT檔案裡的*define標誌開始的。

(現在知道一開始只有一個eXe檔案的NS為什麼會顯示“標籤*define不存在”這樣的錯誤資訊了吧?)game表示定義部分已經完成,可以開始正式的遊戲了。

*start——當然就是開始遊戲的意思。

這部分以後,就是“遊戲執行區塊”了。

因為有定義部分和遊戲部分的區別,NS本身的指令也分為三種:只能用在定義區塊裡的(F類指令),只能用在遊戲執行區塊裡的(e類指令),和在兩部分都可以通用的(Fe類指令)。

最後,當NS執行到end指令的時候,就會退出。

中間的兩行,剛剛已經看到了,就是顯示出來的文章。

你好,世界。

@這是我的第一個程式。

\@和\這兩個標誌的意思都是“顯示一段文字,並且等待玩家點滑鼠(或者按下eNTeR鍵)之後,才繼續執行下一條指令”。

如果不使用這兩個標誌來表示“等待”的話,這兩句話會在螢幕上一閃而過,之後就退出了。

這兩個標誌的特殊還在於可以在同一行裡多次出現。

類似這樣的寫法“你好,@世界。

@這是我的第一個程式。

\”也是可以的。

————————————————————————-問題一:既然同樣都是作為“顯示文章”的標誌,@標誌和\標誌有什麼區別嗎?那麼,試看看把程式寫成這樣……**********這裡是需複製內容**********;—————————-我是分隔線—————————-*definegame*start你好,世界。

\這是我的第一個程式。

\end;—————————-我是分隔線—————————-**********需複製內容結束**********這一次,在顯示“這是我的第一個程式。”

的同時,“你好,世界。”

消失了。

\標誌比@標誌多了一條功能,就是在顯示它所在的這一行文章的同時,將之前顯示的文章消除。

在電子小說裡,@是接著看下一行,而\就是翻過一頁,把之前的一頁清掉了。

因為螢幕或者對話方塊的大小是有限的,如果已經顯示的文章字數超過了螢幕可以容納的範圍,NS就會報錯,因此在製作電子小說的時候,合理的使用這兩個標誌是很重要的基礎喲。

————————————————————————-問題二:我想在兩行文字間空上一行,但是NS把所有空行都WS了?因為這樣,NS也提供了另外一條指令。

“br”其實是HTmL語言裡表示空行的命令,在NS裡,也是同樣的意思。

**********這裡是需要複製內容**********;—————————-我是分隔線—————————-*definegame*start你好,世界。

@br這是我的第一個程式。

\end;—————————-我是分隔線—————————-**********需複製內容結束**********不用說,自己看看效果吧。

————————————————————————-問題三:每顯示一段文章都一定要用@和\嗎?麻煩不說,要是忘了加還容易出錯,沒有其他辦法?既然每句話結尾多少都有個感嘆號句號問號之類的,在製作比較大型的遊戲時,還要再為每行文字加一個標誌確實很煩。

因此,NS也提供了比較簡單的方法:clickstr命令。

clickstr就是一個F類指令,也就是說,是隻能用在NS的定義區塊裡的。

**********這裡是需複製內容**********;—————————-我是分隔線—————————-*defineclickstr‘。

‘,1game*start你好,世界。

這是我的第一個程式。

end;—————————-我是分隔線—————————-**********需複製內容結束**********沒有使用@和\的情況下,效果和之前的完全一樣。

並且,使用clickstr命令之後,NS會根據引數,在文字顯示超過螢幕可容納字數後自動翻頁。

clickstr的格式為:clickstr‘。

!?(可以寫一個,也可以寫N個,必須要是全形)‘,2clickstr‘等待標誌‘,翻頁引數翻頁引數為0時候,不會自動翻頁,超過字數會出錯。

為1時,顯示到螢幕(或對話方塊)滿為止,自動翻頁。

為2時,到離可容納字數還有1行時翻頁。

為3時,到離可容納字數還有2行時翻頁。

以下類推。

而假如某一行裡有句號或其他已經定義的等待符號,比如說問號,但是不想讓這部分等待的時候,還有一個“等待失效”的標誌“_”。

把“_”標誌放在等待符號的前面,執行到這裡的時候就不會等待,而會直接繼續顯示下一句了。

例如:國家政策,小白要持證上崗_。

補充,假如真的對以上都懶得使用,請在define區內加入linepage命令。

這條命令會把每一行視做一段對話。

缺點是,在使用這個命令之後/命令(換行失效命令)無法使用。

——————————————————————————-問題四:執行完視窗關掉以後,怎麼資料夾裡多了一個叫“envdata”的檔案?envdata檔案是設定檔案,類似一般遊戲裡的ini檔案。

作用是記錄一些玩家的操作和設定,比如上一次進行遊戲時是全屏還是視窗模式,使用的是什麼字型之類的資訊,都會被記錄下來。

這當然是很貼心的功能了,對遊戲製作者來說卻有點頭大,修改了一些設定之後再執行遊戲,卻無論如何都沒效果,究其原因,都是這個envdata檔案在作怪。

因此,保險起見,修改一些設定之後,請記得刪除envdata檔案再做測試。

———————————————————————————本日小貼士:註釋符號“;(半形分號)”的使用。

NScripter裡,某一行裡的“;”符號後面的部分會被當作註釋而不執行,因此無論是中文英文全形半形都可以用在註釋裡。

雖然似乎很多人(包括藍蛇……==)都沒有使用註釋的習慣,但是,其實,根據某D的經驗,註釋還是非常有用的。

除了使用文字和分隔線,免得時間長了自己看不懂以外,加在某個命令前,使某一條命令暫時不起作用以測試它的功能,或者用來加入大量個人化的東西以惡搞,打上版權標記,或者甚至僅僅為了讓文字看起來不那麼單調,請大家把註釋華麗的使用到底吧……[天音:你以為全世界的人都和你一樣無聊嗎……]註釋使用範例:**********這裡是需關注內容**********;—————————我是分隔線—————<<==這行就全是註釋了*define;這裡開始是定義區<<==可以這麼用....game;定義結束...;^^前面多打幾個空格(半形空格)也可以,半形空格和空行一樣是會被自動忽略的;—————————我是分隔線—————<<==這行也是註釋***********需關注內容結束***********———————————————————————————作業(覺得太弱智的可以不做,反正沒人檢查……):1隨便找一段文字把它丟到NS裡,小學課文也可以。

試一下“\,@,br,clickstr”的使用。

2把程式末尾的end指令令換成reset指令,看看會有什麼變化。

3DeBUG練習。

找出以下程式的錯誤。

***********debug內容***********defineclickstr“.”game*STARTHeLLOWORLD!@reset**********debug結束**********

點選察看圖片連結:

: :

推薦小說