1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
0w©gc@s!ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z d„Zd„Zd„Zded„Zd„Zd„Zd„Zd    „Zd
„Zid „Zd „Zd „ZdS(iÿÿÿÿNcCstjd|ƒS(NtSkyTower(t IpyGameDataPYtGetIpyGameData(tfloor((s„E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_SkyTower.pytGetTowerIpyData"scCst|ƒdS(N(tSyncSkyTowerInfo(t    curPlayer((s„E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_SkyTower.pytOnFBPlayerOnLogin%s
c CsGt|ƒ}|sdSi}tjƒ}x»t|jƒƒD]§}|j|ƒ}|jƒ}||krnq;nd}x/|jƒjƒD]}t    |t
|ƒƒ}q‡Wx/|j ƒjƒD]}    t    |t
|    ƒƒ}q¹W|||<q;W|j ƒ}
t d|ggƒ} tjd| |
ƒtjƒj|
ddd| t| ƒƒdS(Nit MixFirstLogins ÌìÐÇËþºÏ·þÊ×µÇͬ²½GameServer: %sR(t__GetSkyTowerCurFloorRtIPY_DatatrangetGetSkyTowerServerChallengeCountt!GetSkyTowerServerChallengeByIndext
GetFloorIDtGetPassRankRewardInfotkeystmaxtinttGetServerRewardInfot GetPlayerIDtstrt    GameWorldtLogtGetPlayerManagertGameServer_QueryPlayerResulttlen( Rt
curFloorIDt passFloorInfot
ipyDataMgrtindext ipyDataServertfloorIDtmaxNeedPassCounttranktneedPlayerCounttplayerIDtmsgInfo((s„E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_SkyTower.pytOnMixFirstLogin)s*     (c Cs8g}|dkr`tjƒ}xWt|jƒƒD](}|j|ƒ}|j|jƒƒq1Wn|dkrx|g}ng}xc|D][}|jt    j
|ƒ}    |     rµ| rµq…nt j ƒ}
||
_ |    |
_|j|
ƒq…Wt jƒ} | jƒt|ƒ| _ || _t| jƒ| _tj|| ƒdS(Ni(tNoneRR
R R R tappendRtNomalDictGetPropertytChConfigt$Def_Player_Dict_SkyTowerServerRecordtChPyNetSendPackttagMCSkyTowerServerRewardtFloortServerRewardRecordttagMCSkyTowerInfotClearR    tServerRewardListRtServerRewardCountt NetPackCommont SendFakePack( RtserverRewardFloortforcetsyncFloorIDListRRRtserverRewardListR t recordValuetserverRewardInfotttInfo((s„E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_SkyTower.pyREs0               
    cCs|jtjƒS(N(R)R*tDef_Player_Dict_SkyTowerFloor(R((s„E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_SkyTower.pyR    cscCsatj|tj|ƒtj||ƒtj|dƒtj|tj    |ƒt
j d|ƒdS(Nis ¸üÐÂÌìÐÇËþÒÑͨ¹ØÊý %s( t PlayerControltNomalDictSetPropertyR*R=t
EventShelltEventRespons_SkyTowerCntt PlayerSuccesstUptateSuccessProgresst ShareDefinetSuccType_PassSkyTowerRtDebugLog(RR ((s„E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_SkyTower.pytSetSkyTowerCurfloorIDgs c
Csô|}|jƒ}t|ƒ}|s<tjd||ƒtS|t|ƒkrftjd||ƒtS|jƒ|jƒkrœtjd|jƒ|ƒtS|j    ƒ}    ||    ksÃ|t
j krðtjd|||    ||f|jƒƒtSt S(NsÌìÐÇËþ¹Ø¿¨(%s)²»´æÔÚsÌìÐÇËþ±¾¹Ø(%s)Òѹý¹Ø, ÎÞ·¨ÌôÕ½!s!ÌìÐÇËþ±¾¹Ø  µÈ¼¶²»×ã%s, ÎÞ·¨ÌôÕ½!sNÄ¿±êbossID´íÎó£¬ÎÞ·¨ÌôÕ½! mapID=%s,funcLineID=%s,bossID=%s,tagType=%s,tagID=%s( RRRtErrLogtFalseR    RFtGetLVt    GetNeedLVt    GetBossIDR*tTurnBattle_TagType_NPCtTrue(
RtmapIDt
funcLineIDttagTypettagIDt    valueListR R$tipyDatatbossID((s„E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_SkyTower.pytOnTurnFightRequestrs$        cCs+t}g}i}    |}
t|
ƒ} | s.dStj|||ƒ|d} | sUdS| jƒr‰d} tjd| |jƒ|
gƒnt||
ƒt    || ƒ}t
||
t |ƒt j |tjƒtj|tjƒt|dƒ|
dkrtj|tj|
ƒntjd|
ƒ}|rþd}|jƒ}x)|jƒD]}t|t|ƒƒ}qGWx/|jƒjƒD]}t|t|ƒƒ}qyW|jƒ}t d|
||ggƒ}t!j"d||ƒt!j#ƒj$|ddd|t%|ƒƒntj&|||ƒ|    j'|ƒ|||    fS(NitKillGodTowerInfo_1i
tSkyTowerServerChallengetServerChallengePasssÈ«·þ¹ý¹ØÐÅϢͬ²½GameServer: %sR((RIRtFBCommontOnFBJoint GetIsNotifyR>t WorldNotifyt GetPlayerNameRGt__GiveFBPassPrizet__SendSkyTowerOverInfoRNtPlayerActivitytAddDailyActionFinishCntRDtDailyActionID_SkyTowert PlayerActTasktAddActTaskValueR*tActTaskType_SkyTowerRtPlayerBillboardtUpdatePlayerBillboardtDef_BT_SkyTowerRtGetIpyGameDataNotLogRRRRRRRRRFRRRtOnFBPasstupdate(RRORPRQRRRStfightRettneedSendGameServert awardItemListt
overInfoExR RTtisWintsysMarkt    prizeDictRR!trankRewardInfoR"R#R$R%((s„E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_SkyTower.pytOnTurnFightOverŽsJ 
 "     + cCs||jƒ}g|jƒD]\}}||dg^q}dtig}tj||d|ƒitj|ƒtj6}|S(NitSKYTower(    t    GetRewardtitemsRIt ItemControlertGivePlayerItemOrMailR'RZtGetJsonItemListt Over_itemInfo(RRTt giveItemDicttitemIDtitemCntt giveItemListteventRs((s„E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_SkyTower.pyR_Äs  .cCsdtj|tj<||tj<t|ƒ|tj<tjdt    |ƒ|j
ƒƒtj ||ƒdS(Ns"__SendSkyTowerOverInfo overDict=%s( R*tDef_FBMapID_SkyTowerRZtOver_dataMapIDt
Over_wheelRt Over_isPassRRFRRtNotify_FB_Over(RR tisPasstoverDict((s„E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_SkyTower.pyR`Îs   c    Cs;tj|dƒ}|dkr"dS|jƒ}tjd|ƒ}|sJdS|jƒ}t|ƒ|kr†tjd||f|ƒdS|t|ƒ}|jt    j
|ƒ}|t d|ƒ@ràtjd|||f|ƒdStd|||ggƒ}tjd||ƒtj ƒj |ddd    |t|ƒƒdS(
NiiRXs.²»´æÔÚ¸ÃÈ«·þ½±Àø:floorID=%s,needPlayerCount=%sisDÌìÐÇËþÈ«·þÌôÕ½²ãÒÑÁì½±!floorID=%s,needPlayerCount=%s,rewardRecord=%stServerChallengeRewards&ÌìÐÇËþÈ«·þÌôÕ½²ãÁ콱ͬ²½GameServer: %sR(RtToIntDefRRRRRRFR)R*R+tpowRRR(    RR R#R$RTt
rewardInfoR€t rewardRecordR%((s„E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_SkyTower.pyt"OnGetSkyTowerServerChallengeReward×s(   (cCsÚ|jƒ}|d \}}tjdt|ƒ|ƒ|dkrº|\}}}|d}|dkr…tjd||f|ƒdS|d}    i}
x*|jƒD]\} } | |
t| ƒ<q¢Wtj|
|    tƒ} | sõtjd|    |ƒdSd}|j    t
j |ƒ}|t d|ƒ@rEtjd|||f|ƒdS|t d|ƒB}t j|t
j ||ƒtjd    ||    || f|ƒ||    g}t jd
|g| |ƒn|d krÖ|\}}} |d}|stjd ||f|ƒdS|j    t
j |ƒ}|t d|ƒ@rMtjd |||f|ƒdS|t d|ƒB}t j|t
j ||ƒtjd|||| f|ƒdti|d6g}tj|| d|ƒt||ƒndS(NisÌìÐÇËþGameServer·µ»Ø: %sRYis+¹ý¹ØÈ«·þÅÅÃûδÉϰñ: floorID=%s,rankIndex=%sis¸Ã²ã¸ÃÃû´ÎûÓн±Àø: rank=%ss>¹ý¹ØÅÅÃû½±ÀøÒÑ·¢·Å¹ý!floorID=%s,recordIndex=%s,rewardRecord=%ssQÌìÐÇËþ·¢·Å¹ý¹ØÈ«·þÅÅÃû½±Àø: floorID=%s,rank=%s,updRewardRecord=%s,giveItemList=%stSkyTowerPassRankR‰s=·µ»ØÊ±ÌìÐÇËþÈ«·þÌôÕ½²ã²»ÄÜÁìÈ¡: floorID=%s,needPlayerCount=%ssJ·µ»ØÊ±ÌìÐÇËþÈ«·þÌôÕ½²ãÒÑÁì½±!floorID=%s,needPlayerCount=%s,rewardRecord=%ssXÌìÐÇËþ·¢·Å¹ý¹ØÈ«·þ½±Àø: floorID=%s,needPlayerCount=%s,updRewardRecord=%s,giveItemList=%stSKYTowerServerChallengeRewardR (RRRRRFRxRtGetOrderValueByDictRIR)R*R+R‹R>R?t SendMailByKeyRyRzR'R(Rt
resultListR$tmsgTypetmsgDataR t_Rtt    rankIndexR"t    orderDicttktvR€t recordIndexRtupdRewardRecordt    paramListR#tcanGetR((s„E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_SkyTower.pytGameServer_SkyTowerInfoñs\  
 
      
    (RZRR>R,RyR@R4RDRR*RaRgRBRdRRR&R'RIRR    RGRVRuR_R`RŽRŸ(((s„E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_SkyTower.pyt<module>s2                                           6