Oniromancie: Scripts - Aplatir un événement sur la carte


Comment ça marche?

Aëdemphia
Par Sylvanor

Fighting Robots Quest
Par Boulon

Forstale
Par Ødd Clock

Geex
Par roys

Inexistence
Par Falco

La Légende d'Ibabou
Par Zaitan

Lije
Par Gaetz

LoveMaster
Par Cuddlefox

Sarcia
Par Kaëlar

Super Mario RPG - Lost Souls
Par Omegabowser

News: Concours des Alex d'Or 2017-18: (...) / News: MegaMaker : créez votre propre (...) / News: Test de Tinker Quarry / Sorties: Leave the Room / Jeux: Leave the Room /

Chat  (29 connectés)

Bienvenue
visiteur !








Statistiques

Liste des
membres


Contact

73 connectés actuellement

9180018 visiteurs
depuis l'ouverture

1092 visiteurs
aujourd'hui

Groupe Facebook

Barre de séparation

Partenaires




TOP
GAMEMAKING


Les 5 plus
visités

Lunae, le baz'arts d'Emz0

Le studio du chat vert

Pixelandgame

Tashiroworld

HeyMakeGames

Au hasard

RPG Maker Fr

Make & Graph'

RPG Maker Revolution

Les deux derniers

Lunae, le baz'arts d'Emz0

Le studio du chat vert

Nos autres partenaires

Devenir
partenaire


Barre de séparation

Un site du réseau
War Paradise

Annuaires référenceurs





Aplatir un événement sur la carte
Script pour RPG Maker XP
Ecrit par Siegfried

Pendant un récent marathon de mapping sur mon projet, j'ai codé un petit script qui pourrait aider à résoudre un truc qui m'avait toujours agacé dans Rm.

Situation : vous voulez par exemple créer un point de sauvegarde en event, avec un chara qui est assez grand (un cercle magique, etc...).
Problème : Rmxp le considère comme un personnage, et l'affiche comme un "mur" au lieu de l'aplatir au sol.
Conséquence : vous passez "derrière" le point de sauvegarde si son chara dépassé 32 pixels de hauter...

Ce script résout le problème.

Ajoutez-le tout simplement, au dessus de "Main".
Ensuite, pour déterminer les charas concernés, j'ai opté pour une méthode par fichier, incluant les directions à aplatir.
Les explications à ce sujet sont dans le script, avec un exemple que vous pouvez remplacer.
Vous pouvez rajouter un fichier en insérant une ligne à la suite, comme ceci :

Portion de code : Tout sélectionner

1
   "nom_du_fichier_chara" => [2, 4, 6, 8],


(2 = bas, 4 = gauche, 6 = droite et 8 = haut)

Dites-moi s'il y a un bug ou des effets indésirables.

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
#==============================================================================
# ■ Flat_Characters 1.0
#------------------------------------------------------------------------------ 
# Par Siegfried (http://saleth.fr)
#==============================================================================
module Flat_Characters
  LIST = {
    # Ajouter ici la liste de vos charas et des directions concernées :
    # "nom_du_fichier" => [2, 4, 6, 8],
    # 2 : bas
    # 4 : gauche
    # 6 : droite
    # 8 : haut
    # Exemple : haut et bas => [2, 8]
    "savepoint" => [4],
  }
end
#==============================================================================
# □ Sprite_Character
#==============================================================================
class Sprite_Character < RPG::Sprite
  #--------------------------------------------------------------------------
  # ○ Update
  #--------------------------------------------------------------------------
  alias flat_update update
  def update
    flat_update
    if Flat_Characters::LIST.keys.include?(@character_name) and
       Flat_Characters::LIST[@character_name].include?(@character.direction)
      self.z = 0
    end
  end
end




Crystal - posté le 22/11/2014 à 19:14:19. (1913 messages postés)

Tiens, histoire d'améliorer la performance:

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
  alias flat_update update
  def update
    flat_update
    if @last_char != @character.character_name || @last_dir != @character.direction
      @last_char = @character.character_name
      @last_dir  = @character.direction
      @flat = Flat_Characters::LIST.has_key?(@character_name) &&
              Flat_Characters::LIST[@character_name].include?(@character.direction)
    end
    self.z = 0 if @flat
  end



Ce n'est pas grand chose mais c'est quand même ça, on compare des références au lieu de chercher dans un hash et potentiellement un tableau pour chaque character à chaque frame.


DrakeRoxas - posté le 26/05/2016 à 17:04:30. (20 messages postés)

Super script, ça permet de ne plus avoir le bug des cercles magiques (199-Support07)

Par contre, il ne peut pas utiliser le nom de l'event plutot que le fichier ?

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

Plan du site:

Activité: Accueil | News | Forum | Flash-news | Chat | Commentaires | Galerie | Screen de la semaine | Sorties | Articles perso | Livre d'or | Recherche
Jeux: Index jeux séparés | Top Classiques | Top Originaux | Les autres | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Jeux complets | Proposer
Rubriques: Le Wiki | Collection Oniro | Tutoriaux | Scripts | Guides | Gaming-Live | Tests | Making-of | Interviews | Articles perso | OST | L'Annuaire | Divers | Palmarès
Hébergés: Aëdemphia | Fighting Robots Quest | Forstale | Geex | Inexistence | La Légende d'Ibabou | Lije | LoveMaster | Sarcia | Super Mario RPG - Lost Souls
Ressources: Jeux | Programmes | Packs de ressources | Midis | Eléments séparés | Sprites
RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis