123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- #if defined __custom_achievements_included
- #endinput
- #endif
- #define __custom_achievements_included
- enum AchievementStyle {
- AchievementStyle_Undefined = 0,
- AchievementStyle_Single,
- AchievementStyle_Progress,
- };
- typedef AchievementMetadataCallback = function void(CustomAchievement achievement,
- const char[] metadata, any data);
- methodmap CustomAchievement {
-
- public native CustomAchievement(const char[] internalName, AchievementStyle style);
-
-
- public native void AwardToAccountID(int steamid3, bool notify = true);
-
-
- public void Award(int client, bool notify = true) {
- if (IsClientAuthorized(client)) {
- this.AwardToAccountID(GetSteamAccountID(client), notify);
- }
- }
-
-
- public native void FetchMetadataByAccountID(int steamid3,
- AchievementMetadataCallback callback, any data);
-
-
- public void FetchMetadata(int client, AchievementMetadataCallback callback,
- any data) {
- if (IsClientAuthorized(client)) {
- this.FetchMetadataByAccountID(GetSteamAccountID(client), callback, data);
- }
- }
-
-
- public native bool StoreMetadataByAccountID(int steamid3, const char[] metadata);
-
-
- public bool StoreMetadata(int client, const char[] metadata) {
- if (IsClientAuthorized(client)) {
- return this.StoreMetadataByAccountID(GetSteamAccountID(client), metadata);
- }
- return false;
- }
-
-
- public native void ResetByAccountID(int steamid3);
- }
- forward void OnCustomAchievementAwarded(int client, CustomAchievement achievement);
- public SharedPlugin __pl_custom_achievements = {
- name = "custom-achievements",
- file = "custom_achievements.smx",
- #if defined REQUIRE_PLUGIN
- required = 1,
- #else
- required = 0,
- #endif
- };
- #if !defined REQUIRE_PLUGIN
- public __pl_custom_achievements_SetNTVOptional() {
- MarkNativeAsOptional("CustomAchievement.CustomAchievement");
-
- MarkNativeAsOptional("CustomAchievement.AwardToAccountID");
- MarkNativeAsOptional("CustomAchievement.Award");
-
- MarkNativeAsOptional("CustomAchievement.FetchMetadataByAccountID");
- MarkNativeAsOptional("CustomAchievement.FetchMetadata");
-
- MarkNativeAsOptional("CustomAchievement.StoreMetadataByAccountID");
- MarkNativeAsOptional("CustomAchievement.StoreMetadata");
-
- MarkNativeAsOptional("CustomAchievement.ResetByAccountID");
- }
- #endif
|