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

472 connectés actuellement

30732761 visiteurs
depuis l'ouverture

2740 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

Offgame

Leo-Games

Tashiroworld

Planète Glutko

Hellsoft

Tous nos partenaires

Devenir
partenaire



Couche Haute

Permet d'avoir des couches hautes (l'équivalent d'un troisième layer). Se fait via la création d'une nouvelle carte.

Script pour RPG Maker VX
Ecrit par S. F. LaValle, édité par ASHKA
Publié par Monos (lui envoyer un message privé)
Signaler un script cassé

❤ 0

Auteur : S. F. LaValle, édité par ASHKA
Logiciel : RPG Maker VX
Nombre de scripts : 1

Fonctionnalités
Ce script permet de mapper une couche haute en utilisant une nouvelle map pour représenter cette couche. (Plusieurs couches possibles)

Installation
A placer au-dessus de Main.

Utilisation
Faites donc une nouvelle map avec le nom de la carte parente en ajoutant L1.
Exemple :
- Test : La carte parente
- TestL1 : Un nouvelle carte, qui apparaitra au dessus de la carte Test
On peut continuer en créant des cartes TestL2 TestL3 ect ect. (Je ne sais pas si il y a une limite.)

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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
#script débugé par Ashka bis
 
class Scene_Map < Scene_Base
  alias start_2 start
  alias update_2 update
  attr_reader :map_layer_spritesets
  #--------------------------------------------------------------------------
  # * Start processing
  #--------------------------------------------------------------------------
  def start
    start_2
    setup_map_layers
  end
  
  def update_transfer_player
    return unless $game_player.transfer?
    fade = (Graphics.brightness > 0)
    fadeout(30) if fade
    @spriteset.dispose              # Dispose of sprite set
    for i in 0...@map_layer_spritesets.size
      @map_layer_spritesets[i].dispose
    end
    $game_player.perform_transfer   # Execute player transfer
    $game_map.autoplay              # Automatically switch BGM and BGS
    $game_map.update
    Graphics.wait(15)
    @spriteset = Spriteset_Map.new  # Recreate sprite set
    setup_map_layers
    fadein(30) if fade
    Input.update
  end
    
  def setup_map_layers
    maps = load_data("Data/MapInfos.rvdata")
    game_map_name = maps[$game_map.map_id].name
    @map_layers = []
    @map_layer_spritesets = []
    map_names = []
    layer_map_names = []
    layer_index = []
    c = maps.keys
    d = c.max
    for i in 1..d
      unless maps[i] == nil
        a = nil
        map_names.push(maps[i].name)
        a = maps[i].name =~ /(l|L)\d+/
        layer_map_names.push(maps[i].name) if a != nil
        layer_index.push(maps.index(maps[i])) if a != nil
      end
    end
    for string in layer_map_names
      string.chop! until string == game_map_name or string == ""# nil
    end
    if layer_map_names.include?(game_map_name)
      for i in 0...layer_map_names.size
        if layer_map_names[i] != ""
          map = Game_Map.new
          map.setup(layer_index[i])
          @map_layer_spritesets.push(Spriteset_Map_2.new(map))
          @map_layers.push(map)
        end
      end
    end
  end
  
  def update
    update_2
    for i in 0...@map_layer_spritesets.size
      @map_layers[i].update
      @map_layer_spritesets[i].update
    end
  end  
end
class Spriteset_Map_2 < Spriteset_Map
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize(layer)
    @layer = layer
    create_viewports
    create_tilemap
    update
  end
 
  def update
    update_tilemap
    update_viewports
  end
 
  def dispose
    @tilemap.dispose
  end
  
  #--------------------------------------------------------------------------
  # * Create Tilemap
  #--------------------------------------------------------------------------
  def create_tilemap(a1 = nil, a2 = nil, a3 = nil, a4 = nil, a5 = nil, b = nil, c = nil, d = nil, e = nil)
    @tilemap = Tilemap.new(@viewport1)
    @tilemap.bitmaps[0] = (a1 == nil ? Cache.system("TileA1") : a1)
    @tilemap.bitmaps[1] = (a2 == nil ? Cache.system("TileA2") : a2)
    @tilemap.bitmaps[2] = (a3 == nil ? Cache.system("TileA3") : a3)
    @tilemap.bitmaps[3] = (a4 == nil ? Cache.system("TileA4") : a4)
    @tilemap.bitmaps[4] = (a5 == nil ? Cache.system("TileA5") : a5)
    @tilemap.bitmaps[5] = (b == nil ? Cache.system("TileB") : b)
    @tilemap.bitmaps[6] = (c == nil ? Cache.system("TileC") : c)
    @tilemap.bitmaps[7] = (d == nil ? Cache.system("TileD") : d)
    @tilemap.bitmaps[8] = (e == nil ? Cache.system("TileE") : e)
    @tilemap.map_data = @layer.data
    @tilemap.passages = @layer.passages
  end
  #--------------------------------------------------------------------------
  # * Update Tilemap
  #--------------------------------------------------------------------------
#  def update_tilemap
#    @tilemap.ox = @layer.display_x / 8
#    @tilemap.oy = @layer.display_y / 8
#    @tilemap.update
#  end
  #--------------------------------------------------------------------------
  # * Update Viewport
  #--------------------------------------------------------------------------
  def update_viewports
    @viewport1.tone = @layer.screen.tone
    @viewport1.ox = @layer.screen.shake
    @viewport2.color = @layer.screen.flash_color
    @viewport3.color.set(0, 0, 0, 255 - @layer.screen.brightness)
    @viewport1.update
    @viewport2.update
    @viewport3.update
  end
end






darksmile - posté le 30/09/2008 à 13:15:51 (1301 messages postés)

❤ 0

Inferno

si je comprends bien, on fait deux maps qui se retrouveront une part dessus l'autre:D

42


Monos - posté le 30/09/2008 à 13:17:40 (57322 messages postés)

❤ 0

Vive le homebrew

C'est exactement ça.

Ca vaut ce que cela vaut.

J'ai testé de démarré le jeu sur la carte qui est la couche haute, je retrouve en bas. C'est dommage quand même, j'aurais bien vu jouer avec les hauteurs.

======
Script bugé, lors des téléportation et qu'on reviens sur la map cela ne fonctionne plus.

Signer du nez ?


Falco - posté le 30/09/2008 à 18:00:54 (19777 messages postés) -

❤ 0

Indie game Developer

Dommage, ça partait d'une bonne intention.

Inexistence Rebirth - Inexistence - Portfolio


Monos - posté le 30/09/2008 à 19:31:54 (57322 messages postés)

❤ 0

Vive le homebrew

la c'est bon. Script débugé par Ashka.

Signer du nez ?


ASHKA - posté le 01/10/2008 à 12:08:41 (404 messages postés)

❤ 0

FIGHT THE POWER !!

Le script posté par Monos n'est pas compatible avec le multiple tileset.
Pour cela, il faut utiliser la version ci-dessous, legerement modifié :

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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
class Scene_Map < Scene_Base
  alias start_2 start
  alias update_2 update
  attr_reader :map_layer_spritesets
  #--------------------------------------------------------------------------
  # * Start processing
  #--------------------------------------------------------------------------
  def start
    start_2
    setup_map_layers
  end
  
  def update_transfer_player
    return unless $game_player.transfer?
    fade = (Graphics.brightness > 0)
    fadeout(30) if fade
    @spriteset.dispose              # Dispose of sprite set
    for i in 0...@map_layer_spritesets.size
      @map_layer_spritesets[i].dispose
    end
    $game_player.perform_transfer   # Execute player transfer
    $game_map.autoplay              # Automatically switch BGM and BGS
    $game_map.update
    Graphics.wait(15)
    @spriteset = Spriteset_Map.new  # Recreate sprite set
    setup_map_layers
    fadein(30) if fade
    Input.update
  end
    
  def setup_map_layers
    maps = load_data("Data/MapInfos.rvdata")
    game_map_name = maps[$game_map.map_id].name
    @map_layers = []
    @map_layer_spritesets = []
    map_names = []
    layer_map_names = []
    layer_index = []
    c = maps.keys
    d = c.max
    for i in 1..d
      unless maps[i] == nil
        a = nil
        map_names.push(maps[i].name)
        a = maps[i].name =~ /(l|L)\d+/
        layer_map_names.push(maps[i].name) if a != nil
        layer_index.push(maps.index(maps[i])) if a != nil
      end
    end
    for string in layer_map_names
      string.chop! until string == game_map_name or string == ""# nil
    end
    if layer_map_names.include?(game_map_name)
      for i in 0...layer_map_names.size
        if layer_map_names[i] != ""
          map = Game_Map.new
          map.setup(layer_index[i])
          @map_layer_spritesets.push(Spriteset_Map_2.new(map))
          @map_layers.push(map)
        end
      end
    end
  end
  
  def update
    update_2
    for i in 0...@map_layer_spritesets.size
      @map_layers[i].update
      @map_layer_spritesets[i].update
    end
  end  
end
class Spriteset_Map_2 < Spriteset_Map
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize(layer)
    @layer = layer
    create_viewports
    create_tilemap
    update
  end
 
  def update
    update_tilemap
    update_viewports
  end
  
  def dispose
    @tilemap.dispose
  end
 
  #--------------------------------------------------------------------------
  # * Create Tilemap
  #--------------------------------------------------------------------------
  def create_tilemap
    if !$data_map_tilesets
     begin
       $data_map_tilesets=load_data("Data/MapTilesets.rvdata")
     rescue
       $data_map_tilesets=nil
     end
    end
    if !$data_tilesets
     begin
       $data_tilesets=load_data("Data/Tilesets.rvdata")
     rescue
       $data_tilesets=nil
     end
    end
    @tilemap = Tilemap.new(@viewport1)
    tileset=nil
    if $data_map_tilesets && $data_tilesets
      mapset=$data_map_tilesets[@layer.map_id]
      tileset=$data_tilesets[mapset] if mapset && mapset>0
    end
    if tileset
      @tilemap.bitmaps[0] = loadTileset(tileset.bitmapNames[0])
      @tilemap.bitmaps[1] = loadTileset(tileset.bitmapNames[1])
      @tilemap.bitmaps[2] = loadTileset(tileset.bitmapNames[2])
      @tilemap.bitmaps[3] = loadTileset(tileset.bitmapNames[3])
      @tilemap.bitmaps[4] = loadTileset(tileset.bitmapNames[4])
      @tilemap.bitmaps[5] = loadTileset(tileset.bitmapNames[5])
      @tilemap.bitmaps[6] = loadTileset(tileset.bitmapNames[6])
      @tilemap.bitmaps[7] = loadTileset(tileset.bitmapNames[7])
      @tilemap.bitmaps[8] = loadTileset(tileset.bitmapNames[8])
    else
      @tilemap.bitmaps[0] = Cache.system("TileA1")
      @tilemap.bitmaps[1] = Cache.system("TileA2")
      @tilemap.bitmaps[2] = Cache.system("TileA3")
      @tilemap.bitmaps[3] = Cache.system("TileA4")
      @tilemap.bitmaps[4] = Cache.system("TileA5")
      @tilemap.bitmaps[5] = Cache.system("TileB")
      @tilemap.bitmaps[6] = Cache.system("TileC")
      @tilemap.bitmaps[7] = Cache.system("TileD")
      @tilemap.bitmaps[8] = Cache.system("TileE")
      $game_map.terrain_tags = nil
    end
    @tilemap.map_data = @layer.data
    @tilemap.passages = @layer.passages
  end
  #--------------------------------------------------------------------------
  # * Update Viewport
  #--------------------------------------------------------------------------
  def update_viewports
    @viewport1.tone = @layer.screen.tone
    @viewport1.ox = @layer.screen.shake
    @viewport2.color = @layer.screen.flash_color
    @viewport3.color.set(0, 0, 0, 255 - @layer.screen.brightness)
    @viewport1.update
    @viewport2.update
    @viewport3.update
  end
end
 
 



Chaques couches pourra avoir son tileset par la methode propre à ce systeme.



Que l'on utilise l'un ou l'autre, le script ne fait qu'afficher le decor de la map-couche au dessus de la map normale.
Ce qui signifie :
- Au dessus des events en position "au dessus du héros" de la map normale.
- Les events de la map-couche ne seront pas affiché.
- Un sol placé sur la map-couche s'affichera au dessus de la map normal ( et aussi au dessus du héros ).
- Les elements de la map-couche sont tous passables quelque soit ce qui est defini.

Un screen d'exemple :

image

En haut, sans utilisation de couche :
La barriere, l'herbe et le chemin sont coupé par l'autotile "maison", le player ne peut pas passer derriere le toit.

En bas, avec utilisation de couche :
La barriere, l'herbe, le chemin et le player peuvent passer derriere le toit.
Si l'ombre est double, c'est parce que je n'ai pas supprimé celle de la map normal ( script : "Kill autoshadow" de Modern Algebra par exemple ).
L'ombre placé sur la map-couche s'affiche au dessus du player.

ASHKA


Bastienre4 - posté le 11/10/2008 à 10:09:58 (21 messages postés)

❤ 0

Petit Maker ^^

cool merci ashka :biere

J'apprends le C++ (c'est pas gagner :F)


killerearth - posté le 19/10/2008 à 15:11:14 (27 messages postés)

❤ 0

Killer de monstre !

Sa à l'air excellent bravo !

Maker and killer du Dimanche, et aussi du Samedi ! =)


ptiteuf - posté le 29/10/2008 à 22:41:11 (17 messages postés)

❤ 0

mdr quand j'ai vu "couche haute" dans le nom du topic je me suis dit: "mais ça va pas dans leur tête sur ce forum??? il parlent de couches pour bébé???" et en faite ça parlait pas de ça XD

bon bref, sinon ça a l'air cool, faudrait que j'essai :D


franck james - posté le 10/11/2008 à 22:14:36 (23 messages postés)

❤ 0

Rock'n'roll

Problème avec la ligne 137:

$game_map.terrain_tags = nil

Décidemment, j'ai pas de chance avec les scripts :'(

edit: en fait si, il marche nikel, c'est moi qui suis bête ^^
Merci beaucoup, ça permet vraiment des choses superbes en matière de mapping :)

www.myspace.fr/Zizitoudurh


Alpha - posté le 06/12/2008 à 22:50:25 (8 messages postés)

❤ 0

Je comprends pas, ça me met 'terrain_tags='for#<Game_map:0x33a3c80> par rapport à la ligne 137 :help

Final Fantasy en force!!!!!


tomix16 - posté le 23/12/2008 à 19:32:28 (37 messages postés)

❤ 0

ué mais il faut comprendre se qui est mon cas ^^:wouah


RaZ - posté le 25/02/2009 à 20:07:10 (1894 messages postés)

❤ 0

Je suis toi

Excusez moi, mais où on place le script ?

Twitter c'est cool


Monos - posté le 25/02/2009 à 20:08:11 (57322 messages postés)

❤ 0

Vive le homebrew

Ba dans l'éditeur de script comme tous les scripts. Au dessus du script Main.

Signer du nez ?


Tarasck - posté le 15/03/2009 à 00:24:48 (6 messages postés)

❤ 0

Problème avec la ligne 137:

$game_map.terrain_tags = nil
terrain_tags='for#Game_map:0x198fac0
bonjour! kelk1 pourais m'aider pour ce petit probleme merci:)

Quand tu vis pour le monde virtuel, soit pret à de virtualiser


Randal - posté le 29/03/2009 à 14:44:40 (230 messages postés)

❤ 0

pour ceux qui on un problème à la ligne 137, mettez là en commentaire ou supprimer-là, elle ne sert à rien

c'est-à-dire, ça: $game_map.terrain_tags = nil

Black Heaven sur Oniromancie | Site officiel | Farewell / Goodbye


petit-maker - posté le 15/10/2009 à 18:25:46 (12 messages postés)

❤ 0

Je suis gelé

moi je voudrais savoir si on pouvais faire en sorte que quand on est sur la map test on puisse aller sur la map testL1 merci:inter

Entre le dessin, le making, la musique et le collège, j'ai plus de temps libre !


Certere - posté le 23/01/2010 à 13:17:05 (105 messages postés)

❤ 0

Ah c'est pas mal ! Je vais faire un labyrhinte avec :D


seidici - posté le 12/04/2010 à 21:03:24 (20 messages postés)

❤ 0

Y'a un petit problème, la couche L1 peu être L2 j'ai pas essayé ne varie pas en fonction des modification de ton, elle reste parfaitement éclairée même quand le reste est sombre.:s
Y'a une solution?:ange
Sinon, le script est génial merci beaucoup :)

Seidici


koolroc - posté le 06/05/2010 à 19:13:32 (4 messages postés)

❤ 0

super! je peut faire passer mon perso derrière le toit de mes maisons mnt! un très bon script, merci!:sonic

http://www.filefront.com/15398341/DEMOLe-sauveur-des-couleurs-My-little-big-project.exe/


--ayoub-- - posté le 15/05/2010 à 13:09:27 (96 messages postés)

❤ 0

C'est moi la meileur

Merci pour le script :sonic

78


dequec64 - posté le 02/08/2010 à 23:59:14 (1 messages postés)

❤ 0

[size=18][/size]
vous allez peut etre me trouver noob, mais mon projet avance bien, jai plusieurs chose dans le scripts qui sont modifier mais je ne comprends pas celui la. pourriez vous maidez en me montrant un tutorial ou simplement des explication claires..

Merci

bientot avec un site pour jeu a télécharger(rpg maker) et jeu flash ek des potes


yayasimsa - posté le 18/08/2010 à 15:46:13 (1 messages postés)

❤ 0

Incombatible avec le script Popup pour les objets !
:feu:'(


R2MI390 - posté le 10/04/2011 à 16:18:36 (66 messages postés)

❤ 0

Statut de marbre...

Petit problème: quand on fait un game over sur la carte, ben la map sur laquelle on est disparait puis celle de la couche haute...:sriden

Moi, je m'appelle R2MI. Et après le reste j'ai oublié...


Skatino - posté le 18/06/2013 à 23:21:13 (53 messages postés)

❤ 0

Vive rpg-maker.fr !

Je ne vois pas trop ce que ca apporte, mais ca peut etre amusant pour certains rpg. Merci, beau travail :)


cari974 - posté le 10/08/2013 à 07:17:09 (38 messages postés)

❤ 0

Bin ça permet de superposer des plans, comme dans XP, regarde le screen de ASHKA.

MMORPG : VX => http://www.rpg-maker.fr/scripts-342-net-gaming.html //\\ XP => http://www.rpg-maker.fr/scripts-425-netplay-master-script-mmorpg.html

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