Bienvenue visiteur !
|
Statistiques
Liste des membres
Contact
Mentions légales
306 connectés actuellement
30741812 visiteurs depuis l'ouverture
2185 visiteurs aujourd'hui
Partenaires
Tous nos partenaires
Devenir partenaire
|
loly74 -
posté le 15/08/2013 à 17:11:56 (861 messages postés)
- | Ex Couteau Suisse Agréé | Domaine concerné: Script Logiciel utilisé: RM XP Salut, tout l'monde, j'ai un gros problème avec mes variables.
et ce, sur plusieurs de mes projets.
Pour mon écran titre custom, je rends égale une variable à ce qu'elle vaut dans une de mes parties
Par exemple, la variable argent est égale à 0 en début de jeu (logique), et est référencée dans la variable 17.
En jeu, on gagne 100 golds, ok. Quand je l'affiche dans un dialogue à la boutique, ça me met bien "100 g".
Mais une fois dans le menu de chargement de partie, j'utilise le script ci-contre, et là, c'est la cata: ça m'affiche 17 G, soit l'ID de la variable où est stockée ma monnaie....
Ce qui me laisse penser que c'est ce script le problème, ou une incompatibilité avec les autres...
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
| #==============================================================================
# ** Scene_Load
#------------------------------------------------------------------------------
# This class performs load screen processing.
#==============================================================================
#Utilisation: set_from(1,45,99)
#Prendra la variable 45 de la sauvegarde 1 et la mettra dans
#la variable 99 de la partie courante.
class Scene_Load
#--------------------------------------------------------------------------
# * get the variables
#--------------------------------------------------------------------------
def self.get_vars(id)
file_name = "Save#{id}.rxdata"
file = File.open(file_name, "rb")
characters = Marshal.load(file)
# Read frame count for measuring play time
Graphics.frame_count = Marshal.load(file)
# Read each type of game object
game_system = Marshal.load(file)
game_switches = Marshal.load(file)
game_variables = Marshal.load(file)
return game_variables
end
#--------------------------------------------------------------------------
# * get a variable
#--------------------------------------------------------------------------
def self.get_var(id_save, id)
variables = Scene_Load.get_vars(id_save)
return variables[id]
end
end
#==============================================================================
# ** Interpreter
#------------------------------------------------------------------------------
# This interpreter runs event commands. This class is used within the
# Game_System class and the Game_Event class.
#==============================================================================
class Interpreter
#--------------------------------------------------------------------------
# * get a variable
#--------------------------------------------------------------------------
def variable(id_save, id)
return Scene_Load.get_var(id_save, id)
end
#--------------------------------------------------------------------------
# * define variable from a save
#--------------------------------------------------------------------------
def set_from(id_save, raw, to)
$game_variables[to] = variable(id_save, raw)
end
end |
Est-ce que vous pouvez me dire si ça vient de ce script?
Si la fonction "set_variable" est en fait là pour donner l'ID et pas la valeur réelle?
Merci beaucoup!
|
Travaille actuellement sur Roadelicious | Mes Musiques! | Anciens projets : Sylvan Melody, Terkass |Le making, c'est réaliser le meilleur jeu du monde... à vos yeux."Les RTP c'est quand même très limité. Quand on réalise un jeu, on réalise un univers qui va avec, et cet univers il passe beaucoup par les graphismes, et l'identité qu'on leur donne." |
Cortez -
posté le 15/08/2013 à 18:09:52 (524 messages postés)
| | Oui en toute logique set_variable donne l'ID de la variable.
Et variable = $game_variables[17] rend variable égale à la valeur
de la variable du jeu n°17.
Par contre je ne sais pas comment modifier le script (il n'est pas entier, si ?)
|
loly74 -
posté le 15/08/2013 à 18:15:19 (861 messages postés)
- | Ex Couteau Suisse Agréé | Ben, ma foi, je l'ai copié directement de ma liste de script, peut être que le problème viendrait de là?
|
Travaille actuellement sur Roadelicious | Mes Musiques! | Anciens projets : Sylvan Melody, Terkass |Le making, c'est réaliser le meilleur jeu du monde... à vos yeux."Les RTP c'est quand même très limité. Quand on réalise un jeu, on réalise un univers qui va avec, et cet univers il passe beaucoup par les graphismes, et l'identité qu'on leur donne." |
Grim -
posté le 15/08/2013 à 18:23:42 (251 messages postés)
| | Non non, le script est bon.
Le soucis vient surement de ta manière de l'utiliser.
|
http://funkywork.github.io/ |
Zeus81 -
posté le 15/08/2013 à 18:27:43 (11071 messages postés)
| | Le problème vient sûrement du menu.
Par ailleurs ce script modifie aussi le temps de jeu de la partie en cours, autant si tu t'en sert dans un menu Charger custom accessible uniquement à partir de l'écran titre c'est pas grave, autant si t'utilises aussi ça dans le menu de sauvegarde c'est nawak.
|
Grim -
posté le 15/08/2013 à 18:30:29 (251 messages postés)
| |
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
| #==============================================================================
# ** Scene_Load
#------------------------------------------------------------------------------
# This class performs load screen processing.
#==============================================================================
#Utilisation: set_from(1,45,99)
#Prendra la variable 45 de la sauvegarde 1 et la mettra dans
#la variable 99 de la partie courante.
class Scene_Load
#--------------------------------------------------------------------------
# * get the variables
#--------------------------------------------------------------------------
def self.get_vars(id)
file_name = "Save#{id}.rxdata"
file = File.open(file_name, "rb")
r = Marshal.load(file)
r = Marshal.load(file)
r = Marshal.load(file)
r = Marshal.load(file)
return Marshal.load(file)
end
#--------------------------------------------------------------------------
# * get a variable
#--------------------------------------------------------------------------
def self.get_var(id_save, id)
variables = Scene_Load.get_vars(id_save)
return variables[id]
end
end
#==============================================================================
# ** Interpreter
#------------------------------------------------------------------------------
# This interpreter runs event commands. This class is used within the
# Game_System class and the Game_Event class.
#==============================================================================
class Interpreter
#--------------------------------------------------------------------------
# * get a variable
#--------------------------------------------------------------------------
def variable(id_save, id)
return Scene_Load.get_var(id_save, id)
end
#--------------------------------------------------------------------------
# * define variable from a save
#--------------------------------------------------------------------------
def set_from(id_save, raw, to)
$game_variables[to] = variable(id_save, raw)
end
end |
Comme ça alors? Je n'avais pas vu que je modifiais le frame_count, désolé
|
http://funkywork.github.io/ |
loly74 -
posté le 15/08/2013 à 18:38:46 (861 messages postés)
- | Ex Couteau Suisse Agréé |
Qu'est-ce qu'il ne va pas, dans ce cas?
je veux reprendre ma variable 15 de ma partie 1 pour la mettre dans la variable 15 du menu. (soit la partie courante)
|
Travaille actuellement sur Roadelicious | Mes Musiques! | Anciens projets : Sylvan Melody, Terkass |Le making, c'est réaliser le meilleur jeu du monde... à vos yeux."Les RTP c'est quand même très limité. Quand on réalise un jeu, on réalise un univers qui va avec, et cet univers il passe beaucoup par les graphismes, et l'identité qu'on leur donne." |
Zeus81 -
posté le 15/08/2013 à 18:40:52 (11071 messages postés)
| | Montre le bout de code qui est censé afficher la variable ?
|
loly74 -
posté le 15/08/2013 à 18:59:29 (861 messages postés)
- | Ex Couteau Suisse Agréé | le "bout de code" comme tu dis est un event commun qui affiche des images selon les nombres que je lui indique,
Sur ce coup-là, il marche parfaitement puisque qu'il indique la valeur de la variable qui est son ID, dans un message, ça fait pareil, regarde:
La variable 13 indique le temps de jeu, mais je n'affiche pas les secondes, donc ça afficherait 00H 00mins 13 sec.
la 16, c'est la géoposition, soit l'ID de la map.
mes points de sauvegarde se trouvent sur les maps 2 et 4...
17, c'est pour l'affichage de l'argent, mais dans la démo, on ne peut gagner que 100 golds dans un coffre, c'est tout.
|
Travaille actuellement sur Roadelicious | Mes Musiques! | Anciens projets : Sylvan Melody, Terkass |Le making, c'est réaliser le meilleur jeu du monde... à vos yeux."Les RTP c'est quand même très limité. Quand on réalise un jeu, on réalise un univers qui va avec, et cet univers il passe beaucoup par les graphismes, et l'identité qu'on leur donne." |
Zeus81 -
posté le 15/08/2013 à 20:24:24 (11071 messages postés)
| | Juste après avoir récupéré la valeur essaie de faire :
p $game_variables[17]
|
loly74 -
posté le 15/08/2013 à 20:48:06 (861 messages postés)
- | Ex Couteau Suisse Agréé | Ok, j'essaye et j'edite
EDIT: Pas de changement, désolée, Zeus...
dans le menu load, le message affiche toutes les variables à 0, et après avir récupéré les variables, ça affiche l'ID.
|
Travaille actuellement sur Roadelicious | Mes Musiques! | Anciens projets : Sylvan Melody, Terkass |Le making, c'est réaliser le meilleur jeu du monde... à vos yeux."Les RTP c'est quand même très limité. Quand on réalise un jeu, on réalise un univers qui va avec, et cet univers il passe beaucoup par les graphismes, et l'identité qu'on leur donne." |
Zeus81 -
posté le 15/08/2013 à 21:30:08 (11071 messages postés)
| | Ah, et une fois la partie chargée les variables ont les bonnes valeurs ?
|
loly74 -
posté le 15/08/2013 à 21:47:41 (861 messages postés)
- | Ex Couteau Suisse Agréé | Oui, c'est vraiment en appelant ce script que les ID apparaissent, on dirait.
EDIT: j'ai fais un petit test sur une map à part:
On parle à un event qui nous indique les variables buguées, elles sont toutes égales à zéro!
ensuite, on appelle le script qui doit alors donner les valeurs des variables de la partie 1.
En lui reparlant à nouveau, les variables reprises de la partie 1 sont affichées par leurs ID.
la seule variable à faire exception est la variable Scénario, qui s'est affichée correctement.
Toutes les autres du genre ID de la carte, Monnaie possédée, Temps de jeu, etc plantent.
what the hell?
EDIT: Ayé! ma variable "scénario" plante aussi!!
bon bah là, je suis bloquée, quoi.... j'ai supprimé ce qui buguait, mais ça va s'acharner sur toute mes variables.... bon bah j'aurai un écran titre bugué.
|
Travaille actuellement sur Roadelicious | Mes Musiques! | Anciens projets : Sylvan Melody, Terkass |Le making, c'est réaliser le meilleur jeu du monde... à vos yeux."Les RTP c'est quand même très limité. Quand on réalise un jeu, on réalise un univers qui va avec, et cet univers il passe beaucoup par les graphismes, et l'identité qu'on leur donne." | Index du forum > Entraide > [RM XP] Affiche l'ID de la variable et non son contenu.
|
|
|