Godot 4 · GDScript
Recompenses
Recompenses reclamables (quotidiennes, hebdomadaires, par evenement). Vous les definissez dans votre panneau et le joueur les reclame depuis le jeu.
Verifier le Statut
Verifiez quelles recompenses existent et lesquelles sont reclamables maintenant :
Gamdato.rewards_status_loaded.connect(_on_rewards)
Gamdato.get_rewards_status()
func _on_rewards(recompenses : Array, _server_now : String) -> void:
for r in recompenses:
if r.claimable_now:
Gamdato.claim_reward(r.key)# rewards: Array, each reward you defined in the panel:
{
"key": String, # pass this to claim_reward()
"display_name": String,
"cadence_type": String, # e.g. "daily", "weekly"
"claimable_now": bool,
"next_claimable_at": String, # ISO date, or null
"payload_keys": Array
}Reclamer
Reclamez par cle et ecoutez reward_claimed. Securise contre les double-clics : n'accorde jamais deux fois.
Gamdato.reward_claimed.connect(_on_claim)
func _on_claim(ok : bool, cle : String, _donnees : Dictionary, erreur : String) -> void:
if ok : print("Recompense %s reclamee !" % cle)
else : print("Non disponible : %s" % erreur)# reward_claimed(success: bool, reward_key: String, payload: Dictionary, error: String)
# payload = the reward content you defined in the panel, e.g.:
{ "coins": 100, "skin": "gold" }
# on failure, error explains why: "cooldown", "already_claimed_period", ...