Touches d'Accès
Ce code vous permet de distribuer les clés d'accès à votre jeu individuellement. Je recommande son utilisation uniquement pour les versions de démonstration, les tests, l'accès anticipé et autres situations dans lesquelles le nombre de copies à distribuer est faible. Vous pouvez toujours définir des limites pour chaque accès à une clé, et vous pouvez créer des clés "premium", etc.
Les Instructions
Je recommande que, avant d'utiliser le script, l'utilisateur ait une connaissance minimale de Ruby. Lorsque vous installez le code dans votre projet, il vous demandera d'inclure un fichier dans le même dossier que l'exécutable pour démarrer le jeu. Ce fichier est votre clé d'accès. Vous pouvez créer ce fichier dans n’importe quel éditeur de texte, mais je vous recommande de l’enregistrer au format .rvdata2 en suivant ce modèle:
1
2
3
4
5
| # Thank you for purchasing your copy of {GAME NAME}!
# Here is your access key:
key = {
:accKey => 106839
} |
De toute évidence, chaque fichier aura une clé unique vérifiée dans le code, mais le nom de tous les fichiers doit être identique. Dans le script, vous trouverez toutes les instructions nécessaires.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
| =begin =========================================================================
--------------------------------------------------------------------------------
Access key 1.0.0.1
Author: Faherya/Duque
--------------------------------------------------------------------------------
This code allows you to distribute access keys manually. It is recommended
only for demo distribution, trial versions and other situations in which the
number of copies distributed will be controlled.
--------------------------------------------------------------------------------
Instructions:
First, you must create your access keys. The file can be created in any text
editor and all key files NEED to have the same name. Here is an example:
# Thank you for purchasing your copy of {GAME NAME}!
# Here is your access key:
key = {
:accKey => 106839
}
You can upload your game normally. Then distribute the access files one by
one. These files must be in the same directory as the game executable.
--------------------------------------------------------------------------------
Terms of Use:
Free for non-commercial and commercial projects.
--------------------------------------------------------------------------------
Credits and Acknowledgments:
Alisson
Kyo Panda
MayLeone
starlight dream
TheoAllen
--------------------------------------------------------------------------------
=end
# ------------------------------------------------------------------------------
# Normally your keys should be saved only in .rvdata2 format, highly
# recommended thing, but if you prefer to use another this fix
# allows you to use different formats.
class << Marshal
alias :marshall_load:load
def load(port, proc = nil)
marshall_load(port, proc)
rescue TypeError
if port.kind_of?(File)
port.rewind
port.read
else
port
end
end
end unless Marshal.respond_to?(:marshall_load)
#-------------------------------------------------------------------------------
class Scene_Key < Scene_Base
#-------------------------------------------------------------------------------
# Setup Instructions:
# Below is a verification structure. Each line beginning with "when" checks for
# a possible key. To add new keys just copy and paste this and the subsequent
# line by modifying the numerical value by your key.
# Remember one thing:
# - All key files NEED to have the same name.
def start
super
# Verifying that the file exists:
if File.exists?("Key.rvdata2")# This is the file name and format.
# Reading the file:
key = eval(load_data("Key.rvdata2"))
# Start verification:
case key[:accKey]
# These keys are just examples. I recommend you use random numbers.
when 000000
validate_key
when 000001
validate_key
# [...]
else # Invalid key
msgbox "Invalid key."
exit
end
else # The key file does not exist.
msgbox "File not found."
exit
end
end
# Validate Key
def validate_key
SceneManager.call(Scene_Title)
end
#-------------------------------------------------------------------------------
end
#-------------------------------------------------------------------------------
# Modifying the SceneManager:
module SceneManager
def self.first_scene_class
$BTEST ? Scene_Battle : Scene_Key
end
end
#=============================================================================== |
Conditions d'Utilisation
Gratuit pour les projets commerciaux et non commerciaux.
Désolé pour mes erreurs grammaticales possibles.
|