前:
因為起點系統歧視英文會自動把英文改變大小寫和全角半角所以在這裡特別提醒:
在教程正文出現的英文字母全部為「半角、小寫」格式。
============正文分割線=============
邪惡之詛咒:
盜帖者全家死光光
無端轉載者出門被狗咬
假如獲得轉載授權轉載同時請貼出本人簽字畫押授權書。
本教程已在國家r界專利局申請專利禁止任何形式的侵犯版權行為。
作者聯繫方式:
fs_et
level_1_he11o_or1d!
友情提示:在觀看level1教程之前請先詳細讀完levelo~謝謝合作~
相關指令:
*define
game
*start
end
reset
bsp;
;
he11oor1d。也就是所謂的「自己動手製作的第一個程序」。
似乎在看過的基本所有程序類「入門到精通」的書裡都有這東西的存在。雖然這個程序既沒有樂趣也沒多少成就感而且還沒創意但是……
先打開我們已經建好的o.txt在裡面輸入以下內容然後保存。
**********這裡是需要複製的內容***********
;—————————-我是分隔線—————————-
*define
game
*start
你好世界。a
這是我的第一個程序。\
end
;—————————-我是分隔線—————————-
**********需要複製內容結束***********
再補充說明一下:
一般來說nscripter讀取指令的時候是依靠「分行」來辨認的將每一行視為一條指令。如果有空行就會被忽略。
還要注意的是「文章(無論中文e文數字都一樣)」及「標點符號」必須使用全角而作為「顯示文章」標誌的a和\以及其他的英文部分的指令則是使用半角的。
接下來是每條指令詳細的說明……
*define「define」是e文「定義」的意思。
從*define到game之間的部分被稱為ns的定義區塊。這部分的主要功能是對ns的內部設置做一些修改。假如裡面什麼都不寫的話也沒關係ns會全部採用默認設置。而ns開始執行遊戲也就是從尋找txt文件裡的*define標誌開始的。
game表示定義部分已經完成可以開始正式的遊戲了。
*start——當然就是開始遊戲的意思。這部分以後就是「遊戲執行區塊」了。
因為有定義部分和遊戲部分的區別ns本身的指令也分為三種:只能用在定義區塊裡的只能用在遊戲執行區塊裡的和在兩部分都可以通用的。
最後當ns執行到end指令的時候就會退出。
中間的兩行剛剛已經看到了就是顯示出來的文章。
你好世界。a
這是我的第一個程序。\
a和\這兩個標誌的意思都是「顯示一段文字並且等待玩家點鼠標之後才繼續執行下一條指令」。如果不使用這兩個標誌來表示「等待」的話這兩句話會在屏幕上一閃而過之後就退出了。
這兩個標誌的特殊還在於可以在同一行裡多次出現。
類似這樣的寫法「你好a世界。a這是我的第一個程序。\」也是可以的。
————————————————————————-
問題一:既然同樣都是作為「顯示文章」的標誌a標誌和\標誌有什麼區別嗎?
那麼試看看把程序寫成這樣……
**********這裡是需複製內容**********
;—————————-我是分隔線—————————-
*define
game
*start
你好世界。\
這是我的第一個程序。\
end
;—————————-我是分隔線—————————-
**********需複製內容結束**********
這一次在顯示「這是我的第一個程序。」的同時「你好世界。」消失了。
\標誌比a標誌多了一條功能就是在顯示它所在的這一行文章的同時將之前顯示的文章消除。在電子小說裡a是接著看下一行而\就是翻過一頁把之前的一頁清掉了。
因為屏幕或者對話框的大小是有限的如果已經顯示的文章字數過了屏幕可以容納的範圍ns就會報錯因此在製作電子小說的時候合理的使用這兩個標誌是很重要的基礎喲。
————————————————————————-
問題二:我想在兩行文字間空上一行但是ns把所有空行都s了?
因為這樣ns也提供了另外一條指令。「br」其實是html語言裡表示空行的命令在ns裡也是同樣的意思。
**********這裡是需要複製內容**********
;—————————-我是分隔線—————————-
*define
game
*start
你好世界。a
這是我的第一個程序。\
end
;—————————-我是分隔線—————————-
**********需複製內容結束**********
不用說自己看看效果吧。
————————————————————————-
問題三:每顯示一段文章都一定要用a和\嗎?麻煩不說要是忘了加還容易出錯沒有其他辦法?
既然每句話結尾多少都有個感歎號句號問號之類的在製作比較大型的遊戲時還要再為每行文字加一個標誌確實很煩。因此ns也提供了比較簡單的方法:bsp;
c1ickstr就是一個f類指令也就是說是只能用在ns的定義區塊裡的。
**********這裡是需複製內容**********
;—————————-我是分隔線—————————-
*define
bsp;
game
*start
你好世界。
這是我的第一個程序。
end
;—————————-我是分隔線—————————-
**********需複製內容結束**********
沒有使用a和\的情況下效果和之前的完全一樣。
並且使用s會根據參數在文字顯示過屏幕可容納字數後自動翻頁。
c1ibsp;
et個必須要是全角)『2
c1ickstr『等待標誌『翻頁參數
翻頁參數為o時候不會自動翻頁過字數會出錯。
為1時顯示到屏幕滿為止自動翻頁。
為2時到離可容納字數還有1行時翻頁。
為3時到離可容納字數還有2行時翻頁。
以下類推。
而假如某一行裡有句號或其他已經定義的等待符號比如說問號但是不想讓這部分等待的時候還有一個「等待失效」的標誌「_」。
把「_」標誌放在等待符號的前面執行到這裡的時候就不會等待而會直接繼續顯示下一句了。
例如:
國家政策小白要持證上崗_。
補充假如真的對以上都懶得使用請在define區內加入1inepage命令。
這條命令會把每一行視做一段對話。
缺點是在使用這個命令之後/命令無法使用。
——————————————————————————-
問題四:執行完窗口關掉以後怎麼文件夾裡多了一個叫「envdata」的文件?
envdata文件是設置文件類似一般遊戲裡的ini文件。作用是記錄一些玩家的操作和設定比如上一次進行遊戲時是全屏還是窗口模式使用的是什麼字體之類的信息都會被記錄下來。這當然是很貼心的功能了對遊戲製作者來說卻有點頭大修改了一些設定之後再執行遊戲卻無論如何都沒效果究其原因都是這個envdata文件在作怪。因此保險起見修改一些設定之後請記得刪除envdata文件再做測試。
———————————————————————————
本日小貼士:
註釋符號「;」的使用。
nscripter裡某一行裡的「;」符號後面的部分會被當作註釋而不執行因此無論是中文英文全角半角都可以用在註釋裡。
雖然似乎很多人都沒有使用註釋的習慣但是其實根據某d的經驗註釋還是非常有用的。除了使用文字和分隔線免得時間長了自己看不懂以外加在某個命令前使某一條命令暫時不起作用以測試它的功能或者用來加入大量個人化的東西以惡搞打上版權標記或者甚至僅僅為了讓文本看起來不那麼單調請大家把註釋華麗的使用到底吧……
註釋使用範例:
**********這裡是需關注內容**********
;—————————我是分隔線—————&1t;&1t;==這行就全是註釋了
*define;這裡開始是定義區&1t;&1t;==可以這麼用
game;定義結束
;^^前面多打幾個空格(半角空格)也可以半角空格和空行一樣是會被自動忽略的
;—————————我是分隔線—————&1t;&1t;==這行也是註釋
***********需關注內容結束***********
———————————————————————————
作業:
1隨便找一段文字把它丟到ns裡小學課文也可以。試一下「\abrc1ibsp;
2把程序末尾的end指令令換成reset指令看看會有什麼變化。
3debug練習。
找出以下程序的錯誤。
***********debug內容**********
*define
bsp;
game*start
helloorld!@
set
**********debug結束**********
點擊察看圖片鏈接: