[巨篇] 超級博駿大戰α 之 真心拜別 不作好人
AGDQ2016圓滿落幕,共募得120萬美元的善款,可喜可賀!
緊接著就是夏季的SGDQ,在7/3~7/9號與您相見!
那麼中間這段時間呢?
繼續翻舊帳還債被觀眾嘲笑啊
不然咧QAQ
「agdq2016」的推薦目錄:
- 關於agdq2016 在 實況主中途之家 Facebook 的最讚貼文
- 關於agdq2016 在 實況主中途之家 Facebook 的最佳貼文
- 關於agdq2016 在 Yi HSY Facebook 的精選貼文
- 關於agdq2016 在 看板PokeMon - [討論] 夢幻卡車@AGDQ2016 (下) - 批踢踢實業坊 的評價
- 關於agdq2016 在 [討論] 夢幻卡車@AGDQ2016 (上) - PokeMon - 寶可夢 的評價
- 關於agdq2016 在 #普通人推卡車是抓不到夢幻的 - 探索| Facebook 的評價
- 關於agdq2016 在 [討論] 夢幻卡車@AGDQ2016 (下) - PokeMon - 寶可夢| PTT Web 的評價
- 關於agdq2016 在 AGDQ2016 - flutter rage | My little pony, Brony, Pony - Pinterest 的評價
- 關於agdq2016 在 AGDQ 2016 - All Dungeons Speedrun in 1:40:25 by ZFG 的評價
- 關於agdq2016 在 micro500/tas_projects - GitHub 的評價
agdq2016 在 實況主中途之家 Facebook 的最佳貼文
[活動過後]
-AGDQ2016「讓世界看見台灣」報告-
先講結論吧。
很可惜,這次台灣支持AGDQ觀眾/玩家們的聲音,
並沒有透過公開放送讓活動中的十餘萬同好們聽見QQ。
經歷充滿挫折的槓龜之後,腦衝智囊團們馬上也在第一時間做出了檢討:
1.
我們太小看那龐大的抖內數量了。儘管鎖定了想要被司儀朗誦的遊戲&時機,但是堆積如山的抖內排隊量,很可能讓你自以為很準確的時間點,在半個小時甚至更久之後,才有機會被唸到,仔細聽了活動中的其他贊助內容,會常常發現都在B遊戲了還在唸A遊戲的東西。XD
這是對菜逼八當頭棒喝的一擊,我會記住的Q皿Q。
2.
內容的編寫也占了一定重要的程度,雖然我們有精良的翻譯人員,但是要將之前我們提到的訴求,濃縮到極為精簡的程度還是有相當的難度。
加上這種大活動贊助的內容,會有很嚴謹的文字審核機制,髒話什麼不用講的當然是慢走不送,但如果在語尾加上一些本土的招呼語(例如:Ni hao~),也不能確保審核的人員一定看得懂。
跟遊戲、玩家的關聯性,現場當下的氛圍,或多或少都會影響到了官方的選擇吧。很幸運地,我們的留言並沒有在審核被刷下來,有興趣的朋友們可以看看這裡:
https://gamesdonequick.com/tracker/donation/235941
真的是一顆遺珠!也感謝在這份文件上花了諸多心血的id9000大大。
3.
就算克服了上述的困難,然而最後還是取決於兩個字:
"運氣"。
再怎麼樣準備萬全,要在平均一款遊戲有數百則抖內訊息中脫穎而出,運氣始終還是非常重要的(平均一款遊戲裡面,能被唸出來大約只有20~30則)。
如果以後還有這樣的情況,請把你們的雙手舉起來集氣吧!\(゚∀゚)/
雖然面對如此的結果,但是也請別忘了!
http://goo.gl/U4A9sV
做愛心方面,可是大、大、大成功RRRRRRRR!!!!\(゚∀゚)/
本次活動所募得的金額為 367.29 美金,也就是說,這筆將近新台幣12500元的金額,透過了你們的愛心,確實地幫助了世界上某個角落,需要你們伸出援手的人!他們一定非常的感謝你!
當然,彩學也在這裡向這次不吝惜分享愛心的你們,致上最高的敬意。
謝謝你們。:)
「利用實況接觸公益,甚至進一步回饋社會」
在台灣,聽起來一度是這麼遙遠。儘管在其他國家已經成為常態性的活動,但是台灣的實況文化仍在逐漸地發展,離這樣的理想目標可能還有一段不近距離。
至少這一次,我們用了特別的方式,將「實況」與「慈善」掛勾了起來,踏出了非常難得,也令人驚訝的一步,這一步,對你、對我,都很重要。
這就叫做--
「充滿善良的遺憾」。
如果還有下次,林北繼續準備100刀啦
我們,英雄再見。
感謝有你。
*本則文章同步發布於:http://www.plurk.com/p/lf5gzn
agdq2016 在 Yi HSY Facebook 的精選貼文
太噁心了. . .
永遠的望塵莫及. . .
The hype is REAL in this #AGDQ2016 Mario Maker race!
agdq2016 在 [討論] 夢幻卡車@AGDQ2016 (上) - PokeMon - 寶可夢 的推薦與評價
[討論] 夢幻卡車@AGDQ2016 (上). 看板 Pokemon. 作者 Append. 時間 2018-06-06 02:02:01. 留言 21則留言,15人參與討論. 推噓 14 ( 14推 0噓 7→ ). ... <看更多>
agdq2016 在 #普通人推卡車是抓不到夢幻的 - 探索| Facebook 的推薦與評價
真有玩家在AGDQ2016現場推卡車推出夢幻了,還有影片為證: https://youtu.be/2iu4Kwam1ng?t=24m34s. 這是真的嗎?這中間有造假的可能性嗎?實際上這有其他辦法能夠辦到 ... ... <看更多>
agdq2016 在 看板PokeMon - [討論] 夢幻卡車@AGDQ2016 (下) - 批踢踢實業坊 的推薦與評價
# 接續上一篇。開始之前再次說一下。這東西我並沒有完全看懂──
# 這篇會比上一篇難很多。
# 我沒有實作過。我甚至沒有玩過四色版。
# 事實上我也是這兩天才爬文嘗試看懂的。
# 我覺得必要的拼圖還缺了一塊。希望有看得懂的人可以補上。
噓 Append: (メ^_^) 你這其實是一篇幻想文?
.............. > (;・∀・)
噓 Append: (# ゚Д゚) 所以你這是當你個版在貼讀書心得囉?
.............. > (; ・`д・′)
4!> \(°▽ °*)/
┌──────┐
│ ACE原理-8F │
└──────┘
一樣,首先附上原本推文中的參考資料
推 a23962787: https://wiki.52poke.com/zh-hant/任意代碼注入(漏洞)
更詳細的介紹我推薦GlitchCity https://tinyurl.com/yactg6es
另外會需要記憶體位址對應 https://tinyurl.com/y6vpyjan
這裡有提到一個奇妙的道具"8F"。
在四色版觸發ACE的眾多方法之中,
透過道具"8F"觸發ACE應該是最容易理解與自己嘗試的,
因此受到許多ACE玩家的推薦。
# 請注意這次推卡車的部分不是用這方法
# 這邊介紹8F是為了更方便的描述並理解ACE的實作原理
8F是個正常遊戲過程中通常不會取得的道具,需要透過其他漏洞取得;
他的功能是「執行$D163開始的代碼」,
或者更直白的說──「把記憶體中$D163位置之後的資料當成程式碼開始執行」;
那麼從$D163開始,遊戲原本在這裡存了什麼資料呢?
│ ... │ │
├───┼─────────────────────────┤
│$D163 │ 隊伍裡的PM數量 │
├───┼─────────────────────────┤
│$D164 │ 隊伍中每隻PM的種類。$D164是第一隻PM的種類 │
│ ... │ .... │
│$D169 │ $D169是第六隻PM的種類 │
├───┼─────────────────────────┤
│$D16A │ 隊伍清單結束,預設填入FF。 │
├───┼─────────────────────────┤
│$D16B │ 第一隻PM的數據。$D16B這格是種類,會和$D164一樣 │
│ ... │ $D16C-$D16D兩格會裝這隻PM的HP │
│$D196 │ .... │
├───┼─────────────────────────┤
│ ... │ │
也就是說,只要準確的安排這些PM跟屬性,就能產生正確順序的代碼,
然後在使用道具"8F"的時候執行他。
欸...雖然聽起來很有道理,但是PM屬性能夠控制的部分滿少的,
所以這邊流行的實作都是在這裡寫一段程式碼『去執行$D322開始的程式碼』
這個組合可以用以下的PM隊伍(剛好五隻,照以下順序)辦到:
波波(HP233)、派拉斯特、大岩蛇、瑪瑙水母、袋獸
這樣的隊伍是現在最流行的"8F Bootstrap Setup",
先準備好這組,然後使用"8F",遊戲就會把$D322開始的資料當作程式碼開始執行。
那$D322是什麼位置呢?
$D322是道具欄中第三個道具的種類。他之後則是數量。
這之後則是第四、第五、...第二十個道具的數量。依序。
從第三個道具到第二十個道具,18個道具總共有36byte的空間可以使用;
除此之外,"道具下溢錯誤"(item underflow glitch)能夠讓背包道具數變成255。
中文說明 https://tinyurl.com/ybuq2l6j
英文說明 https://tinyurl.com/yc5evjq8
順帶一提,目前流行的道具下溢錯誤的setup是由 Luckytyphlosion 提出的,
而 Luckytyphlosion 同時也是這次推卡車ACE的設計者。
也就是說,準備好隊伍裡五隻固定順序的PM,準備好一個"8F",
剩下的問題就是準備第三格開始的道具列表。
道具列表的準備需要更多的漏洞,這邊列出一些第一世代的漏洞做為參考。
https://tinyurl.com/yaonr77h
也就是說,想好需要的程式碼,寫成組合語言,翻譯成機械代碼,
然後反過來推算這應該對應到什麼樣的道具列表,
然後把這個道具列表用其他的漏洞湊出來,排好順序和數量,
在需要的地方使用"8F",就能夠騙遊戲去執行這些程式碼。
如果想要自己實作一次看看,這邊推薦 TheZZAZZGlitch 頻道的許多影片:
https://youtu.be/Sw0h7ImFsAs
單純想從0開始操作看看8F的話,這邊有個給初學者的教學:
https://youtu.be/22EYJ0QXPBQ
不過以上我通通都沒有自己嘗試過。我其實沒有玩過四色版。
(坦白說我不是很推薦去自己嘗試啦。每個看起來都要很久很久...)
┌──────┐
│地圖腳本指標│
└──────┘
8F法操作上比較直接,你需要的時候就使用道具"8F"去觸發ACE。
但是...如果我希望他不斷地執行某段程式碼,應該要怎麼辦到呢?
一直按8F? \(°▽°* )
欸...這也不失為一個有效的辦法...
不過邪惡的TAS玩家們當然不是這樣做的。
這裡先回到GDQ影片的表演者回應。
關於GDQ推卡車的細節: https://pastebin.com/UqRzNKxm
感謝 Luckytyphlosion 提出的構想,並且整理了專文回應。
上面那篇pastebin裡面,Luckytyphlosion 整理了許多必要的資訊,
還有他如何構想並設計出這樣的程式碼;
對ASM版本的程式碼本身有興趣的可以參考連結 https://pastebin.com/6VWNfEKG
這之中有提到另一個核心概念 "Map Script Pointer"(地圖腳本指標):
"遊戲每兩frame都會執行一次這格指向位址的程式碼,位置存在 $D36E-$D36F。"
欸這很方便阿,透過這個機制可以不斷執行一些條件檢查,不用每次都在那邊8F。
所以除了要跑什麼程式碼以外,同時產生了另一個問題:
要怎麼更改這格記憶體,讓他指向我們能夠存程式碼的地方?
這個部分有提到的介紹就很少了──這比較困難一些。
GlitchCity並沒有非常詳細的說明,但是他有提到 https://tinyurl.com/y9nksucp
"透過修改第41個道具種類和數量可以觸發這個漏洞"
(可以參考一下上面的8F法,有提到$D322是第三格道具,與$D36E位置相差不遠。)
除此之外,我稍微Google了一下關於Map script pointer的部分,找到這個影片:
https://youtu.be/2_NO8Dyubu4 (請注意畫面會強烈閃爍,請避免久盯)
離開選單之後Map script pointer自動觸發,
讓主角不斷的旋轉跳,同時改變畫面的顏色構成。
3:15左右他進行存檔,然後重開遊戲,讀檔──效果竟然有保留下來!
這個方法會把當前的Map script pointer也存起來,讀取後會繼續自動執行。
但是當他往下走離開這個房間,效果就消失了。
很明顯,這是因為換一張地圖的時候,遊戲寫入了Map script pointer,
因此原本的自訂腳本就不會被執行了。
欸這看起來很棒啊,剛好滿足了製作存檔的需求。
這樣就能先製作好ACE然後觸發他,存檔再拿去GDQ現場開機了。
┌──────┐
│回到夢幻卡車│
└──────┘
嗯,看起來不錯,如果是這種情況,如果能走到卡車旁邊,
準備好夢幻卡車的程式碼,然後把Map script pointer指向他,存檔──
下次讀檔的時候就可以推卡車給朋友看了! <( ̄︶ ̄)>
事實上這就是 Luckytyphlosion 最一開始提出來的構想。
2014年他在 Glitch City 貼了這段code https://tinyurl.com/y8b65op4
同時有一點小小的討論,不過他後來忙了其他東西就擱置了這個構想。
一年後他想到,
"如果能夠在比較大的場合,像是AGDQ,實作出這個,聽起來好像很酷!"
於是他們正式著手這個計畫。
跑者 Shenanagans 建議同時介紹"如何回到聖特安努號",
然後在這個過程才去推卡車,然後發現底下冒出一隻夢幻。
我讀到這裡的時候,覺得這樣就會有幾個考量:
(1) 這大概不能使用8F觸發。
如果要為了節目效果,裝成不小心發現底下有隻夢幻,
就沒辦法打開選單按一下8F。
(2) 如果透過 Map script pointer 觸發ACE,
能夠事先準備好這樣的存檔,然後讓跑者拿到節目上,
就能夠避開"在觀眾面前手動觸發"的部分;
以節目效果來說這點不錯──
但是 Map script pointer換畫面會被遊戲自己的資料蓋過去,怎麼辦?
Luckytyphlosion說。這確實困難了一點,但是並不太難。
每張地圖有自己的 "Tileset" (圖像素材的集合),
其中第7個位元跟圖像無關──他是用來判斷遊戲有沒有需要重新讀取地圖物件。
通過這個機制,在跑者衝浪存檔越過剪票員後,往下切換地圖時,
就能夠騙遊戲不讀取這張地圖的物件,也因此不會把程式碼蓋掉──
欸...不讀取物件的話不就沒有地圖了嗎? /( ̄口 ̄;)\
所以,Luckytyphlosion 設計的這套程式碼裡面,
有判斷當前的地圖ID,自己去讀取地圖需要的物件。 (...這真的是很大的工程...)
最後就是實際上把夢幻卡車的腳本寫下來啦。
檢查有沒有在使用勁力,是不是站在卡車旁邊,有沒有面對卡車,
把角色圖像改成移動裝作那是在推,實際上移動卡車圖像的座標,
放出推石頭的音效,弄出推石頭的沙塵動畫,放一隻夢幻在地圖上,...
然後準備好一個自訂文字的對話框,跟夢幻對話的時候放出來,
然後call進入戰鬥,設定夢幻為5等,...
然後在戰鬥結束後清掉這些圖像,把Map script pointer改回原本遊戲設定的值。
以上全部都用ACE的方式做出來。而且還有更多細節在上面沒有全部提到。
確實是非常非常巨大的工程。
┌──────┐
│ 總 結 │
└──────┘
總結一下──這邊引用 Reddit討論裡面的總結, https://tinyurl.com/y7zp9gjl
(1) AGDQ的表演確實是使用遊戲主機 (實際上是Game Cube + Game Boy Player)
(2) 遊戲卡帶讀取的存檔是 Luckytyphlosion 在模擬器中製作的,
(3) Luckytyphlosion 透過 stump 提供的 flasher 把存檔寫進卡帶裡面。
(4) 這中間並沒有運作 Gameshark 或是任何類似的金手指工具。
(5) 使用模擬器製作存檔只是因為需要動用的工程太大,用模擬器比較容易控制。
這邊附上一些我目前沒有弄懂的地方:
(1) 這個程式碼很長,ASM有三百多行。不知道實作的時候會存在哪裡。
2014年的討論有提到這點,當初有人提議要另外寫輸入 (像是那些手把輸入),
那時候結論是如果存檔在卡車旁邊應該不會太長;
但是現在這個版本真的複雜非常多,很難想像道具欄竟然塞的下。
嗯...不過組語看起來真的很省byte數,說不定真的可以?
(2) Luckytyphlosion 目前沒有提供這個存檔。他有另外寫一段
Unfortunately, I didn't create a setup to store this code in memory.
stump (twitch.tv/stumpdotio) had a save flasher which he used in order
to flash the save which had the code stored on using an emulator.
If I have the motivation, I may create a setup so you could fool
your friends (Kappa), but for now there isn't a setup.
嗯...這真的很可惜,如果能放出這個存檔應該滿多人會想拿來玩玩看的。
目前還很難想像這樣的SETUP實際上多難辦到。
(3) 回到原PO提出來的討論。
"推卡車到底是真是假?"
嗯,Short Answer: 推卡車是不會有夢幻的。那是謠言。 END.
"那這個影片是造假嗎?"
......我很認真的想了一下這個問題。
Arbitary Code Execution 應該要看成是在造假嗎?
我覺得這真的是個很難回答的問題啊。
我覺得ACE確實是"刻意的設法從遊戲內的手段,塑造出原本不存在的東西";
如果從原作設計的手段來看,這應該可以算是在造假吧。而且是在追求造假。
是在追求"我們有一些真實的手段,這能夠虛構出多少超乎想像的結果"。
而我覺得這個對虛構的追求非常的藝術。
至於這到底多真實──
很可惜我到現在還是沒有辦法看到這個SETUP的全貌,
無法判斷這到底是不是真的能夠全部用實機可行的手段辦到;
說真的就算他把整個SETUP的過程重新整理乾淨放出來,
我覺得總長度可能也不是我真的能全部看完的。(真的好長阿。...)
同時,ACE的手段實在太多,我也是挑比較容易理解的幾個方式試著介紹;
如果真的有把SETUP的過程放出來,大概也會有我沒辦法兩天看懂的方法。
哎,想學會的東西太多了,實在是很難都花時間去看懂阿,
要真的都去嘗試一次就更難了。ACE這樣的長度我實在很難去嘗試。
但是我覺得這沒什麼關係。
我還是很願意去相信那些Setup是實機能夠辦到的,
或是即使現在這個版本並沒有被實機作出來──大概也能找到辦法辦到。
反過來想,你看人家連Skype都可以打出來了,弄個夢幻真的很難嗎...
┌──────┐
│ 後 記 │
└──────┘
(1) 2017年的Pokemon 黃版 TAS "Arbitary Code Execution"
https://youtu.be/Vjm8P8utT5g
是一個我覺得非常巧妙的利用ACE挑戰Gameboy Color硬體極限的TAS
如果要挑一片TAS,來介紹現在能做到的事情──那大概就是這片了。
非常精采。不過如果對ACE的過程有興趣,這東西的作者Comment也很精彩
https://tasvideos.org/5384S.html
裡面為了更高速的即時寫入程式碼,自己寫了三個新的觸發階段;
另外用按鍵即時輸入18KHz的Still Alive,
然後還放了幾秒的海綿寶寶。巧妙至極。
TASbot即時的表演效果更好,但是我覺得以靜態作品來說,這片更是精彩。
(2) 其實我覺得 RiverT 提出的問題並沒有這麼應該被噓。
我覺得GDQ這次的表演其實用了非常深刻的技術;
而我覺得會選擇相信他們不會在現場造假,這其實滿有道理的──
因為最懂這些遊戲的人都正在看著,在現場或是在線上。
在這個場合惡意造假被揪出來,大概一輩子都別想在speedrun社群生存了。
相對的,自己嘗試來否定一個謠言其實很困難,比證實他難很多;
這需要同時證明"自己的操作是完備的,已經嘗試過所有可能性了。"
這很難啊。要怎麼證明自己的操作已經完備了呢?
更何況,如果是從理解ACE的原理的角度看起來,
在ACE存在的情況下,什麼叫做所有可能性...這真的很難說阿。
當然我理解謠言之所以討厭,闢謠到覺得很麻煩的時候,謠言真的很討厭。
如果誰跟我說"RMX4黑傑洛攻擊力比較高一點點"我也會翻臉 ← 一秒惹火鴉片
但是這個世界真的很難想像他究竟能大到什麼程度。哎。超難想像。
所以如果可能的話,我還是希望大家都可以開心的玩遊戲,討論遊戲就好了。
畢竟遊戲本來就是為了要讓玩家開心,才會被設計出來的嘛。
┌───────┐
│ 給按End的人 │
└───────┘
(1) 這是一篇幻想文。我其實沒有操作過,因為操作超長的。
(2) 8F法是ACE的眾多方法中比較容易理解的一種。但是還是很難。
(3) GDQ這次的表演採用的方式是更改地圖腳本指標。
(4) 但是如果按End看到這幾行應該沒辦法看懂。
(5) 所以我覺得大家還是開心玩遊戲吧。
(6) 上面兩頁有另一個精彩的黃版TAS,真的,看嘛看嘛,看嘛看嘛。
以上。
鴉片 (Append) 2018.06.06
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.162.64.192
※ 文章網址: https://www.ptt.cc/bbs/PokeMon/M.1528222048.A.516.html
「這是遊戲內容嗎?」
欸,這很難回答,不過我覺得可以比較準確地回答一個修正過的問題。
「這是正常遊戲內容嗎?」
當然不是阿。所有的bug本來就都不是正常遊戲內容。
如果是正常遊戲內容的話,這些就不會叫bug了,
會說是故意設計的,或可能被覺得設計不良。
會被叫bug的都是那些擺明了不是正常遊戲內容的,
像是中斷訓練師戰鬥抓夢幻之類的,
"遊戲公司大概不太想這樣設計"的,
才有辦法判斷出來那是個bug。
嗯好,那現在再來想一下,「這是遊戲內容嗎?」
...這很難回答阿。
已經被作進來的bug我覺得應該要被看成是遊戲的一部分。
換個角度想好了,其實有滿多東西都可以這樣切入來想他是不是遊戲內容的。
我覺得選擇隊伍是遊戲內容,而且大部分的人都會去選擇自己想要的隊伍;
那麼把隊伍排成「波波(HP233)、派拉斯特、大岩蛇、瑪瑙水母、袋獸」,
這雖然很刻意,但是大概沒什麼辦法說他不是遊戲內容──
從遊戲內容的角度來看,這就是調整隊伍嘛。
但是從"8F"這個道具的角度來看,這樣的隊伍本身就是一小段程式碼阿。
「我可以選擇這個隊伍」和「我可以指定一小段程式碼」是完全一樣的操作,
那麼可以仔細想一下,
「這樣的隊伍選擇」是遊戲內容嗎?
「指定一小段程式碼」是遊戲內容嗎?
這個操作應該要指向不一樣的答案嗎?
這可能就不會有太好的答案。
Bug總是在預期之外,會產生預想外的結果,
而預想外的結果算不算是遊戲內容,這大概很難有個準確地回答。
至於說彩虹小馬算不算遊戲內容──
我覺得「不算」這個直覺回答就是那片TAS的期待。
"我們現在能夠用遊戲內容構造出一些跟遊戲毫無關係的事情"。
但是他完完全全是用遊戲內容構造出來的阿,這樣到底該不該算呢?
如果不算的話,這些構造出來的過程到底要怎麼算呢?
----
ACE的技術原本在TAS裡面也是用來破關的,
一個大家可能更熟悉的例子是黃版的0:00破關,
開場按一按連房間都沒出就進殿堂了。
...嗯,確實這不是正常遊戲內容。但是進殿堂大概是遊戲內容。
這個衝突感就不夠明顯。(好吧我知道還是滿矛盾的)
於是後來就有了一系列根本沒在玩遊戲的ACE TAS。
※ 編輯: Append (1.162.64.192), 06/06/2018 12:47:13
當然並不是任何漏洞都可以,也不限於真的很古早的遊戲。
例如ORAS曾經可以。(!!!)
但是你可以想像如果是像3DS這種比較後期的機器,
能夠控制系統就會直接產生改機的問題;
所以更深入的討論會觸犯版規,這裡就必須跳過了。
不過這類型的東西如果有被發現,應該都會在很短時間內patch掉啦。
------
當然古老遊戲和進代遊戲在這些技術上,
難度也是不成比例的。
古老的遊戲在記憶體和效能的運用上比較苛刻,
也因為這樣更容易產生漏洞,更有機會能做出比較奇妙的事情。
※ 編輯: Append (1.162.64.192), 06/06/2018 16:18:36
※ 編輯: Append (1.162.64.192), 06/06/2018 16:22:35
... <看更多>