Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- enum QUEST_ACCESS_TYPE {
- QUEST_ACCESS_NONE, // Нет ограничений
- QUEST_ACCESS_VIP, // Только для VIP
- QUEST_ACCESS_LEVEL, // Требуется минимальный уровень
- QUEST_ACCESS_CHAPTER, // Требуется завершение главы
- QUEST_ACCESS_QUEST, // Требуется завершение квеста
- QUEST_ACCESS_TIME, // Временное ограничение
- QUEST_ACCESS_CUSTOM // Пользовательское условие
- };
- enum E_CONDITION {
- conditionType,
- conditionValue1,
- conditionValue2,
- conditionCustomCallback[32]
- }
- enum E_CATEGORY_DATA {
- categoryID,
- name[32],
- accessConditions[MAX_CATEGORY_CONDITIONS][E_CONDITION],
- accessConditionCount,
- // другие поля
- }
- enum E_CATEGORY {
- categoryID,
- categoryName[32],
- categoryQuests[MAX_QUESTS_PER_CATEGORY],
- categoryAccessConditions[3][E_ACCESS_CONDITION], // 3 условия как в вашем примере
- badge_name[32],
- badge_color,
- bool:is_daily_expire,
- bool:is_give_casket
- };
- stock AddCategoryCondition(categoryid, type, value1 = 0, value2 = 0, const callback[] = "") {
- new count = g_quest_categories[categoryid][accessConditionCount];
- if(count >= MAX_CATEGORY_CONDITIONS) return 0;
- g_quest_categories[categoryid][accessConditions][count][conditionType] = type;
- g_quest_categories[categoryid][accessConditions][count][conditionValue1] = value1;
- g_quest_categories[categoryid][accessConditions][count][conditionValue2] = value2;
- strpack(g_quest_categories[categoryid][accessConditions][count][conditionCustomCallback], callback, 32);
- g_quest_categories[categoryid][accessConditionCount]++;
- return 1;
- }
- QuestCategoryDataCategory:Add(
- QUEST_CATEGORY_DAILY,
- .name = "Ежедневные",
- .badge_name = "Ежедневное",
- .badge_color = E_QUEST_BADGE_COLOR_GREEN,
- .is_daily_expire = true,
- .is_give_casket = true
- );
- // Добавляем условие: Глава 1 должна быть завершена
- AddCategoryCondition(QUEST_CATEGORY_DAILY, CONDITION_CHAPTER_COMPLETED, 1);
- // Добавляем условие по времени
- AddCategoryCondition(QUEST_CATEGORY_DAILY, CONDITION_TIME_LIMIT, startTime, endTime);
- // Добавляем кастомную проверку
- AddCategoryCondition(QUEST_CATEGORY_DAILY, CONDITION_CUSTOM, 0, 0, "DailyAccessCheck");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement