Page 1 sur 1

[DB - AL] Une récompense toute les 24h

Publié : 20 Mai 2018 12:26
par Marin
Bonjour, je souhaite faire gagner a mon joueur une récompense toute les 24h. Voici donc mon script :

Code : Tout sélectionner

		Hour = System.DateTime.Now.Hour;

		if(Hour >= PlayerPrefs.GetInt("Gift"))
		{
			Debug.Log("Free GIFT !!");
			PlayerPrefs.SetInt("Gift", 24)
		}
Le problème (je comprend pourquoi mais je ne sais comment je pourrais faire) est que le joueur reçoit la recompense uniquement si il joue a mon jeux a 24 heur (ce qui n'est en réalité pas possible :-D ). Mais voila j'aimerais que mon joueur récupère sa récompense après 24h et non à 24h :-/

Je vous remercie d'avance pour vos réponses, je galère depuis un petit moment sur la question et je bloque vraiment :super:

Re: [DB - AL] Une récompense toute les 24h

Publié : 20 Mai 2018 12:59
par Marin
Bon okay je me sens un peu con là mais j'ai pris un peu de recule et je me suis suis dit que j'allais utiliser le DateTime.Now.Day plutôt que le DateTime.Now.Hour :

Code : Tout sélectionner

	Day = System.DateTime.Now.Day;

		if(Day != PlayerPrefs.GetInt("Gift"))
		{
			Debug.Log("Free GIFT !!");
			PlayerPrefs.SetInt("Gift", Day);
		}


Tout simplement ;-)

Re: [DB - AL] Une récompense toute les 24h

Publié : 23 Mai 2018 11:02
par Marin
Il me reste quand même un problème, la récompense apparaît tout les jour à 00.00 puis je remédier à ça ?

Et si je veu faire un bouton qui diminue le temps de la récompense, je m'explique, le joueur regarde une pub et là au lieux de recevoir le cadeau dans 24h il le reçois dans 12h... Je sais déjà comment faire une pub à récompense mais je ne sais pas comment je peu avencer le temps où le joueur reçois le cadeau ?

Re: [DB - AL] Une récompense toute les 24h

Publié : 23 Mai 2018 11:29
par boubouk50
Épluche un peu System.Date
Par exemple, il y a Substract qui te permet de savoir le temps écoulé entre deux DateTime.
Il y a surement d'autres méthodes utiles pour toi.

Re: [DB - AL] Une récompense toute les 24h

Publié : 23 Mai 2018 14:27
par Wamoga
ca c'est une méthode qui va permettre de tricher avec la date du téléphone ! XD


pour avancer le temps met tout simplement un bool que tu active au clic d'un bouton ( ou plutot quand la video est lue a 100% sinon encore une fois il y'a des méthode pour passes outre sans voir la pub et je ne sais pas si ca implique que la pub est rémunérée ou non) et ensuite en fonction du bool quand tu arrive dans le menu tu check le bool la date et si la récompense est déja prise et en fonction du bool tu time a 24 ou 12

Re: [DB - AL] Une récompense toute les 24h

Publié : 23 Mai 2018 16:36
par Marin
Ah.. Yes je vais essayer et aussi pour le fait que l'on puisse tricher il y a t'il une méthode pour remédier a ça ?

Re: [DB - AL] Une récompense toute les 24h

Publié : 28 Mai 2018 17:47
par Autodidactelife
Bonjour !!

Pour ma part j'aurais fais comme ça, mais je pense qu'il y à mieux :/

- J'aurais noter l'heure unix à laquelle le cadeau à était pris. (L'heure en milliseconde écouler depuis 1970)
- J'aurais fais une simple division pour savoir le nombre de jour et voir si le nombre de jours actuel est supérieur à celui quand on l'avait pris.

On peut bien sûr tricher facilement en changeant la date donc tu peux aussi donner le cadeau uniquement avec une connexion internet, ainsi tu visites ton propre site pour récupérer le temps UNIX, bien qu'il soit encore facile de tricher. (Mais faut un minimum de connaissance).

Sache qu'il n'est toutes façons pas possible de ne pas pouvoir tricher, quelque sois le jeu, quelque sois la façon de cacher ces variables, la façon de faire quoi que ce sois nous pouvons TOUT modifier. Il y à des façons qui rend plus difficile que d'autre, j'assume que changer juste l'heure est à la porter de n'importe qui alors que détourner une URL est déjà plus complexe ;)

Cordilalement !

Re: [DB - AL] Une récompense toute les 24h

Publié : 29 Mai 2018 09:07
par boubouk50
Quand bien même, il faudrait constamment changer la date pour jouer.
Je stockerai toujours quelque part la date la plus avancée récupérée, et si cette date vient à revenir en arrière, alors il y a eu changement de date, donc triche.

Re: [DB - AL] Une récompense toute les 24h

Publié : 29 Mai 2018 16:37
par Autodidactelife
boubouk50 a écrit :
29 Mai 2018 09:07
Quand bien même, il faudrait constamment changer la date pour jouer.
Je stockerai toujours quelque part la date la plus avancée récupérée, et si cette date vient à revenir en arrière, alors il y a eu changement de date, donc triche.
Vérifier simplement si il y à 24h de plus de la dernière prise suffit à faire a la fois la vérification du passer et a la fois l'éligibilité de la personne à avoir le cadeau ^^

Quelque chose comme ça mais en mieux:

Code : Tout sélectionner

// L'ancien temps de prise du cadeau le 27/05/2018 à 00:00:00
int ancienTemps = 1527372000;

//On retourne si oui ou non le cadeau à était pris (en cas d'affichage UI)
public bool getGift() {
    //On récupère le temps unix actuel:
    int unixTimestamp = (int)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;

    if (tempsSeconde+ 86400 <= unixTimestamp) {
        //On donne le cadeau
        ancienTemps = unixTimestamp ;
        //On dit que c'est bon
        return true;
    }
    // Sinon on dit que ce n'est pas bon
    return false;
}
► Afficher le texte