From 542b896965d8b73ce4434de75c7eb232378c0a64 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期三, 23 一月 2019 10:57:47 +0800
Subject: [PATCH] 6001 【后端】【1.5.100】七日巡礼增加条件(封包)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHorse.py | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 54 insertions(+), 0 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHorse.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHorse.py
index 30205b2..38dc780 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHorse.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHorse.py
@@ -39,6 +39,8 @@
import SkillCommon
import PlayerMagicWeapon
import PassiveBuffEffMng
+import CrossPlayerData
+import PlayerWeekParty
#---------------------------------------------------------------------
#---------------------------------------------------------------------
@@ -98,6 +100,12 @@
pack = IPY_GameWorld.IPY_CRideHorse()
#//1: 骑马 0: 下马
curPlayerRideType = pack.GetRide()
+ if PlayerControl.GetCrossMapID(curPlayer):
+ # 暂只处理上马
+ if curPlayerRideType:
+ dataList = [curPlayerRideType]
+ CrossPlayerData.SendDataToCrossServer(curPlayer, CrossPlayerData.CrossData_RideHorse, dataList)
+ return
#骑马行为状态, 客户端限制
if not OperControlManager.IsObjCanDoAction(curPlayer,
ChConfig.Def_Obj_ActState_ClientAct,
@@ -130,6 +138,15 @@
#if curPlayer.IsMoving():
# curPlayer.Move(curPlayer.GetDestPosX(), curPlayer.GetDestPosY())
+ return
+
+def CrossServer_RideHorse(curPlayer, dataList):
+ curPlayerRideType = dataList[0]
+
+ #骑马
+ if curPlayerRideType == 1:
+ PlayerRideHorseUp(curPlayer, True)
+
return
#---------------------下马逻辑
@@ -280,8 +297,43 @@
horseIndex = packData.Index
DoChangeHorse(curPlayer, horseIndex, tick)
+
+ if not GameWorld.IsCrossServer():
+ dataList = [horseIndex]
+ CrossPlayerData.SendDataToCrossServer(curPlayer, CrossPlayerData.CrossData_HorseChange, dataList)
return
+def CrossServer_ChangeHorse(curPlayer, dataList):
+ ## 跨服处理 坐骑变更
+ horseIndex = dataList[0]
+ ipyData = IpyGameDataPY.GetIpyGameData("Horse", horseIndex)
+ if not ipyData:
+ return
+
+ horseItemID = ipyData.GetItemID()
+
+ if ItemCommon.FindItemInPackByItemID(curPlayer, horseItemID, IPY_GameWorld.rptEquip):
+ return
+
+ isOK = ItemControler.PutItemInTempSwap(curPlayer, horseItemID)
+ if not isOK:
+ return
+
+ curHorse = ItemCommon.FindItemInPackByItemID(curPlayer, horseItemID, ShareDefine.rptTempSwap)
+ if not curHorse:
+ return
+
+ isRideHorse = curPlayer.GetPlayerVehicle() == IPY_GameWorld.pvHorse
+ if isRideHorse:
+ PlayerRideHorseDown(curPlayer, False)
+
+ #---执行玩家换装逻辑---
+ tick = GameWorld.GetGameWorld().GetTick()
+ if ChEquip.DoPlayerEquipItem(curPlayer, curHorse, ShareDefine.retHorse, tick):
+ if isRideHorse:
+ PlayerRideHorseUp(curPlayer, False)
+
+ return
def DoChangeHorse(curPlayer, horseIndex, tick):
ipyData = IpyGameDataPY.GetIpyGameData("Horse", horseIndex)
@@ -875,6 +927,8 @@
sumLV = GetHorseSumLV(curPlayer)
OpenServerCampaign.UpdOpenServerCampaignRecordData(curPlayer, ShareDefine.Def_Campaign_Type_HorseLV, sumLV)
PlayerMagicWeapon.SetMWPrivilegeData(curPlayer, ChConfig.MWPrivilege_Horse, sumLV)
+ PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_Horse, horseID, False)
+
playerEquip = curPlayer.GetItemManager().GetPack(IPY_GameWorld.rptEquip)
itemRideHorse = playerEquip.GetAt(ShareDefine.retHorse)
#无指定道具
--
Gitblit v1.8.0