中文偽春菜後援會論壇  

打印

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

許多的問題請問。

今日才發現上一篇文章是發在錯誤的版上,真的很抱歉!


由於偽春菜的對話總算累積到一定程度了,雖然shell還沒完成,還是決定先開始嘗試製作。

但是本身完全不了解程式語言,日文也很理所當然的不會Orz

下載了http://ms.shillest.net/yayame.xhtml的人格,

因為打開後全是亂碼,用了ConvertZ將文件全部由Shift-JIS轉成UTF-8後,

原本還正常說話的偽春菜反而說出了一串的亂碼!

就算用設定預設語系功能也是說出一串亂碼Orz


另外是拿了三份文件來研究(其實完全看不懂,說研究好像有些悲哀Orz),

一份是中文版的芽芽美的aya_aitalk,一份是日文版的ややめyaya_aitalk,一份是文菜的aitalk。

想知道的問題是,為什麼三份文件的名稱都不同呢?(是因為有可以設定讀取哪份文件的功能嗎?)

還有為什麼芽芽美與文菜的文件都在dic資料夾中,而ややめ則是直接放在master底下呢?

另外還有這個功能也嘗試放在ややめ文件裡面(前面有將_text = TextOnlyTranslator(_text,'TextOnlyTranslatorFunc')放在OnTranslate中了)

TextOnlyTranslator
{
    _string = RE_SPLIT(_argv[0],'\\(\\|q\[.*?\]\[.*?\]|[!&8cfijmpqsn]\[.*?\]|[-*+014567bcehntuvxz]|_[ablmsuvw]\[.*?\]|__(t|[qw]\[.*?\])|_[!?+nqsV]|[sipw][0-9])')
    _n = ARRAYSIZE(_string)
    _tag = RE_GETSTR()
    _tr = ''
    _qs = 0
   
    for _i = 0 ; _i < _n ; _i++ {
        _tr += EVAL("%(_argv[1])('%(_string[_i])',%(_qs))")
        _tr += _tag[_i]
        if '\_q' _in_ _tag[_i] {
            _qs = ! _qs
        }
    }
   
    _tr
}

TextOnlyTranslatorFunc
{
    //_argv[0] = 置換対象テキスト
    //_argv[1] = クイックセクション内か否か
   
    _text = _argv[0]
    if ! _argv[1] {
        _text = REPLACE(_text, "、", "、\w5")
        _text = REPLACE(_text, "。", "。\w9")
        _text = REPLACE(_text, "…", "…\w9")
        _text = REPLACE(_text, "?", "?\w9")
        _text = RE_REPLACE(_text , '\n\n(?=[^\[])', '\w9\n\n')
        _text = RE_REPLACE(_text ,'!(?=[^!])', '!\w9')
    }
    _text
}

也設定了對換的字串,測試寫了一個句子。

但結果是ややめ完全沒有反應(點擊開啟選單等等)。(還是說其實應該先解決亂碼的問題呢?)

其實還有像山一樣高的這類白痴問題Orz|||(在理解程式語言的人眼中這一定是很蠢的問題),麻煩大家了,真的非常謝謝。

[ 本帖最後由 debbie1446 於 2010-9-18 20:44 編輯 ]
自製人格、努力實現中XD!

目前進度:17,790字、關鍵字12個、對話68個、事件7個、完成故事1個。
距離完成:遙遙無期。囧

可以把她做的很完美的!(secret、吸引力法則)

TOP

引用:
原帖由 布啾 於 2010-9-19 19:41 發表

要修改descript.txt裡面的語系(charset)
像是改成「charset,UTF-8」這樣
yaya.txt和主目錄的install.txt也有,雖然不知道會影響哪些地方,但還是一併改吧

話又說回來了,為什麼不拿中文化的芽芽美改呢XD
非常謝謝解答!使用中文芽芽美之後真的解決了問題,很高興。
引用:
參照ghost\master資料夾裡的yaya.txt
可以修改要讀取的檔名和目錄位置
關於這邊我又有問題了Orz|||

開啟人格時所出現的第一次故事對話(交代原因等等的對話),芽芽美是放在aya_bootend當中(wiki也是寫「啟動/關閉/切換人格時會執行的函式都包含在此辭書內。」),但是也有部分的人格放在自己定義的文件中。

這是表示,只要有將文件寫在yaya.txt內,不管名稱為何都會全部打開,只要有需要的函式(「OnFirstBoot」請問這是函式嗎Orz我感到很抱歉我並不知道)就會執行嗎?

所以說就算將對話(原本應該放在aitalk的文字,希望我解釋的清楚Orz)放在aya_menu中,只要自己不會混亂就沒有問題嗎?

我實際的去實驗了這個想法,結果好像成功了,讓我有些困惑。
引用:
修改前有亂碼的時候既然能看到對話有亂碼就代表還可以正常運行吧?
修改後的完全沒有反應是連開啟時都沒有對話什麼的嗎?
那樣的話代表程式碼裡有BUG
這時候可以打開實行日誌(副檔名為.log)來看
由於也可以在yaya.txt裡修改LOG的名字,所以舉中文版的芽芽美為例子的話,可以點開ayame.log來看
裡面會告訴你是哪個檔案裡的哪一行有問題
原來如此,人格完全沒有反應時表示程式碼有問題(筆記)
另外也理解了實行日誌的用法,大感謝!

然後是......Orz(新、新的問題)

由於開啟時有兩篇故事,我想製作成等到前一篇故事結束後點一下左鍵對話框關閉,而後另一篇故事的對話框才開啟;

所以我很莫名其妙的在OnFirstBoot後又設定了一個隨便亂取名字的函式(先不提那是不是函式,可以這樣嗎Orz),希望他執行完前面一個故事之後就會輪到下一個故事。

結果當然是人格完全沒有反應並且對我這種白痴的處理方式感到不耐了!(我感覺到人格的怒火!)

後來雖然使用櫻語中的\x半解決了這個問題,可是又覺得這樣會使使用者誤會,所以還是希望能知道應該如何設定。(是自己定義一個函式接著再呼叫那個函式嗎?wiki有提到,但不清楚用法)

另外是想要明白如何預設對話框,但是卻不清楚要將\![change,balloon,對話框名稱] 放在哪裡Orz,亂找了一個地方放入之後就不會顯示前置的故事了(掩面

[ 本帖最後由 debbie1446 於 2010-9-21 00:25 編輯 ]
自製人格、努力實現中XD!

目前進度:17,790字、關鍵字12個、對話68個、事件7個、完成故事1個。
距離完成:遙遙無期。囧

可以把她做的很完美的!(secret、吸引力法則)

TOP

引用:
原帖由 celialai 於 2010-9-20 08:49 發表
\x\c你用看看可不可以達到你想要的感覺吧
程式碼還不熟我不敢去做人格~"~
只能小地方幫忙~真不好意思
謝謝七遠さん的幫忙!大感謝!

不過沒有達到想要的效果Orz,有些可惜,可是還是非常謝謝你願意回答我的疑問ㄒwㄒ"

[ 本帖最後由 debbie1446 於 2010-9-21 05:17 編輯 ]
自製人格、努力實現中XD!

目前進度:17,790字、關鍵字12個、對話68個、事件7個、完成故事1個。
距離完成:遙遙無期。囧

可以把她做的很完美的!(secret、吸引力法則)

TOP

引用:
原帖由 布啾 於 2010-9-21 01:59 發表

是的,只要文件名有寫在yaya.txt裡面,程式就會讀取該檔案=)
所以可以依照自己方便自定義每個檔案的位置和名稱

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

只要事件名在、底下的括號{}括好,你要放哪裡都行XD
感謝,又了解了一項知識!(筆記

可是第二個問題Orz......我寫成這樣:(***......因為故事我想大家都覺得非常幼稚所以還是不要讓它見人Otz)
引用:
//---- OnFirstBoot事件 ------------------------------------------------------------------

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************************。"
         story2
}

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"
}
但是結果只會顯示第一個故事而不會顯示第二個故事。我想我一定是有哪邊弄錯了(布揪さん都已經寫出來了我卻還是弄不對Orz)(挖地洞把自己埋起來當中)
引用:
……花了一點時間找了一下@@
我的印象中這是要在descript.txt中設定的(只是我忘了是在ghost還是shell),也忘了語法

剛剛找到了 參考

是在ghost裡設定
格式是balloon,balloon名
我沒有正式使用過所以不太確定用法@@ 總之先試試看吧?
麻煩去尋找資料真的很不好意思Orz,原來我整個把方向搞錯了。
試驗之後已經成功了,感謝!
自製人格、努力實現中XD!

目前進度:17,790字、關鍵字12個、對話68個、事件7個、完成故事1個。
距離完成:遙遙無期。囧

可以把她做的很完美的!(secret、吸引力法則)

TOP

引用:
原帖由 布啾 於 2010-9-21 07:13 發表

event1
{
        random1
        "random2"
        random3
        "random4"
}
理解了!非常感謝!
引用:
event2
{
        "random1"
        --
        random2
}
我使用了這個方法,結果是--故事一結束後故事二就接著出現!!(炸

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

謝謝布揪さん,但是好像不是想要的效果,是不是我弄錯什麼地方呢?
引用:
event3
{
        random1
        "random2"
        --
        random3
        "random4"
  {
                random5
                random6
  }
}
關於這裡我有疑問(舉手舉手)

為了理解,我在筆記本上寫了一下:
引用:
event3

{
    "random1"
    "random2"
    --            /*先從上述兩個事件中挑出一個,再選擇下述三個事件其一*/
    ”random3”
    ”random4”
   {
        "ramdom5"    /*若是選擇到了{},再進行一次選擇*/
        ”ramdom6"
  }
}
因此1、2的出現機率為二分之一,3、4、{}的出現機率為三分之一;5、6的出現機率是六分之一。

但是布揪さん說明5、6的出現機率和3是一樣的,所以我想我是不是有哪邊又弄錯了(掩面

我想我理解了「--」的用法了 xD 大感謝!
引用:
原帖由 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"
}
謝謝七遠さん!實際使用後出現了「error E0092 : ()、もしくは[]に続く演算子が見つかりません.」。

我感到很抱歉(掩面)我想我一定是弄錯什麼地方了Orz||

(想到以後還不知道要弄錯多少東西就感到很羞愧 Orz)

[ 本帖最後由 debbie1446 於 2010-9-22 02:34 編輯 ]
自製人格、努力實現中XD!

目前進度:17,790字、關鍵字12個、對話68個、事件7個、完成故事1個。
距離完成:遙遙無期。囧

可以把她做的很完美的!(secret、吸引力法則)

TOP

引用:
原帖由 celialai 於 2010-9-22 07:11 發表

橘2重新丟入測試OK...
要不要檢查看看是不是不小心哪裡多了"或者{}的位子錯了?
剛剛測試終於成功了!我可能真的少打了或多打了「"{}」。很抱歉還麻煩七遠さん實測。(掩面
同樣也出現顯示出指令/t的錯誤。
不過還是不是想要的效果,很抱歉害七遠さん這麼麻煩(到了必須拿書遮臉的程度)。
引用:
原帖由 布啾 於 2010-9-22 10:44 發表

不,你沒有弄錯,可能我弄錯你想要的效果^q^

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

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

可以詳述您想要的效果嗎?(我沒有弄清楚)

關於這裡我也有疑問(怯怯的舉手),/x的效果在wiki的描述為「此指令出現後,腳本會暫停執行,直到使用者在對話框上用滑鼠點擊一下。點擊後,對話框會被全部清空,並繼續執行腳本。」,不太理解還要加上指令/c的原因,是因為程式碼的關係嗎?(我再度感到很抱歉我不理解Orz)

想要的效果是類似連鎖對話的,上一個故事結束(對話視窗關閉)下一個故事開啟(對話視窗打開)。期間對話視窗的關閉和開啟很明顯(在兩個故事進行或是兩個故事之間shell都不會出現),不會讓人誤會是同一個故事的接續。

(沒有說明清楚真的很對不起!真的麻煩到了布揪さん和七遠さん了)
引用:
出現這個也請順便告訴我們是哪一行出問題然後附上原始檔才會比較清楚噢=)
因為前面會有檔案和第幾行讓你方便去找哪裡有BUG

原來前端的數字是指第幾行的意思!一直以為是指錯誤幾號Orz||,又學到了一樣東西(筆記)

[ 本帖最後由 debbie1446 於 2010-9-22 21:05 編輯 ]
自製人格、努力實現中XD!

目前進度:17,790字、關鍵字12個、對話68個、事件7個、完成故事1個。
距離完成:遙遙無期。囧

可以把她做的很完美的!(secret、吸引力法則)

TOP

引用:
原帖由 布啾 於 2010-9-22 21:07 發表

噢噢原來是想要對話視窗關閉啊wwww
那只要使用\b[-1]就可以了OvO
跟\s[?]類似,只是這是設定對話框種類的,而-1代表不顯示  (參考)
 
另外如果希望要明顯一點的話可以試著在中間停秒看看OwO(不然的話只會瞬間切過去XDDD)
成功了!我成功了!(淚
引用:
OnFirstBoot
{
          "\b[4]\t***********************。/
     \w9\w9\w9\w9\n\n***********************。/

     \x\b[-1]\w9\w9\w9\w9/

     \b[4]***********************。/
     \w9\w9\w9\w9\n\n***********************。\e"
}
運作正常,也是想要的效果!真的很開心!

謝謝布(現在才發現有錯字,無地自容Orz)さん和七遠さん!

請問寫成這樣的話還有需要改正的地方嗎?
引用:
原帖由 celialai 於 2010-9-22 23:10 發表
麻煩倒是還好...只是描述不清楚有時候單靠猜測你要的效果可能會變成不太一樣的感覺0.0下次可以丟程式碼上來可能會比較好理解對方的想法0.0
...
好的,好好的記住了!
自製人格、努力實現中XD!

目前進度:17,790字、關鍵字12個、對話68個、事件7個、完成故事1個。
距離完成:遙遙無期。囧

可以把她做的很完美的!(secret、吸引力法則)

TOP

這裡又有新的問題出現了......!

由於故事進行的關係,希望能顯示三個視窗;一個是User端,一個是春菜端,一個是使魔端。

我一直以為沒有標記(或是標記了\1\s[-1]\0\s[-1])使用的是第三者的對話框,原來使用的是春菜端。

這讓我的故事顯示出了問題Orz,請問能夠這樣顯示的辦法,非常感激!
引用:
     \x\b[4]***。/               /*uesr端對話,用了/x,必須重新指定對話框*/
     \0\s[6]\w9\w9\w9\w9\s[0]***/                              /*春菜端*/
     \0\s[3]\w9\w9\n***!?/                                       /*春菜端*/
     \1\s[10]***。/                                                        /*使魔端*/
     \w9\w9\w9\w9\n\n***。/          /*uesr端*/
[ 本帖最後由 debbie1446 於 2010-9-24 02:35 編輯 ]
自製人格、努力實現中XD!

目前進度:17,790字、關鍵字12個、對話68個、事件7個、完成故事1個。
距離完成:遙遙無期。囧

可以把她做的很完美的!(secret、吸引力法則)

TOP

回復 23# celialai 的帖子

成功了!原來「泛用作用域」是這個意思!真的很感謝七遠さん!

\![set,balloonoffset,x,y]這個似乎是改變預設對話框位置的程式碼!(立正站好報告)

寫成這樣:
引用:
     \x\p[2]\s[-1]\b[4]***。/
     \0\s[6]\w9\w9\w9\w9\s[0]***……/
     \0\s[3]\w9\w9\n***!?/
     \1\s[10]***。/
     \p[2]\s[-1]\w9\w9\w9\w9\n\n***。/
一開始使用的時候,明明已經隱藏了使魔端,不知道為什麼還是會一直冒出使魔端的圖案。

試了很多次還是失敗,讓我氣到想把測試用的shell的蘿蔔給剁成一塊一塊的。(?)

最後才想到是因為泛用作用域也有自己的一個圖案才對!所以才加上了\s[-1]。

(有想到而沒有來麻煩人真是太好了,否則我想大家可能也想把我剁成一塊一塊的Orz)

另外,這邊又有新的問題了ㄒwㄒ||(我感到很慚愧.......)

想要的效果是:

Uesr顯示「***。」

點擊。

Uesr持續顯示「***。」而春菜端和使魔端圖案及對話框都消失了一下。

Uesr持續顯示,後面多了xxx。「***。xxx。」

寫成這樣:
引用:
OnFirstBoot
{
     "\p[2]\s[-1]\w9\w9\w9\w9\n\n***。/

     \x%(to_continue)\e"
}

to_continue
{
     "\C\p[2]\s[-1]\0\s[-1]\b[-1]\1\s[-1]\b[-1]\w9\w9\w9\w9/

     \p[2]\![set,balloonoffset,-350,0]\b[4]\n\nxxx。/"
}
加上\C是由於wiki的敘述「在對話的最前頭使用大寫的\C指令時,會保留並再次顯示上次對話框所輸出的文字內容,並從最底端開始輸出文字。此指定只有放在腳本最前頭時才有效。」

但是使用後只有順暢的出現了「xxx。」而不出現「***。」,請問是不是\x的問題呢?

用了點擊做關鍵字搜尋,可是好像找不到純粹點擊就進入下一個動作的程式碼/O\|||

[ 本帖最後由 debbie1446 於 2010-9-25 20:29 編輯 ]
自製人格、努力實現中XD!

目前進度:17,790字、關鍵字12個、對話68個、事件7個、完成故事1個。
距離完成:遙遙無期。囧

可以把她做的很完美的!(secret、吸引力法則)

TOP

引用:
原帖由 布啾 於 2010-9-25 12:25 發表

測試了一下,我想的確是\x的問題
按照上面指令跑下來的方式
\C顯示的內容會變成跑完\x後所造成的效果,也就是畫面清空

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

另外我也沒有看過純粹點擊繼續的程式碼w
所以用這樣的變通方法試試吧Ou<
嘗試這樣:
引用:
        \p[2]\s[-1]\w9\w9\w9\w9\n\n***。/

        \x\0\s[-1]\1\s[-1]\p[2]\s[-1]\![set,balloonoffset,-350,0]\b[4]\_q***。\_q\w9\w9\w9\w9/

        \p[2]\s[-1]\n\nxxx。/
然後......然後......(咬手帕)

每次運行到***。(點擊)的部份,點下去就會很奇妙的閃現一下!!ㄒwㄒ

不知道為什麼後面的\w9\w9\w9\w9被無視。(還是不太清楚原因)

但是還是好在意那個(閃現!)的感覺!(咬手帕

因為解決方法暫時不理解,所以決定歸類在「疑似待解決」檔案夾。

大感謝布啾さん!


以下也是小小的閒聊:

因為偽春菜的關係,最近開始研究了有關程式語言的書。

才知道原來前方的空白不是空白而是Tab!。口。(震驚

我一直覺得會程式語言的人很厲害(這個包含了很多的很厲害),其中之一是為什麼能計算空白計算的精準又漂亮。(就算有很多層還是整整齊齊漂漂亮亮)

結果原來是.......因為人家按了Tab啊!

(我真是個笨蛋ㄒwㄒ......Tab什麼的完全沒有想到過啊)
自製人格、努力實現中XD!

目前進度:17,790字、關鍵字12個、對話68個、事件7個、完成故事1個。
距離完成:遙遙無期。囧

可以把她做的很完美的!(secret、吸引力法則)

TOP

引用:
原帖由 布啾 於 2010-9-27 18:22 發表

閃現是指***。的部份嗎OAO?
因為這是快速顯示,所以多少還是有一點顯示時間的吧XD
 
另外測試了一下之後\w9\w9\w9\w9沒有被無視O_O
是的,閃現的部份是***。

最後我開始懷疑自己的感覺神經有問題,把延遲時間改的很長,\w9\w9\w9\w9原來沒有被無視Orz

(對不起,我感到很抱歉|||,又麻煩布啾さん實測)


故事終於進行到輸入稱呼的部份,但是我又有問題了ㄒwㄒ"

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

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

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

並且稱呼一樣還是uesr沒有改變的樣子,雖然想著一定是reference[0] == username不對,可是不清楚是哪邊不對Orz
自製人格、努力實現中XD!

目前進度:17,790字、關鍵字12個、對話68個、事件7個、完成故事1個。
距離完成:遙遙無期。囧

可以把她做的很完美的!(secret、吸引力法則)

TOP

謝謝游寶さん、七遠さん、布啾さん!

問題順利解決了!XD
引用:
原帖由 布啾 於 2010-9-30 02:04 發表

一、輸入框輸入後皆自動導向「OnUserInput」這個事件
二、reference0為事件識別子、reference1才是輸入的字串
「若事件識別子以On為開頭,將跳過OnUserInput事件而直接引發名稱同識別子的「On...」事件。」

因為這樣才會沒有寫OnUserInput事件XD"(不太確定這樣是不是正確或是不是好的)

「\0\s[0]\![open,inputbox,OnTestEvent]\e
開啟一個空的輸入框,輸入完成後直接發生OnTestEvent事件,且reference0為輸入的字串。」

因為這樣所以是用reference0(雖然其實也不確定這樣是不是正確或是不是好的/O\)。

選擇肢的寫法學到了許多,布啾さん大感謝!
引用:
三、變數的指定必須是 被修改變數=指定值(也就是說,依上文為例,應該寫成username == reference1才對)
原來是這樣,又上到一課(努力筆記)!
自製人格、努力實現中XD!

目前進度:17,790字、關鍵字12個、對話68個、事件7個、完成故事1個。
距離完成:遙遙無期。囧

可以把她做的很完美的!(secret、吸引力法則)

TOP



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

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

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