Sujet n°11242
Posté par couga le 8 Avr - 18:39 (2012)
Titre : [Résolu] Choix aléatoire + image
Bonjour à tous et à toutes,

Voici depuis que j'ai commencé mon projet pokémon, j'avais mis en place mon système de choix de pokémon à l'ancienne (trois pokéball et trois types de pokémon) cependant, je voulais un choix aléatoire. Ce choix a été mis en place mais, il me manque juste un moyen de pouvoir afficher l'image du pokémon choisis aléatoirement mais, le soucis est comment pouvoir faire cela dans un script comme celui ci-dessous ?



 
Code:


afficher_message("Cette pokéball contient le pokémon de type PLANTE suivant :")
$list_poke = [["BULBIZARRE"],["GERMIGNON"],["ARCKO"],["TORTIPOUSS"]][rand(4)]
draw_choice_plus($list_poke,-1)
afficher_message("Voulez vous vraiment " +$list_poke[$draw_choice_plus] + " ?") 



S'il y a aussi la possibilité par exemple dans le code ci-dessus le choix comme présenté du pokémon aléatoire mais, que si je vais voir uen autre pokéball je ne puisse pas avoir une des autres proposition sa serait sympa de me donner la méthode.

Posté par Fudo Fuyouki le 9 Avr - 00:09 (2012)
J'espere avoir bien comprit ^^
Deja, en faisant tout sa par script tu te complique un peu la tache, tu peut faire sa par event :

Afficher message : cette pokeball contient le pokemon suivant (NB : Afficher message peut etre utiliser dans la fonction appropriee ou insere un script, cela ne changera rien)
Gestion des variables : Rendre la variable X (que tu decide) = a une valeur aleatoire entre 0 et 3 (Le 0 etant inclus)
Condition : Si la variable X = 0 :
Afficher image : ImagePokemon1
Afficher message : Pokemon N°1
Effacer image : ImagePokemon1
Afficher message : Voulez vous vraiment Pokemon N°1?
Condition : Si script draw_choice :
Insere un script : ajouter_pokemon("POKEMON1", X, X)
Condition : Si la variable X = 1 :
Afficher image : ImagePokemon2
Afficher message : Pokemon N°2
Effacer image : ImagePokemon2
Afficher message : Voulez vous vraiment Pokemon N°2?
Condition : Si script draw_choice :
Insere un script : ajouter_pokemon("POKEMON2", X, X)
Condition : Si la variable X = 2
Afficher image : ImagePokemon3
Afficher message : Pokemon N°3
Effacer image : ImagePokemon3
Afficher message : Voulez vous vraiment Pokemon N°3?
Condition : Si script draw_choice :
Insere un script : ajouter_pokemon("POKEMON3", X, X)
Condition : Si la variable X = 3
Afficher image : ImagePokemon4
Afficher message : Pokemon N°4
Effacer image : ImagePokemon4
Afficher message : Voulez vous vraiment Pokemon N°4?
Condition : Si script draw_choice :
Insere un script : ajouter_pokemon("POKEMON4", X, X)

Bien que le script soit plus rapide, il est plus complexe, a toi de voir ce que tu prefere utiliser ^^
Je sait que la mise en forme est nulle, mais sa devrait allez, j'espere, si t'as besoin d'autre chose, n'hesite pas ^^

Posté par couga le 9 Avr - 10:04 (2012)
Merci beaucoup pour cet réponse cependant, deux problèmes me font face.
Le premier étant que l'image reste en haut à gauche de l'écran et ce, même en y indiquant ça place par les axe "X,Y". Et le second soucis est que je reste bloquer en choix sur mon premier pokémon alors que moi au début, je pouvais en gros faire tourner ce choix pour permettre aux joueurs de choisir son pokémon de starter favoris.

Voici mon évènement :


Posté par Fudo Fuyouki le 9 Avr - 10:07 (2012)
L'image de ton pokémon, c'est une image simple (Juste le pokemon) ou l'image du pokemon sur fond transparent? Car sa change tout
Pour ton 2eme probleme, verifie si tu as bien recopier ce que j'ai ecrit + ajouter tes petits trucs (Genre Dresseur obtient Pokémon)

Posté par couga le 9 Avr - 10:28 (2012)
J'utilise un batller pour l'image et sinon pour le script je pense avoir fait comme il faut (regarde mon édit au-dessus).

Posté par Fudo Fuyouki le 9 Avr - 10:34 (2012)
Oui donc c'chaud... Et l'image ne bouge absolument pas peu importe les donnees entrees?
Et enfin, non t'as fait une faute apres le 1er message, tu doit mettre "Gestion des variables -> Variable 4951 -> Rendre egal a une valeur aleatoire entre 0 et 3"
Et en plus, quand tu affiche l'image j'ai vu que t'avait mis "X : 4925 Y : 4953" ces variables contiennent quoi? (Quelle gestion?)
J'te conseil de pas mettre l'emplacement par variable

Posté par couga le 9 Avr - 10:47 (2012)
En effet j'ai louper le coup de la variable c’est vrai que si je ne définis pas cela "ça vas beaucoup moins bien marcher". Sinon pour l'image et "X : 4925 Y : 4953" c'était pour tester un petit truc j'avais bien mis les coordonnées "x et Y" qui représentais le centre de mon écran de jeu. Donc malgré des positions exact ou même aléatoire l'image du pokémon reste en haut à gauche de l'écran.

Posté par Fudo Fuyouki le 9 Avr - 10:50 (2012)
N'oublie pas de faire la gestion des variables, ce dont je te conseil, c'est faire gestion des variables et :
La variable de X = 240
La virable de Y = 160
Essaye Clin d'œil foireux

Posté par couga le 9 Avr - 11:00 (2012)
Tu es un génie ! C'est centrer alors je te dis merci beaucoup, énormément merci !

Posté par Fudo Fuyouki le 9 Avr - 11:01 (2012)
De rien ^^
Et pour le probleme du pokemon aleatoire, c'aussi regle?

Posté par couga le 9 Avr - 11:04 (2012)
Pour le choix c'est bon tout fonctionne aussi, je vais quand même essayer de faire un truc plus "propre" que les battler pour montrer le pokémon. Encore merci !

Posté par Fudo Fuyouki le 9 Avr - 11:05 (2012)
De rien, si t'as un autre probleme avec un event, n'hesite pas Clin d'œil foireux

Posté par couga le 9 Avr - 13:20 (2012)
J'ai une idée pour le coup des images sinon et je ne sais pas si cela est faisable mais, est-ce possible d'appeler carrément la page du pokédex du pokémon en question ?

Edit: Je me suis débrouiller en faisant des images de mon pokédex avec chaque pokémon qui doit être afficher. Mais, je suis quand même intéressé de savoir s'il y a bien une méthode pour afficher directement le pokédex.

Posté par Fudo Fuyouki le 10 Avr - 01:18 (2012)
./3439-Pokedex-Afficher-une-page-du-pok…

J'ai pas tester, mais si sa vient de Sphinx, j'pense que sa devrait marcher

Posté par couga le 10 Avr - 11:43 (2012)
Je dois avoir modifier un truc je ne sais où qui doit rendre le truc impossible car voici le logs :

Spoiler
---------- Erreur de script : Interpreter Bis ----------
----- Type
NoMethodError

----- Message
- ARGS - [25]
(eval):1:in `command_355'undefined method `afficher_pokedex' for #<Interpreter:0x2683a68>

----- Position dans Interpreter Bis
Ligne 445

----- Backtrace
Script : Interpreter Bis | Ligne : 445 | Méthode : in `command_355'
Script : Interpreter 2 | Ligne : 215 | Méthode : in `eval'
Script : Interpreter Bis | Ligne : 445 | Méthode : in `command_355'
Script : Interpreter 2 | Ligne : 215 | Méthode : in `execute_command'
Script : Interpreter 1 | Ligne : 199 | Méthode : in `update'
Script : Interpreter 1 | Ligne : 113 | Méthode : in `loop'
Script : Interpreter 1 | Ligne : 204 | Méthode : in `update'
Script : Pokemon_Name | Ligne : 67 | Méthode : in `old_update'
Script : Pokemon_Name | Ligne : 65 | Méthode : in `loop'
Script : Pokemon_Name | Ligne : 78 | Méthode : in `old_update'
Script : TempsJourNuit | Ligne : 248 | Méthode : in `update_passminimap'
Script : Minimap | Ligne : 44 | Méthode : in `update'
Script : Scene_Map | Ligne : 25 | Méthode : in `old_main'
Script : Scene_Map | Ligne : 19 | Méthode : in `loop'
Script : Scene_Map | Ligne : 30 | Méthode : in `old_main'
Script : TempsJourNuit | Ligne : 237 | Méthode : in `main_passminimap'
Script : Minimap | Ligne : 31 | Méthode : in `main'
Script : Main | Ligne : 51

Posté par Sphinx le 10 Avr - 15:34 (2012)
Couga, relis bien le tuto Clin d'œil foireux Tu as des scripts à ajouter/modifier avant de pouvoir ajouter cette commande
Fudo Fuyouki a écrit:

Etant donné l'erreur relevée dans le log, je pense que t'as du en oublier au moins un ^o^

Fudo Fuyouki a écrit:
J'ai pas tester, mais si sa vient de Sphinx, j'pense que sa devrait marcher

:p Cpas beau de fayotter *fuit*

Posté par couga le 10 Avr - 16:30 (2012)
J'ai bien tout suivis, de plus certaines lignes y sont déjà le log m'affiche quand même la même erreur.

Posté par Fudo Fuyouki le 10 Avr - 22:59 (2012)
Essaye d'insere un script et met :

afficher_pokédex
Avec l'accent du le 1er de pokédex
Si sa ne marche pas, desole j'pourrait pas t'aider plus, j'm'y connais pas beaucoup en script

Posté par couga le 11 Avr - 09:38 (2012)
rien à faire ça plante toujours, j'ai sans doute un script qui ne me permet plus de faire cela. Tant pis !

Posté par Sphinx le 11 Avr - 15:56 (2012)
tu mets quoi dans ton évent ?

Posté par couga le 11 Avr - 17:55 (2012)
Seulement afficher_pokédex(25), je dois avoir une incompatibilité avec un script mais alors qu'elle script ? Car je n'ai pas toucher à énormément de script .  Est-ce un problème lier à un de mes processus parallèle car j'essaye également de faire un autre petit truc pour des lumières dans ma villes et.. Bug quasis identique...

Spoiler

---------- Erreur de script : Interpreter Bis ----------
----- Type
ArgumentError

----- Message
comparison of String with 19 failed

----- Position dans Interpreter Bis
Ligne 209

----- Backtrace
Script : Interpreter Bis | Ligne : 209 | Méthode : in `>='
Script : Interpreter Bis | Ligne : 209 | Méthode : in `command_111'
Script : Interpreter 2 | Ligne : 41 | Méthode : in `execute_command'
Script : Interpreter 1 | Ligne : 199 | Méthode : in `update'
Script : Interpreter 1 | Ligne : 113 | Méthode : in `loop'
Script : Interpreter 1 | Ligne : 204 | Méthode : in `update'
Script : Game_Event | Ligne : 221 | Méthode : in `update'
Script : Game_Map | Ligne : 393 | Méthode : in `update'
Script : Game_Map | Ligne : 392 | Méthode : in `each'
Script : Game_Map | Ligne : 392 | Méthode : in `update'
Script : Scene_Map | Ligne : 49 | Méthode : in `alias_update'
Script : Scene_Map | Ligne : 48 | Méthode : in `loop'
Script : Scene_Map | Ligne : 67 | Méthode : in `alias_update'
Script : MAPPANEL | Ligne : 90 | Méthode : in `old_update'
Script : TempsJourNuit | Ligne : 248 | Méthode : in `update'
Script : Scene_Map | Ligne : 25 | Méthode : in `old_main'
Script : Scene_Map | Ligne : 19 | Méthode : in `loop'
Script : Scene_Map | Ligne : 30 | Méthode : in `old_main'
Script : TempsJourNuit | Ligne : 237 | Méthode : in `main'
Script : Main | Ligne : 49

Posté par Sphinx le 11 Avr - 18:16 (2012)
Déjà il n'y a jamais d'accent dans une commande scriptée Imbécile heureux

Posté par Nuri Yuri le 11 Avr - 18:20 (2012)
Normalement mais quand ruby est en UTF-8 (ruby 1.8) il autorise les accents...

Posté par couga le 11 Avr - 18:24 (2012)
je ne mets pas d'accent c'était par pur réflexe désolé.