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
pkhc@sddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
d„Z d„Z d„Z e    jd„Zd„Zd„Zddd    „Zd
„Zdd „Zd ed „Zd„Zd„Zd„Zdd„ZdS(iÿÿÿÿNcCsäd}tj|ƒ}|sÔi}tjƒ}x€t|jƒƒD]l}|j|ƒ}|jƒ}|jƒ}||kr†g||<n||}||kr@|j|ƒq@q@Wtj    ||ƒt
j d|ƒn|j |gƒS(NtTaskIDListDictsÈÎÎñIDÁбí: %s( t IpyGameDataPYt GetConfigExtIPY_Datatxranget GetTaskCounttGetTaskByIndext GetTaskGroupt    GetTaskIDtappendt SetConfigExt    GameWorldtLogtget(t    taskGrouptkeyttaskIDListDictt
ipyDataMgrtindextipyDatattaskIDt
taskIDList((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTask.pyt GetTaskIDLists"     
 cCs-t|ƒt|tjƒs)t|ƒndS(N(t__fixRefreshTaskt __giveNewTasktChConfigtTaskGroup_Maint SyncTaskInfo(t    curPlayer((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTask.pyt OnPlayerLogin2s
 c     Cs|jƒ}g}xatjD]V}|jtj|ƒ}|sDqntjd|ƒ}|sbqn|jtj|ƒ}|jtj|ƒ}|tj    kr£qnt
}|j ƒ}    t ||ƒ}
|
r|
|krt jd|||
f|ƒ|
}t}n||    krF|tj    krFt jd|||    |f|ƒt}n|sRqnt|||
t
ƒ|j|ƒqW|rŒt||ƒndS(NtTasks4ÐèÒªÐÞÕýÈÎÎñ½ø¶È: taskID=%s,curValue=%s,taskValue=%ss@ÐèÒªÐÞÕýÈÎÎñ״̬: taskID=%s,curValue=%s,needValue=%s,curState=%s(t GetPlayerIDRt TaskGroupListtNomalDictGetPropertytDef_PDict_TaskIDRtGetIpyGameDatatDef_PDict_TaskValuetDef_PDict_TaskStatetTaskState_CanGettFalset GetNeedValuet__GetTaskValueR R tTruet SetTaskValueR    R( RtplayerIDt fixGroupListRRRtcurValuetcurStatetneedFixt    needValuet    taskValue((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTask.pyR8s<           c
Csát|ƒ}|sdS|jƒ}|jtj|ƒ}|jtj|ƒ}d}| r‰| r‰|d}tjd||f|ƒn¨| r1|r1||krÀtjd||f|ƒdS|j    |ƒ}|t
|ƒdkrtjd||f|ƒdS||d}tjd|||f|ƒn|s;dSt j d|ƒ}|sWdSt ||ƒ}    tj|tj||ƒtj|tj|dƒtj|tj|tjƒtjd||f|ƒt|||    ƒS(    Nis'¸øµÚÒ»¸öÈÎÎñ: taskGroup=%s,newTaskID=%ss4ÕÒ²»µ½ÉÏÒ»´ÎÍê³ÉµÄÈÎÎñID! taskGroup=%s,lastTaskID=%sis.ÒѾ­Íê³ÉÁËËùÓÐÈÎÎñ: taskGroup=%s,lastTaskID=%ss5¸øÏÂÒ»¸öÈÎÎñ: taskGroup=%s,newTaskID=%s,lastTaskID=%sRs%½Óµ½ÐÂÈÎÎñ: taskGroup=%s,newTaskID=%s(RRR!RR"tDef_PDict_TaskIDLastR tDebugLogtErrLogRtlenRR#R)t PlayerControltNomalDictSetPropertyR$R%tTaskState_DoingR+(
RRRR,Rt
lastTaskIDt    newTaskIDt    lastIndexRR2((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTask.pyRes>  
   cCs×d}|jƒ}|jƒ}|tjkr<|jƒ}n—|tjkr‘t|ƒdkradS|\}}tj|||ƒrˆdnd}nB|tj    krµ|j
tj ƒ}n|tj krÓ|j ƒ}n|S(Niii(t GetTaskTypet GetTaskCondsRt TaskType_LVtGetLVtTaskType_FBPassR6tFBCommontIsFBPasstTaskType_TreeLVR!tDef_PDict_TreeLVtTaskType_RealmLVtGetOfficialRank(RRR2ttaskTypetcondstmapIDtlineID((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTask.pyR)‹s   $cCs}xvtjD]k}t|||ƒ}|s.q
n|jtj|ƒ}t||ƒ}||kreq
nt|||ƒq
WdS(N(RR t__GetDoingTaskIpyDataR!R$R)R+(RRHRRR.R2((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTask.pyt UpdTaskValue¢s icCsuxntjD]c}t|||ƒ}|s.q
nt||ƒsCq
n|jtj|ƒ|}t|||ƒq
WdS(N(RR RLt__CheckTaskConditionR!R$R+(RRHtaddValueRIRRR.((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTask.pyt AddTaskValue°scCs|jtj|ƒ}|s dS|jtj|ƒ}|tjkrIdStjd|ƒ}|sedS|jƒ|kr{dS|S(NR(R!RR"R%R9RR#R=(RRRHRR/R((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTask.pyRL¼scCsi|jƒ}|tjkre|jƒ}| sFt|ƒt|ƒkrJdS|d|dkredSntS(Ni(R=RtTaskType_GetMoneyR>R6R*(RRIRHt    taskConds((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTask.pyRNËs  ic
Cs |s
dS|jƒ}|jƒ}|jtj|ƒ}|jƒ|krNdS|jtj|ƒ}|tjkrwdS|jƒ}|j    ƒ}    t
||    t j ƒ}t jd|||||    f|ƒtj|tj||ƒ||    krt||||ƒn|rt||gƒntS(Ns<¸üÐÂÈÎÎñ½ø¶È: taskGroup=%s,taskType=%s,taskID=%s,value=%s/%s(RRR!RR"RR%R&R=R(tmint ShareDefinetDef_UpperLimit_DWordR R4R7R8R$t__OnTaskFinishRR*(
Rt taskIpyDatatvaluetisNotifyR,RRR/RHtfinishNeedValue((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTask.pyR+Ùs*         cCsAtjd||f|jƒƒtj|tj|tjƒdS(Ns$ÈÎÎñ½ø¶ÈÍê³É: taskGroup=%s,taskID=%s(R R4RR7R8RR%R&(RRRRW((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTask.pyRVós cCs’tjd|ƒ}|sdS|jƒ}|jtj|ƒ}||krNtSt|ƒ}||ksr||krvdS|j|ƒ|j|ƒkS(NR(    RR#RR!RR3R*RR(RRRRt finishTaskIDR((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTask.pyt IsTaskFinishøs   c CsÕ|jƒ}tjd|ƒ}|s(dS|jƒ}|jtj|ƒ}||krntjd||ƒdS|j    ƒ}|j
ƒ}|jtj |ƒ}|jtj |ƒ}    |tj kråtjd||    ||f|ƒdStj||ƒsûdStj|tj||ƒtj|tj|dƒtj|tj |dƒtj|tj |dƒx6|D].\}
} } tj||
| | tjgƒqjWt||ƒs¾t||gƒntj||gƒdS(NRs·Çµ±Ç°ÈÎÎñ: curTaskID=%ss8ÈÎÎñδÍê³ÉÎÞ·¨Áì½±: taskID=%s,curValue=%s/%s,curState=%si(RRR#RR!RR"R R4R(tGetAwardItemListR%R$R&t ItemControlertCheckPackSpaceEnoughR7R8R3tGivePlayerItemt IPY_GameWorldtrptItemRRt GameFuncCommtDoFuncOpenLogic( RRR,RRt    curTaskIDR1t awardItemListR/R.titemIDt    itemCountt isAuctionItem((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTask.pyt GetTaskAwards8      #cCsî|dkr|ntj}|s%dSg}x{|D]s}tjƒ}||_|jtj|ƒ|_|jtj    |ƒ|_
|jtj |ƒ|_ |j |ƒq2W|s³dStjƒ}||_t|jƒ|_tj||ƒdS(N(tNoneRR tChPyNetSendPackt    tagMCTaskt    TaskGroupR!R"tTaskIDR$tCurValueR%tStateR    t tagMCTaskInfotTaskListR6t    TaskCountt NetPackCommont SendFakePack(Rt taskGroupListt syncGroupListttaskListRttaskt
clientPack((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTask.pyR+s$           (R RR7RuRlR^RaRcRTRRBRRRRRR)RMRkRPRLRNR*R+RVR\RjR(((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTask.pyt<module>s0                       -&                          #