- Trigger API Reference\DCEI Functions\Service
- GetTranslationText
- SetTranslationText
- IsAdsReady
- ShowAds
- IsOnline
- IsDev
- IsGooglePlayGamesOnPc
- GetSaveDataHistory
- ResetSavedMapDataByIndex
- GetMail
- DeleteMail
- DeleteUserAccount
- AreNotificationsEnabled
- OpenNotificationSettings
- ScheduleNotification
- CancelNotification
- GetLastNotificationId
- ShowSendSMS
- RestartApplication
- QuitApplication
- SetResolution
- GetCurrentResolution
- GetSupportedResolutions
- OpenUrl
- ShareText
- RequestAppStoreReview
- RequestInAppReview
- GetServerTime
- GetServerData
- CallServerFunction
- GetRemoteConfigValue
- GetUserId
- GetUserName
- GetUserTag
- GetReferralCode
- UseReferralCode
- GenerateDeepLink
- TriggerAddDeepLinkEvent
- WildCastleCreateGuild
- WildCastleLeaveGuild
- WildCastlePullGuild
- WildCastleSearchGuild
- WildCastleApplyForGuild
- WildCastlePullGuildApplicants
- WildCastleResponseToJoinGuild
- WildCastleKickOutGuildMember
- WildCastleUpdateGuildSettings
- WildCastleUpdateGuildBadge
- WildCastleUpdatePlayerBadge
- WildCastlePostContribution
- WildCastlePromoteGuildMember
- WildCastleDemoteGuildMember
- WildCastleUpdateGuildSkill
- WildCastlePullMessages
- WildCastleClaimPuzzleChest
- WildCastleSendItemsToPlayer
- RegisterWildCastleCreateGuildCallback
- RegisterWildCastleClaimPuzzleChestCallback
- RegisterWildCastleSendItemsToPlayerCallback
- StandaloneGetItemInventory
- StandaloneGetUserItemInventory
- WildCastlePostRequestItemMessage
- WildCastlePostGuildChatMessage
- StandalonePostChatMessage
- StandalonePullChatMessages
- StandaloneRegisterOnReceiveMessageCallback
- GetLeaderBoardScore
- GetLeaderBoardScoreList
- GetLeaderBoardSurroundingUsers
- GetLeaderBoardUserScores
- InitializeInAppPurchaseWithProductId
- InitializeInAppPurchaseWithProductData
- PurchaseIapProduct
- GetIapProductLocalizedPrice
- PostLeaderBoardScore
- SetUserName
Trigger API Reference\DCEI Functions\Service
string GetTranslationText(string key, Dictionary<string, object> parameters)
string GetTranslationText(string key, Dictionary<string, object> parameters)
Description
Returns a localized string from localization data using the specified key. Additional parameters can be used for replacement text.
You can change what language is used in the editor in Play Settings.
Parameters
- string
key
the localization key to use. - Dictionary<string, object>
parameters
(optional) a table of replacement text keys.
Example Usage
-- key: "data/hero/ice_mage/skill01/description"
-- english text: "Slows nearby enemies by {[x]} for {[y]} seconds."
-- logged text: "Slows nearby enemies by 50% for 3 seconds."
local text = DCEI.GetTranslationText("data/hero/ice_mage/skill01/description", { x = "50%", y = "3" })
DCEI.LogMessage(text)
void SetTranslationText(string key, string text)
void SetTranslationText(string key, string text)
Description
Manually inputs translation text into the given key. You can put {[]}
around variables in your text to allow you to easily replace them when using GetTranslationText
.
Parameters
- string
key
the localization key to use. - string
text
the text that is inserted into the key.
Example Usage
DCEI.SetTranslationText("data/hero/ice_mage/skill01/description", "Slows nearby enemies by {[x]} for {[y]} seconds.")
local text = DCEI.GetTranslationText("data/hero/ice_mage/skill01/description", { x = "50%", y = "3" })
-- text: "Slows nearby enemies by 50% for 3 seconds."
DCEI.LogMessage(text)
Related
bool IsAdsReady()
bool IsAdsReady()
Description
Returns true if ads are ready.
Example Usage
local ads_ready = DCEI.IsAdsReady()
if ads_ready then
DCEI.ShowAds(ResolveAds)
end
void ShowAds(TypedCallback<bool> callback, bool fallbackToUnityAds = False)
void ShowAds(TypedCallback<bool> callback, bool fallbackToUnityAds = False)
Description
Attempts to show ads in published mobile and web games. If successful, the first parameter of the callback function will return true. This can be simulated in Play Settings.
Parameters
- TypedCallback<bool>
callback
this callback function is called once ShowAds() has resolved. If watching ads was successful, the first parameter of this callback function will return true. - bool
fallbackToUnityAds
if true, uses unity ads as a fallback.
Callback Parameters
- Boolean
success
Example Usage
function ResolveAds(success)
if success then
-- deliver ad rewards to player
else
-- show error message for player
end
end
DCEI.ShowAds(ResolveAds)
bool IsOnline()
bool IsOnline()
Description
Returns true if the user currently has internet access. This can be simulated in Play Settings.
Example Usage
local is_online = DCEI.IsOnline()
if is_online then
DCEI.LogMessage(tostring(is_online))
end
bool IsDev()
bool IsDev()
Description
Returns true if the user currently has developer access. This can be simulated in Play Settings.
Example Usage
local is_dev = DCEI.IsDev()
if is_dev then
DCEI.LogMessage(tostring(is_dev))
end
bool IsGooglePlayGamesOnPc()
bool IsGooglePlayGamesOnPc()
Description
Returns true if the game is played through Google Play Games on PC platform.
Example Usage
if DCEI.IsGooglePlayGamesOnPc() then
DCEI.LogMessage("AY YO! I'm playing Google Play Games on PC over 'ere!")
end
void GetSaveDataHistory(int count, TypedCallback<object> callback)
void GetSaveDataHistory(int count, TypedCallback<object> callback)
Description
Attempts to fetch the player's save history. If successful, the callback will return with the save history as a table as its first parameter.
Parameters
- int
count
the number of save data instances to include in the callback table, with the most recent saves returned first. Max 10. - TypedCallback<object>
callback
the callback function to handle the returned save data instances.
Callback Parameters
- Object
result
Example Usage
local function ResultCallback(result)
if result then
for _, save in ipairs(result.saves) do
DCEI.LogMessage("Save data timestamp:" .. save.time)
end
end
end
DCEI.Settings.GetSaveDataHistory(count, ResultCallback)
void ResetSavedMapDataByIndex(int index)
void ResetSavedMapDataByIndex(int index)
Description
Attempts to reset the saved map data at the given index.
Parameters
- int
index
the saved map data index to reset.
Example Usage
function LoadBackupSaveDataPriority()
if not loading_backup_savedata then
loading_backup_savedata = true
local callback_func = function(result)
if result then
local index = 1
local max_wave = 0
if result.saves then
for id, entry in ipairs(result.saves) do
-- DCEI.LogMessage("Save data time:"..entry.time)
if entry.save and entry.save.max_wave then
-- DCEI.LogMessage("Max wave:"..entry.save.max_wave)
if entry.save.max_wave > max_wave then
index = id
max_wave = entry.save.max_wave
end
end
end
if max_wave > 0 then
-- DCEI.LogMessage("Restore wave:"..max_wave.." id: "..index)
DCEI.TriggerAddTimerEventElapsed(function()
DCEI.ResetSavedMapDataByIndex(index)
end, 0, true, true)
end
end
end
end
DCEI.GetSaveDataHistory(10, callback_func)
end
end
void GetMail(TypedCallback<object> callback, bool forceFetch)
void GetMail(TypedCallback<object> callback, bool forceFetch)
Description
Attempts to fetch the player's mail. If successful, the callback will return with the save history as a table as its first parameter.
Parameters
- TypedCallback<object>
callback
the callback function to handle the returned mail. - bool
forceFetch
if true, forces a fetch.
Callback Parameters
- Object
result
Example Usage
function MailHandler(result)
--Handle mail
end
DCEI.GetMail(MailHandler, false)
void DeleteMail(int instanceId)
void DeleteMail(int instanceId)
Description
Attempts to delete the mail with the given ID.
Parameters
- int
instanceId
the ID of the mail to delete.
Example Usage
local layout = GMUI.Layout.New({
parent = DCEI.GetUiRootFrame(),
name = "Standard/Button/Button",
})
DCEI.SetOnClickCallback(layout.Button, function()
DCEI.DeleteMail(1)
end)
void DeleteUserAccount(TypedCallback callback)
void DeleteUserAccount(TypedCallback callback)
Description
Intended to be used on iOS to comply with their App Store requirements. Removes all user information and stops the game from being played further.
Parameters
- TypedCallback
callback
the callback is called if deleting the account fails for any reason.
Example Usage
if DCEI.Platform == "IPhonePlayer" then
local button = DCEI.CreateButtonFrame(DCEI.GetUiRootFrame())
DCEI.SetFrameSize(button, 120, 50)
DCEI.SetOnClickCallback(button, function()
DCEI.DeleteUserAccount(function() DCEI.LogMessage("☠️") end)
end)
end
bool AreNotificationsEnabled()
bool AreNotificationsEnabled()
Description
Checks if the user has mobile notifications enabled for this game/app.
Example Usage
local status = DCEI.AreNotificationsEnabled()
if not status then
DCEI.ShowFeedbackMessage("Please enable notifications")
DCEI.OpenNotificationSettings()
end
void OpenNotificationSettings()
void OpenNotificationSettings()
Description
Open users notification settings to prompt them to enable notifications for this app. Used with DCEI.AreNotificationsEnabled()
Example Usage
local status = DCEI.AreNotificationsEnabled()
if not status then
DCEI.ShowFeedbackMessage("Please enable notifications")
DCEI.OpenNotificationSettings()
end
int ScheduleNotification(string title, string body, double timeInSeconds)
int ScheduleNotification(string title, string body, double timeInSeconds)
Description
Schedules a notification and returns the ID of said notification. Only works on mobile.
Parameters
- string
title
the title of the notification. - string
body
the body text of the notification. - double
timeInSeconds
the duration to wait before triggering the notification.
Example Usage
-- Schedule a notification after 2 minutes
local title = "Title"
local body = "Notification"
local timeInSeconds = 120
local id = DCEI.ScheduleNotification(title, body, timeInSeconds)
void CancelNotification(int id)
void CancelNotification(int id)
Description
Cancels a notification from the given id. Only works on mobile.
Parameters
- int
id
the ID of the notification to cancel.
Example Usage
-- Schedule a notification after 2 minutes
local title = "Title"
local body = "Notification"
local timeInSeconds = 120
local id = DCEI.ScheduleNotification(title, body, timeInSeconds)
---
DCEI.CancelNotification(id)
object GetLastNotificationId()
object GetLastNotificationId()
Description
Returns the last notification ID. Only works on mobile.
Example Usage
local last_notif_id = DCEI.GetLastNotificationId()
DCEI.LogMessage(last_notif_id)
void ShowSendSMS(int platform)
void ShowSendSMS(int platform)
Description
Shows the SMS invitation screen. Only works on mobile or web builds.
Parameters
- int
platform
the platform used to send the SMS. Use 1 for Android and 2 for iOS.
Example Usage
local layout = GMUI.Layout.New({
parent = DCEI.GetUiRootFrame(),
name = "Standard/Button/Button",
})
DCEI.SetOnClickCallback(layout.Button, function()
DCEI.ShowSendSMS(1)
end)
void RestartApplication()
void RestartApplication()
Description
Restarts the application. Only works on mobile.
Example Usage
local layout = GMUI.Layout.New({
parent = DCEI.GetUiRootFrame(),
name = "Standard/Button/Button",
})
DCEI.SetOnClickCallback(layout.Button, function()
DCEI.RestartApplication()
end)
void QuitApplication()
void QuitApplication()
Description
Closes the application. Works in the editor, unlike RestartApplication()
.
Example Usage
local layout = GMUI.Layout.New({
parent = DCEI.GetUiRootFrame(),
name = "Standard/Button/Button",
})
DCEI.SetOnClickCallback(layout.Button, function()
DCEI.QuitApplication()
end)
void SetResolution(int width, int height, FullScreenMode mode)
void SetResolution(int width, int height, FullScreenMode mode)
Description
Parameters
- int
width
the width of the desired screen resolution. - int
height
the height of the desired screen resolution. - FullScreenMode
mode
the type of screen mode to set your game to.
SupportsExclusiveFullScreen
,FullScreenWindow
,MaximizedWindow
, andWindowed
.
Example Usage
DCEI.SetResolution(1000, 500, "Windowed")
-- Logs after a timer so the game has time to update.
DCEI.TriggerAddTimerEventElapsed(function()
local resolution = DCEI.GetCurrentResolution()
DCEI.LogMessage("Width: " .. resolution.width)
DCEI.LogMessage("Height: " .. resolution.height)
DCEI.LogMessage("Mode: " .. resolution.mode)
end, 0)
Related
object GetCurrentResolution()
object GetCurrentResolution()
Description
Gets the current screen resolution of the game. Returns a Lua table in the form of {width = int, height = int, mode = string}
.
Example Usage
DCEI.SetResolution(1000, 500, "Windowed")
-- Logs after a timer so the game has time to update.
DCEI.TriggerAddTimerEventElapsed(function()
local resolution = DCEI.GetCurrentResolution()
DCEI.LogMessage("Width: " .. resolution.width)
DCEI.LogMessage("Height: " .. resolution.height)
DCEI.LogMessage("Mode: " .. resolution.mode)
end, 0)
Related
object GetSupportedResolutions()
object GetSupportedResolutions()
Description
Returns a table of supported resolutions. The format of each resolution entry is {{width = 640, height = 480}, {width = 720, height = 400}, etc.}
. If multiple monitors are detected, the function will include the same resolution entry for each supported screen.
For example, {{width = 1760, height = 900}, {width = 1760, height = 900}, {width = 1920, height = 1080}}
indicates support for two monitors with resolutions 1760x900 and one monitor with resolution 1920x1080."
Example Usage
local resolutions = DCEI.GetSupportedResolutions()
-- Print the supported resolutions
for i, resolution in ipairs(resolutions) do
DCEI.LogMessage("Resolution " .. i .. ": " .. resolution.width .. "x" .. resolution.height)
end
void OpenUrl(string url)
void OpenUrl(string url)
Description
Opens a web url in the user's default browser.
Parameters
- string
url
the url to open.
Example Usage
local layout = GMUI.Layout.New({
parent = DCEI.GetUiRootFrame(),
name = "Standard/Button/Button",
})
DCEI.SetOnClickCallback(layout.Button, function()
DCEI.OpenUrl("https://wiki.editor.funovus.com/master/Trigger-API-Reference-DCEI-Functions-Service#openurl-1")
end)
void ShareText(string text)
void ShareText(string text)
Description
Share some text with other applications. It's up to the other applications to decide how to use the shared text.
Parameters
- string
text
the text to share with other apps.
Example Usage
function layout:ShareText()
local text = "Save social media"
local hashtag = "#SuperMediaHero"
local url = "https://www.funovus.com/games/super-media-hero"
local share_text = text .. " " .. tostring(self.code) .. " " .. hashtag .. " " .. url
DCEI.ShareText(share_text)
end
void RequestAppStoreReview()
void RequestAppStoreReview()
Description
Requests an app store review. Only works on iOS devices.
Example Usage
local button_layout = GMUI.Layout.New({
parent = DCEI.GetUiRootFrame(),
name = "Standard/Button/Button",
})
DCEI.SetOnClickCallback(button_layout.Button, function()
DCEI.RequestAppStoreReview()
end)
void RequestInAppReview(Action successCallback, Action failureCallback)
void RequestInAppReview(Action successCallback, Action failureCallback)
Description
Requests an in-app review. Only works on iOS devices.
Parameters
- Action
successCallback
the action that is taken on a successful review. - Action
failureCallback
the action that is taken on a failed review.
Example Usage
local button_layout = GMUI.Layout.New({
parent = DCEI.GetUiRootFrame(),
name = "Standard/Button/Button",
})
DCEI.SetOnClickCallback(button_layout.Button, function()
DCEI.RequestInAppReview(SuccessCallback, FailureCallback)
end)
void GetServerTime(TypedCallback<int> callback)
void GetServerTime(TypedCallback<int> callback)
Description
Attempts to return the server time as the first parameter of a callback function. If it fails, returns 0.
Parameters
- TypedCallback<int>
callback
the callback function that handles the server time.
Callback Parameters
- Int32
time_stamp
Example Usage
local function ResultCallback( time_stamp )
if time_stamp and time_stamp ~= 0 then
-- retrieving server time was successful and time_stamp will be the current unix timestamp
else
-- connection failed/timeout
end
end
DCEI.GetServerTime( ResultCallback )
Note that in editor mode, DCEI.GetServerTime() will always return the local os time, using a delay to simulate network latency.
In production, time_stamp can fail or take some time to return and you must account for these cases (player has no internet or is in airplane mode, most games display a "cannot connect to server" message when an offline player tries to do something that requires internet).
Ideally you only need to successfully call DCEI.GetServerTime() once (or once per day).
Say if a daily rewards calendar resets at midnight PST, that you only need to check again after midnight. For other things just use os time or keep track of in-game time.
void GetServerData(TypedCallback<object> callback)
void GetServerData(TypedCallback<object> callback)
Description
Fetches from the server a list of key/value pairs configured by designers. Its primary use case is to let designers configure which client version is supported and inform users on old versions to upgrade. To configure these values, make changes to a configs git repo (ask engineers to gain access).
Parameters
- TypedCallback<object>
callback
the callback function that handles the returned list of key/value pairs.
Callback Parameters
- Object
result
Example Usage
local function ResultCallback( data )
if data then
-- retrieving server data was successful and `data` will be the server data config table
else
-- connection failed/timeout
end
end
DCEI.GetServerData( ResultCallback )
void CallServerFunction(string name, string request, TypedCallback<object> callback)
void CallServerFunction(string name, string request, TypedCallback<object> callback)
Description
This enables you to call a lua function stored on the server, passing it some data and getting data in return. The primary use case is to combat cheating and hacking especially with PvP game modes. This requires setting up the server script on the backend for an already published game project (like Wild Castle). Most likely, designers would not be utilizing this feature without first discussing the application with the engineering team.
Parameters
- string
name
the name of the Lua script on the server to call - string
request
json encoded data to pass to the server function - TypedCallback<object>
callback
the callback function that handles the returned data
Callback Parameters
- Object
response
Example Usage
https://platform.wildsky.dev/arcade/game/789
local json = require("json")
local text = DCEI.CreateTextFrame(DCEI.GetUiRootFrame())
DCEI.SetTextFrameText(text, "test server function")
local request = json.encode({value = 1})
DCEI.CallServerFunction("IncreaseByOne", request, function(response)
if #response == 0 then
error("IncreaseByOne has failed.")
end
local result = json.decode(response)
DCEI.SetTextFrameText(text, "server result: " .. result.value)
end)
string GetRemoteConfigValue(string name)
string GetRemoteConfigValue(string name)
Description
(Internal) You can configure a set of key/value pairs in Firebase Remote Config and use a new trigger API DCEI.GetRemoteConfigValue(name) to fetch the value. The benefit of using Firebase Remote Config is that it allows you to change the value remotely, set different values for different user groups, and A/B test different values without rebuilding the game. For more use cases, see: https://firebase.google.com/docs/remote-config/use-cases
This new API provides a superset of features compared to GetServerData. We can deprecate GetServerData.
Parameters
- string
name
the name of the remote config value to get
Example Usage
-- Note: Internal use API, look to existing game code base for better example usage, if any.
local value = DCEI.GetRemoteConfigValue("AB_test_gems")
DCEI.LogError(tostring(value))
string GetUserId()
string GetUserId()
Description
Returns the player's internal user ID. This can be simulated in Play Settings.
Example Usage
local user_id = DCEI.GetUserId()
DCEI.LogMessage(user_id)
string GetUserName()
string GetUserName()
Description
Returns the player's username.
Example Usage
local user_name = DCEI.GetUserName()
DCEI.LogMessage(user_name)
string GetUserTag()
string GetUserTag()
Description
Example Usage
local user_tag = DCEI.GetUserTag()
DCEI.LogMessage(user_tag)
void GetReferralCode(TypedCallback<object> callback)
void GetReferralCode(TypedCallback<object> callback)
Description
Get the referral code of the current player. If successful, the callback will be called with a Lua table {code = string, count = number}
where code is the referral code and count is the number of players who have used the referral code. The count value should be persisted in the save data. Rewards should be given the player when the server returned count value is larger than the one in save data.
Parameters
- TypedCallback<object>
callback
the callback function for getting the referral code. If successful, the callback will be called with a Lua table {code = string, count = number} where code is the referral code and count is the number of players who have used the referral code.
Callback Parameters
- Object
result
Example Usage
function AttemptFetchReferralCode()
DCEI.GetReferralCode(function(data)
DCEI.LogMessage("Code:" .. data.code)
DCEI.LogMessage("Count:" .. data.count)
end)
end
void UseReferralCode(string code, TypedCallback<object> callback)
void UseReferralCode(string code, TypedCallback<object> callback)
Description
Use a referral code from another player. If successful, the callback will be called with a Lua table {code = string, count = number}
. The returned referral code should be persisted in save data along with the referral rewards.
Parameters
- string
code
the referral code from another player to use. - TypedCallback<object>
callback
the callback function for getting the referral code. If successful, the callback will be called with a Lua table{code = string, count = number}
where code is the referral code and count is the number of players who have used the referral code.
Callback Parameters
- Object
result
Example Usage
function AttemptFetchReferralCode()
local stored_code
DCEI.GetReferralCode(function(data)
local stored_code = data.code
end)
DCEI.UseReferralCode(stored_code, function(data)
DCEI.LogMessage("Code:" .. data.code)
DCEI.LogMessage("Count:" .. data.count)
end)
end
void GenerateDeepLink(string payload, TypedCallback<string> callback)
void GenerateDeepLink(string payload, TypedCallback<string> callback)
Description
Generates a deep link from the given payload data.
Parameters
- string
payload
the data being used to generate the deep link. - TypedCallback<string>
callback
the callback that will be called with the created deep link url on success, or nil on failure.
Callback Parameters
- String
url
Example Usage
-- Placeholder example
DCEI.GenerateDeepLink("", function(url)
DCEI.LogMessage(url)
end)
void TriggerAddDeepLinkEvent(TypedCallback<string> callback)
void TriggerAddDeepLinkEvent(TypedCallback<string> callback)
Description
If the game is opened via a deep link, the callback will be called with the payload string that's originally used to create the deep link.
Depending on if the game is installed, clicking on a deep link either opens the game or redirects the user to the store page. You can use it to generate invitation links and give rewards to invited players.
Note that deep link APIs only work on mobile devices and require external service setup before use. Ask the engineers if you want to use them in your game.
Parameters
- TypedCallback<string>
callback
the callback that will be called with the payload string that's originally used to create the deep link.
Callback Parameters
- String
payload
Example Usage
-- Placeholder example
DCEI.TriggerAddDeepLinkEvent(function(payload)
DCEI.LogMessage(payload)
end)
void WildCastleCreateGuild(string guildName, TypedCallback<object> callback)
void WildCastleCreateGuild(string guildName, TypedCallback<object> callback)
Description
Create a new guild. Callback parameter returns the guild.
Parameters
- string
guildName
name of the guild to create - TypedCallback<object>
callback
the callback function for when the guild is created
Callback Parameters
- Object
result
Example Usage
DCEI.WildCastleCreateGuild("My new Guild", function(guild)
-- "Guild" parameter contains all guild info
DCEI.LogMessage("Guild Created!)
end)
void WildCastleLeaveGuild(TypedCallback<object> callback)
void WildCastleLeaveGuild(TypedCallback<object> callback)
Description
Causes player to leave their guild.
Parameters
- TypedCallback<object>
callback
the callback function for when the guild is left
Callback Parameters
- Object
result
Example Usage
DCEI.WildCastleLeaveGuild(function()
DCEI.LogMessage("Guild Left!)
end)
void WildCastlePullGuild(TypedCallback<object> callback)
void WildCastlePullGuild(TypedCallback<object> callback)
Description
Pulls player current guild info. Callback parameter returns the guild.
Parameters
- TypedCallback<object>
callback
the callback function for when the API is successful
Callback Parameters
- Object
result
Example Usage
DCEI.WildCastlePullGuild(function(guild)
Core.Util.LogDump(guild)
end)
void WildCastleSearchGuild(string guildNameOrTag, TypedCallback<object> callback)
void WildCastleSearchGuild(string guildNameOrTag, TypedCallback<object> callback)
Description
Searches for a guild; return list of possible results. Callback parameter returns table of guilds.
Parameters
- string
guildNameOrTag
the search term to look for - TypedCallback<object>
callback
the callback function for when the API is successful
Callback Parameters
- Object
result
Example Usage
DCEI.WildCastleSearchGuild("search term", function(results_table)
-- Table of "guild" tables
Core.Util.LogDump(results_table)
end)
void WildCastleApplyForGuild(string guildId, TypedCallback<object> callback)
void WildCastleApplyForGuild(string guildId, TypedCallback<object> callback)
Description
Apply to join a certain guild, then guild leader will have to approve/deny. Callback returns true/false result.
Parameters
- string
guildId
guild to apply to - TypedCallback<object>
callback
the callback function for when the API is successful
Callback Parameters
- Object
result
Example Usage
DCEI.WildCastleApplyForGuild("Guild Name", function(result)
DCEI.LogMessage("API Success!" .. tostring(result))
end)
void WildCastlePullGuildApplicants(TypedCallback<object> callback)
void WildCastlePullGuildApplicants(TypedCallback<object> callback)
Description
Get list of players who have applied to your guild. Callback parameter returns table of members.
Parameters
- TypedCallback<object>
callback
the callback function for when the API is successful
Callback Parameters
- Object
result
Example Usage
DCEI.WildCastlePullGuildApplicants(function(table_of_applicants)
DCEI.LogMessage("API Success!")
end)
void WildCastleResponseToJoinGuild(string targetPlayerUuid, bool accept, TypedCallback<object> callback)
void WildCastleResponseToJoinGuild(string targetPlayerUuid, bool accept, TypedCallback<object> callback)
Description
Accept/deny a request to join your guild from another user. Passes guild result to callback function.
Parameters
- string
targetPlayerUuid
the player ID to accept/deny - bool
accept
true to accept, false to deny the guild join request - TypedCallback<object>
callback
the callback function for when the API is successful
Callback Parameters
- Object
result
Example Usage
-- User ID should be fetched from DCEI.WildCastlePullGuildApplicants; using a string as example
DCEI.WildCastleResponseToJoinGuild("74fffaca-bb1b-4d15-9037-5ff9abca", false, function(guild)
DCEI.LogMessage("API Success!" .. torstring(guild))
end)
void WildCastleKickOutGuildMember(string targetPlayerUuid, TypedCallback<object> callback)
void WildCastleKickOutGuildMember(string targetPlayerUuid, TypedCallback<object> callback)
Description
Kick a member out of the guild. Passes guild result to callback function.
Parameters
- string
targetPlayerUuid
the player ID to kick - TypedCallback<object>
callback
the callback function for when the API is successful
Callback Parameters
- Object
result
Example Usage
-- User ID should be fetched from some other API; using a string as example
DCEI.WildCastleKickOutGuildMember("74fffaca-bb1b-4d15-9037-5ff9abca", function(guild)
DCEI.LogMessage("API Success!" .. tostring(guild))
end)
void WildCastleUpdateGuildSettings(string announcement, int guildJoinType, TypedCallback<object> callback)
void WildCastleUpdateGuildSettings(string announcement, int guildJoinType, TypedCallback<object> callback)
Description
Update your guild settings. Passes guild result to callback function.
Parameters
- string
announcement
the announcement text for the guild - int
guildJoinType
see guildJoinType for more information - TypedCallback<object>
callback
the callback function for when the API is successful
Callback Parameters
- Object
result
Example Usage
-- User ID should be fetched from some other API; using a string as example
DCEI.WildCastleUpdateGuildSettings("Annoucement text", 1, function(guild)
DCEI.LogMessage("API Success!")
end)
void WildCastleUpdateGuildBadge(int background, int pattern, int icon, TypedCallback<object> callback)
void WildCastleUpdateGuildBadge(int background, int pattern, int icon, TypedCallback<object> callback)
Description
Update ther player's guild badge. Passes guild result to callback function.
Parameters
- int
background
the identifier for the background of the guild badge - int
pattern
the identifier for the pattern of the guild badge. - int
icon
the identifier for the icon of the guild badge. - TypedCallback<object>
callback
the callback function for when the API is successful
Callback Parameters
- Object
result
Example Usage
DCEI.WildCastleUpdateGuildBadge(1, 1, 1, function(guild)
DCEI.LogMessage("API Success!")
end)
void WildCastleUpdatePlayerBadge(int background, int pattern, int icon, TypedCallback<object> callback)
void WildCastleUpdatePlayerBadge(int background, int pattern, int icon, TypedCallback<object> callback)
Description
Update player badge. Passes guild result to callback function.
Parameters
- int
background
the identifier for the background of the player badge - int
pattern
the identifier for the pattern of the player badge. - int
icon
the identifier for the icon of the player badge. - TypedCallback<object>
callback
the callback function for when the API is successful
Callback Parameters
- Object
result
Example Usage
DCEI.WildCastleUpdatePlayerBadge(1, 1, 1, function(guild)
DCEI.LogMessage("API Success!")
end)
void WildCastlePostContribution(int contribution, TypedCallback<object> callback)
void WildCastlePostContribution(int contribution, TypedCallback<object> callback)
Description
Post player contribution to the guild board. Passes guild result to callback function.
Parameters
- int
contribution
the amount of contribution that the player has given - TypedCallback<object>
callback
the callback function for when the API is successful
Callback Parameters
- Object
result
Example Usage
DCEI.WildCastlePostContribution(253, function(guild)
DCEI.LogMessage("API Success!")
end)
void WildCastlePromoteGuildMember(string targetPlayerUuid, TypedCallback<object> callback)
void WildCastlePromoteGuildMember(string targetPlayerUuid, TypedCallback<object> callback)
Description
Promote guild member to higher rank. Passes guild result to callback function.
Parameters
- string
targetPlayerUuid
player's ID - TypedCallback<object>
callback
the callback function for when the API is successful
Callback Parameters
- Object
result
Example Usage
-- User ID should be fetched from some other API; using a string as example
DCEI.WildCastlePromoteGuildMember("24324-33fs-34wdsf", function(guild)
DCEI.LogMessage("API Success!")
end)
void WildCastleDemoteGuildMember(string targetPlayerUuid, TypedCallback<object> callback)
void WildCastleDemoteGuildMember(string targetPlayerUuid, TypedCallback<object> callback)
Description
Demote rank of guild member. Passes guild result to callback function.
Parameters
- string
targetPlayerUuid
player's ID - TypedCallback<object>
callback
the callback function for when the API is successful
Callback Parameters
- Object
result
Example Usage
-- User ID should be fetched from some other API; using a string as example
DCEI.WildCastleDemoteGuildMember("24324-33fs-34wdsf", function(guild)
DCEI.LogMessage("API Success!")
end)
void WildCastleUpdateGuildSkill(string key, int level, TypedCallback<object> callback)
void WildCastleUpdateGuildSkill(string key, int level, TypedCallback<object> callback)
Description
Update skill ranking of specified guild. Passes guild result to callback function.
Parameters
- string
key
the name of the guild to update - int
level
skill level to set the guild to - TypedCallback<object>
callback
the callback function for when the API is successful
Callback Parameters
- Object
result
Example Usage
-- User ID should be fetched from some other API; using a string as example
DCEI.WildCastleUpdateGuildSkill("My Guild Name", 254, function(guild)
DCEI.LogMessage("API Success!")
end)
void WildCastlePullMessages(int limit, TypedCallback<object> callback)
void WildCastlePullMessages(int limit, TypedCallback<object> callback)
Description
Pull chat messages for the player's guild. Passes table of messages result to callback function.
Parameters
- int
limit
number of chat messages to pull - TypedCallback<object>
callback
the callback function for when the API is successful
Callback Parameters
- Object
result
Example Usage
DCEI.WildCastlePullMessages(15, function(results_table)
for k, v in pairs (results_table) do
DCEI.LogMessage("Message " .. k .. ":" .. v)
end
end)
void WildCastleClaimPuzzleChest(Dictionary<string, int> items, TypedCallback<object> callback)
void WildCastleClaimPuzzleChest(Dictionary<string, int> items, TypedCallback<object> callback)
Description
Claim a chest puzzle. Passes inventory result to callback function.
Parameters
- Dictionary<string, int>
items
possile puzzle items to unlock - TypedCallback<object>
callback
the callback function for when the API is successful
Callback Parameters
- Object
result
Example Usage
DCEI.WildCastleClaimPuzzleChest({ puzzle1 = 1, puzzle2 = 2}, function(inventory)
for k, v in pairs (inventory) do
DCEI.LogMessage("Puzzle " .. k .. ":" .. v)
end
end)
void WildCastleSendItemsToPlayer(string targetPlayerUuid, Dictionary<string, int> items, TypedCallback<object> callback)
void WildCastleSendItemsToPlayer(string targetPlayerUuid, Dictionary<string, int> items, TypedCallback<object> callback)
Description
Player send items to another player. Passes inventory result to callback function.
Parameters
- string
targetPlayerUuid
player's ID to send the items to - Dictionary<string, int>
items
items to send - TypedCallback<object>
callback
the callback function for when the API is successful
Callback Parameters
- Object
result
Example Usage
-- User ID should be fetched from some other API; using a string as example
DCEI.WildCastleSendItemsToPlayer("24324-33fs-34wdsf", { item1 = 1, item2 = 2}, function(inventory)
DCEI.LogMessage("API Success!")
end)
void RegisterWildCastleCreateGuildCallback(TypedCallback<object> callback)
void RegisterWildCastleCreateGuildCallback(TypedCallback<object> callback)
Description
Register a callback to occur any time a guild is created. Passes guild result to callback function.
Parameters
- TypedCallback<object>
callback
the callback function for when the API is successful
Callback Parameters
- Object
result
Example Usage
DCEI.RegisterWildCastleCreateGuildCallback(function(guild)
DCEI.LogMessage("Guild Created")
end)
void RegisterWildCastleClaimPuzzleChestCallback(TypedCallback<object> callback)
void RegisterWildCastleClaimPuzzleChestCallback(TypedCallback<object> callback)
Description
Register a callback to occur any time a puzzle chest is claimed. Passes inventory result to callback function.
Parameters
- TypedCallback<object>
callback
the callback function for when the API is successful
Callback Parameters
- Object
result
Example Usage
DCEI.RegisterWildCastleClaimPuzzleChestCallback(function(inventory)
DCEI.LogMessage("Puzzle Chest Created")
end)
void RegisterWildCastleSendItemsToPlayerCallback(TypedCallback<object> callback)
void RegisterWildCastleSendItemsToPlayerCallback(TypedCallback<object> callback)
Description
Register a callback to occur any time a player sends items. Passes inventory result to callback function.
Parameters
- TypedCallback<object>
callback
the callback function for when the API is successful
Callback Parameters
- Object
result
Example Usage
DCEI.RegisterWildCastleSendItemsToPlayerCallback(function(inventory)
DCEI.LogMessage("Items Sent!")
end)
void StandaloneGetItemInventory(string key, TypedCallback<object> callback)
void StandaloneGetItemInventory(string key, TypedCallback<object> callback)
Description
Get quantity of a certain item type from players inventory. Passes item result to callback function.
Parameters
- string
key
the key for the type of item to fetch quantity from player's inventory - TypedCallback<object>
callback
the callback function for when the API is successful
Callback Parameters
- Object
result
Example Usage
DCEI.StandaloneGetItemInventory("item_key", function(item)
DCEI.LogMessage("Quantity: " .. tostring(item))
end)
void StandaloneGetUserItemInventory(TypedCallback<object> callback)
void StandaloneGetUserItemInventory(TypedCallback<object> callback)
Description
Get player's complete inventory. Passes inventory result to callback function.
Parameters
- TypedCallback<object>
callback
the callback function for when the API is successful
Callback Parameters
- Object
result
Example Usage
DCEI.StandaloneGetUserItemInventory(function(inventory_table)
for k, v in pairs(inventory_table) do
DCEI.LogMessage("Item " .. k .. " quantity: " .. v)
end
end)
void WildCastlePostRequestItemMessage(string key, int value, int limit, TypedCallback<object> callback)
void WildCastlePostRequestItemMessage(string key, int value, int limit, TypedCallback<object> callback)
Description
Post a message to the players guild requesting an item. Passes table of messages result to callback function.
Parameters
- string
key
key for item type to request - int
value
number of items to ask for - int
limit
maximum amount to recieve - TypedCallback<object>
callback
the callback function for when the API is successful
Callback Parameters
- Object
result
Example Usage
DCEI.WildCastlePostRequestItemMessage("item1", 6, 10, function()
DCEI.LogMessage("API Success!")
end)
void WildCastlePostGuildChatMessage(string content, TypedCallback<object> callback)
void WildCastlePostGuildChatMessage(string content, TypedCallback<object> callback)
Description
Send a player message to the player's guild chat.
Parameters
- string
content
message content to send - TypedCallback<object>
callback
the callback function for when the API is successful
Callback Parameters
- Object
result
Example Usage
DCEI.WildCastlePostGuildChatMessage("Hey guys, new to the guild!", function()
DCEI.LogMessage("API Success!")
end)
void StandalonePostChatMessage(string targetPlayerUuid, string content, TypedCallback<object> callback)
void StandalonePostChatMessage(string targetPlayerUuid, string content, TypedCallback<object> callback)
Description
Send a player message directly to another player
Parameters
- string
targetPlayerUuid
player's ID to send the message to - string
content
message content to send - TypedCallback<object>
callback
the callback function for when the API is successful
Callback Parameters
- Object
result
Example Usage
-- User ID should be fetched from some other API; using a string as example
local user_id = "3423sa-324aa-3787gg"
DCEI.StandalonePostChatMessage(user_id, "Hello friend!", function()
DCEI.LogMessage("API Success!")
end)
void StandalonePullChatMessages(string targetPlayerUuid, int limit, TypedCallback<object> callback)
void StandalonePullChatMessages(string targetPlayerUuid, int limit, TypedCallback<object> callback)
Description
Pull player chat messages (direct messages) returned as a lua table of messages.
Parameters
- string
targetPlayerUuid
player's ID to get the messages for - int
limit
number of chat messages to pull - TypedCallback<object>
callback
the callback function for when the API is successful
Callback Parameters
- Object
result
Example Usage
-- User ID should be fetched from some other API; using a string as example
local user_id = "3423sa-324aa-3787gg"
DCEI.StandalonePullChatMessages(user_id, 15, function(results_table)
for k, v in pairs (results_table) do
DCEI.LogMessage("Message " .. k .. ":" .. v)
end
end)
void StandaloneRegisterOnReceiveMessageCallback(TypedCallback<object> callback)
void StandaloneRegisterOnReceiveMessageCallback(TypedCallback<object> callback)
Description
Register a callback to run when the player recieves a message.
Parameters
- TypedCallback<object>
callback
the callback function for when the API is successful
Callback Parameters
- Object
result
Example Usage
DCEI.StandaloneRegisterOnReceiveMessageCallback(function()
DCEI.LogMessage("Message received")
end)
void GetLeaderBoardScore(string type, TypedCallback<object> callback)
void GetLeaderBoardScore(string type, TypedCallback<object> callback)
Description
Attempts to fetch the leaderboard score for the player as the first parameter in the callback function.
Parameters
- string
type
the leaderboard score to fetch. - TypedCallback<object>
callback
the callback function to handle the score.
Callback Parameters
- Object
result
Example Usage
DCEI.GetLeaderBoardScore("type1", function(result)
DCEI.LogMessage(string.format("Group: %i\nPayload: %s\nRank: %i\nScore: %i,\nUUID: %s\n", result.group, result.payload, result.rank, result.score, result.uuid) .. os.date("%x", result.time))
end)
void GetLeaderBoardScoreList(string type, int skip, int limit, TypedCallback<object> callback)
void GetLeaderBoardScoreList(string type, int skip, int limit, TypedCallback<object> callback)
Description
Attempts to fetch the leaderboard score list as the first parameter in the callback function, from the given parameters.
Parameters
- string
type
the leaderboard score to fetch. - int
skip
the number of entries to skip. - int
limit
the number of entries to return after the skip. - TypedCallback<object>
callback
the callback function to handle the score list.
Callback Parameters
- Object
result
Example Usage
local my_record
DCEI.GetLeaderBoardScore("type1", function(result)
my_record = result
end)
-- Results will start at the previous multiple of 10.
local skip = math.floor((my_record.rank - 1) / 10) * 10
-- Obtain the next 10 results.
local limit = 10;
DCEI.GetLeaderBoardScoreList("type1", skip, limit, function(result)
local text = string.format("Group %s\n", GetGroupName(result.group))
for _, user in ipairs(result.users) do
-- Highlight myself.
if user.uuid == myid then
text = text .. "<color=red>" .. Format(user) .. "</color>".. "\n"
else
text = text .. Format(user) .. "\n"
end
end
DCEI.LogMessage(text)
end)
function Format(record)
return string.format("Rank %d, Score %f, User %s, %s", record.rank, record.score, record.uuid, record.payload)
end
void GetLeaderBoardSurroundingUsers(string type, int count, TypedCallback<object> callback)
void GetLeaderBoardSurroundingUsers(string type, int count, TypedCallback<object> callback)
Description
Attempts to fetch the leaderboard scores for the current player and the users surrounding them, as the first parameter of the callback function.
Parameters
- string
type
the leaderboard to fetch from. - int
count
the number of users to return, including the player themselves. - TypedCallback<object>
callback
the callback function to handle the score list.
Callback Parameters
- Object
result
Example Usage
local my_record
DCEI.GetLeaderBoardScore("type1", function(result)
my_record = result
end)
-- Results will start at the previous multiple of 10.
local skip = math.floor((my_record.rank - 1) / 10) * 10
-- Obtain the next 10 results.
local limit = 10;
DCEI.GetLeaderBoardSurroundingUsers("type1", 3, function(result)
local text = string.format("Group %s\n", GetGroupName(result.group))
for _, user in ipairs(result.users) do
-- Highlight myself.
if user.uuid == myid then
text = text .. "<color=red>" .. Format(user) .. "</color>".. "\n"
else
text = text .. Format(user) .. "\n"
end
end
DCEI.LogMessage(text)
end)
function Format(record)
return string.format("Rank %d, Score %f, User %s, %s", record.rank, record.score, record.uuid, record.payload)
end
void GetLeaderBoardUserScores(string type, List<string> uuids, TypedCallback<object> callback)
void GetLeaderBoardUserScores(string type, List<string> uuids, TypedCallback<object> callback)
Description
Returns leader board info for a list of users. Leader board entries returned by leader board APIs now have two additional fields: tag and name.
Parameters
- string
type
the leaderboard to fetch from. - List<string>
uuids
players' uuids - TypedCallback<object>
callback
the callback function to handle the score list.
Callback Parameters
- Object
result
Example Usage
local function ResultCallback(result)
if result then
-- update player's data, only when player has network
local self_data = player.race_event.players[1]
self_data.cur_score = wave.data.GetMax()
-- fake some data
-- self_data.cur_score = self_data.cur_score + math.random(30, 40)
for n, user in ipairs(result.users) do
for i = 2, player_count do
local other_player = player.race_event.players[i]
if other_player.uuid == user.uuid then
other_player.cur_score = math.floor(user.score)
-- fake some data
-- other_player.cur_score = other_player.cur_score + math.random(20, 30)
break
end
end
end
local temp_list = {}
local start_rank = 0
local finish_num = 0
local total_progress = 0
for i = 1, player_count do
local player_data = player.race_event.players[i]
if player_data.finish then
start_rank = start_rank + 1
finish_num = finish_num + 1
else
local progress_increment = player_data.cur_score - player_data.prev_score
local cur_progress = player_data.progress + progress_increment
if player.race_event.team_event then
total_progress = total_progress + cur_progress
else
if cur_progress >= RACE_EVENT_TOTAL_PROGRESS then
cur_progress = RACE_EVENT_TOTAL_PROGRESS
player_data.finish = true
finish_num = finish_num + 1
end
end
local temp_data = {
id = i,
progress = cur_progress
}
table.insert(temp_list, temp_data)
end
end
if #temp_list > 0 then
local function sort_by_progress(a, b)
if a.progress == b.progress then
return a.id < b.id
else
return a.progress > b.progress
end
end
table.sort(temp_list, sort_by_progress)
for i = 1, #temp_list do
local id = temp_list[i].id
player.race_event.players[id].rank = start_rank + i
end
end
if player.race_event.team_event then
player.race_event.total_progress = total_progress
if total_progress >= TEAM_EVENT_TOTAL_PROGRESS then
player.race_event.event_set = true
if self_data.rank <= 3 then
player.race_event.rank_reward = self_data.rank
end
end
else
if self_data.finish and self_data.rank <= 3 then
player.race_event.rank_reward = self_data.rank
player.race_event.event_set = true
end
if finish_num >= 3 then
player.race_event.event_set = true
end
end
Bank:CommitRaceEvent()
end
ui.race_event_banner.fetching = false
end
DCEI.LogMessage("Fetching Race event data")
DCEI.GetLeaderBoardUserScores("default", uuid_list, ResultCallback)
void InitializeInAppPurchaseWithProductId(TypedCallback<string> purchaseCallback, List<string> productIds, TypedCallback<bool> initializationCallback = default)
void InitializeInAppPurchaseWithProductId(TypedCallback<string> purchaseCallback, List<string> productIds, TypedCallback<bool> initializationCallback = default)
Description
Initializes an in-app purchase. This will pass the product IDs to both callback functions.
Parameters
- TypedCallback<string>
purchaseCallback
the callback function on a successful purchase. - List<string>
productIds
a table containing the in-app product IDs. - TypedCallback<bool>
initializationCallback
the callback function for initialization.
Callback Parameters
- String
product_id
- Boolean
success
Example Usage
function PurchaseCallback(product_id)
-- Handle successful purchase
end
function InitCallback(success)
-- Handle initialization completion
end
local product_ids = {"prod_1", "prod_2"}
DCEI.InitializeInAppPurchaseWithProductId(PurchaseCallback, product_ids, InitCallback)
void InitializeInAppPurchaseWithProductData(TypedCallback<string> purchaseCallback, CustomIapProductData customIapProductData, TypedCallback<bool> initializationCallback = default)
void InitializeInAppPurchaseWithProductData(TypedCallback<string> purchaseCallback, CustomIapProductData customIapProductData, TypedCallback<bool> initializationCallback = default)
Description
Initializes an in-app purchase. This will pass the product's ID to both callback functions.
Parameters
- TypedCallback<string>
purchaseCallback
the callback function on a successful purchase. - CustomIapProductData
customIapProductData
the custom in-app product data to be purchased. - TypedCallback<bool>
initializationCallback
the callback function for initialization.
Callback Parameters
- String
product_id
- Boolean
success
Example Usage
function PurchaseCallback(product_id)
-- Handle successful purchase
end
function InitCallback(success)
-- Handle initialization completion
end
local product_list = DCEI.CreateCustomIapProductData()
DCEI.InitializeInAppPurchaseWithProductData(PurchaseCallback, product_list, InitCallback)
void PurchaseIapProduct(string productId)
void PurchaseIapProduct(string productId)
Description
Begin the purchase of an in-app product. If successful, it will call the InitializeInAppPurchase
from DCEI.InitializeInAppPurchase()
with the product id as the first parameter. Typically used in conjunction with the IAP Shop Mod.
Parameters
- string
productId
the ID of the product to be purchased.
Example Usage
local function AttemptAnyItemPurchase(product_id, on_success)
-- Typically, we first determine if the store purchase is real money or in-game currency
if in_game_money then
-- This would contain separate logic for handing purchases with in-game currency (gold, gems)
-- As this doesn't need to communicate with vendor (iOS store, google play store)
else
-- mark purchase type as IAP
-- purchase isn't logged here as it can fail during the DCEI.PurchaseIapProduct process
IS_PURCHASE_IAP = true
-- standard IAP flow
if Util.IsPlayingEditorMode() then
-- simulate purchase in editor
Shop.OnAnyItemPurchase(product_id)
else
DCEI.PurchaseIapProduct(product_id)
end
end
-- DEBUG
DCEI.LogWarning("> on attempt purchase [ " .. tostring(product_id) .. "]")
end
-- INITIALIZE
local function InitializeShop()
-- Initializing the shop, we us the above `AttemptAnyItemPurchase` as the `on_purchase_attempt_callback` parameter
Shop.InitializeIAP({
on_purchase_attempt_callback = AttemptAnyItemPurchase,
on_purchase_success_callback = OnAnyItemPurchase,
product_list = product_list,
currency_list = currency_list,
rows_to_load_instantly = 3,
})
end
string GetIapProductLocalizedPrice(string productId)
string GetIapProductLocalizedPrice(string productId)
Description
Returns the in-app product's localized price, given its ID.
Parameters
- string
productId
the ID of the product to return the localized price of.
Example Usage
local localized_price = DCEI.GetIapProductLocalizedPrice(product_id)
DCEI.LogMessage(localized_price)
void PostLeaderBoardScore(string type, double score, string payload, int spentGems, TypedCallback<object> callback)
void PostLeaderBoardScore(string type, double score, string payload, int spentGems, TypedCallback<object> callback)
Description
Attempts to post the player's score to the given leaderboard.
Parameters
- string
type
the leaderboard to post to. - double
score
the score to post. - string
payload
any additional information. - int
spentGems
the amount of gems spent as part of an anti-cheat measure. - TypedCallback<object>
callback
the callback function that handles a return. Passes the user's leaderboard score as per GetLeaderBoardScore as a parameter.
Callback Parameters
- Object
result
Example Usage
local my_score = math.random(1, 100)
local my_record
DCEI.PostLeaderBoardScore("type1", my_score, "I'm here", 0, function(result)
my_record = result
end)
void SetUserName(string name, TypedCallback<int> callback)
void SetUserName(string name, TypedCallback<int> callback)
Description
Attempts to set a player's username.
Parameters
- string
name
the new username to assign to the player. - TypedCallback<int>
callback
the callback function that is run after the name is changed. Passes the number of times the player has changed their username as a parameter.
Callback Parameters
- Int32
rename_count
Example Usage
function OnMapStart()
DCEI.SetUserName("Username", function(result)
local user_name = DCEI.GetUserName()
DCEI.LogMessage(user_name)
DCEI.LogMessage(result)
end)
end