- ElioooMembre
- Nombre de messages : 129
Age : 21
Localisation : France
Distinction : aucune
Date d'inscription : 20/03/2015
Les Portes
Dim 4 Oct 2015 - 17:06
Bonjour/Bonsoir,
Je créer souvent des maps et des intérieurs de maison ou autre, mais parfois j'ai envie que je traverse des portes sans me téléporter.
Que par exemple il passe dans une porte et dans la même map un tout petit chouïa plus loin il soit dedans sans se téléporter comme d'habitude.
J’espère que vous pourrez m'aider.
Cordialement,
Eliooo
Je créer souvent des maps et des intérieurs de maison ou autre, mais parfois j'ai envie que je traverse des portes sans me téléporter.
Que par exemple il passe dans une porte et dans la même map un tout petit chouïa plus loin il soit dedans sans se téléporter comme d'habitude.
J’espère que vous pourrez m'aider.
Cordialement,
Eliooo
- HermoniMembre
- Nombre de messages : 1042
Localisation : Quelque part entre la cuisine et le clavier.
Distinction : - Hermomo' le Chat. Noir et sarcastique mais chat tout de même é_è [Shamu' :3]
Poisson 2018 [Amal']
Rat de mon zoo sur le thème des rats [Ministre de la Culture]
Date d'inscription : 07/09/2015
Re: Les Portes
Dim 4 Oct 2015 - 19:34
Euh, tu veux dire que la piece où tu entres est visible ?
Si j'ai bien pigé c'que tu veux dire, il suffit juste de faire l'animation d'ouverture de porte et de changer pour pouvoir traverser celui ci (et l'éventuel bout de plafond visible).
Si c'est pas ça, je veux bien un screen pour comprendre ce que tu veux exactement.
Si j'ai bien pigé c'que tu veux dire, il suffit juste de faire l'animation d'ouverture de porte et de changer pour pouvoir traverser celui ci (et l'éventuel bout de plafond visible).
Si c'est pas ça, je veux bien un screen pour comprendre ce que tu veux exactement.
- ElioooMembre
- Nombre de messages : 129
Age : 21
Localisation : France
Distinction : aucune
Date d'inscription : 20/03/2015
Re: Les Portes
Dim 4 Oct 2015 - 19:51
- HinolaModérateur
- Nombre de messages : 969
Age : 30
Distinction : Gagnant invaincu à ce jour de tous les concours de mapping de ce forum fait par Coco'
[Coco' ]
Grande figure du Mapping Show .
Grand admirateur de notre mascotte Vehyxine
STI Haruhiste like me [Hamu' ]
et fier de l'être ! [bibi ^^]
Un fier Homme du désert sans foi ni loi è_é [:3]
Date d'inscription : 21/05/2009
Re: Les Portes
Dim 4 Oct 2015 - 20:17
tu peux utiliser la téléportation et mettre le fondu à "aucun"
ou rendre le perso invisible en le faisant monter vers le haut, en mode passe muraille puis le remettre visible et passe muraille off quand il est arrivé.
Par ce que pour passer sous le décors impraticable, su ace, je sais pas comme on fait ^^
Au pire, tu recommence tout sur XP, c'est plus simple :3
ou rendre le perso invisible en le faisant monter vers le haut, en mode passe muraille puis le remettre visible et passe muraille off quand il est arrivé.
Par ce que pour passer sous le décors impraticable, su ace, je sais pas comme on fait ^^
Au pire, tu recommence tout sur XP, c'est plus simple :3
Re: Les Portes
Dim 4 Oct 2015 - 20:21
Salut,
il me semble que je connais un script qui permet de définir les zones passables de chaque map, il suffit juste de définir une zone passable dans le script par exemple la zone 2, puis de passer en mode zone (l'outil autre que l'éditeur de map et les événements) et de passer la porte en zone 2.
J'espère que ces conseils auront été assez clairs, encore une fois je ne suis pas sûr à 100% que ça fonctionne mais voilà le script :
EDIT : Ah excuse moi je viens de m'apercevoir que c'est le contraire ^^. En fait le script défini les zones non passables. Du coup, il vaudrait peut-être mieux que tu aille dans la partie tileset de la Base de Données et que tu définisses les tiles du mur comme non-passables selon la BDD puis tu repasse tout les murs de la zone 2 (pour qu'ils ne soient pas passables) sauf à l'endroit de la porte qui serait donc passable (par défaut la zone "non-passable" du script est la 50). Voilà, en espérant t'avoir aidé ^^
il me semble que je connais un script qui permet de définir les zones passables de chaque map, il suffit juste de définir une zone passable dans le script par exemple la zone 2, puis de passer en mode zone (l'outil autre que l'éditeur de map et les événements) et de passer la porte en zone 2.
J'espère que ces conseils auront été assez clairs, encore une fois je ne suis pas sûr à 100% que ça fonctionne mais voilà le script :
- Spoiler:
- Code:
#==============================================================================
#
# ▼ Yanfly Engine Ace - Move Restrict Region v1.03
# -- Last Updated: 2012.01.03
# -- Level: Normal
# -- Requires: n/a
#
#==============================================================================
$imported = {} if $imported.nil?
$imported["YEA-MoveRestrictRegion"] = true
#==============================================================================
# ▼ Updates
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# 2012.23.08 - Added Feature: <all restrict: x>
# 2012.01.03 - Added Feature: <all restrict: x>
# 2011.12.26 - Bug Fixed: Player Restricted Regions.
# 2011.12.15 - Started Script and Finished.
#
#==============================================================================
# ▼ Introduction
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# Not everybody wants NPC's to travel all over the place. With this script, you
# can set NPC's to be unable to move pass tiles marked by a specified Region.
# Simply draw out the area you want to enclose NPC's in on and they'll be
# unable to move past it unless they have Through on. Likewise, there are
# regions that you can prevent the player from moving onto, too!
#
#==============================================================================
# ▼ Instructions
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# To install this script, open up your script editor and copy/paste this script
# to an open slot below ▼ Materials/素材 but above ▼ Main. Remember to save.
#
# -----------------------------------------------------------------------------
# Map Notetags - These notetags go in the map notebox in a map's properties.
# -----------------------------------------------------------------------------
# <all restrict: x>
# <all restrict: x, x>
# Players and NPC's on the map will be unable to move past region x even if
# they have the "through" flag set. The only thing that can go past is if the
# player is using the debug through flag. Draw out the area you want to close
# the player and NPC's in with the regions and both will be unable to move onto
# any of those tiles marked by region x. If you want to have more regions
# restrict NPC's, insert multiples of this tag.
#
# <npc restrict: x>
# <npc restrict: x, x>
# NPC's on that map will be unable to move past regions x unless they have a
# "Through" flag on. Draw out the area you want to close NPC's in with the
# regions and the NPC's will be unable to move onto any of those tiles marked
# by region x. If you want to have more regions restrict NPC's, insert
# multiples of this tag.
#
# <player restrict: x>
# <player restrict: x, x>
# Players will not be able to move on tiles marked by region x unless the
# player has a "Through" flag on. Draw out the area you want to close the
# player in with the regions and the player will be unable to move past any of
# those tiles marked by region x. If you want to have more regions restrict the
# player, insert multiples of this tag.
#
#==============================================================================
# ▼ Compatibility
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# This script is made strictly for RPG Maker VX Ace. It is highly unlikely that
# it will run with RPG Maker VX without adjusting.
#
#==============================================================================
module YEA
module MOVE_RESTRICT
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# - Default Completely Restricted Regions -
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# If you want there to always be a region ID that will forbid both the
# player and NPC's from passing through, insert that region ID into the
# array below. This effect will completely block out both players and NPC's
# even if they have the "through" flag. However, it does not block the
# debug_through flag for players.
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
DEFAULT_ALL = [50]
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# - Default Player Restricted Regions -
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# If you want there to always be a region ID that will forbid the player
# from passing through, insert that region ID into the array below.
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
DEFAULT_PLAYER = [51]
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# - Default NPC Restricted Regions -
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# If you want there to always be a region ID that will forbid NPC's from
# passing through, insert that region ID into the array below.
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
DEFAULT_NPC = [52]
end # MOVE_RESTRICT
end # YEA
#==============================================================================
# ▼ Editting anything past this point may potentially result in causing
# computer damage, incontinence, explosion of user's head, coma, death, and/or
# halitosis so edit at your own risk.
#==============================================================================
module YEA
module REGEXP
module MAP
ALL_RESTRICT =
/<(?:ALL_RESTRICT|all restrict):[ ]*(\d+(?:\s*,\s*\d+)*)>/i
NPC_RESTRICT =
/<(?:NPC_RESTRICT|npc restrict):[ ]*(\d+(?:\s*,\s*\d+)*)>/i
PLAYER_RESTRICT =
/<(?:PLAYER_RESTRICT|player restrict):[ ]*(\d+(?:\s*,\s*\d+)*)>/i
end # MAP
end # REGEXP
end # YEA
#==============================================================================
# ■ RPG::Map
#==============================================================================
class RPG::Map
#--------------------------------------------------------------------------
# public instance variables
#--------------------------------------------------------------------------
attr_accessor :all_restrict_regions
attr_accessor :npc_restrict_regions
attr_accessor :player_restrict_regions
#--------------------------------------------------------------------------
# common cache: load_notetags_mrr
#--------------------------------------------------------------------------
def load_notetags_mrr
@all_restrict_regions = YEA::MOVE_RESTRICT::DEFAULT_ALL.clone
@npc_restrict_regions = YEA::MOVE_RESTRICT::DEFAULT_NPC.clone
@player_restrict_regions = YEA::MOVE_RESTRICT::DEFAULT_PLAYER.clone
#---
self.note.split(/[\r\n]+/).each { |line|
case line
#---
when YEA::REGEXP::MAP::ALL_RESTRICT
$1.scan(/\d+/).each { |num|
@all_restrict_regions.push(num.to_i) if num.to_i > 0 }
when YEA::REGEXP::MAP::NPC_RESTRICT
$1.scan(/\d+/).each { |num|
@npc_restrict_regions.push(num.to_i) if num.to_i > 0 }
when YEA::REGEXP::MAP::PLAYER_RESTRICT
$1.scan(/\d+/).each { |num|
@player_restrict_regions.push(num.to_i) if num.to_i > 0 }
#---
end
} # self.note.split
#---
end
end # RPG::Map
#==============================================================================
# ■ Game_Map
#==============================================================================
class Game_Map
#--------------------------------------------------------------------------
# alias method: setup
#--------------------------------------------------------------------------
alias game_map_setup_mrr setup
def setup(map_id)
game_map_setup_mrr(map_id)
@map.load_notetags_mrr
end
#--------------------------------------------------------------------------
# new method: all_restrict_regions
#--------------------------------------------------------------------------
def all_restrict_regions
return @map.all_restrict_regions
end
#--------------------------------------------------------------------------
# new method: npc_restrict_regions
#--------------------------------------------------------------------------
def npc_restrict_regions
return @map.npc_restrict_regions
end
#--------------------------------------------------------------------------
# new method: player_restrict_regions
#--------------------------------------------------------------------------
def player_restrict_regions
return @map.player_restrict_regions
end
end # Game_Map
#==============================================================================
# ■ Game_CharacterBase
#==============================================================================
class Game_CharacterBase
#--------------------------------------------------------------------------
# alias method: passable?
#--------------------------------------------------------------------------
alias game_characterbase_passable_mrr passable?
def passable?(x, y, d)
return false if npc_region_forbid?(x, y, d)
return false if player_region_forbid?(x, y, d)
return game_characterbase_passable_mrr(x, y, d)
end
#--------------------------------------------------------------------------
# new method: npc_forbid?
#--------------------------------------------------------------------------
def npc_region_forbid?(x, y, d)
return false unless self.is_a?(Game_Event)
region = 0
case d
when 1; region = $game_map.region_id(x-1, y+1)
when 2; region = $game_map.region_id(x+0, y+1)
when 3; region = $game_map.region_id(x+1, y+1)
when 4; region = $game_map.region_id(x-1, y+0)
when 5; region = $game_map.region_id(x+0, y+0)
when 6; region = $game_map.region_id(x+1, y+0)
when 7; region = $game_map.region_id(x-1, y-1)
when 8; region = $game_map.region_id(x+0, y-1)
when 9; region = $game_map.region_id(x+1, y-1)
end
return true if $game_map.all_restrict_regions.include?(region)
return false if @through
return $game_map.npc_restrict_regions.include?(region)
end
#--------------------------------------------------------------------------
# new method: player_region_forbid?
#--------------------------------------------------------------------------
def player_region_forbid?(x, y, d)
return false unless self.is_a?(Game_Player)
return false if debug_through?
region = 0
case d
when 1; region = $game_map.region_id(x-1, y+1)
when 2; region = $game_map.region_id(x+0, y+1)
when 3; region = $game_map.region_id(x+1, y+1)
when 4; region = $game_map.region_id(x-1, y+0)
when 5; region = $game_map.region_id(x+0, y+0)
when 6; region = $game_map.region_id(x+1, y+0)
when 7; region = $game_map.region_id(x-1, y-1)
when 8; region = $game_map.region_id(x+0, y-1)
when 9; region = $game_map.region_id(x+1, y-1)
end
return true if $game_map.all_restrict_regions.include?(region)
return false if @through
return $game_map.player_restrict_regions.include?(region)
end
end # Game_CharacterBase
#==============================================================================
#
# ▼ End of File
#
#==============================================================================
EDIT : Ah excuse moi je viens de m'apercevoir que c'est le contraire ^^. En fait le script défini les zones non passables. Du coup, il vaudrait peut-être mieux que tu aille dans la partie tileset de la Base de Données et que tu définisses les tiles du mur comme non-passables selon la BDD puis tu repasse tout les murs de la zone 2 (pour qu'ils ne soient pas passables) sauf à l'endroit de la porte qui serait donc passable (par défaut la zone "non-passable" du script est la 50). Voilà, en espérant t'avoir aidé ^^
- SpytjeAdministrateur
- Nombre de messages : 5935
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008
Re: Les Portes
Dim 4 Oct 2015 - 21:56
Oué mais non utilise la solution d'Hinola
- HermoniMembre
- Nombre de messages : 1042
Localisation : Quelque part entre la cuisine et le clavier.
Distinction : - Hermomo' le Chat. Noir et sarcastique mais chat tout de même é_è [Shamu' :3]
Poisson 2018 [Amal']
Rat de mon zoo sur le thème des rats [Ministre de la Culture]
Date d'inscription : 07/09/2015
Re: Les Portes
Lun 5 Oct 2015 - 0:35
Comme Hinola dit, ou sinon joue avec les events qui auront le skin du mur (du coup faut créer le char par contre) et jouant sur la passabilité de ceux ci.
- HinolaModérateur
- Nombre de messages : 969
Age : 30
Distinction : Gagnant invaincu à ce jour de tous les concours de mapping de ce forum fait par Coco'
[Coco' ]
Grande figure du Mapping Show .
Grand admirateur de notre mascotte Vehyxine
STI Haruhiste like me [Hamu' ]
et fier de l'être ! [bibi ^^]
Un fier Homme du désert sans foi ni loi è_é [:3]
Date d'inscription : 21/05/2009
Re: Les Portes
Lun 5 Oct 2015 - 0:46
Sinon, ouais, je vien de penser avec le post de No0ony, regarde dans la signature de Vincent, y a un script pour passer sous des tiles.
il doit y avoir moyen de faire ça avec.
il doit y avoir moyen de faire ça avec.
- ElioooMembre
- Nombre de messages : 129
Age : 21
Localisation : France
Distinction : aucune
Date d'inscription : 20/03/2015
Re: Les Portes
Lun 5 Oct 2015 - 19:57
- HinolaModérateur
- Nombre de messages : 969
Age : 30
Distinction : Gagnant invaincu à ce jour de tous les concours de mapping de ce forum fait par Coco'
[Coco' ]
Grande figure du Mapping Show .
Grand admirateur de notre mascotte Vehyxine
STI Haruhiste like me [Hamu' ]
et fier de l'être ! [bibi ^^]
Un fier Homme du désert sans foi ni loi è_é [:3]
Date d'inscription : 21/05/2009
Re: Les Portes
Lun 5 Oct 2015 - 19:59
c'est dans la commande de téléportation. Y a un choix en bas à droite pour un fondu noir, blanc ou aucun
- ElioooMembre
- Nombre de messages : 129
Age : 21
Localisation : France
Distinction : aucune
Date d'inscription : 20/03/2015
Re: Les Portes
Mer 7 Oct 2015 - 18:05
ok dac' je vais essayer
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|