Market framework
目前為
此腳本不應該直接安裝,它是一個供其他腳本使用的函式庫。欲使用本函式庫,請在腳本 metadata 寫上: // @require https://update.cn-greasyfork.org/scripts/34365/225083/Market%20requester.js
// ==UserScript==
// @name Market requester
// @version 0.1
// @description Market framework
// @author A Meaty Alt
// @match http://fairview.deadfrontier.com/onlinezombiemmo/index.php?page=35
// @require https://greasyfork.org/scripts/32927-md5-hash/code/MD5%20Hash.js?version=225078
// @grant none
// ==/UserScript==
function loadAllStats(){
return new Promise(function(resolve){
$.get("http://fairview.deadfrontier.com/onlinezombiemmo/dfdata/get_allstats.php?printvars=1",
function(result){
resolve(result);
});
});
}
function browseItem(params, itemName){
return new Promise((resolve, reject) => {
var tradezone = params.match(/tradezone=(.*?)\&/)[1];
$.post("http://meaty.dfprofiler.com/browsemarketplace.php?function=browseMarket",
"tradezone="+tradezone+"&search="+itemName+"&category=0",
(response) => {
if(response[0])
resolve(response.slice(1, response.length));
else
reject(response[1]);
});
});
}
function getLowestPrice(params, itemName){
return new Promise((resolve, reject) => {
var tradezone = params.match(/tradezone=(.*?)\&/)[1];
$.post("http://meaty.dfprofiler.com/browsemarketplace.php?function=browseForCheapest",
"tradezone="+tradezone+"&search="+itemName+"&category=0",
(response) => {
resolve(response);
});
});
}
function sellItem(pageTime, params, itemCode){
return new Promise((resolve, reject) => {
getLowestPrice(params, itemName)
.then((price) => {
var priceToSell = price - 10;
var sc = params.match(/sc=(.*?)\&/)[1];
var userId = params.match(/userID=(.*?)\&/)[1];
var hashedPassword = params.match(/password=(.*?)\&/)[1];
var postBody = "&pagetime="+pageTime+"&templateID=undefined&sc="+sc+"&creditsnum=0&buynum=0&renameto=&expected_itemprice=-1&expected_itemtype2=&expected_itemtype="+itemCode+"&itemnum2=0&itemnum="+i+"&priceToSell="+price+"&action=newsell&userID="+userId+"&password="+hashedPassword;
$.post("http://fairview.deadfrontier.com/onlinezombiemmo/inventory_new.php",
"hash="+hash(postBody)+"&"+postBody,
(response) => {
if(response)
resolve();
else
reject();
});
});
});
}