ycsm_10 日曆系統踩坑

九州密藏是運營活動,運營會在後臺設置活動開啓的時間,例如每週二、四、六,這個活動有1小時的最大累積時間限制,在活動開啓的時候,每天會贈送20分鐘。那麼一週就會贈送3次,在週二、四、六時。

實現的方式是mk給我提供了一個接口bool GetActiveIsOpen(UINT actId),可以判斷該活動是否開啓。我在dateChange()函數中,調用該接口,如果返回true,則給玩家贈送時間,否則不贈送。

外網玩家反饋活動時間累積的不對,於是去查看代碼。

由於該活動是運營活動,先是由後臺通知到mgr,再由mgr廣播給game。

這裏涉及到一個日曆系統的問題,日曆的觸發有個潛規則:1s內不能觸發2次。

在後臺輸入gm指令,同步到mgr時,如果該tick內,正好有其它某處觸發了日曆系統,那麼此處在調用觸發,會發現時間並沒有被更新。導致mgr同步給game的時候,數據是不正確的。

那麼我調用接口,也就無效了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章