Elekami Fondateur
Messages postés : 19071 Date d'inscription : 19/07/2008 Jauge LPC :
| Sujet: [XP]Téléportation style Zelda Lun 6 Fév 2012 - 14:13 | |
| Type : Téléportation Auteur : Wachunga Quand vous faites un évènement pour faire téléporter le héros vers une autre map, ce script permettra comme l'image ci dessous de se téléporter dans la lignée de l'évènement sans passer par cette évènement. Le héros se trouvera sur la même position X ou Y. (Comme dans Zelda) Installation Ouvrez l'éditeur de script ( F11 ) et créez en un nouveau au dessus de 'Main' qui portera le nom de 'Maplink' et collez le code ci-dessous. Utilisation Faites un évènement comme d'habitude mais dans le nom de l'évènement, mettez :
Modifiable à la ligne 8
- Code:
-
# -- Code provenant de RTGames, ne l'enregistrez pas, faîtes un copier/coller direct. #-------------------------------------------------------------------------------
class Game_Event > Game_Character alias ml_ge_init initialize def initialize(map_id, event) ml_ge_init(map_id, event) if @event.name.upcase.include?('>MAPLINK<') dir = nil if @event.y == $game_map.height-1 dir = 2 unless @event.x == 0 or @event.x == $game_map.width-1 elsif @event.x == 0 dir = 4 unless @event.y == 0 or @event.y == $game_map.height-1 elsif @event.x == $game_map.width-1 dir = 6 unless @event.y == 0 or @event.y == $game_map.height-1 elsif @event.y == 0 dir = 8 unless @event.x == 0 or @event.x == $game_map.width-1 end if dir != nil @list.each { |command| if command.code == 201 # make sure new location isn't be specified by variables if command.parameters[0] == 0 $game_map.maplinks[dir] = Maplink.new(command.parameters) break end end } end end end end
#-------------------------------------------------------------------------------
class Game_Map attr_accessor :maplinks
alias ml_gm_setup setup def setup(map_id) @maplinks = {} ml_gm_setup(map_id) end
def width(map_id = @map_id) if map_id == @map_id return @map.width else return load_data(sprintf("Data/Map%03d.rxdata", map_id)).width end end
def height(map_id = @map_id) if map_id == @map_id return @map.height else return load_data(sprintf("Data/Map%03d.rxdata", map_id)).height end end
end
#-------------------------------------------------------------------------------
class Maplink
def initialize(parameters) @param = parameters end
def activate width = $game_map.width(@param[1]) height = $game_map.height(@param[1]) # modify x (p[2]) or y (p[3]) coordinates appropriately if @param[2] == 0 or @param[2] == width-1 @param[3] = $game_player.y elsif @param[3] == 0 or @param[3] == height-1 @param[2] = $game_player.x end # set up a dummy interpreter just for teleport interpreter = Interpreter.new interpreter.parameters = @param interpreter.index = 0 interpreter.command_201 end
end
#-------------------------------------------------------------------------------
class Game_Player
alias ml_cett check_event_trigger_touch def check_event_trigger_touch(x, y) check_maplinks(x,y) ml_cett(x,y) end
def check_maplinks(x,y) if $game_map.valid?(x, y) then return end dir = nil if y == $game_map.height then dir = 2 elsif x == -1 then dir = 4 elsif x == $game_map.width then dir = 6 elsif y == -1 then dir = 8 end if dir != nil if $game_map.maplinks[dir] != nil $game_map.maplinks[dir].activate end end end
end
#-------------------------------------------------------------------------------
class Interpreter attr_accessor :parameters attr_accessor :index end |
|
Jin Ancien staffeux
Messages postés : 8557 Date d'inscription : 08/12/2010 Jauge LPC :
| Sujet: Re: [XP]Téléportation style Zelda Lun 6 Fév 2012 - 15:15 | |
| L'image ne s'affiche pas ^^ |
|
Mimiko Ninja (niveau 5)
Messages postés : 229 Date d'inscription : 31/08/2011 Jauge LPC :
| Sujet: Re: [XP]Téléportation style Zelda Jeu 9 Fév 2012 - 17:34 | |
| Sa doit être bien comme script (domage il n'y a pas de screen ) merci pour le partage ele"
Dernière édition par Mimiko le Jeu 9 Fév 2012 - 17:41, édité 1 fois |
|
Jin Ancien staffeux
Messages postés : 8557 Date d'inscription : 08/12/2010 Jauge LPC :
| Sujet: Re: [XP]Téléportation style Zelda Jeu 9 Fév 2012 - 17:37 | |
| C'parce qu'il sait pas afficher une image !!! |
|
Contenu sponsorisé
| Sujet: Re: [XP]Téléportation style Zelda | |
| |
|