您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Market Framework
当前为
此脚本不应直接安装,它是供其他脚本使用的外部库。如果您需要使用该库,请在脚本元属性加入:// @require https://update.cn-greasyfork.org/scripts/34365/225102/Market%20requester.js
- // ==UserScript==
- // @name Market requester
- // @version 0.5
- // @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==
- var allStats;
- function loadAllStats(){
- return new Promise(function(resolve){
- $.get("https://fairview.deadfrontier.com/onlinezombiemmo/dfdata/get_allstats.php?printvars=1",
- function(result){
- allStats = result;
- resolve();
- });
- });
- }
- function codeNameToPublicName(codeName){
- return new Promise((resolve) => {
- if(codeName.indexOf("ammo") > -1){
- resolve(ammoSwitch(codeName));
- }
- if(codeName.indexOf("_cooked") > -1){
- var uncookedCodeName = codeName.replace("_cooked", "");
- resolve("Cooked " + codeNameToPublicName(uncookedCodeName));
- }
- if(allStats){
- var patternItemNumber = new RegExp(codeName+"\&(.*?)_");
- var itemNumber = allStats.match(patternItemNumber)[1];
- var patternItem = new RegExp(itemNumber+"_name=(.*?)\&");
- resolve(allStats.match(patternItem)[1]);
- }
- else{
- loadAllStats()
- .then(() => {
- var patternItemNumber = new RegExp(codeName+"\&(.*?)_");
- var itemNumber = allStats.match(patternItemNumber)[1];
- var patternItem = new RegExp(itemNumber+"_name=(.*?)\&");
- resolve(allStats.match(patternItem)[1]);
- });
- }
- });
- function ammoSwitch(codeName){
- if(codeName == "32ammo")
- return ".32";
- else if(codeName == "35ammo")
- return ".35";
- else if(codeName == "35ammo")
- return ".35";
- else if(codeName == "357ammo")
- return ".357";
- else if(codeName == "38ammo")
- return ".38";
- else if(codeName == "40ammo")
- return ".40";
- else if(codeName == "45ammo")
- return ".45";
- else if(codeName == "50ammo")
- return ".50";
- else if(codeName == "55ammo")
- return ".55";
- else if(codeName == "55rifleammo")
- return "5.5";
- else if(codeName == "75rifleammo")
- return "7.5";
- else if(codeName == "9rifleammo")
- return "9mm r";
- else if(codeName == "127rifleammo")
- return "12.7";
- else if(codeName == "14rifleammo")
- return "14mm";
- else if(codeName == "20gaugeammo")
- return "20 g";
- else if(codeName == "16gaugeammo")
- return "16 g";
- else if(codeName == "12gaugeammo")
- return "12 g";
- else if(codeName == "10gaugeammo")
- return "10 g";
- else if(codeName == "grenadeammo")
- return "grenade";
- else if(codeName == "heavygrenadeammo")
- return "y grenade";
- }
- }
- 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, invPosition, myAmount){
- return new Promise((resolve, reject) => {
- codeNameToPublicName(itemCode)
- .then((itemName) => {
- getLowestPrice(params, itemName)
- .then((price) => {
- var priceToSell = Math.round(price*myAmount - 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="+invPosition+"&priceToSell="+price+"&action=newsell&userID="+userId+"&password="+hashedPassword;
- $.post("https://fairview.deadfrontier.com/onlinezombiemmo/inventory_new.php",
- "hash="+hash(postBody)+"&"+postBody,
- (response) => {
- if(response)
- resolve();
- else
- reject();
- });
- });
- });
- });
- }