execution88

Untitled

Jul 17th, 2025
1,055
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 5.07 KB | None | 0 0
  1. stock Quest:GenerateSapiJson()
  2. {
  3.     SAPI:CreateInsert("quests");
  4.     new buffer[10000];
  5.  
  6.     strcpy(sapi_query_str, "{");
  7.  
  8.     strcpy(buffer, "{");
  9.     QuestCategoryDataQuest:GetListSapiJson(buffer, 10000);
  10.  
  11.     QuestCategoryDataQuest:GetListSapiJson(sapi_query_str, SAPI_INSERT_QUERY_LEN);
  12.     strcpy(buffer, ",");
  13.     strcat(sapi_query_str, ",");
  14.  
  15.     strcpy(buffer, "\"quest_list\":[");
  16.     strcat(sapi_query_str, "\"quest_list\":[");
  17.    
  18.     for (new QUEST_CATEGORY:category = QUEST_CATEGORY:0; category < MAX_QUEST_CATEGORY; ++category)
  19.     {
  20.         if (!QuestCategoryDataCategory:IsInit(category))
  21.         {
  22.             continue;
  23.         }
  24.        
  25.         if (_:category != 0 && QuestCategoryDataQuest:IsInit(category, 0))
  26.         {
  27.             strcat(sapi_query_str, ",");
  28.             strcat(buffer, ",");
  29.         }
  30.  
  31.         new count;
  32.  
  33.         for (new quest_id = 0; quest_id < MAX_CATEGORY_QUEST; ++quest_id)
  34.         {
  35.             if (!QuestCategoryDataCategory:IsValid(category) || !QuestCategoryDataQuest:IsValid(quest_id) || !QuestCategoryDataQuest:IsInit(category, quest_id))
  36.             {
  37.                 break;
  38.             }
  39.  
  40.             QuestCategoryDataQuest:GetSapiJson(category, quest_id, sapi_query_str, count, SAPI_INSERT_QUERY_LEN);
  41.             QuestCategoryDataQuest:GetSapiJson(category, quest_id, buffer, count,10000);
  42.  
  43.             // if (strlen(sapi_query_str) > 8000)
  44.             // {
  45.             //     sapi_query_str[strlen(sapi_query_str) - 1] = EOS;
  46.             //     buffer[strlen(buffer) - 1] = EOS;
  47.             //     SAPI:SendSingleInsert(sapi_query_str);
  48.             // }
  49.  
  50.             count ++;
  51.         }
  52.     }
  53.  
  54.     strcat(buffer, "]");
  55.     strcat(buffer, ",");
  56.     strcat(sapi_query_str, "]");
  57.     strcat(sapi_query_str, ",");
  58.     if (strlen(sapi_query_str) > 8000)
  59.     {
  60.         // sapi_query_str[strlen(sapi_query_str) - 1] = EOS;
  61.         // buffer[strlen(buffer) - 1] = EOS;
  62.         SAPI:AddInsertJson(sapi_query_str);
  63.         sapi_query_str[0] = EOS;
  64.         SendConsoleQuestDebug("OTRABOTALOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO #2", -1);
  65.         SendConsoleQuestDebug(buffer, -1);
  66.     }
  67.     QuestCategoryDataBonus:GetSapiJson(buffer);
  68.     QuestCategoryDataBonus:GetSapiJson(sapi_query_str);
  69.    
  70.     strcat(buffer, ",");
  71.     strcat(sapi_query_str, ",");
  72.     // CHAPTER
  73.     QuestChapterDataChapter:GetSapiJson(sapi_query_str);
  74.     QuestChapterDataChapter:GetSapiJson(buffer);
  75.     strcat(buffer, ",");
  76.     strcat(sapi_query_str, ",");
  77.     if (strlen(sapi_query_str) > 8000)
  78.     {
  79.         buffer[strlen(buffer) - 1] = EOS;
  80.         sapi_query_str[strlen(sapi_query_str) - 1] = EOS;
  81.         SAPI:SendSingleInsert(sapi_query_str);
  82.         SendConsoleQuestDebug("ОТРАБОТААААААААААААААААААААААААААААААААААААААААААААААААААЛО #2", -1);
  83.     }
  84.  
  85.     strcat(buffer, "\"chapter_quest_list\":[");
  86.     strcat(sapi_query_str, "\"chapter_quest_list\":[");
  87.  
  88.     for (new QUEST_CHAPTER:chapter = QUEST_CHAPTER:0; chapter < MAX_QUEST_CHAPTER; ++chapter)
  89.     {
  90.         if (!QuestChapterDataChapter:IsInit(chapter))
  91.         {
  92.             break;
  93.         }
  94.  
  95.         if (_:chapter != 0)
  96.         {
  97.             strcat(sapi_query_str, ",");
  98.             strcat(buffer, ",");
  99.         }
  100.        
  101.         for (new quest_id = 0; quest_id < MAX_CHAPTER_QUEST; ++quest_id)
  102.         {
  103.             if (!QuestChapterDataQuest:IsInit(chapter, quest_id))
  104.             {
  105.                 break;
  106.             }
  107.  
  108.             QuestChapterDataQuest:GetSapiJson(chapter, quest_id, buffer, 10000);
  109.             QuestChapterDataTask:GetSapiJson(chapter, quest_id, buffer, 10000);
  110.  
  111.             QuestChapterDataQuest:GetSapiJson(chapter, quest_id, sapi_query_str, SAPI_INSERT_QUERY_LEN);
  112.             QuestChapterDataTask:GetSapiJson(chapter, quest_id, sapi_query_str, SAPI_INSERT_QUERY_LEN);
  113.  
  114.             strcat(buffer, ",");
  115.             QuestChapterDataReward:GetListJson(chapter, quest_id, buffer, 10000);
  116.             strcat(buffer, "}");
  117.  
  118.             strcat(sapi_query_str, ",");
  119.             QuestChapterDataReward:GetListJson(chapter, quest_id, sapi_query_str, SAPI_INSERT_QUERY_LEN);
  120.             strcat(sapi_query_str, "}");
  121.  
  122.             if (strlen(sapi_query_str) > 8000)
  123.             {
  124.                 sapi_query_str[strlen(sapi_query_str) - 1] = EOS;
  125.                 buffer[strlen(buffer)] = EOS;
  126.                 SAPI:SendSingleInsert(sapi_query_str);
  127.                 SendConsoleQuestDebug("ОТРАБОТААААААААААААААААААААААААААААААААААААААААААААААААААЛО #3", -1);
  128.             }
  129.         }
  130.     }
  131.  
  132.     strcat(sapi_query_str, "]");
  133.     strcat(sapi_query_str, "}");
  134.     strcat(buffer, "]");
  135.     // strcat(buffer, "}");
  136.  
  137.     SendConsoleQuestDebug("[QUEST]============================================", -1);
  138.     SendConsoleQuestDebug(buffer, -1);
  139.     if (sapi_query_str[0] != EOS)
  140.     {
  141.         SAPI:SendSingleInsert(sapi_query_str);
  142.     }
  143.  
  144.     SAPI:Request(SAPI:JsonTablePurge, .key = "quests", .await_queries_handle = connection[HANDLE_GENERAL]);
  145. }
Advertisement
Add Comment
Please, Sign In to add comment