Sujet n°9240
Posté par XtremeViper le 18 Fév - 15:59 (2011)
Titre : [Rivaux] Les modifier sans en créer plusieurs
Bonjour à tous,

J'aurais besoin d'aide concernant l'évolution de mes rivaux dans mon jeu.

Matériel utilisé : 2 variables + Conditions + Dresseurs dans la BDD

Description du problème : J'ai deux rivaux (X et Y). Pour l'exemple, je les appelerai Josh et John. J'aimerais donc que chaque fois que le joueur rencontre X, ce dernier soit plus fort, et idem avec Y.
Le problème est que cela ne fonctionne pas et que les rivaux sont directement au "niveau 2 ou 3" ou que rien ne se passe.

Voici ma méthode : La 1ère variable (numéro 56) gère le nombre de fois que le joueur a rencontré le Rival X (Josh) et la 2ème variable (57) le nombre de fois que le joueur à rencontré le Rival Y (John).
Quand le joueur rencontre un rival pour la première fois, la variable vaut "0". Après la victoire (et non la défaite), la variable correspondante est incrémentée de 1. Ainsi, lors de la deuxième rencontre,
la variable ne vaut plus 0, mais 1. Puis pour la troisième rencontre, elle vaudra 2... etc.

Dans ma BDD : J'ai crée deux dresseurs se nommant respectivement Josh et John. Dans leur événement de combat, j'ai copié le code des dresseurs crées par défaut, et j'ai simplement modifié les pokemon,
le niveau, les gains et les textes de fin de combat. Voici le code de Josh tiré de la BDD :



Citation:
Dresseur
300$
He bien, tu me sembles
maitriser les pokemon

Tu as encore beaucoup à apprendre !
Pokemon
5








J'implémente donc des conditions qui disent : [Si la valeur de la variable 56 est égale à 0 faire] :



Dresseur



300$
He bien, tu me sembles
maitriser les pokemon
Tu as encore beaucoup à apprendre !
Pokemon
5



[Si la valeur de la variable 56 est égale à 1 faire] :

Dresseur



450$
Tu n'as pas lésiné sur
l'entraînement, bravo !
Tu as encore beaucoup à apprendre !
Pokemon
13

...
etc.

[Chaque condition est placé après la fin de la dernière condition]


Voici le code de John tiré de la BDD :




Citation:
Dresseur
400$
Je n'y crois pas, tu
m'as battu !

J'étais sûr de gagner !
Pokemon
12








J'implémente donc également des conditions qui disent :

[Si la valeur de la variable 57 est égale à 0 faire] :



Dresseur



400$
Je n'y crois pas, tu
m'as battu !
J'étais sûr de gagner !

Pokemon
12



[Si la valeur de la variable 57 est égale à 1 faire] :


Dresseur



500$
Tu t'es encore entraîné,
mes félicitations !
Tu ne fais pas le poids !
Pokemon
21

...
etc.




Le joueur débute sur une carte d'intro dans laquelle ces deux variables sont initialisées à 0, puis il est transféré dans une ville ou il affronte successivement ces deux rivaux (pour le test).


En espérant vivement que vous trouviez d'où vient mon erreur, je vous remercie d'avance de votre aide !
XtremeViper

Posté par Speed le 18 Fév - 18:31 (2011)
Pourquoi ne pas simplement créer un dresseur similaire à chaque fois où seuls les niveaux des Pokémon changent ? Par exemple si tu rencontre X trois fois pendant l'aventure, tu crées trois dresseurs X dans ta BDD Imbécile heureux

Posté par XtremeViper le 18 Fév - 19:12 (2011)
C'est justement pour éviter le surplus de dresseurs

Pourquoi ? Simplement parce que j'ai mis 15 starters au début, donc 15 dresseurs différents. Imagine si pour chaque je dois le dupliquer 8-9 fois... Ajouté à ça tous les autres dresseurs,
j'arriverais à des chiffres trop important

Posté par Speed le 18 Fév - 21:24 (2011)
Ah oui, dans ce cas, je retire ce que j'ai dit. Par contre je ne peux plus t'aider pour le coup :gloups:

Posté par Giratinaprimal le 14 Avr - 22:43 (2011)
Essaye avec cette commande dans la BDD


if $game_variables[0057] == valeur1
Les propriétés du Dresseur en phase 1
elsif $game_variables[0057] == valeur2
Les propriétés du Dresseur en phase 2


etc... et à la fin :


else
Les propriétés du dernier Dresseur


Avec valeurX, la valeur de ta variable et
Les propriétés du Dresseur ce que tu mets pour paramétrer un Dresseur
(message victoire/défaite, argent donné, niveaux et prop. des Pokémon)

Posté par Sphinx le 15 Avr - 07:05 (2011)
Navré ca ne marchera pas Clin d'œil foireux

Pourquoi ? Parce que la base de données est lue et interprétée à l'ouverture du jeu et non pas au cours de celui ci :/ Et à cet instant, $game_variables n'est pas définie

Posté par Giratinaprimal le 15 Avr - 09:59 (2011)
Aïe ! Dans ce cas, faut économiser sa liste de Dresseur...