當前位置: 首頁>>代碼示例>>PHP>>正文


PHP client::logPlayerCompletedQuest方法代碼示例

本文整理匯總了PHP中client::logPlayerCompletedQuest方法的典型用法代碼示例。如果您正苦於以下問題:PHP client::logPlayerCompletedQuest方法的具體用法?PHP client::logPlayerCompletedQuest怎麽用?PHP client::logPlayerCompletedQuest使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在client的用法示例。


在下文中一共展示了client::logPlayerCompletedQuest方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: checkForCascadingLogs

 public static function checkForCascadingLogs($pack)
 {
     $quests = dbconnection::queryArray("SELECT * FROM quests WHERE game_id = '{$pack->game_id}'");
     $completedRecords = dbconnection::queryArray("SELECT * FROM user_log WHERE game_id = '{$pack->game_id}' AND user_id = '{$pack->auth->user_id}' AND event_type = 'COMPLETE_QUEST' AND deleted = 0 GROUP BY content_id");
     $incompleteQuests = array();
     for ($i = 0; $i < count($quests); $i++) {
         $completed = false;
         for ($j = 0; $j < count($completedRecords); $j++) {
             if ($quests[$i]->quest_id == $completedRecords[$j]->content_id) {
                 $completed = true;
             }
         }
         if (!$completed) {
             $incompleteQuests[] = $quests[$i];
         }
     }
     $reqQueryPack = new stdClass();
     $reqQueryPack->game_id = $pack->game_id;
     $reqQueryPack->user_id = $pack->auth->user_id;
     $questQueryPack = new stdClass();
     $questQueryPack->game_id = $pack->game_id;
     $questQueryPack->auth = $pack->auth;
     $questQueryPack->silent = true;
     //logPlayerCompletedQuest would otherwise recursively call this function. Might as well save it for the end.
     $dirty = false;
     for ($i = 0; $i < count($incompleteQuests); $i++) {
         $reqQueryPack->requirement_root_package_id = $incompleteQuests[$i]->complete_requirement_root_package_id;
         $questQueryPack->quest_id = $incompleteQuests[$i]->quest_id;
         if (requirements::evaluateRequirementPackage($reqQueryPack)) {
             client::logPlayerCompletedQuest($questQueryPack);
             $dirty = true;
         }
     }
     if ($dirty) {
         client::checkForCascadingLogs($pack);
     }
     //log changed, potentially requiring more logs
 }
開發者ID:kimblemj,項目名稱:server,代碼行數:38,代碼來源:client.php


注:本文中的client::logPlayerCompletedQuest方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。