中文偽春菜後援會論壇  

打印

[問題] 許多的問題請問。

引用:
原帖由 debbie1446 於 2010-9-18 20:42 發表
下載了http://ms.shillest.net/yayame.xhtml的人格,
因為打開後全是亂碼,用了ConvertZ將文件全部由Shift-JIS轉成UTF-8後,
原本還正常說話的偽春菜反而說出了一串的亂碼!
就算用設定預設語系功能也是說出一串亂碼Orz
要修改descript.txt裡面的語系(charset)
像是改成「charset,UTF-8」這樣
yaya.txt和主目錄的install.txt也有,雖然不知道會影響哪些地方,但還是一併改吧

話又說回來了,為什麼不拿中文化的芽芽美改呢XD
引用:
另外是拿了三份文件來研究(其實完全看不懂,說研究好像有些悲哀Orz),
一份是中文版的芽芽美的aya_aitalk,一份是日文版的ややめyaya_aitalk,一份是文菜的aitalk。
想知道的問題是,為什麼三份文件的名稱都不同呢?(是因為有可以設定讀取哪份文件的功能嗎?)
還有為什麼芽芽美與文菜的文件都在dic資料夾中,而ややめ則是直接放在master底下呢?
參照ghost\master資料夾裡的yaya.txt
可以修改要讀取的檔名和目錄位置
引用:
也設定了對換的字串,測試寫了一個句子。
但結果是ややめ完全沒有反應(點擊開啟選單等等)。(還是說其實應該先解決亂碼的問題呢?)
修改前有亂碼的時候既然能看到對話有亂碼就代表還可以正常運行吧?
修改後的完全沒有反應是連開啟時都沒有對話什麼的嗎?
那樣的話代表程式碼裡有BUG
這時候可以打開實行日誌(副檔名為.log)來看
由於也可以在yaya.txt裡修改LOG的名字,所以舉中文版的芽芽美為例子的話,可以點開ayame.log來看
裡面會告訴你是哪個檔案裡的哪一行有問題

另外既然你不知道yaya.txt的功能的話,那我再提醒你一件事好了@@
如果要新增文字檔案也要在這裡設定該檔案,不然程式不會讀取那個檔案


多問問題沒關係啊XD
也希望有看到會的人不要潛水,我們應該多鼓勵新人製作才是OTZ


自製人格加油=)
看到你簽名檔的進度我覺得已經完成很多了XD
希望能夠完成不要半途而廢(自己就是一直斷頭一直開坑的例子(掩目

我的想法是先求完成再求好@@
不然很容易被惰性打敗(囧a

TOP

引用:
原帖由 debbie1446 於 2010-9-20 03:37 發表
關於這邊我又有問題了Orz|||
開啟人格時所出現的第一次故事對話(交代原因等等的對話),芽芽美是放在aya_bootend當中(wiki也是寫「啟動/關閉/切換人格時會執行的函式都包含在此辭書內。」),但是也有部分的人格放在自己定義的文件中。
這是表示,只要有將文件寫在yaya.txt內,不管名稱為何都會全部打開,只要有需要的函式(「OnFirstBoot」請問這是函式嗎Orz我感到很抱歉我並不知道)就會執行嗎?
所以說就算將對話(原本應該放在aitalk的文字,希望我解釋的清楚Orz)放在aya_menu中,只要自己不會混亂就沒有問題嗎?
我實際的去實驗了這個想法,結果好像成功了,讓我有些困惑。
是的,只要文件名有寫在yaya.txt裡面,程式就會讀取該檔案=)
所以可以依照自己方便自定義每個檔案的位置和名稱

然後我也不太確定那個是不是叫函式XD(對程式語言也不熟)(我習慣稱為「事件名」?)
不過的確就像你所說的那樣=)(如果我沒猜錯你想表達的東西的話)

只要事件名在、底下的括號{}括好,你要放哪裡都行XD
引用:
由於開啟時有兩篇故事,我想製作成等到前一篇故事結束後點一下左鍵對話框關閉,而後另一篇故事的對話框才開啟;
所以我很莫名其妙的在OnFirstBoot後又設定了一個隨便亂取名字的函式(先不提那是不是函式,可以這樣嗎Orz),希望他執行完前面一個故事之後就會輪到下一個故事。
結果當然是人格完全沒有反應並且對我這種白痴的處理方式感到不耐了!(我感覺到人格的怒火!)
後來雖然使用櫻語中的\x半解決了這個問題,可是又覺得這樣會使使用者誤會,所以還是希望能知道應該如何設定。(是自己定義一個函式接著再呼叫那個函式嗎?wiki有提到,但不清楚用法)
理論上那個流程是沒錯的,是不是哪裡寫錯了呢?@@

大概類似如下的寫法:(灰字當做註解它不存在(欸?)
引用:
OnFirstBoot
{
        "…前一個故事內容…"        //注意不可以加上\e,不然會直接在這裡結束掉
        story2                        //直接打上該事件名
}

story2
{
        …略…
}
其實我想在使用者眼裡看起來效果是一樣的@@ 除非翻程式碼XD

它的原理是從OnFirstBoot內容開始一行一行跑下去,當跑到story2時他會判定要跳到該事件,然後他就會在所有的文件(有登錄在yaya.txt裡的)裏找那個事件
引用:
另外是想要明白如何預設對話框,但是卻不清楚要將\![change,balloon,對話框名稱] 放在哪裡Orz,亂找了一個地方放入之後就不會顯示前置的故事了(掩面
……花了一點時間找了一下@@
我的印象中這是要在descript.txt中設定的(只是我忘了是在ghost還是shell),也忘了語法

剛剛找到了 參考

是在ghost裡設定
格式是balloon,balloon名
我沒有正式使用過所以不太確定用法@@ 總之先試試看吧?

TOP

回復 7# debbie1446 的帖子

啊、我弄錯了OTZ(果然太久沒碰就…)

像是那樣的分行其實是指隨機發生「事件內容」和「story」(囧a(翻了一下自己以前寫的才想起來

每個事件好像都是這樣分@@
往下的層級好像也是
引用:
event1
{
        random1
        "random2"
        random3
        "random4"
}
在這種狀況下,執行event1,每一個random都是隨機發生
所以像那樣設定的話,就變成隨機發生「事件內容」或「story」兩個細目


改善方式:
引用:
event2
{
        "random1"
        --
        random2
}
原理:
引用:
event3
{
        random1
        "random2"
        --
        random3
        "random4"
        {
                random5
                random6
        }
}
以event3的例子來說,有可能會發生以下事件:

random1 → random3
random1 → "random4"
random1 → random5
random1 → random6
"random2" → random3
"random2" → "random4"
"random2" → random5
"random2" → random6

另外,在這個例子中,「發生random5或random6的機率」和「發生random3的機率」是相同的
而「發生random5的機率」和「發生random6的機率」也是相同的

如果在5和6間加個--的話就會變成156之類的=)

不知道聽不聽得懂^q^

可以參考這個

TOP

引用:
原帖由 debbie1446 於 2010-9-22 02:27 發表
我使用了這個方法,結果是--故事一結束後故事二就接著出現!!(炸

(故事一結束的句子出現「***。」後,故事二立即在同一個視窗的情況下接續下去,變成「***。***...(故事二)」)

謝謝布揪さん,但是好像不是想要的效果,是不是我弄錯什麼地方呢?
不,你沒有弄錯,可能我弄錯你想要的效果^q^

按鍵才繼續還是要用\x的指令
清空對話框則是\c

前面七遠樣說的\x\c這兩個還是得使用Ov<(抱歉前面沒講清楚

可以詳述您想要的效果嗎?(我沒有弄清楚)
引用:
因此1、2的出現機率為二分之一,3、4、{}的出現機率為三分之一;5、6的出現機率是六分之一。
但是布揪さん說明5、6的出現機率和3是一樣的,所以我想我是不是有哪邊又弄錯了(掩面
我想我理解了「--」的用法了 xD 大感謝!
沒有弄錯是我敘述有問題XD
我所說的「5或6」是指{}這樣w
引用:
謝謝七遠さん!實際使用後出現了「error E0092 : ()、もしくは[]に続く演算子が見つかりません.」。
出現這個也請順便告訴我們是哪一行出問題然後附上原始檔才會比較清楚噢=)
因為前面會有檔案和第幾行讓你方便去找哪裡有BUG
引用:
原帖由 celialai 於 2010-9-21 23:35 發表
OnFirstBoot
{
             "\t************************。/
     \w9\w9\w9\w9\n\n************************。/
     \w9\w9\w9\w9\n\n************************,/
     \w9\w9\w9\w9\n\n************************。/
    \w9\w9\w9\w9\n\n************************。/
    \w9\w9\w9\w9\n\n************************/
    \w9\w9\w9\w9\n\n************************/
     \w9\w9\w9\w9\n\n************************。/
     \w9\w9\w9\w9\n\n************************。/
     \w9\w9\w9\w9\n\n************************,/
     \w9\w9\w9\w9\n\n************************。/
     \w9\w9\w9\w9\n\n************************。/
     \w9\w9\w9\w9\n\n************************。/
         \x\%(story2)\e"
}

story2
{
           "\t************************。/
     \w9\w9\w9\w9\n\n************************/
     \w9\w9\w9\w9\n\n************************。/
     \x\w9\w9\w9\w9\n\n************************。/
     \w9\w9\w9\w9\n\n************************\e"
}
不好意思,關於這個,經由測試後發現似乎會無法正常讀取下一個事件的第一個語法(只有文字的話OK)
原因我也不太清楚^q^
如果要求同效果的話還是用--會比較好

TOP

回復 15# debbie1446 的帖子

引用:
原帖由 debbie1446 於 2010-9-22 20:50 發表
關於這裡我也有疑問(怯怯的舉手),/x的效果在wiki的描述為「此指令出現後,腳本會暫停執行,直到使用者在對話框上用滑鼠點擊一下。點擊後,對話框會被全部清空,並繼續執行腳本。」,不太理解還要加上指令/c的原因,是因為程式碼的關係嗎?(我再度感到很抱歉我不理解Orz)
欸?真的耶XDDD(以前都沒有注意到)
那麼就沒有必要加了www
 
 
 
引用:
想要的效果是類似連鎖對話的,上一個故事結束(對話視窗關閉)下一個故事開啟(對話視窗打開)。期間對話視窗的關閉和開啟很明顯,不會讓人誤會是同一個故事的接續。
(沒有說明清楚真的很對不起!真的麻煩到了布揪さん和七遠さん了)
噢噢原來是想要對話視窗關閉啊wwww
那只要使用\b[-1]就可以了OvO
跟\s[?]類似,只是這是設定對話框種類的,而-1代表不顯示  (參考
 
另外如果希望要明顯一點的話可以試著在中間停秒看看OwO(不然的話只會瞬間切過去XDDD)
 
 
 
不會麻煩啦XD
可以趁機磨一下自己的知識又能幫助人何樂而不為w
 
另外話說這個的表現方式好棒我可以偷偷學起來嗎(巴

TOP

回復 17# celialai 的帖子

只用%(OOOOO)好像是顯示該變數內容OAO

TOP

回復 19# debbie1446 的帖子

引用:
原帖由 debbie1446 於 2010-9-23 07:42 發表
運作正常,也是想要的效果!真的很開心!
謝謝布啾(現在才發現有錯字,無地自容Orz)さん和七遠さん!
請問寫成這樣的話還有需要改正的地方嗎?
看起來沒有什麼特別需要改正的吧XD?
只要自己覺得OK就行了w

錯字沒關係啦好像常被打錯XDDDDDDD

TOP

引用:
原帖由 debbie1446 於 2010-9-24 18:04 發表
加上\C是由於wiki的敘述「在對話的最前頭使用大寫的\C指令時,會保留並再次顯示上次對話框所輸出的文字內容,並從最底端開始輸出文字。此指定只有放在腳本最前頭時才有效。」
但是使用後只有順暢的出現了「xxx。」而不出現「***。」,請問是不是\x的問題呢?
用了點擊做關鍵字搜尋,可是好像找不到純粹點擊就進入下一個動作的程式碼/O\|||
測試了一下,我想的確是\x的問題
按照上面指令跑下來的方式
\C顯示的內容會變成跑完\x後所造成的效果,也就是畫面清空

要不要偷吃步一下使用\_q呢ww

另外我也沒有看過純粹點擊繼續的程式碼w
所以用這樣的變通方法試試吧Ou<
 
 
引用:
原帖由 celialai 於 2010-9-24 22:57 發表
以下閒談
原本想說沒寫過人格是不是很奇怪.....
看了看註冊時間...我晚好久才接觸橘花阿~"~
看來沒寫過人格也是正常的>"<~
慢慢累積經驗~邊幫邊學=ˇ=
話說我好像是在後援會搬新址前就存在了^q^(雖然這裡還是存在著元老級的人物,不過沒想到我好像也似乎稱得算是老人了(囧
幫助別人自己也可以累積經驗,所謂教學相長w
 
話又說回來,應該也是有很多人半途而廢的…^q^

TOP

回復 28# debbie1446 的帖子

閃現是指***。的部份嗎OAO?
因為這是快速顯示,所以多少還是有一點顯示時間的吧XD
 
另外測試了一下之後\w9\w9\w9\w9沒有被無視O_O
 
因為也要開始忙了所以很粗略的測試了一下(掩面
 
TAB好物+1

TOP

回復 31# debbie1446 的帖子

引用:
原帖由 debbie1446 於 2010-9-29 07:07 發表

在最後一句話後面加上了\![open,inputbox,Onfirstusername],

並且寫了:
引用:
Onfirstusername
{
        reference[0] == username

        "\0\s[5]***。%(username)。\e"
}
不過顯然弄錯了什麼地方/O\,因為輸入後,春菜端只會回答我「0」。|||

並且稱呼一樣還是uesr沒有改變的樣子,雖然想著一定是reference[0] == username不對,可是不清楚是哪邊不對Orz
參考
 
一、輸入框輸入後皆自動導向「OnUserInput」這個事件
二、reference0為事件識別子、reference1才是輸入的字串
範例:
引用:
OnUserInput
{
        case reference0        //識別事件用
        {
                when "Onfirstusername"
                {
                        username == reference1
                        "\0\s[5]***。%(username)。\e"
                }
        }
}
 
附帶一提,選擇肢的寫法有兩種:
引用:
example
{
        case sth
        {
                when 0
                {
                        …
                }
                when 1
                {
                        …
                }
                others
                {
                        …
                }
        }
}
引用:
example
{
        if sth == 0
        {
                …
        }
        elseif sth == 1
        {
                …
        }
        else
        {
                …
        }
}
 
case的用途通常是同一個變數但很多可能性時使用(像是報時功能(辨識時間)(因為打很多elseif很麻煩)
if的話就是一般不是很多的可能性時使用(因為多打一層case不實際)
請依個人需要使用♥
 
 
三、變數的指定必須是 被修改變數=指定值(也就是說,依上文為例,應該寫成username == reference1才對)
 
 
以上

TOP

回復 36# debbie1446 的帖子

應該不會不好吧?XD
總之只要自己寫得順表現出來也沒有問題那大致上就沒問題了(咳
 
關於變數,我高一的電腦老師有舉過一個有趣的例子?
變數的指定跟數學公式不太一樣的地方是,你要先選擇要放東西的房間(盒子),然後才能決定要放進去的東西w
所以反過來寫的話會變成把東西放到另一個房間了XD
 
另外關於reference[0]
[數字]的用法其實是用在陣列裡的
可以參考這個
可以用在很多地方
如果說是櫻語本身就有的指令的話
大概會用在開啟日期輸入框開啟滑軸輸入框上吧
要讀取數值時使用這樣=)

TOP

回復 38# di. 的帖子

不逾時的話輸入0
另外好像也可以省略的樣子O_O

TOP



當前時區 GMT+8, 現在時間是 2020-8-14 07:15

Processed in 0.027404 second(s), 9 queries, Gzip enabled.

清除 Cookies - 聯繫我們 - 中文偽春菜後援會 - Archiver - WAP - TOP - 界面風格