Une Princesse sans amour est une Princesse oubliée - Brandobscure
sam. 04 janv. 2014 - 09h54
Bonjour ! Je suis en recherche de scipteur assez confirmé (comme perlune ou zeus) pour des tutoriels assez détaillé sur le RGSS (1, 2 et 3) pour me perfectionner dans le codage. [strike]J'ai déjà lus des tutos mais le plus souvent, ils n'étaient jamais fini.[/strike] Voici des script assez simple que j'ai réaliser et que vous pourrez trouver dans les script pour RMXP : Scene_Aide | Menu G | Menu objets | Scene_Title - J'accepte toute demande, n'hésiter pas a me contactez par MP. Merci ^^
lun. 06 janv. 2014 - 00h42
Je peux t'aider et/ou te conseiller si tu veux. Je suis loin d'être le meilleur donc des cours, ça va être dur. Mais des conseils/corrections, c'est possible.
mar. 07 janv. 2014 - 17h08
pourquoi un tel post ? tu devrait savoir depuis le temp que t'est la que seul bibi et kanapeche s y connaissent en ruby ^^', j'ai essayer d'apprendre a faire des scriptes mais j'ai pas réussi >o<
jeu. 09 janv. 2014 - 18h03
J'aurais besoin d'un peu d'aide. Je sais mettre une image mais j'aimerais la faire bouger (gerne de haut en bas) dans une scene. le script, qui est fonctionel et dans lequel j'aimerias faire bouger une image (qui n'est pas mise pour le moment.) : [spoiler]# #.: Générateur de cahnce :. #.: eddy_de_galdon :. # class Scene_Chance #Oui, ce scipt ne marcherais pas avec le def main a cause de cette commande "Chance = 1 + rand (99)" #Image @Fond = Sprite.new @Fond.bitmap = Bitmap.new(640,480) @Fond.bitmap = RPG::Cache.battler ("jeux chance", 0) #Chance entre 1 et 100 : Chance = 1 + rand (99) #Texte : texte = Sprite.new texte.bitmap = Bitmap.new(640,480) #Texte : quitter / recommencer : texte.bitmap.draw_text(430, 440, 500, 32, "W pour revenir au menu") #Conditional branch : if Chance >= 99 then texte.bitmap.draw_text(50, 50, 500, 32, "Vous avez énormément de chance Aujourd'hui !") elsif Chance <= 20 texte.bitmap.draw_text(50, 50, 500, 32, "Vous avez beaucoup de chance Aujourd'hui !") else texte.bitmap.draw_text(50, 50, 500, 32, "Ceci est une journée comme les autres... ") end #Quitter : loop do Graphics.update Input.update break if Input.trigger?(Input::R) end $scene = Scene_Menu.new end[/spoiler] Merci d'avance ! [b]EDIT : le code avec les images ![/b]
jeu. 09 janv. 2014 - 18h31
c'est ca non ? : def update_position self.x = @picture.x self.y = @picture.y self.z = @picture.number end donc tu fait un truc genre : texte.bitmap.update_position(x,y,1) si je me trompe pas
ven. 10 janv. 2014 - 17h41
je vais voir, mais je pense l'avoir mal placé car ça ne fonctionne pas. [u][b]EDIT :[/b][/u] j'ai resolue le problème : -pour l'image : @Fond = Plane.new @Fond.bitmap = Bitmap.new(640,480) @Fond.bitmap = RPG::Cache.battler ("jeux chance", 0) @Fond.oy = 0 -le déplacement a été placée dans la boucle infini (loop do) : @Fond.oy += 2
mar. 11 févr. 2014 - 20h27
je reviens car j'ai besoin d'aide ^^ est-t-il possible de mettre deux conditions dans une seule branche de conditions ? (if |condition1| |condition2| )
mar. 11 févr. 2014 - 20h36
comment ca 2 conditon ? si les deux doivent etre executé y a : [code]if (condition 1) if (condition 2) blabla ... end end[/code] ou bien si une seul est executé : [code] def commande blabla end if (condition 1) commande elseif (conditon 2) commande end [/code]
mar. 11 févr. 2014 - 20h40
merci zouz !
sam. 15 févr. 2014 - 11h09
Bonjour ! J'ai un gros bug sur mon project puzzle qui m’empêche de l'avancer. Le jeu doit d'abord passer par la Scene_Logo puis par la Scene_Puzzle_1 SCene_Logo : [code] class Scene_Logo @TTT = 0 #------------------------------------------------------------------------------ @Logo = Sprite.new @Logo.bitmap = RPG::Cache.picture("Logo") #------------------------------------------------------------------------------- @NOIR = Sprite.new @NOIR.bitmap = RPG::Cache.battleback("NOIR") @NOIR.opacity = 255 #------------------------------------------------------------------------------- @Noir = false loop do @TTT += 1 Graphics.update Input.update if @TTT % 60 == 0 @Noir = true end if @Noir = true @NOIR.opacity -= 2 end if Input.trigger?(Input::C) $scene = Scene_Puzzle_1.new end end end [/code] Scene_Puzzle_1 : [code] class Scene_Puzzle_1 #TEST PUZZLE GAME #eddy_de_galdon Audio.bgm_play ("Audio/BGM/puzzle_1") @Move_piece = true #------------------------------------------------------------------------------- @NOIR = Sprite.new @NOIR.bitmap = RPG::Cache.battleback("NOIR") @NOIR.opacity = 0 @NOIR.z = 9 #------------------------------------------------------------------------------- @NOIR2 = Sprite.new @NOIR2.bitmap = RPG::Cache.battleback("texte") @NOIR2.opacity = 0 @NOIR2.z = 99 #------------------------------------------------------------------------------- @texte = Sprite.new @texte.bitmap = Bitmap.new(640,480) @couleur_blanche = Color.new(255,255,255,255) @texte.bitmap.font.name = ["Arial"] @texte.bitmap.font.size = 26 @texte.bitmap.font.color = @couleur_blanche @texte.opacity = 0 @texte.z = 999 #------------------------------------------------------------------------------- @fin = Sprite.new @fin.bitmap = RPG::Cache.battleback("puzzle_1b") @fin.opacity = 0 @fin.z = 10 #------------------------------------------------------------------------------- #fond @fond = Sprite.new @fond.bitmap = RPG::Cache.battleback("puzzle_1") #Pièces #1 @spr = Sprite.new @spr.bitmap = RPG::Cache.battler("1_1",0) @spr.x = 20 @spr.y = 50 @spr.z = 1 #2 @spr2 = Sprite.new @spr2.bitmap = RPG::Cache.battler("1_2",0) @spr2.x = 120 @spr2.y = 240 @spr2.z = 1 #3 @spr3 = Sprite.new @spr3.bitmap = RPG::Cache.battler("1_3",0) @spr3.x = 200 @spr3.y = 40 @spr3.z = 1 #4 @spr4 = Sprite.new @spr4.bitmap = RPG::Cache.battler("1_4",0) @spr4.x = 0 @spr4.y = 300 @spr4.z = 1 #------------------------------------------------------------------------------- #CURSEUR DIRECTION @Haut = Sprite.new @Haut.bitmap = RPG::Cache.picture("Y") @Haut.x = 288 @Haut.y = 10 @Haut.z = 100 @Bas = Sprite.new @Bas.bitmap = RPG::Cache.picture("Y") @Bas.x = 288 @Bas.y = 436 @Bas.z = 100 @Gauche = Sprite.new @Gauche.bitmap = RPG::Cache.picture("X") @Gauche.x = 12 @Gauche.y = 240 @Gauche.z = 100 @Droite = Sprite.new @Droite.bitmap = RPG::Cache.picture("X") @Droite.x = 596 @Droite.y = 240 @Droite.z = 100 @Haut.opacity = @Bas.opacity = @Gauche.opacity = @Droite.opacity = 200 @F = 0 #final temps. @S = 1 #stop se @T = 1 #frames curseur @NB = 1 #ID pour l'image active #opacité des images @spr.opacity = 100 @spr2.opacity = 100 @spr3.opacity = 100 @spr4.opacity = 100 #------------------------------------------------------------------------------- loop do Graphics.update Input.update #redefinir @spr.opacity = 100 @spr.z = 1 @spr2.opacity = 100 @spr2.z = 1 @spr3.opacity = 100 @spr3.z = 1 @spr4.opacity = 100 @spr4.z = 1 #------------------------------------------------------------------------------- #Retour #------------------------------------------------------------------------------- if @Move_piece == true if @NB == 5 @NB = 1 end end #------------------------------------------------------------------------------- #FLECHES MOVE @S += 1 @T += 1 if @T % 20 == 0 @Haut.y = 8 @Bas.y = 440 @Gauche.x = 8 @Droite.x = 600 end if @T % 40 == 0 @Haut.y = 4 @Bas.y = 444 @Gauche.x = 4 @Droite.x = 604 end if @T % 60 == 0 @Haut.y = 0 @Bas.y = 448 @Gauche.x = 0 @Droite.x = 608 end if @T % 80 == 0 @Haut.y = 4 @Bas.y = 444 @Gauche.x = 4 @Droite.x = 604 end if @T % 100 == 0 @Haut.y = 8 @Bas.y = 440 @Gauche.x = 8 @Droite.x = 600 end if @T % 120 == 0 @Haut.y = 10 @Bas.y = 436 @Gauche.x = 12 @Droite.x = 596 @T = 0 end #-------------------------------------- if @Move_piece == true if Input.trigger?(Input::C) Audio.se_play ("Audio/SE/001-System01") @NB += 1 end end #----------------------------------------- #1 if @NB == 1 @spr.opacity = 190 @spr.z = 2 end if @NB == 1 && Input.trigger?(Input::RIGHT) @spr.x += 10 elsif @NB == 1 && Input.trigger?(Input::LEFT) @spr.x -= 10 elsif @NB == 1 && Input.trigger?(Input::UP) @spr.y -= 10 elsif @NB == 1 && Input.trigger?(Input::DOWN) @spr.y += 10 end #2 if @NB == 2 @spr2.opacity = 190 @spr2.z = 2 end if @NB == 2 && Input.trigger?(Input::RIGHT) @spr2.x += 10 elsif @NB == 2 && Input.trigger?(Input::LEFT) @spr2.x -= 10 elsif @NB == 2 && Input.trigger?(Input::UP) @spr2.y -= 10 elsif @NB == 2 && Input.trigger?(Input::DOWN) @spr2.y += 10 end #3 if @NB == 3 @spr3.opacity = 190 @spr3.z = 2 end if @NB == 3 && Input.trigger?(Input::RIGHT) @spr3.x += 10 elsif @NB == 3 && Input.trigger?(Input::LEFT) @spr3.x -= 10 elsif @NB == 3 && Input.trigger?(Input::UP) @spr3.y -= 10 elsif @NB == 3 && Input.trigger?(Input::DOWN) @spr3.y += 10 end #4 if @NB == 4 @spr4.opacity = 190 @spr4.z = 2 end if @NB == 4 && Input.trigger?(Input::RIGHT) @spr4.x += 10 elsif @NB == 4 && Input.trigger?(Input::LEFT) @spr4.x -= 10 elsif @NB == 4 && Input.trigger?(Input::UP) @spr4.y -= 10 elsif @NB == 4 && Input.trigger?(Input::DOWN) @spr4.y += 10 end #----------------------------------------- #PIECE BIEN PLACCE #1 if @spr.x == 300 if @spr.y == 0 @spr.opacity = 255 end end #2 if @spr2.x == 0 if @spr2.y == 250 @spr2.opacity = 250 end end #3 if @spr3.x == 0 if @spr3.y == 0 @spr3.opacity = 255 end end #4 if @spr4.x == 300 if @spr4.y == 250 @spr4.opacity = 255 end end #STOP THE SE ! if @S % 20 == 0 Audio.se_stop @S = 0 end #------------------------------------------- #Win if @spr.x == 300 if @spr.y == 0 if @spr2.x == 0 if @spr2.y == 250 if @spr3.x == 0 if @spr3.y == 0 if @spr4.x == 300 if @spr4.y == 250 @Move_piece = false @Haut.opacity = @Bas.opacity = @Gauche.opacity = @Droite.opacity -= 30 @NOIR.opacity += 16 @fin.opacity += 2 #--- @texte.bitmap.draw_text(50, 20, 500, 32, "Merci d'avoir tester le 'Projet Puzzle' appuyer sur F12") @NOIR2.opacity += 1 @texte.opacity += 1 end end end end end end end end #-------------------------------------------- end end [/code] ARCHIVE : http://www.mediafire.com/download/8ls3lbpbwvqaz86/test_puzzle_-_HELP_SCRIPT.zip Voilà, quand j'appuie sur entrer pour passer la scene_logo : [img]http://i58.servimg.com/u/f58/18/50/22/27/2014-068.png[/img] j'ai essayer plusieurs fois de réparer l'erreur mais j'ai rien trouver. J'espère que vous pourriez m'aider.
sam. 15 févr. 2014 - 12h15
le " loop do" de la ligne 97 il se termine ou ?? ensuit je t'en supplie la prochaine fois laisse les espaces !!!!
sam. 15 févr. 2014 - 12h19
La boucle infini se termine a l'avant dernier end du script ^^.
sam. 15 févr. 2014 - 12h27
bon vala : [code]class Scene_Logo @TTT = 0 #------------------------------------------------------------------------------ @Logo = Sprite.new @Logo.bitmap = RPG::Cache.picture("Logo") #------------------------------------------------------------------------------- @NOIR = Sprite.new @NOIR.bitmap = RPG::Cache.battleback("NOIR") @NOIR.opacity = 255 #------------------------------------------------------------------------------- @Noir = false loop do @TTT += 1 Graphics.update Input.update if @TTT % 60 == 0 @Noir = true end if @Noir = true @NOIR.opacity -= 2 end if Input.trigger?(Input::C) break $scene = Scene_Puzzle.new end end end [/code] fallait arreter la boucle avant de changer de scene avec un "break"
sam. 15 févr. 2014 - 12h29
Merci encore zouz !
mar. 18 févr. 2014 - 11h27
Déjà, pour les deux conditions, n'oubliez pas que vous avez les comparateurs booléens ( || (pour or), && (pour and) etc...). Ca vous évite les trucs imbriqués dégueulasses qui, à force, boufferont plus de complexité temporelle qu'autre chose (bon, on aura de la marge, mais autant résoudre ça). Surtout s'il n'y a pas de else avec la deuxième condition. De plus, respectez les conventions collectives. Pas de nom d'attribut d'objet tout en majuscule. Ce cas est réservé aux constantes (et qui, donc, ne sont pas des variables de classe / attributs objets). Si quelqu'un passe derrière votre code, il va vite criser. Les conventions collectives ne sont pas là pour faire joli, mais c'est pour qu'au premier coup d'oeil, on puisse savoir directement ce que sont les différentes variables! Et je peux vous affirmer que, s'il n'y a pas de convention collective sur un point, ça peut vite faire criser quelqu'un. On s'est souvent pris la tête Avygeil et moi-même sur comment écrire les pointeurs en C, parce que pas de convention collective sur ce point (il met l'indication du pointeur après le type, suivi d'un espace et le nom du pointeur. Je le met(tais) avant le nom du pointeur) Je n'ai rien à dire sur le code en lui-même (je suis moi-même, quand je suis en train de rédiger ce message, en train de coder une simulation de réseau point à point en C pour un projet de fac... Donc, pas le temps de voir le code, mais ça a l'air de marcher). Mais prenez de bonnes habitudes quand vous codez. Sachez qu'un jour, quelqu'un passera forcément derrière votre programme. Si vous ne respectez pas ces points, ça en dégoutera plus d'un. Voilà, c'était le post de la ralêuse du jour.