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
ބºhc@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ƒ}nk|tjkrŒ|sUdStj}|d}tj|||ƒrƒdnd}n|tj    kr°|j
tj ƒ}n÷|tj krÎ|j ƒ}nÙ|tjkr§|sçdS|d}d}|jƒjtjƒ}    xŒtjD]}
|
d} | dks| |    jƒkrMqn|    j| ƒ} | s| jƒruqn| jƒ} | |kr|d7}qqW|}n|S(Nii(t GetTaskTypet GetTaskCondsRt TaskType_LVtGetLVtTaskType_MainLeveltDef_FBMapID_MaintFBCommontIsFBPasstTaskType_TreeLVR!tDef_PDict_TreeLVtTaskType_RealmLVtGetOfficialRanktTaskType_EquipColortGetItemManagertGetPackt IPY_GameWorldtrptEquiptDef_MainEquipPlacestGetCounttGetAttIsEmptyt GetItemColor(RRR2ttaskTypetcondstmapIDtlineIDt    needColortequipCntt    equipPackt
equipPlacet
equipIndextcurEquipt    itemColor((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTask.pyR)‹sB      
$
 
      cCs}xvtjD]k}t|||ƒ}|s.q
n|jtj|ƒ}t||ƒ}||kreq
nt|||ƒq
WdS(N(RR t__GetDoingTaskIpyDataR!R$R)R+(RRSRRR.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 R^t__CheckTaskConditionR!R$R+(RRStaddValueRTRRR.((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=(RRRSRR/R((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTask.pyR^ÏscCsi|jƒ}|tjkre|jƒ}| sFt|ƒt|ƒkrJdS|d|dkredSntS(Ni(R=RtTaskType_GetMoneyR>R6R*(RRTRSt    taskConds((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTask.pyR`Þ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/RStfinishNeedValue((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&(RRRRi((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTask.pyRhs 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|tj||ƒtj|tj|dƒtj|tj |dƒtj|tj |dƒtj||ddtigƒt||ƒsŽt||gƒntj|ƒdS(NRs·Çµ±Ç°ÈÎÎñ: curTaskID=%ss8ÈÎÎñδÍê³ÉÎÞ·¨Áì½±: taskID=%s,curValue=%s/%s,curState=%sitevent(RRR#RR!RR"R R4R(tGetAwardItemListR%R$R&R7R8R3t ItemControlertGivePlayerItemOrMailR'RRt GameFuncCommtDoFuncOpenLogic(
RRR,RRt    curTaskIDR1t awardItemListR/R.((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTask.pyt GetTaskAwards2       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 RR7R‚RyRqRLRsRfRRCRRRRRR)R_RxRbR^R`R*R+RhRnRwR(((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTask.pyt<module>s0                       -&    *                      "