VERSION 1.0

本文檔介紹使用python和其他後台的web應用與maClient的通信方式

github:https://github.com/fffonion/maClient

maClientGUI:http://mac.yooooo.us/maClientGUI.zip

Python後台應用

典型的使用方法如下:

初始化完成之後可以使用tasker來執行任務

有關tasker的使用方法請參閱readme

其他後台的應用

你需要繼承並擴展maclient_remote類 除了下面提到的屬性和方法,其他內容是中間變量或被類自動管理,無需修改

屬性

name 名稱

home 應用的home url

status 啟動狀態

iprofile 保存了玩家信息

task 下一步maclient要執行的命令

方法

init

初始化時有四個須傳入的參數:name=”,home=”,statusloop=30,profileloop=180

分別為名稱(隨便取),應用的home url,查詢工作狀態的周期,上傳玩家信息的周期

也可以直接在__init__中賦值,這樣就不用在新建實例的時候傳入

每次工作狀態的檢查都只發生在maclient進行網絡操作時,這表示工作狀態的改變不一定會在設定的statusloop時間內反映在maclient中

login

當maclient的set_remote被調用後自動被執行,須返回一個元組,內容為(是否登錄成功,提示信息)

比如,可以在這個方法中得到一個cookie以供後續操作。無需顯式地處理cookie,maclient_remote自動使用得到的cookie

需要繼承maclient_remote的login方法

queryloop

查詢工作狀態的代碼,通過應用返回值來重新設定self.status,可選有STARTED,STOPPED

還可以設定self.task字符串,以通知maclient下一步要執行的命令

upload_profile

上傳玩家信息的代碼,玩家信息會被實時更新到self.iprofile字典中,目前可用的內容有ap_current, ap_max, bc_current, bc_max, gold

fckfairy

當玩家進行一次妖精戰時,本方法被調用一次,傳入一個名為fairy的object_dict,可得到fairy.name, fairy.lv, fairy.hp等屬性值

 

當需要網絡操作時,可以使用方法self.do(uri=”,param=”,method=’GET’),傳入uri,上傳的內容(POST或GET中分別表示post data和query string),方法(’POST’,’GET’),返回值為回調內容 已支持cookie

在maclient_plugin_test中可以是這樣的:

在完成一個擴展的maclient_remote後(假設為maclient_plugin_test),你需要使用maclient(假設存在一個實例mac1)的set_remote方法綁定這個擴展