From aad1382a82aecd2acc312bf81727882c9eadbdd6 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 04 十一月 2025 15:43:18 +0800
Subject: [PATCH] 237 【福利内容】每日任务/每周任务/章节奖励-服务端(修复有配置任务条件的任务无法取到任务值的bug;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorld.py | 32 +++++++++++++++++++++++++++++++-
1 files changed, 31 insertions(+), 1 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorld.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorld.py
index a9dcf21..05ffe43 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorld.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorld.py
@@ -507,7 +507,9 @@
# @return 返回值. 是否通过检查
# @remarks 概率相关, 这个事件是否能够出现
def CanHappen(rate, maxRate=ShareDefine.Def_MaxRateValue):
- if random.randint(0, maxRate -1) < rate:
+ if rate <= 0:
+ return 0
+ if rate >= maxRate or random.randint(0, maxRate -1) < rate:
return 1
return 0
@@ -1729,6 +1731,8 @@
randList = []
weight = 0
for info in weightList:
+ if not info[0]:
+ continue
weight += info[0]
randList.append([weight, info[1] if len(info) == 2 else info[1:]])
if not randList:
@@ -2103,6 +2107,32 @@
numValue += pow(10, dataIndex)*(dataValue - lastTagLV)
return numValue
+def GetValue(dataValue, fromRight, bits):
+ '''获取某个数值中,从右往左数第x位开始,截图n位得到的数据
+ @param dataValue: 原始数值
+ @param fromRight: 从右往左数第x位开始,从1开始
+ @param bits: 截取n位
+ @return: 数值value
+ '''
+ lPow = pow(10, fromRight)
+ rPow = pow(10, fromRight - bits)
+ curValue = dataValue % lPow / rPow
+ return curValue
+
+def SetValue(dataValue, fromRight, bits, updValue):
+ '''修改某个数值,从右往左数第x位开始,截图n位得到的数据,替换为具体数值
+ @param dataValue: 原始数值
+ @param fromRight: 从右往左数第x位开始,从1开始
+ @param bits: 截取n位
+ @param updValue: 替换值
+ @return: 修改后的value值
+ '''
+ lPow = pow(10, fromRight)
+ rPow = pow(10, fromRight - bits)
+ leftValue = dataValue / lPow * lPow
+ rightValue = dataValue % rPow
+ return leftValue + updValue * rPow + rightValue
+
def GetBitValue(dataValue, index):
""" 得到某个字节值中某一位(Bit)的值
@param dataValue: 待取值的字节值
--
Gitblit v1.8.0