Partagez
Aller en bas
Ssozi
Membre

Nombre de messages : 474
Date d'inscription : 24/07/2009

Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici - Page 2 Empty Re: Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici

le Mer 7 Mai 2014 - 23:14
Je savais pas pour Font.new, tu m'apprends un truc xD
Par contre, avec l'expérience, j'ai capté que (avec la taille de police initiale du jeu, soit 20, je crois) :
Code:
@test.bitmap.draw_text(0, -200, 544, 416, "Texte")
Permet d'afficher le texte à la position x=0 ; y=0 (parce qu'il y a un décalage si on met 544, 416)^^

Merci pour l'astuce en tout cas!! Very Happy
vincent26
vincent26
Membre

Nombre de messages : 766
Age : 24
Localisation : baume de transit le village paumé
Distinction : aucune
Date d'inscription : 17/08/2010

Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici - Page 2 Empty Re: Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici

le Mer 7 Mai 2014 - 23:24
Il est vraie qu'il faut parfois jouer avec les valeur de x et y ^^
pour la taille de base c'est 24 Wink
Zouzaka
Zouzaka
Membre

Nombre de messages : 302
Age : 21
Distinction : aucune
Date d'inscription : 25/12/2011

Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici - Page 2 Empty Re: Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici

le Ven 9 Mai 2014 - 17:19
Je voudrait savoir comment faire pour créer un "hero" en plein jeu et l'ajouter a la BDD ?
vincent26
vincent26
Membre

Nombre de messages : 766
Age : 24
Localisation : baume de transit le village paumé
Distinction : aucune
Date d'inscription : 17/08/2010

Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici - Page 2 Empty Re: Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici

le Ven 9 Mai 2014 - 18:54
Salut je n'ai jamais tester mais je vais voir je te dit dès que j'ai trouver Wink
EDIT :
Bon alors j'ai fait ça :
un premier script :
Code:

class Assigne_Actor
  def initialize(nickname=nil,class_id=nil,initial_level=nil,max_level=nil,character_name=nil,character_index=nil,face_name=nil,face_index=nil,equips=nil,id=nil,name=nil,icon_index=nil,description=nil,features=nil,note=nil)
    super
    ok = RPG::Actor.new
    ok.nickname = nickname
    ok.class_id = class_id
    ok.initial_level = initial_level
    ok.max_level = max_level
    ok.character_name = character_name
    ok.character_index = character_index
    ok.face_name = face_name
    ok.face_index = face_index
    ok.equips = equips
    ok.id = id
    ok.name = name
    ok.icon_index = icon_index
    ok.description = description
    ok.features = features
    ok.note = note
    $data_actors.push(ok)
    puts [$data_actors[9]].to_s
    save_data($data_actors, "Data/Actors.rvdata2")
  end
end

et l'appel de script :
Code:

    name = "salut"              #Nom
    nickname = "salut"          #Surnom
    class_id = 1                #id de la classe
    initial_level = 1          #level initiale
    max_level = 99              #level max
    character_name = "Actor1"  #nom du fichier image du character
    character_index = 0        #id du character
    face_name = "Actor1"        #nom de l'image de la face
    face_index = 0              #id de l'image de la face
    equips = [0,0,0,0,0]        #equipment [arme1, bouclier/arm2, casque, armure, accessoire]
    id = $data_actors.length    #id du hero (ne pas changer)   
    description = ""            #description
    features = ""              #caractéristique supplementaire a voir car complexe
    note = ""                  #note du perso
    Assigne_Actor.new(nickname,class_id,initial_level,max_level,character_name,character_index,face_name,face_index,equips,id,name,nil,description,features,note)

Une fois l'appel de script fait il faut fermer le logiciel et le relancer pour qu'il recharge le fichier le fichier Actors.rvdata2
il indique une erreur qui ne gêne pas mais je ne me suis pas trop pencher dessus et pas fait trop de test désoler ^^

il y a les description pour expliquer si tu as besoin de plus de détaille n'hésite pas a demander Wink
Zarka
Zarka
Membre

Nombre de messages : 9
Distinction : aucune
Date d'inscription : 19/10/2014

Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici - Page 2 Empty Re: Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici

le Lun 20 Oct 2014 - 2:44
Bonsoir a tous.

Pour être claire et précis, je ne comprend absolument pas les Script.
Plusieurs questions me trotte en espérant ne pas vous embêté pour des choses si logique pour vous. Sad

1 - Quesque le "@" devant chaque lignes de Script ?
2 - Citation de Vincent26 :
@font = Font.new("Chiller",72)
@test = Sprite.new

A quoi correspond le "font" le "test" et le reste ?

3 - Les scripts sont des variation, condition etc ... ?

Je poserai d'autre question plus tard, je ne veut pas vous prendre la tête. Rolling Eyes

PS : navré une fois de plus pour l'orthographe.
avatar
Az'
Membre

Nombre de messages : 3317
Age : 74
Date d'inscription : 22/12/2007

Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici - Page 2 Empty Re: Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici

le Lun 20 Oct 2014 - 12:31
Yup!

Alors, pour répondre à tes questions :

1. Un @ devant un nom correspond à un nom de variable. Variable = quelque chose qui peut changer de valeur. En ruby les variables ne sont pas typées, et peuvent contenir des types différents (entiers, chaines de caractères, tableaux, flottants, tables de hachage...)
Code:

# Commentaire : Les types de variables :
VARIABLE_CONSTANTE = 1000 # En majuscule, dont la valeur ne peut changer, et reste constante comme son nom l'indique.
variable_locale = "Ma Valeur" # Une variable qui ne subsiste que dans "l'endroit" où elle a été créée (par exemple ne "vit" que dans une méthode)
@variable_d_instance = 80 # Une variable qui est une instance de l'objet dans lequel elle est créée. (instance d'une classe, par exemple)
@@variable_de_classe = "Valeur" # Une variable partagée par toutes les classes héritées d'une classe mère disposant de cette variable
$variable_globale = 1 # Variable utilisable et modifiable dans toutes les classes.

# Exemple @@variable de classe

class ClasseMere
 @@nom = "Mère"
end
class ClasseFille < ClasseMere
  @@nom = "Fille"
end
class ClasseFils < ClasseMere
  @@nom = "Fils"
end # Héritage de @@nom sur les classes héritées de ClassMere

Une variable dispose donc d'un nom (au choix) qui lui permet d'être représentée et donc d'exister.

Font.new <=== C'est un objet. J'ai pas vraiment le temps d'expliquer le concept, mais en ruby, tout est objet et pour approfondir théoriquement tout ça, WIKIPEDIIIIIIIIIIIIIIAAAAAAAAAAA~!

Je verrais un de ces jours si j'ai le temps, j'écrirais un petit truc d'approche simple des concepts de la notion objet + procédurale. En attendant, y'a d'autres personnes qui pourront me compléter, bonne continuation!
vincent26
vincent26
Membre

Nombre de messages : 766
Age : 24
Localisation : baume de transit le village paumé
Distinction : aucune
Date d'inscription : 17/08/2010

Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici - Page 2 Empty Re: Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici

le Lun 20 Oct 2014 - 14:18
comme l'a dit arawvyn le @ signifie que c'est une variable de class

Ruby est un langage objet donc c'est un langage ou l'on assigne objet au variables elle peuvent donc aussi bien contenir une class, un nombre, une chaine de caractère ou autre encore

contrairement au C par exemple les variable peuvent être définit a n'importe quelle moment dans le script et ne nécessite pas d’initialisation en début de script

Petite explication de l'affichage image :

@font = Font.new("Chiller",72)
Font est la class qui gère les police je créer donc une variable (@font) qui va contenir la police d'écriture (ici Chiller avec une taille 72)

@test = Sprite.new
Sprite est la class qui gère les image je créer donc une nouveaux conteneur a image en assignant a @test un nouvelle objet (Sprite.new ,Le .new lance l’initialisation de la class)

Cette class (Sprite) contient de nombreuse def je vais assigner les paramètre de mon image en les modifiant :

@test.bitmap = Bitmap.new(416,544)
La def bitmap de la class sprite permet d'assigner l'image au conteneur je lui assigne donc ici une image vide de dimension 416*544 (Bitmap est la class qui gère les images a proprement parler mais ne permet pas de les afficher contrairement a Sprite)

@test.bitmap.font = @font
De même que pour Sprite , Bitmap contient de nombreuse def. Par exemple il contient une def permettent d’écrire du texte sur la bitmap mais avant cela on peut définir la police d'écriture
ainsi ici on a @test.bitmap (qui permet de ce placer sur l'objet bitmap) suivit de .font qui va permettre d'assigner notre police (ici @font)

@test.bitmap.draw_text(0, 0, 416, 544, "test")
Cette commande permet de dessiner dans la bitmap de cette manière : (X, Y, W, H, "TEXT")
je te conseille de jeter un coup d’œil a l'aide de RM pour avoir plus d'info sur les possibilité des différente class que l'on ne voit pas dans la liste de script ^^

@test.x = 0
@test.y = 0
Ces 2 commande assigne l'emplacement de l'image

Tout cela aurait pu être fait d'une autre manière qui peut paraitre plus simple :
@font = Font.new("Chiller",72)
@test = Sprite.new
@bitmap = Bitmap.new(416,544)
@bitmap.font = @font
@bitmap.draw_text(0, 0, 416, 544, "test")
@test.bitmap = @bitmap
@test.x = 0
@test.y = 0

je configure d'abord la bitmap avant de l'assigner au sprite

en espérant avoir été assez clair ^^
Zarka
Zarka
Membre

Nombre de messages : 9
Distinction : aucune
Date d'inscription : 19/10/2014

Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici - Page 2 Empty Re: Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici

le Lun 20 Oct 2014 - 16:06
Merci à Arawvyn et Vincent26 pour vos explication. Very Happy

Donc si j'ai bien compris le principe :

@font = Font.new("Chiller",72) :

"@font" est le stockage de la suite de la phrase ?
"Font.new" est la pour activé la Police ?
"("Chiller",72)" est la police choisi (Chiller) et la taille de 72 ?

@test = Sprite.new  :

"@test" Idem que "@font" seulement un stockage différent ?
"Sprite" désigne donc les image (et les affiche contrairement a "Bitmap") ? et ".new" ajoute une nouvel Image ?

@bitmap = Bitmap.new(416,544)  :
"Bitmap" est la pour affiché la résolution et donc il faut un "Sprite" pour l'affiché par la suite ?

voila j'espere avoir bien compris le tout ^^

Sinon :

@font = Font.new("Chiller",72)
@test = Sprite.new
@bitmap = Bitmap.new(416,544)
@bitmap.font = @font
@bitmap.draw_text(0, 0, 416, 544, "test")
@test.bitmap = @bitmap
@test.x = 0
@test.y = 0

est une petite parti du Script qui permet de stocker puis choisir les paramètre et enfin affiché ?

Citation Vincent26 :
je te conseille de jeter un coup d’œil a l'aide de RM pour avoir plus d'info sur les possibilité des différente class que l'on ne voit pas dans la liste de script ^^

quesque l'abréviation RM ?

il y a une choses que je ne comprend pas :

@bitmap.draw_text(0, 0, 416, 544, "test")

si j'ai bien compris cette phrase les deux 0 corresponde a la position de l'objet et 416, 544 est la résolution, mais alors pourquoi les mettre dans la même phrase ?

je pense avoir compris les grande ligne bien que j'ai du mal avec les termes de Classe etc Smile

voila dite moi si j'ai bien compris, encore une fois merci Arawvyn, Vincent26 de votre aide Very Happy
vincent26
vincent26
Membre

Nombre de messages : 766
Age : 24
Localisation : baume de transit le village paumé
Distinction : aucune
Date d'inscription : 17/08/2010

Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici - Page 2 Empty Re: Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici

le Lun 20 Oct 2014 - 21:41
J'ai tout d'abord une uestion as-tu déjà programmer au par avant ?

Je demande cela afin de te fournir des explication plus ou moins complexe ^^

Une class est un élément qui va contenir des def qui elle même vont contenir des ordre a exécuter
Pour te représenter cela de manière simple tu imagine que une class est une maison que dans cette maison ce trouve différente personne qui représente les def et qu'a chacune d'entre elle tu assigne des action a accomplir.

Si tu veut je peut essayer de t'apprendre sous forme de petit script permettant l'apprentissage

Sinon RM est l'abréviation de Rpg Maker ^^
appuye sur F1 dans le logiciel pour avoir l'aide
Zarka
Zarka
Membre

Nombre de messages : 9
Distinction : aucune
Date d'inscription : 19/10/2014

Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici - Page 2 Empty Re: Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici

le Mar 21 Oct 2014 - 1:55
Yop yop.

En effet comme tu peut t'en douté je n'est jamais programmer et je cherche pas spécialement a le faire, plus simplement j'aimerai en connaitre assez pour comprendre ceci sert a telle choses etc.

aah oui oki oki je comprend très bien avec t'a comparaissons merci bien.

Citation Vincent26 :
Si tu veut je peut essayer de t'apprendre sous forme de petit script permettant l'apprentissage

Pourquoi pas un ou deux je ne dit pas non, mais ça ne doit pas te prendre de temps.

Merci pour "RM" et la commande Embarassed
vincent26
vincent26
Membre

Nombre de messages : 766
Age : 24
Localisation : baume de transit le village paumé
Distinction : aucune
Date d'inscription : 17/08/2010

Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici - Page 2 Empty Re: Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici

le Mar 21 Oct 2014 - 2:50
Ya pas de soucis t'inquiète ^^

Voici un petit script qui permet de comprendre comment marche les différent variables sous Ruby (excepter les variables en @@ qui sont plus complexe)
(Active la console dans RM onglet Jeu-> coche activer la console)

Utilise un projet autre que le tient (refait en un juste pour faire des test)
Créer un nouvelle emplacement script sous matérial et met cela :
Code:

class Test
  def initialize
    variable_local = 0
    @variable_de_class = 0
    $variable_global = 0
  end
  def afficher_variable_local
    puts variable_local
  end
  def afficher_variable_de_class
    puts @variable_de_class
  end
  def afficher_variable_global
    puts $variable_global
  end
  def afficher_variable_local2
    variable_local2 = 0
    puts variable_local2
  end
end

test2 = Test.new
Ensuite sous la dernière ligne ajoute une parmi celle-la et regarde ce que cela fait dans la console:

test2.afficher_variable_local
test2.afficher_variable_local2
test2.afficher_variable_de_class
test2.afficher_variable_global
puts variable_local
puts @variable_de_class
puts $variable_global

puis cet 2 la :
$variable_global = 5
test2.afficher_variable_global

Dis moi ce que tu en tire comme conclusion quand au diffèrent type de variable de Ruby
C'est normal si certaine ligne provoque un message d'erreur Wink

Zarka
Zarka
Membre

Nombre de messages : 9
Distinction : aucune
Date d'inscription : 19/10/2014

Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici - Page 2 Empty Re: Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici

le Jeu 23 Oct 2014 - 0:36
Yop yop.

Désolé du retard j'ai été un peut pris, sinon j'ai essayé un peut et hormis un "0" s'affichant dans la console il n'y a rien eu.
Je compte revoir demain, et vous tiendrait au courant demain soir si j'ai tu temps. bounce
vincent26
vincent26
Membre

Nombre de messages : 766
Age : 24
Localisation : baume de transit le village paumé
Distinction : aucune
Date d'inscription : 17/08/2010

Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici - Page 2 Empty Re: Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici

le Jeu 23 Oct 2014 - 1:31
Je cherche a t'enseigner les base ^^ si tu préfère je peut faire un peut plus théorique que pratique mais je trouve que l'on apprend mieux en testant (surtout le code Smile )

N'hésite pas a me demander (ou a me MP) si tu as un soucis ou une demande particulière

cela peut aussi être plus intéressant si tu me pose des question par rapport a ce que tu veut savoir ou comprendre et que j'y réponde (dans les limites de ce que je connait geek )

Dans le script que je t'ai donnée tu peut changer les valeur des variables au début du script pour mieux voir les résultat (c'est vrai que mettre toute les variables a 0 n'étant pas très malin de ma part ^^')
spyrojojo
spyrojojo
Membre

Nombre de messages : 35
Age : 26
Localisation : dans ton lit (entre le matelas et le sommier)
Distinction : aucune
Date d'inscription : 22/09/2014
http://spyrojojo.deviantart.com/

Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici - Page 2 Empty Re: Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici

le Mer 5 Nov 2014 - 14:54
Hello les gens :p , pour l'avancer de mon script j'aurais besoin de savoir comment changer la taille (et surtout la largeur) d'un menu de selection horizontal =) , voilat le code actuelement dans mon script

Code:
class Window_selec < Window_HorzCommand
 
 def make_command_list
   add_command("Ile verdoyante", :R1)
   add_command("Ile feuillue", :M2)
   add_command("Ile givrée", :M3)
   add_command("Ile de Jester", :M4)
 end
end

Mon objectif du jour serait donc attein :p

après accessoirement je voudrait savoir si il est possible de centré les texte d'un menu de sélection vertical et changer la couleur de la police de texte. J'ai encore beaucoup de questions mais je tien a progresser par étape que je me fixe au jour le jour , préparé vous a d'autre questions ^^.


EDIT : J'ai réussi a modifier la largeur de mon menu de selection et je passe donc a l'étape suivante , mais je galére a morts car je ne sais pas comment faire : faire afficher un texte différent dans la fenétre du bas en fonction du choix du joueur.



Dernière édition par spyrojojo le Mer 5 Nov 2014 - 16:00, édité 1 fois
Zangther
Zangther
Membre

Nombre de messages : 913
Distinction : aucune
Date d'inscription : 06/02/2013

Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici - Page 2 Empty Re: Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici

le Mer 5 Nov 2014 - 15:51
Dans ta classe mets ceci :
Code:

  #--------------------------------------------------------------------------
  # ● Returns window_width
  #--------------------------------------------------------------------------
  def window_width
    return 160
  end

C'est une méthode définie dans Window_Command (la classe mère de Window_HorzCommand) donc en la redéfinissant dans ta classe. Ta fenetre aura la bonne taille.
spyrojojo
spyrojojo
Membre

Nombre de messages : 35
Age : 26
Localisation : dans ton lit (entre le matelas et le sommier)
Distinction : aucune
Date d'inscription : 22/09/2014
http://spyrojojo.deviantart.com/

Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici - Page 2 Empty Re: Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici

le Mer 5 Nov 2014 - 16:16
Ok merci  ^^

j'ai aussi tenter de commencer a réfléchir a comment changer l'affichage de ma Window_Liste en fonction du choix du joueur dans le menu de selection .. ne vous moquer pas en voyant ma 1er idée ^^

Code:
class Window_Liste < Window_Base 
  def initialize
    super(0, 180, 544, 234)
    if @window_selection == :monde1
    self.contents.draw_text(0, 30, 320, 32, "pouettepouette")
    elsif @winow_selection == :monde2 
    self.contents.draw_text(0, 30, 320, 32, "tutute")
    end
end


Dernière édition par spyrojojo le Mer 5 Nov 2014 - 16:26, édité 1 fois
vincent26
vincent26
Membre

Nombre de messages : 766
Age : 24
Localisation : baume de transit le village paumé
Distinction : aucune
Date d'inscription : 17/08/2010

Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici - Page 2 Empty Re: Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici

le Mer 5 Nov 2014 - 16:26
Pour l'affichage d'un texte différent dans la fenêtre du bas une méthode consiste a créer une fenêtre pour chacune des possibilité de choix et d'afficher celle qui convient en fonction du choix du joueur

Sinon si tes fenêtre on une syntaxe (ou du moins on la même forme au niveau de placement des texte image et autre) tu créer une classe qui va ressembler a la class status , lors du choix du joueur tu lui attribut le choix et elle se modifie en fonction.
vincent26
vincent26
Membre

Nombre de messages : 766
Age : 24
Localisation : baume de transit le village paumé
Distinction : aucune
Date d'inscription : 17/08/2010

Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici - Page 2 Empty Re: Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici

le Mer 5 Nov 2014 - 16:28
Le problème dans ton script c'est que la variable @window_selection n'existe pas dans ta class mais dans la scene il faut que depuis la scene en update tu assigne a une variable de ta class Window_Liste le monde sélectionné
spyrojojo
spyrojojo
Membre

Nombre de messages : 35
Age : 26
Localisation : dans ton lit (entre le matelas et le sommier)
Distinction : aucune
Date d'inscription : 22/09/2014
http://spyrojojo.deviantart.com/

Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici - Page 2 Empty Re: Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici

le Mer 5 Nov 2014 - 16:31
Ok merci , j'avais tenter de faire sa tout a l'heure mais les fenétre ce superpose xD , pourtant la variable qui créé le window et la même (j'espére que je m'exprime pas mal ^^) , bon continuons les test ^^



EDIT : Ok merci
vincent26
vincent26
Membre

Nombre de messages : 766
Age : 24
Localisation : baume de transit le village paumé
Distinction : aucune
Date d'inscription : 17/08/2010

Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici - Page 2 Empty Re: Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici

le Mer 5 Nov 2014 - 16:43
Sinon met ta fenêtre en .hide pour la cacher en .show pour l'afficher
spyrojojo
spyrojojo
Membre

Nombre de messages : 35
Age : 26
Localisation : dans ton lit (entre le matelas et le sommier)
Distinction : aucune
Date d'inscription : 22/09/2014
http://spyrojojo.deviantart.com/

Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici - Page 2 Empty Re: Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici

le Mer 5 Nov 2014 - 16:48
Ok merci ^^
spyrojojo
spyrojojo
Membre

Nombre de messages : 35
Age : 26
Localisation : dans ton lit (entre le matelas et le sommier)
Distinction : aucune
Date d'inscription : 22/09/2014
http://spyrojojo.deviantart.com/

Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici - Page 2 Empty Re: Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici

le Mer 5 Nov 2014 - 17:15
Bon je vais faire une pause je croie xD , je n'arrive vraiment pas a faire ce petit system aujourdhuit , j'avais pourtant plusieur idée ^^
-sois le texte de la fenétre changer en fonction de la selection (sans la validé) mais je ne trouve pas.
-sois le texte de a fennetre changer en fonction de la selection (validé) mais je ne trouve pas .
-sois je charge une fenétre indépendante a chaque selection mais la précédente reste afficher et je n'arrive pas a faire de retour en arriére xD (je suis vraiment nul lol).

si une personne peut m'indiquer la démarche ^^ (désolé si le code et encore un peu dégeu^^)
Code:
class Scene_Atlas < Scene_MenuBase
  def start
    super
    create_Titre
    create_selec
    create_Liste
  end
  #--------------------------------------------------------------------------
  # Fenetre de titre
  #--------------------------------------------------------------------------
  def create_Titre
   @Wtitle = Window_Titre.new
 end
  #--------------------------------------------------------------------------
  # * Affichage des niveaux et icones
  #--------------------------------------------------------------------------
  def create_Liste
@Ltitle = Window_Liste.new
  end
  #--------------------------------------------------------------------------
  # * Menu de selection
  #--------------------------------------------------------------------------
   def create_selec
   @window_selection = Window_selec.new(1, 130)
   @window_selection.set_handler(:monde1, method(:monde1))
   @window_selection.set_handler(:monde2, method(:monde2))
   @window_selection.set_handler(:monde3, method(:monde3))
   @window_selection.set_handler(:monde4, method(:monde4))
   @window_selection.set_handler(:cancel, method(:return_scene))
 end
 def monde1
@Ltitle = Window_Liste.new
 end
 def monde2
@Ltitle = Window_Liste1.new
 end
 def monde3
@Ltitle = Window_Liste2.new
 end
 def monde4
@Ltitle = Window_Liste3.new
 end
 
end
  #--------------------------------------------------------------------------
  # Class windows pour le titre
  #--------------------------------------------------------------------------
class Window_Titre < Window_Base  
  def initialize
    super(0, 82, 544, 46)
    self.contents.draw_text(224, 0, 320, 32, "ATLAS")
  end
end
  #--------------------------------------------------------------------------
  # * Class windows pour la liste des niveaux et icones
  #--------------------------------------------------------------------------
class Window_Liste < Window_Base  
  def initialize
    super(0, 180, 544, 234)
    refresh
  end
  def refresh
    self.contents.clear
    bitmap = Cache.system("Iconset")
    icon_index = 1
    icon_index2 = 2
    rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 24, 24)
    rect2 = Rect.new(icon_index2 % 16 * 24, icon_index2 / 16 * 24, 24, 24)
    contents.blt(250, 0, bitmap, rect)
    contents.blt(320, 0, bitmap, rect2)
    self.contents.draw_text(0, 30, 320, 32,  "Ile verdoyante")
    self.contents.draw_text(0, 50, 320, 32,  "Collines de pierre")
    self.contents.draw_text(0, 70, 320, 32,  "Ruine antique")
    self.contents.draw_text(0, 90, 320, 32,  "Grand terrier")
    self.contents.draw_text(0, 110, 320, 32, "Vol de jour")
    self.contents.draw_text(0, 130, 320, 32, "Amarr")
  end
end
###############################################################################
class Window_Liste1 < Window_Base  
  def initialize
    super(0, 180, 544, 234)
    refresh
  end
  def refresh
    self.contents.clear
    bitmap = Cache.system("Iconset")
    icon_index = 1
    icon_index2 = 2
    rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 24, 24)
    rect2 = Rect.new(icon_index2 % 16 * 24, icon_index2 / 16 * 24, 24, 24)
    contents.blt(200, 0, bitmap, rect)
    contents.blt(260, 0, bitmap, rect2)
    self.contents.draw_text(0, 30, 320, 32,  "Ile feuillue")
    self.contents.draw_text(0, 50, 320, 32,  "Forêt enchantée")
    self.contents.draw_text(0, 70, 320, 32,  "bosquet ensoleillé")
    self.contents.draw_text(0, 90, 320, 32,  "Grande cabane")
    self.contents.draw_text(0, 110, 320, 32, "Vol de crépuscule")
    self.contents.draw_text(0, 130, 320, 32, "Ankum")
  end
end
###############################################################################
class Window_Liste2 < Window_Base  
  def initialize
    super(0, 180, 544, 234)
    refresh
  end
  def refresh
    self.contents.clear
    bitmap = Cache.system("Iconset")
    icon_index = 1
    icon_index2 = 2
    rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 24, 24)
    rect2 = Rect.new(icon_index2 % 16 * 24, icon_index2 / 16 * 24, 24, 24)
    contents.blt(200, 0, bitmap, rect)
    contents.blt(260, 0, bitmap, rect2)
    self.contents.draw_text(0, 30, 320, 32,  "Ile givrée")
    self.contents.draw_text(0, 50, 320, 32,  "Grande toundra")
    self.contents.draw_text(0, 70, 320, 32,  "Pic glacé")
    self.contents.draw_text(0, 90, 320, 32,  "Caverne givrée")
    self.contents.draw_text(0, 110, 320, 32, "Vol de nuit")
    self.contents.draw_text(0, 130, 320, 32, "Demerr")
  end
end
###############################################################################
class Window_Liste3 < Window_Base  
  def initialize
    super(0, 180, 544, 234)
    refresh
  end
  def refresh
    self.contents.clear
    bitmap = Cache.system("Iconset")
    icon_index = 1
    icon_index2 = 2
    rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 24, 24)
    rect2 = Rect.new(icon_index2 % 16 * 24, icon_index2 / 16 * 24, 24, 24)
    contents.blt(200, 0, bitmap, rect)
    contents.blt(260, 0, bitmap, rect2)
    self.contents.draw_text(0, 30, 320, 32,  "Ile de Jester")
    self.contents.draw_text(0, 50, 320, 32,  "Plaine cendrée")
    self.contents.draw_text(0, 70, 320, 32,  "grottes volcanique")
    self.contents.draw_text(0, 90, 320, 32,  "Jester")
    self.contents.draw_text(0, 110, 320, 32, "Galerie de jester")
  end
end
  #--------------------------------------------------------------------------
  # * Class windows pour la liste de selection
  #--------------------------------------------------------------------------
class Window_selec < Window_HorzCommand
    def window_width
    @window_width = 542
  end
 def make_command_list
    add_command("Ile verdoyante", :monde1)
    add_command("Ile feuillue", :monde2)
    add_command("Ile givrée", :monde3)
    add_command("Ile de Jester", :monde4)
  end
end

Merci d'avance (je fait de mon mieu et j'espére ne pas vous dérenger ^^), une fois ce soucis résolue il ne restera que l'affichage des variable IG et quelque petit plus et ajustement ^^ (dumoin pour le début)
vincent26
vincent26
Membre

Nombre de messages : 766
Age : 24
Localisation : baume de transit le village paumé
Distinction : aucune
Date d'inscription : 17/08/2010

Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici - Page 2 Empty Re: Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici

le Mer 5 Nov 2014 - 18:11
Tient je l'ai modifier un peu (avec des commentaire Wink ):

Code:

class Scene_Atlas < Scene_MenuBase
  def start
    super
    create_Titre
    create_selec
    create_Liste
  end
  #--------------------------------------------------------------------------
  # Fenetre de titre
  #--------------------------------------------------------------------------
  def create_Titre
    @Wtitle = Window_Titre.new
  end
  #--------------------------------------------------------------------------
  # * Affichage des niveaux et icones
  #--------------------------------------------------------------------------
  def create_Liste #Creation de toute les window
    @Ltitle0 = Window_Liste.new
    @Ltitle1 = Window_Liste1.new
    @Ltitle2 = Window_Liste2.new
    @Ltitle3 = Window_Liste3.new
    hide_all_list #on les masque
    @Ltitle0.show #on affiche uniquement la première
  end
  #--------------------------------------------------------------------------
  # * Menu de selection
  #--------------------------------------------------------------------------
  def create_selec
    @window_selection = Window_selec.new(1, 130)
    @window_selection.set_handler(:monde1, method(:monde1))
    @window_selection.set_handler(:monde2, method(:monde2))
    @window_selection.set_handler(:monde3, method(:monde3))
    @window_selection.set_handler(:monde4, method(:monde4))
    @window_selection.set_handler(:cancel, method(:return_scene))
  end
  def monde1
    #@Ltitle = Window_Liste.new
  end
  def monde2
    #@Ltitle = Window_Liste1.new
  end
  def monde3
    #@Ltitle = Window_Liste2.new
  end
  def monde4
    #@Ltitle = Window_Liste3.new
  end
 
  def update #update lors du mouvement du curseur
    super
    case @window_selection.index #récuperation de la position du curseur
    when 0;#si on est a l'index 0
      hide_all_list#on cache tout
      @Ltitle0.show#on affiche l'index 0
    when 1;#...
      hide_all_list
      @Ltitle1.show
    when 2;
      hide_all_list
      @Ltitle2.show
    when 3;
      hide_all_list
      @Ltitle3.show
    end
  end
 
  def hide_all_list#Cacher toute les liste
    @Ltitle0.hide
    @Ltitle1.hide
    @Ltitle2.hide
    @Ltitle3.hide
  end
 
end
  #--------------------------------------------------------------------------
  # Class windows pour le titre
  #--------------------------------------------------------------------------
class Window_Titre < Window_Base 
  def initialize
    super(0, 82, 544, 46)
    self.contents.draw_text(224, 0, 320, 32, "ATLAS")
  end
end
  #--------------------------------------------------------------------------
  # * Class windows pour la liste des niveaux et icones
  #--------------------------------------------------------------------------
class Window_Liste < Window_Base 
  def initialize
    super(0, 180, 544, 234)
    refresh
  end
  def refresh
    self.contents.clear
    bitmap = Cache.system("Iconset")
    icon_index = 1
    icon_index2 = 2
    rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 24, 24)
    rect2 = Rect.new(icon_index2 % 16 * 24, icon_index2 / 16 * 24, 24, 24)
    contents.blt(250, 0, bitmap, rect)
    contents.blt(320, 0, bitmap, rect2)
    self.contents.draw_text(0, 30, 320, 32,  "Ile verdoyante")
    self.contents.draw_text(0, 50, 320, 32,  "Collines de pierre")
    self.contents.draw_text(0, 70, 320, 32,  "Ruine antique")
    self.contents.draw_text(0, 90, 320, 32,  "Grand terrier")
    self.contents.draw_text(0, 110, 320, 32, "Vol de jour")
    self.contents.draw_text(0, 130, 320, 32, "Amarr")
  end
end
###############################################################################
class Window_Liste1 < Window_Base 
  def initialize
    super(0, 180, 544, 234)
    refresh
  end
  def refresh
    self.contents.clear
    bitmap = Cache.system("Iconset")
    icon_index = 1
    icon_index2 = 2
    rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 24, 24)
    rect2 = Rect.new(icon_index2 % 16 * 24, icon_index2 / 16 * 24, 24, 24)
    contents.blt(200, 0, bitmap, rect)
    contents.blt(260, 0, bitmap, rect2)
    self.contents.draw_text(0, 30, 320, 32,  "Ile feuillue")
    self.contents.draw_text(0, 50, 320, 32,  "Forêt enchantée")
    self.contents.draw_text(0, 70, 320, 32,  "bosquet ensoleillé")
    self.contents.draw_text(0, 90, 320, 32,  "Grande cabane")
    self.contents.draw_text(0, 110, 320, 32, "Vol de crépuscule")
    self.contents.draw_text(0, 130, 320, 32, "Ankum")
  end
end
###############################################################################
class Window_Liste2 < Window_Base 
  def initialize
    super(0, 180, 544, 234)
    refresh
  end
  def refresh
    self.contents.clear
    bitmap = Cache.system("Iconset")
    icon_index = 1
    icon_index2 = 2
    rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 24, 24)
    rect2 = Rect.new(icon_index2 % 16 * 24, icon_index2 / 16 * 24, 24, 24)
    contents.blt(200, 0, bitmap, rect)
    contents.blt(260, 0, bitmap, rect2)
    self.contents.draw_text(0, 30, 320, 32,  "Ile givrée")
    self.contents.draw_text(0, 50, 320, 32,  "Grande toundra")
    self.contents.draw_text(0, 70, 320, 32,  "Pic glacé")
    self.contents.draw_text(0, 90, 320, 32,  "Caverne givrée")
    self.contents.draw_text(0, 110, 320, 32, "Vol de nuit")
    self.contents.draw_text(0, 130, 320, 32, "Demerr")
  end
end
###############################################################################
class Window_Liste3 < Window_Base 
  def initialize
    super(0, 180, 544, 234)
    refresh
  end
  def refresh
    self.contents.clear
    bitmap = Cache.system("Iconset")
    icon_index = 1
    icon_index2 = 2
    rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 24, 24)
    rect2 = Rect.new(icon_index2 % 16 * 24, icon_index2 / 16 * 24, 24, 24)
    contents.blt(200, 0, bitmap, rect)
    contents.blt(260, 0, bitmap, rect2)
    self.contents.draw_text(0, 30, 320, 32,  "Ile de Jester")
    self.contents.draw_text(0, 50, 320, 32,  "Plaine cendrée")
    self.contents.draw_text(0, 70, 320, 32,  "grottes volcanique")
    self.contents.draw_text(0, 90, 320, 32,  "Jester")
    self.contents.draw_text(0, 110, 320, 32, "Galerie de jester")
  end
end
  #--------------------------------------------------------------------------
  # * Class windows pour la liste de selection
  #--------------------------------------------------------------------------
class Window_selec < Window_HorzCommand
    def window_width
    @window_width = 542
  end
 def make_command_list
    add_command("Ile verdoyante", :monde1)
    add_command("Ile feuillue", :monde2)
    add_command("Ile givrée", :monde3)
    add_command("Ile de Jester", :monde4)
  end
end
spyrojojo
spyrojojo
Membre

Nombre de messages : 35
Age : 26
Localisation : dans ton lit (entre le matelas et le sommier)
Distinction : aucune
Date d'inscription : 22/09/2014
http://spyrojojo.deviantart.com/

Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici - Page 2 Empty Re: Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici

le Mer 5 Nov 2014 - 18:45
Merci beaucoup je t'en dois une belle ^^. Les scripts RM semble a la fois simple mais complexe et c'est plutot amusant a vrais dire ^^.
Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum