打印

[文字教學] 窗口型NPC更深解說

窗口型NPC更深解說

這是拿冷楓大大分享的NPC製作資料集合的窗口說明NPC去衍生出來的,

一個視窗最多只能顯示「8行」文字,但除非有例外情況,會減少會增多,我將在下面做說明。



#窗口說明型 enemy=windowman|conff:chatroom/chatroom.conf
winno=1                  #頁編號
message=第一行
message=第二行
message=第三行
message=第四行
message=第五行
message=第六行
message=第七行
message=第八行
message=第九行  #我上面明明只說到第八行,為什麼我會寫到第九行呢?別急,待會會慢慢說明。
message=第十行

message=第十一行
wintype=0               #窗口類型,種類達多16種,但有其中幾種我認為好像沒用處,不過我也放上說明。
                                    0,普通,簡單來說就是沒有辦法做「選擇」,會顯示第1到第8行文字。
                                    1,輸入,可以做文字的輸入,就像猜謎之家他問你什麼村的留言板位置,
                                         然後要你輸入「東:XX 南:XX」,會顯示第1到7行的文字,
                                         其實這就跟某些NPC說對用語才可以買東西或是進入什麼地方相同,沒有時間研究@@
                                    2,選擇,可以做選擇,第幾行可以選擇要看情況,
                                          最多到可以選擇到第十行,只是還是一樣要看情況。
                                    3,寵物,這會跳出可以選擇的寵物的視窗,用法很複雜,我在下面再說。
                                    4,隊友,這會跳出可以選擇的隊伍的視窗,用法很複雜,我在下面再說。
                                    5,寵物和隊友,這會跳出可以選擇寵物和隊友的視窗,用法很複雜,我在下面再說。
                                    6,買賣,這會跳出可以選擇「買、賣、出去」的視窗,
                                          不過用這個指令寫買賣NPC太費工了,不建議使用也就不解說了。
                                    7,買賣,直接跳出買的視窗,有用嗎?不解說了。
                                    8,買賣,直接跳出賣的視窗,還是沒用吧!
                                    9,聲望買賣,直接跳出買的視窗,只是多了名聲查看。
                                    10,普通,跟0一樣沒有辦法做「選擇」,只是視窗大小跟留言板一樣大,顯示第1到第17行文字。
                                    11,輸入,跟1一樣可以做文字的輸入,只是視窗大小跟留言板一樣大,顯示第1到第16行文字。
                                    12,買賣,這會跳出可以選擇「買、賣、出去」的視窗,又出來幹嘛......
                                    13,買賣,直接跳出買的視窗,別鬧了......
                                    14,家族,會跳出創造家族的視窗......
                                    15,家族,會跳出可以加入家族的視窗......
buttontype=             #按鈕類型,目前已知有next(下一頁),prev(上一頁),cancel(CANCEL),
                                     none(什麼按鈕都不會出現),no(取消),ok(OK),yes(確定)。
                                     一個視窗同時可以顯示4個指令,例如同時顯示下一頁、上一頁、確定、取消。
                                     如果超過4個,它會依照石器內設去排定最前面4個,
                                     也就是說如果打next | prev | no | yes | cancel或是cancnel | yes | no | prev | next,
                                     在遊戲中由左至右會依序顯示「CANCEL」「確定」「取消」「上一頁」,而「下一頁」則不會出現。
nextpressed=          #別急,待會告訴你XD
gotowin=                  #跳至窗口編號第X號
endbutton=              #結束按鈕語法,下面會說。
endwin=                   #結束視窗,下面會說。



範例是最好的舉例,我來用幾個範例做解釋吧。

#普通型
winno=1                #開頭對話頁,一定要用1,不然不會出現視窗。
message=首先介紹普通的視窗,這是單純的文字視窗顯示,就像任務型NPC會用到的nomallWindowMsg,
                                你可以只用1個message就好,多的文字會顯示到第二行,
message=第二個message的文字會斷行,就像是常用的\n,但是在這語法裡用\n就真的只會顯示\n。
wintype=0
buttontype=next     #next就是下一頁,在遊戲中這樣顯示,但並不是真的就是下一頁,真正用法要看下一行。
nextpressed=          #這段語法要注意的是最前面的next,因為上一句的按鈕類型是next,
                                  所以這一句前面也必須改成next開頭,如果上一句用next,而這句用prev,
                                  那它是不會理你,也就是直接關視窗了。
gotowin=3                #跳至第3號的winno,意思就是按下「下一頁」之後,會跳到winno=3那一頁。

                                  除了開頭winno一定要打1外,下面的可以亂跳,先3再2,或是直接100、50。
endbutton=
endwin=


winno=50
message=第50頁

meddage=接下來說明同時存在2種按鈕。
wintype=0
buttontype=next|prev
nextpressed=
gotowin=3

endbutton=
prevpressed=
gotowin=1
              #在這段,有沒有發現我用了next和prev,而且寫了nextpressed和prevpressed?

                                   沒錯,因為有2個選項,「上一頁」和「下一頁」,
                                   但是中間一定要加個endbutton來宣告這個按鈕結束,如果沒有加,
                                   你點「下一頁」會變成跑到開頭頁(winno=1),
                                   因為你沒有宣告下一頁鈕的結束,它會繼續跑prev的語法,它會以最下面的gotowin=1作執行,
                                   也就是我明明按了「下一頁」,應該跑到winno=3這頁,
                                   卻因沒有加endbutton=,會變成跑到開頭頁,
                                   而「上一頁」,卻沒有任何作用,
                                   若是prevpressed在上面,nextpressed在下面,這樣反而變成了
                                   「上一頁」有作用,而「下一頁」沒作用。
endbutton=
endwin=





本帖最近評分記錄
  • yang 聲望 +5 精品文章 2009-10-24 09:04

TOP

#選擇型1
winno=3
message=這是第3頁,因為輸入型的有其他更好用的NPC可以用,所以沒有研究,
message=如果你問我為什麼上面那頁是50,這頁卻是第3,
message=那我只能告訴,你的經驗還得多累積才看的懂。

message=或是上面打的你都沒在看.....
message=如果你還想問我為什麼這頁的message多達了7個,
message=天啊,我不想再教你了......
wintype=2

buttontype=none     #因為沒有選擇鈕,所以本來下面的pressed改成selected,
selected=                #選擇視窗中的第1個選項,然後到第4頁。

gotowin=4
endbutton=             #選擇也算是按鈕的一種吧,不要忘了一個選項也給他一個結束,少一個它會跳下一個

                                 也就是如果本來應該跳到第4頁,卻會跳到第5頁,而選項2會跳到第6頁。
selected=                #選擇創窗中的第2個選項,然後到第5頁,剩下的以此類推。
gotowin=5
endbutton=
endwin=


額外說明:選擇型1的文字,第一行message是「這是第3頁,因為輸入型的有其他更好用的NPC可以用,所以沒有研究」,這一行沒辦法做選擇,只是普通文字,第二行開始才可以選擇,如果文字超過40位元,就會跳到下一行,1個中文字=2位元,1個英文字不管大小寫都是1位元,如果跳到下一行,則被截斷的字會變成選項,例如文字到「以」就會跳到第2行,而「以用,所以沒有研究」,就變成選項。
最多可以寫9行,但是最後的兩行,它不會有動作......所以可以選擇的選項寫7行就好。

#選擇型2
winno=4
message=3

message=類型2打算來說明選項最多化,
message=

message=
message=類型1的第一句,
message=我刻意超過40位元,
message=類型2我不打算讓它超過,
message=但我打算寫12句的message,
message=為什麼呢
message=上面有兩個空白是我故意的,
message=又是為什麼呢?
message=下面綠色文字會做說明。
wintype=2

selected=
gotowin=5
endbutton=

endwin=

額外解說:選擇型2的文字我寫了10行,第一行message是「3」,這並不是沒有用處的,而是設定「純文字」的行數,寫2表示純文字到第2行,,第3行開始才可以做選擇,寫3表示純文字到第3行,第4行開始才可以做選擇,但是因為第1行不顯示關係,所以「類型2打算來說明選項最多化,」變成了第1行,不過純文字寫到第5行的話,下面可以寫的選項就變成了5個,因為一個視窗只容許10行,所以到「又是為什麼呢?」是最後一個選項,只是會超出視窗,而「下面綠色文字會做說明。」則不會出現。


#選擇型3

winno=5
message=1

message=類型3打算來說明選項空格化,
message=

message=這次還是故意空1個,
message=但只寫6個message。
wintype=2

selected=
gotowin=6
endbutton=

selected=
gotowin=7
endbutton=

selected=
gotowin=8
endbutton=

endwin=


額外解說:選擇型3的文字我寫了6行,但純文字改回只有1行,這樣子第2行本來是選項的,卻因為沒有文字,變成不能選取,會直接跳過,所以變成「這次還是故意空1個,」才可以選取,而且會跳到第7頁,並不會說因為一個不能選取,而跳到第6頁

其實,這種類型的NPC都無法用來製作交換的NPC,只能這樣「純觀賞」用......

寵物形之後,有空再寫吧@@

TOP