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
Ví`c@s>ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZdadadZdZdZdZdZdZd    Zd
Zd Zd Zd ZdZdZdZdZ dZ!dZ"dZ#dZ$dZ%dZ&dZ'dZ(dZ)e*dƒ\Z+Z,Z-Z.Z/Z0dZ1dZ2dZ3dZ4d Z5e1e2gZ6e4e5gZ7d!„Z8d"„Z9d#d$„Z:d#d%„Z;dd&d'„Z<d(„Z=gd)„Z>d*„Z?d+„Z@d,„ZAd-„ZBd.„ZCd/„ZDd0„ZEd1„ZFdS(2iÿÿÿÿNitcountt    max_counttday_event_any_killt around_countt around_startaround_allcounttaround_count_familytaround_star_familytaround_allcount_familytcollect_npc_idtcollect_npc_id_counttcollect_npc_id_cur_countt kill_npc_idtkill_npc_id_counttkill_npc_id_cur_countt kill_npc_lvtkill_npc_lv_counttkill_npc_lv_cur_counttitem_idt
item_counttitem_cur_countt visit_npc_idtxinshoutgradeiiiæiçii cCs|jtjƒ}|S(N(t FindMissiontChConfigtDef_MissionID_FirstLogin(t    curPlayert
curMission((ssE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Event\EventSrc\QuestCommon.pytGetCommonMissionvscCs
|adS(N(t FindQuestFunc(t
questIndex((ssE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Event\EventSrc\QuestCommon.pytSetFindQuestFunc€ss?cCstjd||f|ƒS(Ns\(\%s(\w+)\%s\)(tretfindall(tstrtmark((ssE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Event\EventSrc\QuestCommon.pyt DealWithInPutŠscCsŠtjd||fƒ}|j|ƒ}|}xUtt|ƒƒD]A}t|ƒt|ƒkrhd‚n|j||||ƒ}qAW|S(Ns[\(][%s][^\(]*[%s][\)]sOut Of Index Exception(R!tcompileR"trangetlentreplace(R#trstrR$trtstrListt
replaceStrtj((ssE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Event\EventSrc\QuestCommon.pytDealWithReverseœs    tcCsÿ|tjkr/|jtjƒ|jdƒnD|tjkrQ|jtjƒn"|tjkrs|jtj    ƒn|j
|ƒ|j ƒ}t j |ƒ}|tjkrûddl}|j|tjd|gƒt||ƒtj||d||ƒndS(Niiÿÿÿÿi(RtDef_Mission_State_NoAccepttSetMissionStatet IPY_GameWorldt msNoMissiontSetDescriptionIndextDef_Mission_State_CanCompletet msCanCompletetDef_Mission_State_Overt msProcessingtSetStatet GetMissionIDt QuestManagert    FindQuestt PlayerSuccesstDoAddSuccessProgresst ShareDefinetSuccType_MainTaskNodetOnStoryMissionFinisht EventReporttWriteEvent_mission_log(RRtstatetisFinisht
failReasont    missionIDt curQuestDataR>((ssE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Event\EventSrc\QuestCommon.pytSetPlayerMissionState­s         cCsÞt|ƒ}t|ƒdks.|jdƒ r2dSt|dd!ƒ}|d}|d krytjd    ||jƒƒdS|sƒdStj|tj    |dƒ\}}t
||gƒtj d
||||f|jƒƒdS( s ¾çÇéÈÎÎñÍê³É״̬´¦Àí
    1¿ªÍ·´ú±í¾çÇéÈÎÎñ 
    1 µØÍ¼±àºÅxx ¾çÇé±àºÅxx ÈÎÎñ±àºÅxx ÊÇ·ñ±¾¾çÇé×îºóÒ»¸öÈÎÎñ
    1 xx xx xx 0
        ...
    1 xx xx xx 1
    it1Niii
iis2Íê³ÉµÄ¾çÇéÈÎÎñID´íÎ󣡱ØÐëÊÇ0»ò1½áβ£¡missionID=%ssG¾çÇéËùÓÐÈÎÎñÍê³É: missionID=%s,¾çÇé±àºÅ=%s,dictValue=%s,updDictValue=%s(ii( R#R(t
startswithtintt    GameWorldtErrLogt GetPlayerIDtSetDictValueByBitRt!Def_Player_Dict_StoryMissionStatetSync_StoryMissionStatetLog(RRHt missionIDStrtstoryNumRFt    dictValuet updDictValue((ssE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Event\EventSrc\QuestCommon.pyRBÛs "
 !    cCsÚt}|s(ttjdƒ}t}ntjƒ}g|_xh|D]`}tj    |tj
|ƒ}| rv| rvqDntj ƒ}||_ ||_ |jj|ƒqDWt|jƒ|_|jrÖtj||ƒndS(Ni(tTruetxrangeRtMax_StoryMissionNumtFalsetChPyNetSendPackttagMCStoryMissionStateInfotStoryMissionStateListRNtGetDictValueByBitRRttagMCStoryMissionStatetStoryNumt IsAllFinishtappendR(tCountt NetPackCommont SendFakePack(Rt storyNumListtisSyncAllStatet    stateInfoRVt isAllFinisht
storyState((ssE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Event\EventSrc\QuestCommon.pyRSøs$                       c Csót|jƒƒdkrdS|jƒ}t|jƒƒj}|t|ƒks[|dkr_dS||j}|dks„|jƒrˆdSxdt|j    ƒƒD]P}|j
|ƒ}|j dƒ}|j dƒ}|dkrÞ|St |j dƒƒ}    |j ƒ}|dkro|j ƒ}t |j dƒƒ}
|dkrë|    |jƒkrë|dkrë|
|jƒkrë|Sq›|dkr‘|    |jƒkr‘|S|dkr³|    |jƒkr³|Stjd    |jƒ||jƒ|jƒf|jƒƒq›WdS(
Nittypettype2R0tvaluetvalue2tJobtSexs,ÈÎÎñID = %d, ½±ÀøÀàÐÍ : %s Î´´¦Àí  : (%d,%d)(RR;tNonetGetDescriptionIndextQuestDescriptionListR(tRewardstIsEmptyR't GetChildCounttGetChildt GetAttributeRMttitletGetJobtGetSexRNRTRP( RRt descriptIndext    questListtxmlNodetit curRewardNodet
rewardTypet rewardType2t rewardValuet rewardValue2((ssE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Event\EventSrc\QuestCommon.pyt GetRewardNodes6      <cCs|dkrdS|jƒS(Ni(RsR;(R((ssE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Event\EventSrc\QuestCommon.pyR;@s cCs™tjd||jƒƒ|j|ƒ}tj|ƒrKtj||ƒntj|ƒ}|dkr|t
j ||dƒnt j |d|t jƒ|S(NsAddNewMission----%sit    on_create(RNRTtGetIDt
AddMissiont
IsMissonDRtDataRecordPacktDR_AddNewMissionR<R=RsRCRDt
EventShellt RunQuestEventtDef_RunQuestType_Normal(Rt curMissionIDRRI((ssE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Event\EventSrc\QuestCommon.pyt AddNewMissionLs cCs]|j|ƒs$tjd|ƒdSda|j|ƒtj|ƒrYtj||ƒndS(NsÓûɾ³ýÒ»¸ö²»´æÔÚµÄÈÎÎñ %si(RRNROtg_IsMissionDeletedt
DelMissionR‹RŒtDR_DeleteMission(RR‘((ssE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Event\EventSrc\QuestCommon.pyt DeleteMissionbs c    CsÖ|j|ƒ}|dkr.|jƒtjkSt|ƒ}|sDtS|jtkrWtSxxt    |j
ƒƒD]d}|j |ƒ}|j ƒ}t|ƒ}|s£qjn|j}|tkr¾qjn||krjt SqjWtS(s ¼ì²éÊÇ·ñÒѾ­Íê³É¸ÃÖ÷ÏßÈÎÎñ N(RRstGetStateRR8RR\tTypetDef_MainTask_Type_ListR'tGetMissionCounttGetMissionByIndexR;RY(    RRHRtcurMissionDataRtmissionttaskIDt missionDatattaskType((ssE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Event\EventSrc\QuestCommon.pytGetHadFinishMainMissionqs(          cCstS(N(R“(((ssE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Event\EventSrc\QuestCommon.pytIsDeleteMission™scCs
|adS(N(R“(RE((ssE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Event\EventSrc\QuestCommon.pytSetMissionBeDeletedŸscCsÀtjdƒ}d}xMtd|jƒƒD]6}|j|ƒ}|jƒ}||kr+|}q+q+W|jƒ}|jdtƒ|dkrÄtjdƒ}|j    ƒ|kr½||dj
SdSn|j |ƒ}    xæ|D]Þ}
|j |
ƒ} | j
}||krt jd|ƒqÚn|j |ƒ} | |    kr¡|j|ƒ}|dkr–|jƒ} | tjkr–|
dkr‰||
dj
nd}|Sn||
j
S| |    krÚ||
j
SqÚWdS(NtMainTaskIDListiÿÿÿÿitreversetDefaultFinishLVs<¼ì²éÖ÷ÏßÈÎÎñ½áµãÍê³ÉÇé¿ö MainTaskIDList±í©ÅäÁË missionID=%di(t ReadChConfigtGetEvalChConfigR'RšR›R;tkeystsortRYtGetLVt    conditiontindextgetRNtDebugLogRRsR—RR8(Rt succInfoDicttmainTaskIDListtcurMainMissionIDRRRHt    indexListtdefaultFinishLVt curMainIndexR­tsuccDatat    mainIndext missionStateR¬((ssE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Event\EventSrc\QuestCommon.pytGetCurMainTaskState¨sB              #  (GR!R3RNRtrandomtcopyR§RŒR@RCR<t GameFuncCommR]RfRŽRsRR“t Def_Day_Event_Cur_Complete_Countt Def_Day_Event_Max_Complete_CounttDef_Day_Event_Any_KilltDef_Around_Count_In_Mission_1tDef_Around_Star_In_Mission_1tDef_Run_Count_In_Mission_1t$Def_Around_Count_Family_In_Mission_1t#Def_Around_Star_Family_In_Mission_1t!Def_Run_Count_Family_In_Mission_1tDef_Collect_Npc_IDtDef_Collect_Npc_ID_CounttDef_Collect_Npc_ID_CurtDef_Kill_Npc_IDtDef_Kill_Npc_ID_CounttDef_Kill_Npc_ID_CurtDef_Kill_Npc_LVtDef_Kill_Npc_LV_CounttDef_Kill_Npc_LV_Curt Def_Item_IDtDef_Item_Countt Def_Item_CurtDef_Visit_Npc_IDtDef_NewGuyNoSighttDef_Mission_GradeR'tDay_KillNPC_By_ID_ListtDay_KillNPC_By_LV_ListtDay_GetItem_By_IDtDay_VisitNPCListtDay_MissionListtDay_CollectNPCListtDef_Mission_Type_MaintDef_Mission_Type_MainHidtDef_GM_Active_Mission_TypetDef_Mission_Type_RunDailytDef_Mission_Type_RunFamilyR™tDef_RunTask_Type_ListRR R%R/RJRBRSR‡R;R’R–R¡R¢R£R¹(((ssE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Event\EventSrc\QuestCommon.pyt<module>s~               
      
    
 .         .                 (