From 206203b4ccec9426178e12b8d67c815c4743df54 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期一, 01 九月 2025 15:45:06 +0800 Subject: [PATCH] 129 【战斗】战斗系统-服务端(优化主线战斗片段断点逻辑;) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/MainLevel.py | 37 +++++++++++++++++++++++++++++++++++++ 1 files changed, 37 insertions(+), 0 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/MainLevel.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/MainLevel.py index ec633fb..64bc3ad 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/MainLevel.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/MainLevel.py @@ -18,16 +18,53 @@ import GameWorld import PlayerControl import IpyGameDataPY +import GameLogic_MainLevel +import IPY_GameWorld +import ClearPack +import ChConfig def OnExec(curPlayer, gmList): if not gmList: GameWorld.DebugAnswer(curPlayer, "重置主线: MainLevel 0") GameWorld.DebugAnswer(curPlayer, "设置主线: MainLevel 章节 关卡 波") + GameWorld.DebugAnswer(curPlayer, "测试掉落: MainLevel d 战锤数") + GameWorld.DebugAnswer(curPlayer, "重置掉落: MainLevel d 0 [是否清掉落背包]") + GameWorld.DebugAnswer(curPlayer, "重置战利: MainLevel b 0") + GameWorld.DebugAnswer(curPlayer, "设置战利: MainLevel b 战利品ID 已掉落个数") return value = gmList[0] + if value == "d": + unXiantao = gmList[1] if len(gmList) > 1 else 1 + if unXiantao == 0: + PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_UnXiantaoCntExp, 0) + PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_UnXiantaoCntEquip, 0) + GameLogic_MainLevel.ResetBootyDropToday(curPlayer) + clearDropPack = gmList[2] if len(gmList) > 2 else 0 + if clearDropPack: + ClearPack.__DoLogic_Clear_Pack(curPlayer, IPY_GameWorld.rptIdentify) + GameWorld.DebugAnswer(curPlayer, "重置未结算战锤掉落OK!") + return + + GameLogic_MainLevel.GMTestKillDrop(curPlayer, unXiantao) + return + + if value == "b": + itemID = gmList[1] if len(gmList) > 1 else 1 + dropTotal = gmList[2] if len(gmList) > 2 else 1 + if not itemID: + GameLogic_MainLevel.ResetBootyDropToday(curPlayer) + return + bootyItemIDList = GameLogic_MainLevel.GetBootyItemIDList() + if itemID not in bootyItemIDList: + GameWorld.DebugAnswer(curPlayer, "战利品ID(%s) not in %s" % (itemID, bootyItemIDList)) + return + GameLogic_MainLevel.SetBootyDropToday(curPlayer, itemID, dropTotal) + GameWorld.DebugAnswer(curPlayer, "设置战利品(%s)今日掉落: %s" % (itemID, dropTotal)) + return + if value <= 0: nowValue = PlayerControl.SetMainLevelNowInfo(curPlayer, 1, 1, 1) passValue = PlayerControl.SetMainLevelPassInfo(curPlayer, 0, 0, 0) -- Gitblit v1.8.0