- HareckMembre
- Nombre de messages : 359
Age : 31
Distinction : aucune
Date d'inscription : 26/09/2013
LN - TeleportEx - Fonctionnel
Jeu 10 Oct 2013 - 13:34
Bonjour! Il y a genre 2/3 jours, on s'est rendu compte que le Script LN - TeleportEx n'était plus fonctionnel.
J'ai donc cherché durant une bonne journée, en vain. Jusqu'à maintenant... Enfaite, en voulant trifouiller les codes de mon projet, j'ai réussis à trouver ce qu'il me fallait...
Donc, téléchargez ces deux ressources et nommez les "cursor" et "worldmap"
Pour la world map, essayez de faire la votre. Je vous conseille (pour un effet similaire) d'utiliser le tutoriel de Celiana, ou cette video :
Ensuite copier ce script, et collez le au dessus de main, comme d'habitude. Nommez le comme vous le souhaitez, cela a peut d'importance.
Voila! Normalement, c'est bon, tout est fonctionnel chez moi (essayez tout de même chez vous, j'ai déjà vu des bugs vraiment WTF sur RM).
J'ai pas fait grand chose, qu'on soit clair! :)Juste trouver la dernière version du script, et ajouté la commande pour l'appeler.
J'ai donc cherché durant une bonne journée, en vain. Jusqu'à maintenant... Enfaite, en voulant trifouiller les codes de mon projet, j'ai réussis à trouver ce qu'il me fallait...
Donc, téléchargez ces deux ressources et nommez les "cursor" et "worldmap"
Pour la world map, essayez de faire la votre. Je vous conseille (pour un effet similaire) d'utiliser le tutoriel de Celiana, ou cette video :
Ensuite copier ce script, et collez le au dessus de main, comme d'habitude. Nommez le comme vous le souhaitez, cela a peut d'importance.
- Code:
#-------------------------------------------------------------------------------
# * LN - TeleportEx
# _________________________________________________________________________
# Auteur : LightNox (Grande aide de tonyryu pour ce script)
# Crédit : LigthNox
#
# Configuration :
# Pour afficher la world map, voici la commande : SceneManager.goto(Scene_WorldMap)
#
#
# dans un évènement mettez cette commande en appel de script
# pour voir si la coordonnée de téléportation doit être visible
# (pratique pour faire en sorte que quand une ville ou autre lieu et
# découvert qu'il soit visible)
#
# $game_party.add_teleport_point(:nom_a_remplacer)
#
# Si vous voulez effacer une destination enregistrer utiliser ceci dans un appel de script :
# $game_party.del_teleport_point(:nom_a_remplacer)
#
# à la ligne 37 du script vous définissez toutes les coordonnées que
# vous aurez besoin en suivant l'exemple :
# 1 2 3 4 5
# @teleport = {:nom_a_remplacer => ["Nom_a remplacer", x, y, id_map, map_x, map_y],
#
# 1 = coordonnée x sur votre worldmap
# 2 = coordonnée y sur votre worldmap
# 3 = Id de la map ou va se téléporter votre héro
# 4 = position x de l'apparition sur votre map
# 5 = position y de l'apparition sur votre map
#-------------------------------------------------------------------------------
#///////////////////////////////////////////////////////////////////////////////
#-------------------------------------------------------------------------------
class Game_Party
#-------------------------------------------------------------------------------
attr_reader :teleportPoint
#-------------------------------------------------------------------------------
alias wm_initialize initialize
def initialize
wm_initialize
@teleportPoint = []
end
#-------------------------------------------------------------------------------
def add_teleport_point(pSymbolTP)
@teleportPoint.push(pSymbolTP) if !@teleportPoint.include?(pSymbolTP)
end
#-------------------------------------------------------------------------------
def del_teleport_point(pSymbolTP)
@teleportPoint.include?(pSymbolTP) if !@teleportPoint.delete(pSymbolTP)
end
end
#-------------------------------------------------------------------------------
#///////////////////////////////////////////////////////////////////////////////
#-------------------------------------------------------------------------------
Helpmess = ["Choisir une destination :"]
#-------------------------------------------------------------------------------
class Scene_WorldMap < Scene_Base
def start
super
create_background
create_helpwin
@teleport = {:bonafon => ["Bonafon", 383, 96, 1, 12, 03],
:adlehia => ["Adlehia", 362, 62, 2, 04, 03],
:goetown => ["Goetown", 303, 160, 3, 04, 03],
:rivertown => ["River-Town", 231, 73, 3, 04, 03],
:balmoria => ["Balmoria", 148, 54, 3, 04, 03],
:poms => ["Pom's", 210, 118, 3, 04, 03],
:tidon => ["Tidon", 185, 182, 3, 04, 03],
:rija => ["Rija", 231, 216, 3, 04, 03]}
if $game_party.teleportPoint.size > 0
@index = 0
move_cursor
else
@spriteCursor.visible = false
end
end
#-------------------------------------------------------------------------------
def terminate
super
dispose_background
end
#-------------------------------------------------------------------------------
def create_background
@spriteBkg = Sprite.new
@spriteBkg.bitmap = Cache::picture("Worldmap")
@spriteCursor = Sprite.new
@spriteCursor.bitmap = Cache::picture("cursor")
end
#-------------------------------------------------------------------------------
def dispose_background
@spriteBkg.bitmap.dispose
@spriteBkg.dispose
@spriteCursor.bitmap.dispose
@spriteCursor.dispose
end
#-------------------------------------------------------------------------------
def create_helpwin
@win_help = Window_Base.new(0, 370, 544, 60*Helpmess.size)
Helpmess.each do |i|
@win_help.draw_text(0, 32*Helpmess.index(i), 544, 32, i, 1)
@win_help.opacity = 0
end
end
#-------------------------------------------------------------------------------
def update
super
Audio.bgm_play("./Audio/BGM/Field1.ogg")
save_index = @index
return_scene if Input.trigger?(:B)
if Input.trigger?(:B)
Sound.play_cancel
Audio.bgm_stop
fadeout_all
$game_map.autoplay
end
if $game_party.teleportPoint.size > 0
@index += 1 if Input.trigger?(:RIGHT)
@index -= 1 if Input.trigger?(:LEFT)
transf_process if Input.trigger?(:C)
if Input.trigger?(:C)
Audio.se_play('Audio/SE/teleport')
end
@index = 0 if @index == $game_party.teleportPoint.size
@index = $game_party.teleportPoint.size - 1 if @index == -1
move_cursor if save_index != @index
end
if Input.trigger?(:RIGHT) or Input.trigger?(:LEFT)
Sound.play_cursor
end
if Input.trigger?(:C)
Sound.play_ok
end
end
#-------------------------------------------------------------------------------
def move_cursor
@spriteCursor.x = @teleport[$game_party.teleportPoint[@index]][1]
@spriteCursor.y = @teleport[$game_party.teleportPoint[@index]][2]
end
#-------------------------------------------------------------------------------
def transf_process
$game_player.reserve_transfer(@teleport[$game_party.teleportPoint[@index]][3],@teleport[$game_party.teleportPoint[@index]][4],@teleport[$game_party.teleportPoint[@index]][5])
return_scene
end
end
#-------------------------------------------------------------------------------
# * END LN - TeleportEx
#-------------------------------------------------------------------------------
Voila! Normalement, c'est bon, tout est fonctionnel chez moi (essayez tout de même chez vous, j'ai déjà vu des bugs vraiment WTF sur RM).
J'ai pas fait grand chose, qu'on soit clair! :)Juste trouver la dernière version du script, et ajouté la commande pour l'appeler.
Re: LN - TeleportEx - Fonctionnel
Jeu 10 Oct 2013 - 18:36
Merci Hareck c'est se qu'il me fallais pour un de mes mini-jeu (même si d'après toi tu trouve que ce n'est pas grand chose merci bc !)
- HeavenStaffeux retraité
- Nombre de messages : 2441
Age : 23
Localisation : Alpes-Maritimes VIRILITÉ OLALA
Distinction : Aucune
Date d'inscription : 18/10/2012
Re: LN - TeleportEx - Fonctionnel
Jeu 10 Oct 2013 - 18:45
Good job
Merci à toi, je l'utiliserai certainement ^^
Heav'n
Merci à toi, je l'utiliserai certainement ^^
Heav'n
- HareckMembre
- Nombre de messages : 359
Age : 31
Distinction : aucune
Date d'inscription : 26/09/2013
Re: LN - TeleportEx - Fonctionnel
Jeu 10 Oct 2013 - 21:11
Y'a pas de quoi!
Re: LN - TeleportEx - Fonctionnel
Sam 12 Oct 2013 - 10:08
Merci beaucoup d'avoir apporté ton aide !
Simplement, tu as fait une erreur dans la commande d'appel de script : SceneManager.goto(Scene_WorldMap)
Si tu utilises cette commande, lorsque tu annules ou que tu valides, la scène se quitte en même temps que le jeu... Ce n'est donc pas pratique.
Il faut utiliser cet appel de script : SceneManager.call(Scene_WorldMap)
J'ai testé, ça fonctionne maintenant parfaitement.
Simplement, tu as fait une erreur dans la commande d'appel de script : SceneManager.goto(Scene_WorldMap)
Si tu utilises cette commande, lorsque tu annules ou que tu valides, la scène se quitte en même temps que le jeu... Ce n'est donc pas pratique.
Il faut utiliser cet appel de script : SceneManager.call(Scene_WorldMap)
J'ai testé, ça fonctionne maintenant parfaitement.
- HareckMembre
- Nombre de messages : 359
Age : 31
Distinction : aucune
Date d'inscription : 26/09/2013
Re: LN - TeleportEx - Fonctionnel
Dim 13 Oct 2013 - 12:31
Ho oui! Franchement désolé! C'est quand je l'ai réécris sur le forum, je me sus trompé de commande et ecris goto plutôt que call! Toutes mes excuses, surtout que c'est ce que j'avais écris... Toutes mes excuses!
- HareckMembre
- Nombre de messages : 359
Age : 31
Distinction : aucune
Date d'inscription : 26/09/2013
Re: LN - TeleportEx - Fonctionnel
Dim 13 Oct 2013 - 14:28
Si, je me suis trompé dans l'appel du script... Je suis peut-être un débutant, mais voila!
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum