close

用 Sikuli 自動化森之樂園好友禮物請求 (更新日期 2011/8/19)

文章 by 廖益祥

前言:Sikuli 是一種視覺化技術(Visual technology),使用圖像來自動化使用者介面(Graphical user interface, GUI)。簡單說來就是辨別螢幕上的特定圖像,並且作出相對應的動作,跟按鍵精靈的作用很像,不過技術層次更在之上。謎之聲:由MIT的臺灣之光所開發的當然厲害。使用過按鍵精靈類外掛的朋友們都知道其實按鍵精靈有兩大缺點。一是解析度,如果腳本的解析度跟你所使用的不同你就不行用(因為它是依據座標執行動作,解析度不同目標所出現當然不同)。二是只要視窗稍微移動一下,你所執行的動作會完全亂掉(又是因為座標的關係)。然而Sikuli完全沒有這樣的問題,因為它是根據圖像來作為執行動作的依據,再加上語法相當的口語化,即使沒有寫過程式的人也可以輕鬆上手,所以可攜性相當地高。

撰寫 Sikuli script 的 IDE(Integrated Development Environment)工具程式, Sikuli X,可至其官方網站 Project SIKULI 下載。

Sikuli X 需要額外安裝 Java 6,沒有最新版或是安裝的朋友請到 Java.com 進行升級或是安裝。

我們己經事先幫您撰寫好了一些森之樂園可以用的 Sikuli script,需要原始檔的朋友,請點擊右邊連結下載,森之樂園Sikuli script懶人包。(目前版本為0.2,後續更新將會於這裡公布,2011/7/22)

下載完了懶人包, Sikuli scripts for Ravenwood Fair.zip, 之後,利用作業系統內建的解壓縮功能將其解壓縮之後會產生一個名為  Sikuli scripts for Ravenwood Fair 的資料夾,裡面又會兩個資料夾,其中一個名為 Respond_requests.sikuli,這個 Sikuli script 就是這次我們要來自動化森之樂園好友禮物請求的原始檔案。 P.S. 請勿解壓縮至含有中文字的資料夾中,建議直接解縮至根目錄下,例如 C:\

懶人包系統需求:
作業系統:Windows 7 (其餘作業系統請參考 調教專屬於自已系統的森之樂園 Sikuli script 這篇文章)
系統字型大小:中 (125%),可於 控制台->外觀及個人化->顯示 裡查看目前的設定
螢幕解析度:1280x1024以上 (特別是垂直解析度要 1024 以上,否則送禮視窗不能完全顯示出來)

 

首先執行安裝好了的 Sikuli IDE
1.gif

     

接著選擇 Respond_requests.sikuli 這個資料夾。
2.gif

  
 

Sikuli的語法是不是真的很直觀,很簡單呢?
3.gif  
  

 

接下來我們將用三個例子來示範這個 Sikuli script 如何將森之樂園好友禮物請求自動化。P.S. 必須使用 Google Chrome瀏覽器

  • 範例一:用 Facebook 裡的遊戲中心回應好友禮物請求

點選 Facebook 裡的遊戲邀請進入遊戲中心,在遊戲動態下點選 "Ravenwood  Fair" 即可顯示所有森之樂園好友遊戲動態。有些是分享完成任務的好禮,有一些則是禮物請求(會有"幫助我"連結)。
在"幫助我"連結上按滑鼠中鍵或是 Ctrl+滑鼠左鍵,Chrome 就會在新的分頁中開啟該連結。記得多點一些"幫助我"連結,讓分頁欄滿一點,10幾個不成問題。
4.gif   
 

 

 

點選最右邊那個禮物分頁,準備用 Sikuli 來送禮。  
5.gif 

  

執行Sikuli IDE,並開啟 Respond_requests.sikuli 這個資料夾。接著按下 Sikuli IDE 裡的 "執行"。Sikuli 就會自動縮到背景裡,並且開始執行 script 裡的指令,代替你按相對應的按鈕。
3.gif   

等到看到下面的視窗時,禮物也送完了。如果你想要中斷 script 的執行的話,也可以按 Alt + Shift+C 來中斷。
6.gif
  

 

  • 範例二:遊戲基地森之樂園討論區【互助送禮區】送禮

進入遊戲基地森之樂園討論區之後,稍微往下看就會看到【互助送禮區】了。
7.gif 

 

點選"More"進入之後會看到網友們的禮物請求
8.gif  

 

點選一則發文後,就會看到禮物請求的連結
9.gif  

 

在這些連結上按滑鼠中鍵或是Control+右鍵,Chrome就會用新分頁開啟這些連結
10.gif  

 

接下來就是執行 Sikuli IDE 把 Respond_requests.sikuli 開啟,將這些在分頁上的禮物送出去。

 

  • 範例三:森之樂園官方討論區(英文)送禮

遊戲基地的森之樂園討論區雖然是中文的,但是在資料的分類上卻遠遠不及官方討論區,再加上國內玩森之樂園的人數一定不如全世界,如果你想快速完成收集任務裡的"Wall Watcher"的話,官方討論區絕對是你的最佳選擇。

 

進入森之樂園遊戲之後,會看到"前往 森の樂園討論區",按一下這個連結就會來到森之樂園的官方討論區(英文)
11.gif

 

進入討論區後會有許多的討論項目,由於我們只是想要送禮,所以點選 Sub-Forums 裡的 Co-operate! 就可以了。
12.gif  

 

進入之後會發現,禮物被細分成更多的細項,挑一個你要想禮物類別進去即可。不過要注意的是,越新的發文越好(頁數會越大),越有機會收到回禮。
13.gif

 

每個頁面都會包含著許多了禮物的連結,按滑鼠中鍵或是Control+右鍵將這些連結用新分頁開啟,就可以用 Sikuli IDE 載入 Respond_requests.sikuli 送禮了
14.gif  

 

後記:Sikuli 是一個相當有確的專案,用平易近人的方式來完成程式的撰寫的確是相當的不容易。不過缺點也不是沒有,執行速度較慢卻也是事實。不過瑕不掩瑜,希望作者群裡的臺灣之光能夠將 Sikuli 發展的更上一層樓。

 

 


 

極致工藝 電腦醫學中心 

服務專線0956825725 (9:00 AM ~ 10:00 PM)

MSNUltimateTechnics@hotmail.com.tw

即時通UltimateTechnics@yahoo.com.com.tw

E-MailUltimatetechnics@pixnet.net

部落格http://UltimateTechnics.pixnet.net/blog

專業桌電 / 筆電到府維修 / 指定地點取修 & 修到好只要 100 / 300 / 500

arrow
arrow

    極致工藝 發表在 痞客邦 留言(5) 人氣()