Messagerie


Limité un nombre de partie dans le temps

toutoune95800
mercredi 7 septembre 2016 à 14:08
Bonjour à tous,

Grâce à une variable globale, je souhaite que mon soit limité à 3 parties par jour si la variable est égale à 0 et que le jeux ne soit pas limité dans le temps si la variable est égale à 1.

Comment puis-je faire ça ? Je parle bien entendu du "temps", les 24 h ! Il y a t-il un objet pour ça ? Est-ce l'objet "Timer" ? Sinon, pouvons-nous récupérer l'heure du système (ou la date ) ?

Merci de vos réponses.

Eagle4
241 messages
Fusion 2.5 Dev
Fusion 2.5+ Exporteur Android Exporteur HTML5 Exporteur iOS
mercredi 7 septembre 2016 à 14:38
Si le joueur n'a pas accès à l'édition de tes fichiers (comme sur mobile, console ou à peu près HTML5), tu peux utiliser les fichiers ini et faire ceci :

- début de l'application -> On vérifie la date au format texte en passant par l'objet "date et heure"
- Si pas identique -> enregistrer nbpartie=0 + enregistrer la nouvelle date="02/05/2016" par exemple

- Pas de lancement possible si nbpartie est égal ou supérieur à 3
- A chaque lancement d'une partie, ajouter +1 à nbpartie dans ton fichier INI

La faille ici est que tu vérifie la date de façon locale. Le joueur peut donc tricher s'il change la date de son appareil.
Tu peux combler la faille en récupérant la date sur un serveur, mais cela oblige une connexion Internet pour jouer à ton jeu ;)

Je te laisse un petit exemple..
Pièces jointes
Cyberclic
664 messages
Fusion 2.5 Dev
Exporteur iOS Exporteur Android Exporteur HTML5
mercredi 7 septembre 2016 à 19:06
Pour plus de sécurité, je ne stockerais pas la date dans le fichier ini, mais plutôt son hash MD5 couplé à un grain de sable (un mot bidon). Exemple 02/05/2016/Tartempion
Ensuite, il suffit de lire le Hash MD5 de la date système ou serveur en cours + le mot Tartempion et de le comparer au hash du fichier INI.
Ainsi, impossible de tricher en éditant le fichier ini. C'est pas si compliqué d'y accéder. Sur iOS il faut effectivement le jailbreak. Mais sur Android, un simple gestionnaire de fichier, téléchargé sur le Play Store sur un appareil pas forcement rooté, et c'est bon.
Eagle4
241 messages
Fusion 2.5 Dev
Fusion 2.5+ Exporteur Android Exporteur HTML5 Exporteur iOS
mercredi 7 septembre 2016 à 22:18
Effectivement il faut sécuriser les deux côtés (récupération d'une date "sûre" et crypter le fichier ini) la méthode que cuberclic a expliqué est excellente, c'est de cette façon que j'ai sécurisé les scores en ligne de Luor (a ce jour, pas eu un seul piratage)

Une solution supplémentaire aussi pour rendre encore plus difficile l'édition des données c'est de stocker la date cryptée dans un objet Array plutôt que ini (encore plus chiant à éditer ^^)
toutoune95800
jeudi 8 septembre 2016 à 07:43
Merci à vous pour ces explications. Effectivement, il faut vraiment sécurisé le fichier ! Vous venez de me donner des méthodes auxquelles je n'avais pas pensé !
Merci encore !
Utilisateurs en ligne
  • Aucun utilisateur en ligne
  • 36 visiteurs au total

Derniers messages