shawenguan před 1 rokem
rodič
revize
da43f75808
1 změnil soubory, kde provedl 47 přidání a 7 odebrání
  1. 47 7
      Scripts/168/pksPlanHelper.js

+ 47 - 7
Scripts/168/pksPlanHelper.js

@@ -708,15 +708,19 @@ async function checkPlanCBuyNotify(pksPlanItemData, pksPlanListData) {
 	if (isPlanLotteryAutoBet()) {
 		let [probability, analyseLogMsg] = await analyseBetProbability('C', pksPlanItemData, pksPlanListData);
 		let proAllowValue = getAllowBetProbability('C');
+		turnOneCost = getPlanFixCost(pksPlanListData, turnOneCost);
+		if (probability < 50) {
+			turnOneCost = Math.floor(turnOneCost / 2);
+		}
 		if (probability >= proAllowValue) {
 			let maxBetAmount = getPlanLotteryMaxBetAmount();
 			let betRet = await tryDragonBetPoor(preDrawIssue, 1, planC, turnOneCost, maxBetAmount);
-			tipsMsg += `\n预估中奖率:${probability.toFixed(2)}`;
+			tipsMsg += `\n最终单注:${turnOneCost} 预估中奖率:${probability.toFixed(2)}`;
 			tipsMsg += analyseLogMsg;
 			setPlanBetOnce('C');
 		} else {
 			tipsMsg = '⚠️' + tipsMsg;
-			tipsMsg += `\n预估中奖率:${probability.toFixed(2)},小于预设值${proAllowValue},请自主下单`;
+			tipsMsg += `\n最终单注:${turnOneCost} 预估中奖率:${probability.toFixed(2)},小于预设值${proAllowValue},请自主下单`;
 			tipsMsg += analyseLogMsg;
 		}
 	}
@@ -769,15 +773,19 @@ async function checkPlanBBuyNotify(pksPlanItemData, pksPlanListData) {
 	if (!hasPlanBetOnce('C') && isPlanLotteryAutoBet()) {
 		let [probability, analyseLogMsg] = await analyseBetProbability('B', pksPlanItemData, pksPlanListData);
 		let proAllowValue = getAllowBetProbability('B');
+		turnOneCost = getPlanFixCost(pksPlanListData, turnOneCost);
+		if (probability < 50) {
+			turnOneCost = Math.floor(turnOneCost / 2);
+		}
 		if (probability >= proAllowValue) {
 			let maxBetAmount = getPlanLotteryMaxBetAmount();
 			let betRet = await tryDragonBetPoor(preDrawIssue, 1, planB, turnOneCost, maxBetAmount);
 			tipsMsg += analyseLogMsg;
-			tipsMsg += `\n预估中奖率:${probability.toFixed(2)}`;
+			tipsMsg += `\n最终单注:${turnOneCost} 预估中奖率:${probability.toFixed(2)}`;
 			setPlanBetOnce('B');
 		} else {
 			tipsMsg = '⚠️' + tipsMsg;
-			tipsMsg += `\n预估中奖率:${probability.toFixed(2)},小于预设值${proAllowValue},请自主下单`;
+			tipsMsg += `\n最终单注:${turnOneCost} 预估中奖率:${probability.toFixed(2)},小于预设值${proAllowValue},请自主下单`;
 			tipsMsg += analyseLogMsg;
 		}
 	}
@@ -830,15 +838,19 @@ async function checkPlanABuyNotify(pksPlanItemData, pksPlanListData) {
 	if (!hasPlanBetOnce('B,C') && isPlanLotteryAutoBet()) {
 		let [probability, analyseLogMsg] = await analyseBetProbability('A', pksPlanItemData, pksPlanListData);
 		let proAllowValue = getAllowBetProbability('A');
+		turnOneCost = getPlanFixCost(pksPlanListData, turnOneCost);
+		if (probability < 50) {
+			turnOneCost = Math.floor(turnOneCost / 2);
+		}
 		if (probability >= proAllowValue) {
 			let maxBetAmount = getPlanLotteryMaxBetAmount();
 			let betRet = await tryDragonBetPoor(preDrawIssue, 1, planA, turnOneCost, maxBetAmount);
 			tipsMsg += analyseLogMsg;
-			tipsMsg += `\n预估中奖率:${probability.toFixed(2)}`;
+			tipsMsg += `\n最终单注:${turnOneCost} 预估中奖率:${probability.toFixed(2)}`;
 			setPlanBetOnce('A');
 		} else {
 			tipsMsg = '⚠️' + tipsMsg;
-			tipsMsg += `\n预估中奖率:${probability.toFixed(2)},小于预设值${proAllowValue},请自主下单`;
+			tipsMsg += `\n最终单注:${turnOneCost} 预估中奖率:${probability.toFixed(2)},小于预设值${proAllowValue},请自主下单`;
 			tipsMsg += analyseLogMsg;
 		}
 	}
@@ -847,6 +859,34 @@ async function checkPlanABuyNotify(pksPlanItemData, pksPlanListData) {
 	return true;
 }
 
+function getPlanFixCost(pksPlanListData, turnOneCost) {
+	if (!pksPlanListData) {
+		return turnOneCost;
+	}
+	let latestItem = pksPlanListData[0];
+	if (latestItem.preDrawCode && latestItem.preDrawCode.length > 0) {
+		return turnOneCost;
+	}
+	let failCount = 0;
+	for (let i = 1; i < pksPlanListData.length; i++) {
+		const item = pksPlanListData[i];
+		if (!checkHitPrize(element.preDrawCode, element.planC, 0)) {
+			failCount += 1;
+		} else {
+			break;
+		}
+	}
+	if (failCount >= 10) {
+		let fixCount = failCount - 10;
+		if (fixCount <= 2) {
+			turnOneCost = turnOneCost * Math.pow(2, 2 - fixCount) * (4 - fixCount);
+		} else if (fixCount <= 5) {
+			turnOneCost = turnOneCost + Math.pow(2, fixCount - 1);
+		}
+	}
+	return turnOneCost;
+}
+
 async function getPksPlanList(lotCode, date, rows = 30) {
 	const url = `https://${gBuyPlanHost}/api/LotteryPlan/getPksPlanList.do?lotCode=${lotCode}&rows=${rows}&date=${date}`;
 	magicJS.logger.info(url);
@@ -1027,7 +1067,7 @@ async function checkExpertsRecommend() {
 	}
 	magicJS.data.write('168_PksExpertsPreDrawIssue', preDrawIssue);
 
-	let turnOneCost = getExpertsFixCost(latestItem);
+	let turnOneCost = getExpertsFixCost(planDetail);
 	let recommendCode = latestItem.recommendCode;
 	let maxBetAmount = getPlanLotteryMaxBetAmount();