Day.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker

RM 95
RM 2000/2003
RM XP
RM VX/VX Ace
RM MV/MZ

Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

Sorties: "Dread Mac Farlane", (...) / Tutos: Checklist de la composition (...) / Sorties: Dread Mac Farlane - episode 8 / Sorties: Dread Mac Farlane - episode 7 / Jeux: Ce qui vit Dessous / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

593 connectés actuellement

29442278 visiteurs
depuis l'ouverture

8355 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

Level Up!

Leo-Games

Guelnika & E-magination

Offgame

ConsoleFun

Tous nos partenaires

Devenir
partenaire



forums

Index du forum > Entraide > [VX Ace] Generateur de perso in-game


Yearl - posté le 21/05/2013 à 15:09:11 (67 messages postés)

❤ 0

Domaine concerné: Script
Logiciel utilisé: VX Ace
Je suis pas sur mais il me semble que la question a déjà été abordée,
seulement j'ai pas réussi a retrouver quoi que ce soit .. Enfin bref :)

Alors, est ce qu'il existe un script pour lancer le générateur in-game, qui exporte le tile
et remplace le skin du héros ?

Ou est ce que c'est impossible, ou possible en event et je suis aveugle remarque aussi .. ^^


mtarzaim - posté le 21/05/2013 à 16:11:38 (2926 messages postés)

❤ 0

Anaxagoras -500 BC

Le générateur de perso donne un résultat naze 99% du temps.

Rends la vie plus jolie pour tes joueurs : propose leur une dizaine d'apparences déjà créées par tes soins.

Pense aussi que tu devras vérifier à chaque chargement de sauvegarde quelle est l'apparence choisie du joueur (sinon, il pourrait bien mettre l'apparence par défaut du personnage).

Il me semble donc nettement plus simple de créer une dizaine de héros, et de laisser le joueur piocher dedans, puis de modifier leur classe et autres variables à travers des QCM.

Projets terminés : DIX Life Precious - TheFrogStudio.Net


Yearl - posté le 21/05/2013 à 16:32:51 (67 messages postés)

❤ 0

Ui c'est exactement ce que j'ai fait pour l'instant, j'ai fais 6 femelles et 6 males.
Ca rend franchement pas mal, mais le principe de pouvoir créer son propre perso est nettement mieux à mon gout !
Après c'est vrai que les résultats sont pas térribles avec le générateur mais je me suis dis qu'il y avait certainement moyen de modifier les presets de base pour faire quelque chose de mieux !

Enfin bon je reste sur mon truc pour l'instant. Si quelqu'un à une solution pas mal par rapport à ma demande je veux bien la tester tout de même ^^


Joke - posté le 21/05/2013 à 17:46:27 (5089 messages postés)

❤ 0

Bilouteux fou

Toute les images du générateur sont dans le dossier "Generator" du dossier de VX.Ace, je pense qu'il est largement possible de créer un script qui exploite ce dossier s'il est déplacé dans les ressources du projet en question, comme il est déjà possible d'enregistrer un .png dans le répertoire qu'on veut à partir d'un bitmap créé ingame, comme il est bien évidemment possible de changer le charset du héros avec le fichier créé. Pour le faceset, idem on peut le changer avec le fichier créé il reste plus qu'à programmer les dialogues de sorte à ce qu'ils affichent le bon face quand le héros parle.

Le principal souci je pense c'est le fait que le joueur puisse commencer plusieurs parties, donc avec un faceset et un charset différent à chaque partie. Le fait que tu sois obligé d'utiliser un faceset pour le héros quand tu compose les dialogues dans le jeu pose un problème et je vois deux solutions : La première, c'est à chaque fois activer un interrupteur avant le message du héros, et désactiver l'interrupteur quand le héros a arrêté de parler, de sorte à ce qu'un script modifie le faceset pour mettre le bon lorsque l'interrupteur est activé. (Script que j'ai déjà donné dans un topic d'entraide ici ou ailleurs je ne sais plus) mais la meilleure solution je pense, qui n'implique pas d'activer/désactiver cet interrupteur, ce serait d'utiliser un faceset et un charset avec un nom spécial, du genre "HERO", et modifier les scripts qui affichent le faceset et le charset du héros en ajoutant une condition du genre "si le nom du fichier choisi est HERO, remplacer HERO par le nom du fichier correspondant au charset créé dans la partie, stocké dans une variable globale." le charset créé pourrait par exemple s'appeler "HERO_001".

Je me demande même s'il est possible d'appeler directement le fichier du faceset et charset utilisé "HERO_#{$id_hero}.png" de sorte à ce que #{$id_hero} soit automatiquement remplacé par la valeur de la variable globale $id_hero, ça évite à la fois d'aller modifier tous les scripts utilisant les charset et faceset, et d'utiliser un interrupteur si cette parade fonctionne. Du genre si en programmant le jeu, tu as le charset et le faceset du héros qui est "HERO_#{$id_hero}.png", si dans la partie du joueur, il a créé le faceset et le charset nommé HERO_5.png, et que la variable $id_hero est égale à 5, RM devrait utiliser directement le faceset et le charset nommé HERO_5.png si ça fonctionne.

Bref, compte tenu de tout ça, ça devrait être à la portée d'un scripteur aguéri, malheureusement, je n'en suis pas un ! Je pourrais le scripter, mais bien moins proprement qu'un mec qui sait vraiment scripter ! ^^

biloumaster.fr, mon joli site ouèb tout bô tout frai !


Yearl - posté le 21/05/2013 à 18:49:59 (67 messages postés)

❤ 0

Oula uey et moi quand je lis ca je me dis que je suis pas près de l'avoir x)

Mais enfaite si la face set ne s'ajuste pas à chaque dialogue, ca me dérange pas plus que ca, je peux très bien ne pas en mettre, l'essentiel c'est l'apparence du charset et du faceset aussi mais dans le menu ..

Enfin bon je crois que je suis bien partit pour garder mon systême de choix :)


Mack - posté le 21/05/2013 à 19:17:43 (2290 messages postés) - staff

❤ 0

A mon avis, le mieux c'est de créer le bitmap lors du chargement de la partie.
J'pense que ça serait moins gourmand.


J'ai absolument pas le temps de m'en occuper cette semaine, mais si c'est toujours d'actualité, hésite pas à upper vers Vendredi soir et j'verrais ce que je peux faire :D.

( Je prend note de tout les commentaires, même si je n'y répond pas )


Yearl - posté le 21/05/2013 à 20:04:38 (67 messages postés)

❤ 0

D'accord merci ! J’essaierai d'y penser ! ^^


Joke - posté le 21/05/2013 à 21:23:00 (5089 messages postés)

❤ 0

Bilouteux fou

On est aussi en train de voir ce qu'on peut faire avec l'Event Extender, je ne promet sincèrement rien au cas où ça nous casse les co****es ! :ange

biloumaster.fr, mon joli site ouèb tout bô tout frai !


Yearl - posté le 21/05/2013 à 21:48:17 (67 messages postés)

❤ 0

D'accord xD


arttroy - posté le 22/05/2013 à 14:42:54 (2394 messages postés)

❤ 0

Just working

Je suis curieux de voir ce que ça donnera... Je n'en aurais pas l'utilité pour mon projet actuel mais peut être que ça pourrait bien me donner des idées pour un autre...

Anti-inconstructivité / Pétition pour que le mot making soit inscrit dans le dictionnaire ?


Yearl - posté le 24/05/2013 à 18:13:11 (67 messages postés)

❤ 0

Le bouton UP ne fonctionnant pas .. Ecriture d'un message inutile -.-"


GeckoEssence - posté le 24/05/2013 à 21:51:27 (10274 messages postés)

❤ 0

Pas la peine d'upper si tu n'as pas de réponse, ça viendra si ça doit venir.

Kaëlar n'utilise pas ce système pour son jeu ? Bon, après vu que son jeu est pro, peu de chances qu'il te laisse trifouiller le script si j'ai bon, mais ça vaut toujours le coup de regarder au moins le fonctionnement, y a bien une démo de son projet quelque part non ?


Yearl - posté le 24/05/2013 à 22:00:50 (67 messages postés)

❤ 0

J'ai juste upper parce que Mack me l'avait demandé, vu qu'il (elle?) se reconnecte ce soir normalement ! ^^


Mack - posté le 25/05/2013 à 08:48:10 (2290 messages postés) - staff

❤ 0

Il ^^.

En fait, j'avais voulu commencer, mais quand j'ai vu comment était trié les ressources du générateur de Ace ... J'ai eu la flemme de tout trier xD.

Donc faut que je trouve comment découper chaque partie automatiquement et j'm'en occuperais après :D.

( Je prend note de tout les commentaires, même si je n'y répond pas )


Yearl - posté le 26/05/2013 à 01:55:03 (67 messages postés)

❤ 0

Dakor ^^ Merci de chercher en tout cas !


Mack - posté le 28/05/2013 à 09:57:34 (2290 messages postés) - staff

❤ 0

Bon, j'ai finalement réussis à le faire sans découper, donc on peut utiliser les ressource du générateur tels quels :D.
Du coup, j'ai ( quasiment ) finis la création du Character, mais je me demandais si tu voulais aussi que je te fasse le Menu, ou si tu voulais le faire toi même après ?


Et je voulais aussi savoir si fallait aussi gérer les faces du perso, ou juste le character c'est bon ?

( Je prend note de tout les commentaires, même si je n'y répond pas )


Yearl - posté le 28/05/2013 à 18:57:23 (67 messages postés)

❤ 0

Ah merci beaucoup, bah je suis pas doué en script donc le menu serai le bien venu également ^^
Et pour les faces j'aimerai les avoir aussi étant donné quelles apparaissent dans menu et combats, c'est assez important !

Merci en tout cas :)


Mack - posté le 30/05/2013 à 14:51:46 (2290 messages postés) - staff

❤ 0

Voila une première version :
http://www.mediafire.com/?28ji755gwrocig5


:D

Donc l'évent du Bas te permet de créer le character ( La seconde ligne de script permet de dire sur quel héros agir, et si c'est un homme ).
Celui de gauche permet de revenir au character créer, tandis que celui de droite permet de mettre un character "standard".

Et celui du haut montre comment faire disparaître le héros.



Il me reste plus que le Faceset à faire, mais là je sais pas trop comment je vais faire.

( Je prend note de tout les commentaires, même si je n'y répond pas )


Yearl - posté le 30/05/2013 à 20:50:24 (67 messages postés)

❤ 0

MERCIIIII ! Ca marche niquel !! Préviens moi si tu réussi pour les facesets :)

EDIT: Ah non enfaite que je mette true ou false, j'ai obligatoirement une fille !


Mack - posté le 08/06/2013 à 12:21:30 (2290 messages postés) - staff

❤ 0

Ah effectivement.
J'vais corriger ça de suite.

( Par contre, je sais pas quand j'aurais finis pour les faces xD )



EDIT : Remplaces Scene_Custom :

Portion de code : Tout sélectionner

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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#==============================================================================
# ** Scene_Menu
#------------------------------------------------------------------------------
#  This class performs the menu screen processing.
#==============================================================================
 
class Scene_Custom < Scene_MenuBase
  attr_reader :male
  #--------------------------------------------------------------------------
  # * Start Processing
  #--------------------------------------------------------------------------
  def start
    super
    create_command_window
    @index=0
    @params=[]
    @max=[]
    for i in 0...@command_window.text.size
      @params[i]=0
      if (i==0)
        @max[0]=3
      else
        @max[i]=8
      end
    end
    @command_window.set_type(@@male)
    
  end
  
  def self.set_actor(i, b)
    @actor = $game_actors[i]
    @@male=b
  end
  
  def update
    super
    if Input.repeat?(:DOWN)
      @index+=1
      i = @command_window.text.size-1
      if @index>i
        @index=i
      end
      @command_window.refresh_index(@index, @params)
      @command_window.refresh
    elsif Input.repeat?(:UP)
      @index-=1
      if @index<0
        @index=0
      end
      @command_window.refresh_index(@index, @params)
      @command_window.refresh
    elsif Input.repeat?(:RIGHT)
      @params[@index]+=1
      i = @command_window.custom_sprite.preload_item(@index,@params)
      if (@params[@index]>i)
        @params[@index]=i
      end
      @command_window.refresh_index(@index, @params)
      @command_window.refresh
    elsif Input.repeat?(:LEFT)
      @params[@index]-=1
      if (@params[@index]<0)
        @params[@index]=0
      end
      @command_window.refresh_index(@index, @params)
      @command_window.refresh
    end
    
    if Input.trigger?(:C)
      @actor.custom_sprite = @command_window.custom_sprite
      @actor.custom_sprite.make_character
      $game_player.refresh
      SceneManager.goto(Scene_Map)
    end
  end
  #--------------------------------------------------------------------------
  # * Create Command Window
  #--------------------------------------------------------------------------
  def create_command_window
    @command_window = Window_Generator.new
  end
  #--------------------------------------------------------------------------
end
 



Et Window_Generator par :

Portion de code : Tout sélectionner

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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#==============================================================================
# ** Window_Gold
#------------------------------------------------------------------------------
#  This window displays the party's gold.
#==============================================================================
 
class Window_Generator < Window_Base
  
  attr_reader :text
  attr_reader :custom_sprite
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0, window_width, 416)
    @index=0
    @text = ["Peau","Yeux","Vetements", "Couleur Vetement","Cheveux (Devant)", "Cheveux (Arrière)","Barbe","Couleur Cheveux", "Cape","Couleur Cape",
    "Ailes", "Couleur Ailes", "Lunettes", "Couleur Lunettes", "Accessoire_1","Couleur Accessoire_1", "Accessoire_2","Couleur Accessoire_2",
    "Oreille","Queue", "Couleur Queue"]
    @params=[]
    for i in 0...@text.size
      @params[i]=0
    end
    @custom_sprite = Sprite_Player.new
    
    refresh
  end
  
  def set_type(b)
    @custom_sprite.set_type(b)
    refresh
  end
  
  #--------------------------------------------------------------------------
  # * Get Window Width
  #--------------------------------------------------------------------------
  def window_width
    return 544
  end
  def refresh_index(i, p)
    @index=i
    @params = p
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    contents.clear
    for i in 0...@text.size
      x=0
      if (@index==i)
        x=12
      end
      draw_text(x+8, i*18+4, 256, line_height, @text[i] + " : " + @params[i].to_s)
    end
    
    @custom_sprite.make_bitmap(@params)
    
    bitmap = @custom_sprite.sprite
    rect = Rect.new(0,0,96,128)
    contents.blt(256+16,16, bitmap, rect, 255)
  end
  #--------------------------------------------------------------------------
  # * Open Window
  #--------------------------------------------------------------------------
  def open
    refresh
    super
  end
end
 



( Je prend note de tout les commentaires, même si je n'y répond pas )


Yearl - posté le 09/06/2013 à 15:38:07 (67 messages postés)

❤ 0

Oki merci ca marche, si tu pouvais me prévenir par mp quand tu auras réussi les facesets, si c'est dans longtemps !
Merci d'avance :)

Index du forum > Entraide > [VX Ace] Generateur de perso in-game

repondre up

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe - Mentions légales

Plan du site

Communauté: Accueil | Forum | Chat | Commentaires | News | Flash-news | Screen de la semaine | Sorties | Tests | Gaming-Live | Interviews | Galerie | OST | Blogs | Recherche
Apprendre: Visite guidée | RPG Maker 95 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker MV | Tutoriels | Guides | Making-of
Télécharger: Programmes | Scripts/Plugins | Ressources graphiques / sonores | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Au hasard | Notre sélection | Sélection des membres | Tous les jeux | Jeux complets | Le cimetière | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Proposer
Ressources RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
Ressources RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
Ressources RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
Ressources RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis
Archives: Palmarès | L'Annuaire | Livre d'or | Le Wiki | Divers