389 流向记录(汇报中心角色信息增加: 真实充值、战力、主线任务、主线过关、公会名、官职、祝福数、主阵容信息;)
2个文件已修改
70 ■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/EventReport.py 68 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
@@ -1889,6 +1889,8 @@
PassByStarMapIDList = []
#扫荡不需要检查是否已过关的地图
SweepUnCheckPassMapIDList = [Def_FBMapID_Tianzi]
#需要汇报中心副本过关进度的地图
ReportCenterMapIDList = [Def_FBMapID_Zhanchui]
#注册上传跨服服务器数据后直接进入跨服服务器的地图
RegisterEnter_CrossServerMapIDList = []
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/EventReport.py
@@ -32,6 +32,9 @@
#"""Version = 2017-07-04 15:00"""
#---------------------------------------------------------------------
import ChConfig
import TurnAttack
import PlayerControl
import IpyGameDataPY
import ReadChConfig
import ShareDefine
@@ -39,6 +42,7 @@
import datetime
import urllib
import json
## 初始化事件
#  @param None
@@ -79,20 +83,29 @@
    if curPlayer:
        if not GameWorld.IsNormalPlayer(curPlayer):
            return
        #UTF8 需要转成url编码才可用
        playerInfo = urllib.urlencode({"RoleID": curPlayer.GetName(),
                          "AccountID": GameWorld.GetPlatformAccID(curPlayer.GetAccID()),
                          "IP": curPlayer.GetIP(),
                          "Level": curPlayer.GetLV(),
                          "DeviceFlag": curPlayer.GetAccountData().GetDeviceFlag(),
                          "Job": curPlayer.GetJob(),
                          "PlayerID": curPlayer.GetPlayerID(),
                          "CreateRoleTime": curPlayer.GetCreateRoleTime(),
                          })
        playerInfo = {"RoleID": curPlayer.GetName(),
                      "AccountID": GameWorld.GetPlatformAccID(curPlayer.GetAccID()),
                      "IP": curPlayer.GetIP(),
                      "Level": curPlayer.GetLV(),
                      "DeviceFlag": curPlayer.GetAccountData().GetDeviceFlag(),
                      "Job": curPlayer.GetJob(),
                      "PlayerID": curPlayer.GetPlayerID(),
                      "CreateRoleTime": curPlayer.GetCreateRoleTime(),
                      "CTGRealTotal": curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_CTGRealTotal),
                      "FightPower": PlayerControl.GetFightPower(curPlayer),
                      "MainTaskID": PlayerControl.GetMainTaskID(curPlayer),
                      "MainPassLVID": PlayerControl.GetPassMainLevelID(curPlayer),
                      "FamilyName": curPlayer.GetFamilyName(),
                      "ReamlLV":curPlayer.GetOfficialRank(),
                      "TreeLV":curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TreeLV),
                      "LineupHero":GetReportMainLineupInfo(curPlayer),
                      }
        for mapID in ChConfig.ReportCenterMapIDList:
            playerInfo["FBPass%s" % mapID] = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_FBPassLineID % mapID)
        OperatorID = GameWorld.GetPlayerPlatform(curPlayer)
        RegionName = GameWorld.GetPlayerServerSID(curPlayer)
        playerInfo = "&%s"%playerInfo
        playerInfo = "&%s" % urllib.urlencode(playerInfo) #UTF8 需要转成url编码才可用
        
    else:
        # 合服情况,玩家取自己服发送,非玩家数据按指定平台配置发
@@ -114,6 +127,37 @@
    # 第五个参数0代表get发送  1代表post
    GameWorld.GetGameWorld().EventReport_EventReport("", "", "", "", 0, getUrl)
    return
def GetReportMainLineupInfo(curPlayer):
    lineup = TurnAttack.GetPlayerLineup(curPlayer, ShareDefine.Lineup_Main)
    if lineup.IsEmpty():
        return {}
    heroDict = {}
    curPack = curPlayer.GetItemManager().GetPack(ShareDefine.rptHero)
    for posNum in lineup.GetPosNumList():
        hero = lineup.GetLineupHero(posNum)
        heroID = hero.heroID
        itemIndex = hero.itemIndex
        heroLV = 1
        star = 0
        if itemIndex >= 0 and itemIndex < curPack.GetCount():
            heroItem = curPack.GetAt(itemIndex)
            if heroItem and not heroItem.IsEmpty():
                heroLV = heroItem.GetUserAttr(ShareDefine.Def_IudetHeroLV)
                star = heroItem.GetUserAttr(ShareDefine.Def_IudetHeroStar)
                breakLV = heroItem.GetUserAttr(ShareDefine.Def_IudetHeroBreakLV)
                awakeLV = heroItem.GetUserAttr(ShareDefine.Def_IudetHeroAwakeLV)
        heroDict[str(posNum)] = {
                                 "HeroID":heroID,
                                 "SkinID":hero.skinID,
                                 "LV":heroLV,
                                 "Star":star,
                                 "BreakLV":breakLV,
                                 "AwakeLV":awakeLV,
                                 }
    return json.dumps(heroDict, ensure_ascii=False).replace(" ", "")
## =================================================================================================
    
def WriteEvent_login(curPlayer):