AccueilAccueil  PortailPortail  CalendrierCalendrier  TutorielsTutoriels  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  ConnexionConnexion  

Partagez | 
 

 Systeme de téléportation spécial map-monde

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Jordinateur
Blob
Blob
avatar

Nombre de messages : 260
Localisation : Devant mon ordinateur !(enfin sa dépend, peut-être avec ma copine aussi ^^)
Humeur/Caractère : Aller a l'école T_T
Date d'inscription : 12/05/2006

MessageSujet: Systeme de téléportation spécial map-monde   Sam 20 Mai - 14:34

Voici un scripts pour utile pour les maps-monde...
By Wachunga
Il vous permettra tout comme si vous vous promenez sur un globe, de faire le tour de ce globe, puis de revenir au point de départ...Si par exemple, vous vous trouvez sur votre map monde, et que vous partez de Lindblum et que vous arrivez à Alexandrie, vous continuerez toujours tout droit et vous arriverez de nouveau au point de départ sans pour autant vous être fait téléporté, comme si votre map était infini, sauf que c'est seulement une impression, c'est l'ordinateur qui répéte chaque lieu et qui le colle là où votre map se terminer...
Arrow 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 :
Modifiable à la ligne 7
Code:
#-------------------------------------------------------------------------------

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
 
Systeme de téléportation spécial map-monde
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Spécial réveillon du jour de l'An
» systeme d'exploitation (les idées)
» Tutoriel désactiver la restauration systeme sous Vista
» Désolé, mais seuls les utilisateurs avec un accès spécial peuvent lire des sujets dans ce forum
» IPOD TOUCH... EN SPÉCIAL quelque part ? Vous le savez ou l'avez vue en spécial ? Merci bcp :)

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Ultima Graphisme :: Aide, Tuto, Script & Recrutement :: Script-
Sauter vers: