Accueil du SiteAccueil du Site  AccueilAccueil  FAQFAQ  RechercherRechercher  MembresMembres  GroupesGroupes  ConnexionConnexion  S'enregistrerS'enregistrer  




Partagez | 
 

 [XP]Téléportation style Zelda

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Elekami
Fondateur
Fondateur
avatar

Masculin
Messages postés : 19067
Date d'inscription : 19/07/2008
Jauge LPC :
100 / 100100 / 100





















MessageSujet: [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

_____________________
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.lepalaiscreatif.net https://twitter.com/EleKoptes
Jin
Ancien staffeux
Ancien staffeux
avatar

Masculin
Messages postés : 8556
Date d'inscription : 08/12/2010
Jauge LPC :
69 / 10069 / 100

G 1 petit zizi Very Happy
Nn C pa vré Sad











MessageSujet: Re: [XP]Téléportation style Zelda   Lun 6 Fév 2012 - 15:15

L'image ne s'affiche pas ^^

_____________________
Je soutiens :
~Kioresse~
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Mimiko
Ninja (niveau 5)
Ninja (niveau 5)
avatar

Féminin
Messages postés : 229
Date d'inscription : 31/08/2011
Jauge LPC :
14 / 10014 / 100


MessageSujet: 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 Surprised )
merci pour le partage ele" Smile


Dernière édition par Mimiko le Jeu 9 Fév 2012 - 17:41, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://miko-projet-cda-iriee.blogspot.fr/
Jin
Ancien staffeux
Ancien staffeux
avatar

Masculin
Messages postés : 8556
Date d'inscription : 08/12/2010
Jauge LPC :
69 / 10069 / 100

G 1 petit zizi Very Happy
Nn C pa vré Sad











MessageSujet: Re: [XP]Téléportation style Zelda   Jeu 9 Fév 2012 - 17:37

C'parce qu'il sait pas afficher une image !!!


_____________________
Je soutiens :
~Kioresse~
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: [XP]Téléportation style Zelda   

Revenir en haut Aller en bas
 
[XP]Téléportation style Zelda
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Cec'style
» Dupes collection style black (guilt by association + le vernis)
» [Style] Punk
» Dynamite Girls SIS style
» Ragoût de porc style asiatique de Catherinoushka

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Le Palais Créatif :: ~ PARTAGE ~ :: Scripts et plugins :: RPG Maker XP :: Autres-
Sauter vers: