Domaine concerné: Script/Event
Logiciel utilisé: RM Vx Ace
Bonjour Bonsoir à tous et à toutes!
Alors voilà, le système de sauvegarde de RM Vx Ace ne me satisfaisant pas, je me suis lancé dans
la "concoction" d'un script pour y remédier. Comme le titre l'indique, il s'agit d'un système TOTALEMENT
impropre, qui se base sur l'utilisation d'un fichier txt, donc modifiable par le joueur
J'arrive à sauvegarder l'ID de la map et les coordonnées du Héros dans un fichier .txt;
à les charger et attitrer les données du fichier .txt à des variables du jeu;
Mais le problème survient lors de la téléportation du Héro afin qu'il puisse
se retrouver là où il avait sauvegardé....
En clair:
-Je sauvegarde (IDmap+x+y)-->Héros dans un fichier txt
-Je charge ces données depuis le txt
-J'attribut ces données à des variables du jeu
-Je téléporte le Héros aux variables définies
-Et là.... ça plante
Voici maintenant le script en entier:
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
| def save_data_init
print "Ouverture du fichier 'Save.txt' en cours...\n\n"
file = File.open("Save.txt", "w+")
print "Ouverture du fichier Save.txt terminée avec succès!\n\n"
file.close
end
def save_data_idmap
#Mettre à jour la variable 4980
@Save_data = $game_variables[4980]
file = File.open("Save.txt", "a")
file.write("idmap=#{@Save_data};")
file.close
end
def save_data_posx
#Mettre à jour la variable 4980
@Save_data = $game_variables[4980]
file = File.open("Save.txt", "a")
file.write("posx=#{@Save_data};")
file.close
end
def save_data_posy
#Mettre à jour la variable 4980
@Save_data = $game_variables[4980]
file = File.open("Save.txt", "a")
file.write("posy=#{@Save_data};")
file.close
end
def load_data_player
# Script de chargement d'un fichier.
print "Localisation du fichier de données en cours...\n\n"
print "Fichier de données localisé!\n\n"
file = File.open("Save.txt", "r")
print "Lecture des données de Save.txt en cours...\n\n"
fichier = file.read
print "Création d'un data_board en cours...\n\n"
fichier = fichier.split(";")
print "Séparation des caracteres reussie"
idmap = fichier[0]
posx = fichier[1]
posy = fichier[2]
print "Création du tableau reussie"
idmap = idmap.split("=")
@idmap = idmap[1]
posx = posx.split("=")
@posx = posx[1]
posy = posy.split("=")
@posy = posy[1]
print "Idmap=", @idmap, " Posx=", @posx, " Posy=", @posy
print "Création d'un data_board terminée terminée avec succès!\n\n"
print "Affectation des données aux variable du jeu en cours...\n\n"
$game_variables[4981] = @idmap
$game_variables[4982] = @posx
$game_variables[4983] = @posy
print "Idmap=", $game_variables[4981], " Posx=", $game_variables[4982], " Posy=", $game_variables[4983]
print "Affectation des donnée aux variables du jeu terminée avec succès!\n\n"
file.close
print "Fermeture du fichier reussie"
end |
Voilà voilà.... si vous avez besoin de plus de précisions dites-le moi
Merci d'avance pour vos réponses qui je l'espère réglerons se SATANE problème...
MISE A JOUR
Je pense avoir trouvé pourquoi l'erreur s'affiche, cela dit je ne sais pas comment
résoudre le problème....
Je pense que les variables idmap, posx et posy sont considérée comme des chaines de caractères... ainsi, lors du choix de téléportation par variables, RM ne reçoit pas des chiffres mais plutôt ce qu'il considère être des caractères... Mais je ne sais pas comment convertir ces "string" en "fixnum"....
Je vous rassure, je n'attend pas qu'on me serve tout sur un plateau, et continue à chercher....
|