Day.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker


Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

Jeux: puie z / Jeux: Citymaime - Chapitre 1 / Jeux: Mer, îles et fous / News: Du neuf dans le making / News: Muma|Rope est disponible en (...) / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

591 connectés actuellement

30732844 visiteurs
depuis l'ouverture

2823 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

RPG Maker VX

RPG Fusion

Lumen

Tous nos partenaires

Devenir
partenaire



Messages postés par Estheone
Nombre de messages référencés sur Oniromancie (non supprimés): 303

Aller à la page: 1 2 3 4 5 6 7 8

Posté dans Forum - Conspirations et mystification de l'histoire

Estheone - posté le 05/04/2013 à 19:57:16. (312 messages postés)

Citation:

5/10 concernent l'énergie illimitée. Bien sûr...



http://www.nioutaik.fr/index.php/2012/11/27/631-les-moteurs-a-energie-infinie-et-ou-energie-libre-et-ou-mouvement-perpetuel-cest-vraiment-nimporte-quoi

Plus je lis tes messages Ddken, plus je me dis que l'auteur de ce blog et toi ne pourriez pas vous piffer. :lol

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [RMXP] Créer un fichier lorsque le jeu est fini

Estheone - posté le 04/04/2013 à 13:35:48. (312 messages postés)

Comme tu veux. ^^

En appel de script à la fin du jeu :

Portion de code : Tout sélectionner

1
2
3
file = File.open("Data/NomduFichier.rxdata", "wb")
Marshal.dump(true, file)
file.close



Dans le Scene_Title :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
    @game_completion = false
    filename = "Data/NomduFichier.rxdata"
    if FileTest.exist?(filename)
      file = File.open(filename, "rb")
      @game_completion = Marshal.load(file)
      file.close
    end



Le fichier est crypté avec une variable inutile dedans pour ne pas que le joueur puisse le créer facilement lui-même en connaissant son existence.

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [RMXP] Créer un fichier lorsque le jeu est fini

Estheone - posté le 04/04/2013 à 12:59:52. (312 messages postés)

Tu n'as pas forcément besoin de créer un nouveau fichier pour détecter si le jeu a été terminé.

Je pars du principe que tu veux rajouter une ou plusieurs options bonus à partir de l'écran-titre en fonction de si le jeu a été terminé ou non sur une sauvegarde.
Si c'est pas ce que tu veux faire il faut que tu me donnes plus de détails.

Dans le main du Scene_Title au-dessus des load_data tu ajoutes :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    @game_completion = false
    for i in 0..3
      filename = "Save#{i+1}.rxdata"
      if FileTest.exist?(filename)
        file = File.open(filename, "r")
        Marshal.load(file)
        Marshal.load(file)
        Marshal.load(file)
        game_switches = Marshal.load(file)
        file.close
        if game_switches[1]
          @game_completion = true
          break
        end
      end
    end


Tu remplaces le 1 de game_switches[1] par l'id d'un interrupteur qui s'active à la fin du jeu.
Tu n'as plus qu'à modifier le menu du Scene_Title en fonction de la variable @game_completion.

Evidemment il faut faire sauvegarder le joueur à la fin du jeu pour que ça marche, mais bon c'est généralement le cas dans les jeux avec contenu bonus.

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [RMXP] Faire bouger une image en script en même temps que Scene_Map

Estheone - posté le 03/04/2013 à 14:21:22. (312 messages postés)

Comme le dit mtarzaim il ne faut jamais faire des boucles avec un Graphics.update dedans.

Et il n'y a pas de ligne magique pour paralléliser ton script, il te faut l'intégrer correctement dès le départ.

Si tu débutes en script c'est pas évident à faire donc voilà la démarche.

Dans le Scene_Map :

Tu rajoutes ces 2 fonctions :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
  def create_hud_window
    dispose_hud_window if @hud_window
    @hud_window = Window_HUD.new
  end
  
  def dispose_hud_window
    @hud_window.dispose
    @hud_window = nil
  end



En dessous de @spriteset.update dans le update tu mets :

Portion de code : Tout sélectionner

1
2
3
4
    if @hud_window
      @hud_window.update
      dispose_hud_window if @hud_window.need_dispose
    end



En dessous des @spriteset.dispose (il y en a un dans le main et un dans le transfer_player) tu mets :

Portion de code : Tout sélectionner

1
    dispose_hud_window if @hud_window



Ensuite la fenêtre en elle-même (j'ai pris Window_Gold comme base) :

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
class Window_HUD < Window_Base
  
  attr_reader   :need_dispose
  
  def initialize
    super(0, 0, 160, 64)
    self.contents = Bitmap.new(width - 32, height - 32)
    @need_dispose = false
    @count = 0
    refresh
  end
  
  def refresh
    self.contents.clear
    cx = contents.text_size($data_system.words.gold).width
    self.contents.font.color = normal_color
    self.contents.draw_text(4, 0, 120-cx-2, 32, $game_party.gold.to_s, 2)
    self.contents.font.color = system_color
    self.contents.draw_text(124-cx, 0, cx, 32, $data_system.words.gold, 2)
  end
  
  def update
    super
    @count += 1
    if @count > 60
      self.opacity -= 8
      @need_dispose = true if self.opacity == 0
    end
  end
end



Pour finir tu n'as plus qu'à appeler ta fenêtre à partir d'un appel de script en event :

Portion de code : Tout sélectionner

1
$scene.create_hud_window


A noter qu'il ne faut pas l'appeler à partir d'un event en démarrage automatique sans laisser 1 frame d'attente avant.


Teste ça et je pense que tu pourras compléter selon tes besoins en analysant le fonctionnement.

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [RMXP] Afficher le nom d'un objet dont l'ID est contenu dans une variable

Estheone - posté le 02/04/2013 à 13:52:09. (312 messages postés)

Portion de code : Tout sélectionner

1
$data_items[id].name


En admettant que l'id soit contenue dans la variable 1 du système de variable d'origine ça donne :

Portion de code : Tout sélectionner

1
$data_items[$game_variables[1]].name


Tu n'as plus qu'à afficher avec un draw_text. :sourit

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [VX Ace] Faire passer un tour

Estheone - posté le 02/04/2013 à 00:10:21. (312 messages postés)

Non Zeus a raison. ^^
J'ai testé, tu peux ajouter un statut à tous les membres de l'équipe en commande d'event pour obtenir le même résultat (commande modifier le statut dans la catégorie Héros des commandes).

Mais bon tu demandes du script, je fournis du script. :D
A toi de choisir la méthode que tu préfères.

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [VX Ace] Faire passer un tour

Estheone - posté le 01/04/2013 à 23:10:33. (312 messages postés)

Non je ne pense pas que ce soit possible sans faire quelques modifs au préalable.
Mais bon je peux toujours me tromper. :sourit

Edit :
Après avoir regardé vite fait c'est vraiment simple à mettre en place en fait.
Il suffirait de retoucher la fonction inputable? de Game_Party :

Portion de code : Tout sélectionner

1
2
3
  def inputable?
    members.any? {|actor| actor.inputable? } and $game_switches[1] == false
  end


Avec ça, en mettant l'interrupteur 1 sur true, les tours des alliés sont systématiquement sautés. Il suffirait de l'activer puis le désactiver au tour suivant.

Ou si tu veux juste empêcher un seul tour, il y a encore mieux, juste activer l'interrupteur 1 au tour voulu et ajouter une ligne de script dans le Scene_Battle pour le désactiver automatiquement à chaque tour :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
  def start_party_command_selection
    unless scene_changing?
      refresh_status
      @status_window.unselect
      @status_window.open
      if BattleManager.input_start
        @actor_command_window.close
        @party_command_window.setup
      else
        $game_switches[1] = false
        @party_command_window.deactivate
        turn_start
      end
    end
  end



Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [VX] Remettre une variable à 0 après chaque combat.

Estheone - posté le 31/03/2013 à 00:28:48. (312 messages postés)

C'est dans la fonction terminate de Scene_Battle qu'il te faut intervenir.

Il te suffit de rajouter des commandes simples comme :

Portion de code : Tout sélectionner

1
$game_variables[1] = 0

ou

Portion de code : Tout sélectionner

1
$game_variables[2] += 1



Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [RMVXACE] Afficher des valeurs Via Variable et les positioner sur l'écran

Estheone - posté le 30/03/2013 à 22:50:05. (312 messages postés)

Content que ça te plaise. :sourit

Encore quelques remarques qui peuvent servir.

Tu peux mettre la police en gras ou en italique avec ces commandes :

Portion de code : Tout sélectionner

1
2
    self.bitmap.font.bold = true
    self.bitmap.font.italic = true


Tu peux aussi faire des modifs sur la police directement dans la méthode refresh autres que la couleur. Si par exemple tu as besoin d'afficher des variables en plus gros que d'autres, tu peux intercaler des self.bitmap.font.size = x entre les draw_text.

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [RMVXACE] Afficher des valeurs Via Variable et les positioner sur l'écran

Estheone - posté le 30/03/2013 à 20:47:38. (312 messages postés)

Tiens :

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
class Scene_Map < Scene_Base
  alias al_start start
  alias al_update update
  alias al_terminate terminate
  
  def start
    al_start
    @hud_sprite = Sprite_HUD.new
  end
  
  def update
    al_update
    @hud_sprite.update
  end
  
  def terminate
    @hud_sprite.dispose
    al_terminate
  end
end
 
class Sprite_HUD < Sprite
  
  VARS_ID = [1, 2, 3]
  
  def initialize
    super
    self.z = 60
    self.bitmap = Bitmap.new(544, 416)
    self.bitmap.font.size = 24
    @vars = []
    for id in VARS_ID
      @vars.push($game_variables[id])
    end
    refresh
  end
  
  def dispose
    self.bitmap.dispose
    super
  end
  
  def update
    super
    need_refresh = false
    for i in 0...@vars.size
      if @vars[i] != $game_variables[VARS_ID[i]]
        @vars[i] = $game_variables[VARS_ID[i]]
        need_refresh = true
      end
    end
    refresh if need_refresh
  end
  
  def refresh
    self.bitmap.clear
    self.bitmap.font.color.set(255, 255, 255)
    self.bitmap.draw_text(4, 4, 128, 24, "VAR 1 : " + $game_variables[VARS_ID[0]].to_s, 0)
    self.bitmap.font.color.set(255, 128, 128)
    self.bitmap.draw_text(208, 4, 128, 24, "VAR 2 : " + $game_variables[VARS_ID[1]].to_s, 1)
    self.bitmap.font.color.set(128, 255, 255)
    self.bitmap.draw_text(412, 4, 128, 24, "VAR 3 : " + $game_variables[VARS_ID[2]].to_s, 2)
  end
end



Les trucs qui t'intéressent pour paramétrer comme tu le souhaites :
- le tableau VARS_ID contient les id des variables que tu veux afficher
- la méthode refresh contient l'affichage

Petite parenthèse pour la méthode draw_text :
le premier paramètre correspond à la position x, le deuxième à la position y, le troisième à la largeur du cadre, le quatrième à sa hauteur (la même que la taille de la police), le cinquième au texte à afficher, et le dernier à l'alignement par rapport au cadre (0=>aligné à gauche, 1=>centré, 2=>aligné à droite).


Si comme tu dis tu sais bidouiller les scripts, tu devrais pouvoir t'en sortir avec ça. ;)

@Ephy :
L'affichage de variables en pictures est la seule solution sur 2k3 mais pour VX Ace il y a des méthodes plus pratiques je pense. :p

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [Maker VX] Fusionner 2 événements

Estheone - posté le 29/03/2013 à 06:17:12. (312 messages postés)

Les interrupteurs locaux sont propres à chaque événement, si tu modifies le A de l'événement 1, ça n'a aucune influence sur le A de l'événement 2.

Soit tu utilises les interrupteurs normaux, soit tu manipules les interrupteurs locaux à distance ce qui est plus compliqué :
en appel de script dans ton événement 1 :

Portion de code : Tout sélectionner

1
2
$game_self_switches[[1, 24, "A"]] = true
$game_map.need_refresh = true

Le premier nombre correspond à l'id de la map (j'ai pas pu le déterminer avec tes images donc à toi de remplacer par le nombre qui convient ^^), le deuxième à l'id de l'événement et la lettre entre guillemets le nom de l'interrupteur local.

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - Conspirations et mystification de l'histoire

Estheone - posté le 27/03/2013 à 20:07:45. (312 messages postés)

Pour le 11 septembre :
http://www.nioutaik.fr/index.php/2013/01/08/634-les-theories-du-complot-du-11-septembre-cest-vraiment-nimporte-quoi

Et pour le reste, Xwdrffgt a bien résumé mon opinion.

Citation:

Il faut sérieusement arrêter de fumer de la drogue, la weed ça rend trop de gens parano.



Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [VX Ace] Recadrer des Faceset en combat

Estheone - posté le 27/03/2013 à 17:11:56. (312 messages postés)

Si tu réduis la largeur de la fenêtre c'est normal que les facesets ne rentrent plus, je vois pas trop ce que tu veux qu'on y fasse...

Il y a pas 36 solutions, soit tu retravailles tes facesets pour ce nouveau format, soit tu remets la fenêtre à sa taille d'origine.
Modifier le script n'y changera rien.

Ah, et tant que j'y suis une question en passant :
comment tu fais pour bosser sur 3 projets simultanément sans devenir fou ? :D

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - Le retour des débilités du net.

Estheone - posté le 26/03/2013 à 02:51:08. (312 messages postés)

Vraiment énorme.
Ce mec est un génie, et son look djezus-style rend le truc encore plus awesome. :)

Abonné aussi. :D

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [RMXP] Ralentissements Importants

Estheone - posté le 25/03/2013 à 00:10:54. (312 messages postés)

Tout ce que je peux te dire pour l'instant c'est que la source du problème est probablement un script que tu as rajouté qui est appelé lors du chargement d'une map.
Essaie de repérer les scripts ajoutés qui modifient des classes comme Game_Map, Spriteset_Map ou Scene_Map.

Et si tu vois vraiment pas, envoie un lien vers le projet.
C'est le genre de problème qui peut avoir 10000 causes, impossible de t'aider davantage avec le peu d'informations que tu donnes.

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [VX Ace] Script incompatible avec une résolution modifiée

Estheone - posté le 24/03/2013 à 12:48:47. (312 messages postés)

Hmm... J'ai compris.
Tu utilises une map de test de 17 carreaux par 13 j'imagine.
Si tu fais un jeu en résolution 640x480 toutes tes maps doivent être au moins de 20 carreaux par 15 (la taille d'un écran en 640x480 quoi), sinon tu vas te taper des problèmes de ce genre. ^^

Bref le problème c'est la taille de ta map, pas le script. :p

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [VX Ace] Script incompatible avec une résolution modifiée

Estheone - posté le 24/03/2013 à 11:12:42. (312 messages postés)

J'ai testé ce script de popup en 640x480 et je vois pas le moindre problème.
Du coup je vois pas comment t'aider. :-/

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - Questions idiotes sur RM [PAS Script]

Estheone - posté le 24/03/2013 à 01:19:28. (312 messages postés)

Le logiciel a rien prévu pour.
Il faudrait carrément refaire la classe Tilemap pour ça, et vu qu'elle n'est pas accessible c'est pas évident.

Sinon je peux te proposer une solution du pauvre pour rendre tous les autotiles animés 2 fois plus rapides :
tu rajoutes un deuxième @tilemap.update en dessous du premier dans Spriteset_Map (ligne 119).

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - La religion

Estheone - posté le 23/03/2013 à 12:58:50. (312 messages postés)

Citation:

Évitez de ramener des on-dit de types douteux ici. Venez avec vos propres raisonnements.


On peut rapporter des citations de [insert Holy Book here] écrit pas on-ne-sait-qui mais pas celles d'un des philosophes les plus réputés au monde ?
Je vois... :flaco

Et merde... je m'étais pourtant juré de ne pas intervenir sur ce débat stérile...

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [VX Ace] Aucun panorama ne s'affiche avec mon script

Estheone - posté le 23/03/2013 à 00:13:44. (312 messages postés)

Citation:

Y a t-il une raison particulière pour que le scripteur l'ai laissé d'origine?


A mon avis c'est un simple oubli, soit de l'auteur du script, soit du traducteur qui a bidouillé un peu tout ça.
Un simple oubli qui a de lourdes conséquences sur le fonctionnement du script. ^^

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [RMXP] LUMEN (Steam)

Estheone - posté le 22/03/2013 à 10:52:57. (312 messages postés)

Citation:

Un peu ? C'est complètement la même je crois.
Edit : Ah non il y a des différence quand même mais c'est quand même trés trés proche.


J'ai comparé pour voir et faut arrêter le délire là. A part un enchaînement de 7 ou 8 notes d'affilée les deux musiques ont rien en commun. :hihi
Et même si les musiques avaient été identiques, je vois pas comment ça pourrait causer du tort à Lumen si Enterbrain n'a pas eu de problème.

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - Way Of Destiny [RMXP]

Estheone - posté le 22/03/2013 à 08:02:02. (312 messages postés)

Graphiquement, le jeu me laisse sur le cul. <3
C'est vraiment du très bon boulot.

Bon courage pour la suite !

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [VXAce] SBS , Gestion de la caméra

Estheone - posté le 21/03/2013 à 20:40:46. (312 messages postés)

Le truc qui s'occupe du zoom des charas est sûrement :

Portion de code : Tout sélectionner

1
2
    self.zoom_x = @battler.sv.zoom_x * $sv_camera.zoom
    self.zoom_y = @battler.sv.zoom_y * $sv_camera.zoom


Lignes 4487 et 4488 dans le SBS 2 (fonction update_origin de Sprite_Battler).
En partant de ce constat je dirais que $sv_camera.zoom est peut-être le problème.

Mais bon je pourrais pas t'en dire davantage sans voir ton projet vu que je peux pas faire de tests. :-/
Si vraiment t'y arrive pas envoie-le moi en mp et je verrais ce que je peux faire.

Edit :
En fait si j'ai bien compris c'est le rapport de zoom entre l'image de fond et les charas qui est le problème.
Peut-être qu'en ajoutant un coef sur les zooms de l'image de fond suffirait à régler ça.
Essaie de remplacer les self.zoom dans l'update de Sprite_Back_Picture par :

Portion de code : Tout sélectionner

1
2
    self.zoom_x = @zoom_x * $sv_camera.zoom * 0.7
    self.zoom_y = @zoom_y * $sv_camera.zoom * 0.7


en utilisant les paramètres dans la première image que tu montres.

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [VX Ace] Aucun panorama ne s'affiche avec mon script

Estheone - posté le 21/03/2013 à 20:23:48. (312 messages postés)

Vire le #~ devant wora_mulfog_sprmap_updpal au début de update_parallax dans Spriteset_Map.

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [VX Ace] Problème de modification de script

Estheone - posté le 21/03/2013 à 20:09:29. (312 messages postés)

Citation:

Concrètement ce petit update, à quoi sert-il, pourquoi règle t-il ce problème?


Quand tu sors du menu, la fenêtre Window_Calender est créée puis directement suivie d'une transition graphique. Or les scripts sont temporairement gelés pendant une transition et donc le script qui vérifiait l'état de l'interrupteur pour afficher la fenêtre se faisait trop tard.
En appelant update depuis l'initialize, le script qui nous intéresse est appelé directement à la création de la fenêtre.

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [VX Ace] Problème de modification de script

Estheone - posté le 20/03/2013 à 21:12:01. (312 messages postés)

J'arrive, j'arrive... :p

Ajoute un update après le super dans l'initialize de Window_Calender.

Problem Solved !

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

Estheone - posté le 19/03/2013 à 18:52:02. (312 messages postés)

Trouvé sur ton link :
Requires the Victor Engine – Basic Module

Il viendrait pas de là le problème ?
L'auteur du script a sûrement redéfini pas mal de trucs dans ce module.

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [Rpg Maker VX][Script] Problème de curseur en retirant tous les équipements

Estheone - posté le 17/03/2013 à 23:05:19. (312 messages postés)

Regarde dans la fonction return_scene de Scene_Status, Scene_File et Scene_End.
Réduit de 1 le nombre entre parenthèses après les Scene_Menu.new et ça devrait aller mieux.

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [VX Ace] Modification de variable lors du maintien de l'appui d'une touche

Estheone - posté le 16/03/2013 à 23:48:47. (312 messages postés)

En une ligne en insertion de script dans un event en processus parallèle :

Portion de code : Tout sélectionner

1
$game_variables[1] = Input.press?(:C) ? 1 : 0



Ou une bête condition event :
si la touche C est pressée
variable à 1
sinon
variable à 0
fin

D'autres questions ? :D

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

Estheone - posté le 16/03/2013 à 22:26:10. (312 messages postés)

Apprendre la syntaxe de base oui ça me semble indispensable (initialiser des variables, faire des boucles, créer des fonctions...). ^^
M'enfin, il te suffit de fouiller les scripts de base, quasiment tout ce que tu chercheras à faire se rapprochera d'un autre truc (le coup des .min pour imposer une valeur max tu peux le voir dans Game_Battler par exemple).

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

Estheone - posté le 16/03/2013 à 21:56:39. (312 messages postés)

Citation:

Cette portion de code correspond à l'opacité de départ de l'image ?


Oui.

Citation:

Cela fonctionne mais j'aimerai savoir si j'ai bien compris comment tout cela fonctionnait et si ma démarche était bonne ?


Non là ça ne se fait plus progressivement (ça passe direct à 180 dès la première frame).
Si tu veux fixer un maximum à 180 ce sont ces lignes qu'il faut rajouter (après les opacity +=) :

Portion de code : Tout sélectionner

1
2
3
@mini_map_sprite.opacity = [@mini_map_sprite.opacity, 180].min
@player_dot.opacity = [@player_dot.opacity, 180].min
@event_dots[i].opacity = [@event_dots[i].opacity, 180].min


Ou alors tu inclus les opacity += dans des if (plus simple mais moins précis, l'opacité va dépasser 180 vu que ce n'est pas un multiple de 8) :

Portion de code : Tout sélectionner

1
2
3
if @mini_map_sprite.opacity < 180
  @mini_map_sprite.opacity += 8
end



Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [RMXP] Effacer images lors de l'ouverture du menu

Estheone - posté le 16/03/2013 à 20:21:42. (312 messages postés)

Ca sera sûrement plus simple de modifier les priorités de superposition que d'effacer temporairement les images...

Va voir l'initialize du Window_Base et remplace la valeur du self.z par 1000 pour voir.

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

Estheone - posté le 16/03/2013 à 19:40:19. (312 messages postés)

Ouais j'avais oublié que les proc parallèles étaient déclenchés avant la création du Scene_Map, d'où l'erreur de script.
Avec le déclenchement auto ça me paraît bien mais l'affichage de la mini-map est trop abrupt, je te propose quelques modifs sur l'opacité :

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
class Spriteset_Mini_Map
  
  def initialize(map_name, event_ids)
    @map_name = map_name
    @viewport = Viewport.new(520, 0, 120, 90)
    @viewport.z = 190
    @mini_map_sprite = Sprite.new(@viewport)
    @mini_map_sprite.bitmap = RPG::Cache.picture(@map_name)
    @mini_map_sprite.opacity = 0
    @player_dot = Sprite.new(@viewport)
    @player_dot.bitmap = RPG::Cache.picture("Player_Dot")
    @player_dot.ox = @player_dot.bitmap.width/2
    @player_dot.oy = @player_dot.bitmap.height/2
    @player_dot.opacity = 0
    @events = []
    @event_dots = []
    for e in event_ids
      event = $game_map.events[e]
      if event
        @events.push(event)
        @event_dots.push(Sprite.new(@viewport))
        @event_dots.last.bitmap = RPG::Cache.picture("Event_Dot")
        @event_dots.last.ox = @event_dots.last.bitmap.width/2
        @event_dots.last.oy = @event_dots.last.bitmap.height/2
        @event_dots.last.opacity = 0
      end
    end
    update
  end
  
  def dispose
    @mini_map_sprite.dispose
    @player_dot.dispose
    for e in @event_dots
      e.dispose
    end
    @viewport.dispose
  end
  
  def update
    @mini_map_sprite.ox = $game_map.display_x*3/64
    @mini_map_sprite.oy = $game_map.display_y*3/64
    @mini_map_sprite.opacity += 8
    @player_dot.x = ($game_player.real_x+64-$game_map.display_x)*3/64
    @player_dot.y = ($game_player.real_y+64-$game_map.display_y)*3/64
    @player_dot.opacity += 8
    for i in 0...@events.size
      @event_dots[i].x = (@events[i].real_x+64-$game_map.display_x)*3/64
      @event_dots[i].y = (@events[i].real_y+64-$game_map.display_y)*3/64
      @event_dots[i].opacity += 8
    end
  end
end


Avec ça l'affichage de la mini-map se fait graduellement, c'est mieux. Enfin bon à toi de voir. ;)

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

Estheone - posté le 16/03/2013 à 18:43:11. (312 messages postés)

la fonction create_mini_map tu peux la mettre n'importe où dans le Scene_Map ça ne changera rien.

Le $scene.create_mini_map il faut l'appeler à partir d'un event, et pas à partir de l'écran-titre. :F

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

Estheone - posté le 16/03/2013 à 17:29:51. (312 messages postés)

Citation:

Question 1 : Affichage partielle d'une image + scrolling horizontal et vertical.



Petite remarque avant tout : 120x90 n'a pas un ratio 1:6 par rapport à 640*480 mais 1:5.333. ;)

On va laisser tomber la mini map en event, c'est de la daube.
Je t'en ai fait une scriptée et facilement paramétrable.
Voila un aperçu :
image

C'est fait à l'arrache mais tout fonctionne sans problème (défilement de la map qui est en ratio 1:5.333, rafraîchissement dynamique des curseurs en fonction de la position du héros et des events).

Le code :
Tu rajoutes ça dans le Scene_Map :

Portion de code : Tout sélectionner

1
2
3
  def create_mini_map(mini_map_name, event_ids)
    @mini_map_spriteset = Spriteset_Mini_Map.new(mini_map_name, event_ids)
  end


Tu ajoutes cette ligne en-dessous de @spriteset.update dans la fonction update du Scene_Map :

Portion de code : Tout sélectionner

1
@mini_map_spriteset.update if @mini_map_spriteset


Tu ajoutes ça dans le if $game_map.map_id != $game_temp.player_new_map_id dans la fonction transfer_player du Scene_Map :

Portion de code : Tout sélectionner

1
2
3
4
      if @mini_map_spriteset
        @mini_map_spriteset.dispose
        @mini_map_spriteset = nil
      end



Tu ajoutes ce code au-dessus du main :

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
class Spriteset_Mini_Map
  
  def initialize(map_name, event_ids)
    @map_name = map_name
    @viewport = Viewport.new(520, 0, 120, 90)
    @viewport.z = 190
    @mini_map_sprite = Sprite.new(@viewport)
    @mini_map_sprite.bitmap = RPG::Cache.picture(@map_name)
    @player_dot = Sprite.new(@viewport)
    @player_dot.bitmap = RPG::Cache.picture("Player_Dot")
    @player_dot.ox = @player_dot.bitmap.width/2
    @player_dot.oy = @player_dot.bitmap.height/2
    @events = []
    @event_dots = []
    for e in event_ids
      event = $game_map.events[e]
      if event
        @events.push(event)
        @event_dots.push(Sprite.new(@viewport))
        @event_dots.last.bitmap = RPG::Cache.picture("Event_Dot")
        @event_dots.last.ox = @event_dots.last.bitmap.width/2
        @event_dots.last.oy = @event_dots.last.bitmap.height/2
      end
    end
    update
  end
  
  def dispose
    @mini_map_sprite.dispose
    @player_dot.dispose
    for e in @event_dots
      e.dispose
    end
    @viewport.dispose
  end
  
  def update
    @mini_map_sprite.ox = $game_map.display_x*3/64
    @mini_map_sprite.oy = $game_map.display_y*3/64
    @player_dot.x = ($game_player.real_x+64-$game_map.display_x)*3/64
    @player_dot.y = ($game_player.real_y+64-$game_map.display_y)*3/64
    for i in 0...@events.size
      @event_dots[i].x = (@events[i].real_x+64-$game_map.display_x)*3/64
      @event_dots[i].y = (@events[i].real_y+64-$game_map.display_y)*3/64
    end
  end
end
 


Bien sûr il te faut modifier "Player_Dot" et "Event_Dot" par les noms des images de tes curseurs.

Pour initialiser la mini-map c'est simple :
image
Le premier paramètre c'est le nom de l'image de ta mini-map (dans Pictures), le deuxième est un tableau qui contient les id de tous les events que tu veux afficher sur la mini-map.

Si tu veux déplacer un peu la mini-map (genre qu'elle soit pas complètement collée en haut à droite) c'est les 2 premiers paramètres du viewport qu'il te faut modifier.

Je pense que c'est à peu près tout. Essaie donc. ^^

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [VX Ace] Localisation dans le menu

Estheone - posté le 15/03/2013 à 14:22:47. (312 messages postés)

Citation:

Ça à l'air de fonctionner, ce n'est pas une erreur?


Ca m'a l'air bon.

Citation:

Sérieux faut que je me mette à scripter, vous me faites trop rêver ^^.
Par où commencer d'ailleurs, il y a de tout sur le net!?


Pour apprendre à scripter le mieux c'est d'expérimenter toi-même en faisant des petites modifs dans les scripts d'origine et de persévérer en cas d'échec.
Tu as aussi les fichiers d'aide de VX Ace (F1) qui contiennent une tonne d'infos sur le Ruby. Par exemple en cherchant draw_text dans les fichiers d'aide tu aurais eu la réponse à ta 2ème question. ;)
Il doit sûrement aussi y avoir quelques âmes charitables qui ont fait des tutos pour se familiariser avec le Ruby en douceur.

Edit :

Citation:

As-tu une idée de ce qu'il faut modifier, le jour où l'on désire insérer le nom de la map affiché sur la map et non le nom de la map


Dans le refresh du Window_Map_Name

Portion de code : Tout sélectionner

1
self.contents.draw_text(4, 24, 128, 24, $game_map.display_name.to_s, 2)



Petite remarque aussi : j'avais pas fait gaffe vu que je connais pas encore trop les scripts de base VX Ace mais il y a une autre fenêtre qui s'appelle Window_MapName. Tu devrais remplacer Window_Map_Name par autre chose pour éviter de les confondre (genre Window_Menu_Map_Name).

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [VX Ace] Localisation dans le menu

Estheone - posté le 14/03/2013 à 23:16:26. (312 messages postés)

Et hop :

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
class Game_Map
 
  def mpname
    mpname = load_data("Data/MapInfos.rvdata2")
    return mpname[@map_id].name
  end
 
end
 
 
class Window_Map_Name < Window_Base
 
  def initialize
    super(0, 0, window_width, fitting_height(2))
    refresh
  end
  
  def window_width
    return 160
  end
 
  def refresh
    self.contents.clear
    change_color(system_color)
    self.contents.draw_text(4, 0, 120, 24, "Lieu :")
    change_color(normal_color)
    self.contents.draw_text(4, 24, 128, 24, $game_map.mpname.to_s, 2)
  end
end
 
class Scene_Menu < Scene_MenuBase
  
  def start
    super
    create_command_window
    create_gold_window
    create_map_name_window
    create_status_window
  end
  
  def create_map_name_window
    @map_name_window = Window_Map_Name.new
    @map_name_window.x = 0
    @map_name_window.y = Graphics.height - @gold_window.height - @map_name_window.height
  end
end



Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [VX Ace] Changer l'animation combat

Estheone - posté le 09/03/2013 à 21:28:55. (312 messages postés)

Citation:

Ça fonctionne, de faire "Graphics/System/BattleStart"+rand(3).to_s ?

Je connais plutôt :
"Graphics/System/BattleStart#{rand(3).to_s}"


C'est pareil. :)

Citation:

attention, rand(3) donne une valeur aléatoire entre 0 et 3, alors il faut quatre fichiers nommés de BattleStart0 à BattleStart3 dans cet exemple.


Non je t'assure que ça retourne un entier entre 0 et 2 (je suis bien placé pour le savoir vu le nombre hallucinant de random que j'utilise pour mon projet).

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [VX Ace] Changer l'animation combat

Estheone - posté le 09/03/2013 à 15:06:44. (312 messages postés)

La fonction perform_battle_transition dans Scene_Map.

Et oui un système de transition aléatoire se fait facilement :

Portion de code : Tout sélectionner

1
2
3
4
5
  def perform_battle_transition
    name = "Graphics/System/BattleStart"+rand(3).to_s
    Graphics.transition(60, name, 100)
    Graphics.freeze
  end


Juste avec cette modif ça va choisir une transition au pif parmi 3 transitions qui doivent être nommées BattleStart0, BattleStart1 et BattleStart2.

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [VX Ace] Changer l'animation combat

Estheone - posté le 09/03/2013 à 14:04:39. (312 messages postés)

Il te faut changer la transition, tu en as plein ici (elles sont pas à la bonne taille pour vx ace par contre) :

http://www.rpg-maker.fr/transitions.html

Tu as juste à la renommer BattleStart et à la mettre dans Graphics/System dans ton projet.

Wandering Souls : Jeu complet / Topic sur Oniro

Aller à la page: 1 2 3 4 5 6 7 8

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