Board logo

標題: [問題] 許多的問題請問。 [打印本頁]

作者: debbie1446    時間: 2010-9-18 20:42     標題: 許多的問題請問。

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


由於偽春菜的對話總算累積到一定程度了,雖然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 編輯 ]
作者: 布啾    時間: 2010-9-19 19:41

引用:
原帖由 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
作者: debbie1446    時間: 2010-9-20 03:37

引用:
原帖由 布啾 於 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 編輯 ]
作者: celialai    時間: 2010-9-20 08:49

\x\c你用看看可不可以達到你想要的感覺吧
程式碼還不熟我不敢去做人格~"~
只能小地方幫忙~真不好意思
作者: debbie1446    時間: 2010-9-20 23:57

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

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

[ 本帖最後由 debbie1446 於 2010-9-21 05:17 編輯 ]
作者: 布啾    時間: 2010-9-21 01:59

引用:
原帖由 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名
我沒有正式使用過所以不太確定用法@@ 總之先試試看吧?
作者: debbie1446    時間: 2010-9-21 05:16

引用:
原帖由 布啾 於 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,原來我整個把方向搞錯了。
試驗之後已經成功了,感謝!
作者: 布啾    時間: 2010-9-21 07:13     標題: 回復 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^

可以參考這個
作者: celialai    時間: 2010-9-21 23:35

//---- 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************************。/
         \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"
}
這樣試看看是不是你要的,不過可能會在對話部份出小問題..原因不明= =
作者: debbie1446    時間: 2010-9-22 02:27

引用:
原帖由 布啾 於 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 編輯 ]
作者: celialai    時間: 2010-9-22 06:59

我是直接寫成腳本丟橘花測的...
我這邊橘花是吃的下去....
也可能是因為第一次啟動的部份...我沒實際做過人格所以有些細節可能忽略掉了
看你要不要載下去看看+研究?

附件: fff.dic (2010-9-22 06:59, 882 Bytes) / 該附件被下載次數 1147
http://cuc.moe.hm/attachment.php?aid=2445&k=19009e3c021521a569aa165ccc08cf57&t=1597363183
作者: celialai    時間: 2010-9-22 07:11

OnFirstBoot
{
mode = "0"
aitalkinterval = 180
vanishbutton.visible = "1"
username = "お兄さん"
firstboottime = "%(year),%(month),%(day),%(hour),%(minute)"
elapsedtime = 0
lastboottime = "%(systemuptime)"
Goodevening = ""
silent = "0"
intimacy = 10
stroke = 0
teachusername = 0
mikireflag = 0
mikireswitch = "1"
kasanariswitch = "1"
"\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"
}


橘2重新丟入測試OK...
要不要檢查看看是不是不小心哪裡多了"或者{}的位子錯了?
作者: 布啾    時間: 2010-9-22 10:44

引用:
原帖由 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^
如果要求同效果的話還是用--會比較好
作者: celialai    時間: 2010-9-22 11:41

\t 會跑出來嗎?
我再寫其他腳本也有出現過...
把\去掉似乎就好了(效果好像也還在)...但在其他地方沒\反而不能用
原因不明...

[ 本帖最後由 celialai 於 2010-9-22 11:45 編輯 ]
作者: debbie1446    時間: 2010-9-22 20:50

引用:
原帖由 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 編輯 ]
作者: 布啾    時間: 2010-9-22 21:07     標題: 回復 15# debbie1446 的帖子

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

\t推測是因為\x\%(OOOOO)的關係...前面已經先有一個\了...所以換成t就有\t的效果..用\t反而會顯示出來...
至於\x%(OOOOO)好像會失敗我才變成\x\%(OOOOO)的...
嘛...如果只是對話框消失的話倒是可以用控制對話框來修

麻煩倒是還好...只是描述不清楚有時候單靠猜測你要的效果可能會變成不太一樣的感覺0.0下次可以丟程式碼上來可能會比較好理解對方的想法0.0
作者: 布啾    時間: 2010-9-22 23:20     標題: 回復 17# celialai 的帖子

只用%(OOOOO)好像是顯示該變數內容OAO
作者: debbie1446    時間: 2010-9-23 07:42

引用:
原帖由 布啾 於 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
...
好的,好好的記住了!
作者: celialai    時間: 2010-9-23 08:36

%()的確是連接變數的方法例如username和滑鼠點兩下開啟選單都是這樣連結
不過我也有用熱鍵...所以習慣在寫的時候會把腳本弄成
Select.XXX
{
    OOO
}
OOO
{
    "內容"
}
這樣也可以用熱鍵開起...
單純OOO的話就不能用到選項上...不過也能拿來當做連接腳本的方式就是了...畢竟用Select開頭的話
只能做成選項..沒辦法直接連結上
這也是為啥我會提出這個方法的主因...這是真的連接了兩個腳本...不是看起一個接著一個的感覺而已- -"
雖然好像跟版主要的感覺不同就是了
作者: 布啾    時間: 2010-9-23 23:26     標題: 回復 19# debbie1446 的帖子

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

錯字沒關係啦好像常被打錯XDDDDDDD
作者: debbie1446    時間: 2010-9-24 01:59

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

由於故事進行的關係,希望能顯示三個視窗;一個是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 編輯 ]
作者: celialai    時間: 2010-9-24 12:27

\x\b[4]\p2\s[-1]***。/               /*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\p2\s[-1]***。/          /*uesr端*/


試看看可不可以吧...這種方式我沒用過~橘花公開的腳本好像也沒有人用過
所以我幫你去拆別人格的試了...不過對話框位子我不知道怎用程式碼調= =所以加油...
還有效果我也不知道"適不適合"...所以試看看吧~
不太一樣的話再說嚕~


附註...p2是從Emily/Phase4此人格拆下來丟橘花測的...

[ 本帖最後由 celialai 於 2010-9-24 12:30 編輯 ]
作者: debbie1446    時間: 2010-9-24 18:04     標題: 回復 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 編輯 ]
作者: celialai    時間: 2010-9-24 22:57

應該是\x
很遺憾...這我也找不到方法...因為我沒有找到單純點鍵卻不砍掉之前對話的指令。


以下閒談
原本想說沒寫過人格是不是很奇怪.....
看了看註冊時間...我晚好久才接觸橘花阿~"~
看來沒寫過人格也是正常的>"<~
慢慢累積經驗~邊幫邊學=ˇ=

[ 本帖最後由 celialai 於 2010-9-24 23:01 編輯 ]
作者: 布啾    時間: 2010-9-25 12:25

引用:
原帖由 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^
作者: celialai    時間: 2010-9-25 15:18

速讀嗎...
這我就沒用過了~可以嘗試看看吧
作者: debbie1446    時間: 2010-9-27 00:46

引用:
原帖由 布啾 於 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什麼的完全沒有想到過啊)
作者: celialai    時間: 2010-9-27 12:35

我也是看朋友用才知道...XD
TAB好物XD
上課去了..今明日滿堂...然後明後天報告+作業...
問題留到星期5/6吧~"~頂多上來閒聊
作者: 布啾    時間: 2010-9-27 18:22     標題: 回復 28# debbie1446 的帖子

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

引用:
原帖由 布啾 於 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
作者: di.    時間: 2010-9-29 18:10

會不會是
引用:
reference[0] == "%(username)"
這樣才對?
←沒什麼用的傢伙

[ 本帖最後由 di. 於 2010-9-29 18:11 編輯 ]
作者: celialai    時間: 2010-9-29 18:47

"\1\s[10]\0\s[26]啊、\w9\w9那個…\w9\w9\w9\n\n[half]暫時、\w9要在此處打擾您了。\w9\w9\s[100]\n\n[half]那麼、\w9\n可以告訴我名字嗎?\![open,inputbox,TeachUsernameFirst,-1]\e"


OnUserInput
{
if reference0 == "TeachUsernameFirst"
{
  if reference1 == "%(username)"
  {
   "\0\s[100]『%(username)』是嗎。\w9\w9\w9\n\n[half]\0\s[6]那麼再一次…\w9\w9\s[26]\n\n[half]橘花和斗和、\w9以後請多多指教。\1\s[10]多指教啦。\w9\w9\0\s[30]\n\n[half]…\w9終於開口了。\e"
  }
elseif reference1 == ""
  {
   "\0\s[6]這樣啊…\w9\w9\w9\s[100]\n那請您想說時再告訴我喔。\w9\w9\w9\n\n[half]\0\s[6]那麼再一次…\w9\w9\s[26]\n\n[half]橘花和斗和、\w9以後請多多指教。\1\s[10]多指教啦。\w9\w9\0\s[30]\n\n[half]…\w9終於開口了。\e"
  }
  else
  {
   username = "%(reference1)"
   "\0\s[0]『%(username)さん』\w4這樣可以嗎?\n\n\q[◇可以,teachusernamefirst1]\n\q[◇『%(username)』就行了,teachusernamefirst2]\e"
  }



然後參照野菜園OnUserInput,應該就知道原因了...我拆不了野菜園...太神了= =居然找不到這個的資料放在哪.....能看卻找不到檔案在哪裡...

PS.拆橘花2出來的程式碼......................我真是破壞狂...((掩面

[ 本帖最後由 celialai 於 2010-9-29 18:48 編輯 ]
作者: 布啾    時間: 2010-9-30 02:04     標題: 回復 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才對)
 
 
以上
作者: celialai    時間: 2010-9-30 08:03

新手慚愧淚目...不過淚目前先累死了...
作者: debbie1446    時間: 2010-9-30 14:14

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

問題順利解決了!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才對)
原來是這樣,又上到一課(努力筆記)!
作者: 布啾    時間: 2010-9-30 18:28     標題: 回復 36# debbie1446 的帖子

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

唔噢喔!學到好多!!!

不過我有問題(咦)
引用:
\![open,dateinput,事件識別子,(輸入框逾時),(年),(月),(日)]
如果說不需要輸入框逾時這項設定的話 是要怎麼寫呢O_____O?
←惰性想法:指定為9999999999算了(不#
((等等這不是你的帖吧渾蛋


話說露娜直接叫我游寶就好了XDa
作者: 布啾    時間: 2010-9-30 20:52     標題: 回復 38# di. 的帖子

不逾時的話輸入0
另外好像也可以省略的樣子O_O
作者: di.    時間: 2010-9-30 21:32

噢噢!OwO   了解了
感謝指導m(_ _)m




歡迎光臨 中文偽春菜後援會論壇 (http://cuc.moe.hm/) Powered by Discuz! 6.1.0