Rpg maker xp
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Rpg maker xp

forum pour rpg maker :
 
AccueilRechercherDernières imagesS'enregistrerConnexion
Le Deal du moment : -55%
Coffret d’outils – STANLEY – ...
Voir le deal
21.99 €

 

 Menu de téléportation a la place de la world map

Aller en bas 
AuteurMessage
Soroshiya
Modérateur
Modérateur
Soroshiya


Masculin
Nombre de messages : 124
Age : 32
Date d'inscription : 16/11/2007

Feuille personnelle
PAs (Points d'Aide):
Menu de téléportation a la place de la world map Left_bar_bleue0/130Menu de téléportation a la place de la world map Empty_bar_bleue  (0/130)
Permis à Points:
Menu de téléportation a la place de la world map Left_bar_bleue40/40Menu de téléportation a la place de la world map Empty_bar_bleue  (40/40)

Menu de téléportation a la place de la world map Empty
MessageSujet: Menu de téléportation a la place de la world map   Menu de téléportation a la place de la world map Icon_minitimeSam 17 Nov - 5:56

Nom du script : Menu de téléportation a la place de la world map
Auteur : Krazplay
Fonction : Ce script vous permet d'éviter de dessiner une carte du monde. Alors vous utilisez un menu avec images.
Image(s) : Menu de téléportation a la place de la world map Worldmap90
Ressource(s) : Aucune
Remarque : Fonctionnel
Installation : Allez dans l'éditeur de script ( F11 ) et suivez les instructions ci-dessous .

Faite un nouveau script au dessus de Main appelé Worldmap90 puis coller ce code:
Code:
#=======================================================================
# ■ Scene_Worldmap v0.9
#--------------------------------------------------------------------------------------------------------------------------------
# Ecrit par Krazplay, version la plus à jour disponible sur le forum du site rpgmakerxp.free.fr
# Nécessite : le scrîpt Window_world
# Description :
# Ce scrîpt permet d'afficher un menu de carte du monde/téléporteur comportant dans une
# première fenêtre à gauche une liste de choix (les destinations), chacun des choix est
# accompagné d'une image qui apparaitra à droite, et probablement dans une prochaine version
# d'une description dans la fenêtre de bienvenu, un choix peut être ajouté/enlevé ou désactivé
# à l'aide de variables ou de switchs.
# Utilisation :
# Il y a trois endroits où vous devez modifier ce scrîpt pour qu'il fonctionne, pour cela faites
# comme dans les exemples, ils sont à mon avis assez explicites.
#
# Modifications 1 : C'est là que vous mettrez le nom de la destination (dans la variable @s[i],
# où i est la position de ce choix, 0 = première position, 1 = 2nde position ou 1ère position si
# le choix 0 n'est pas disponible et ainsi de suite) et le nom de l'image du dossier Pictures lui
# correspondant dans la variable @ni[i] (le nom doit être entre crochets (exemple "Ville"), et ne
# doit PAS contenir le nom de l'extension (.jpg).
#
# Modifications 2 : Optionnel, si vous voullez qu'à un moment le joueur ne puisse pas aller
# quelquepart mais que le choix soit tout de même visible, c'est là qu'il faut le mettre, à l'aide
# de la commande : @command_window.disable_item("nom du l'endroit")
#
# Modifications 3 : Entrer ici les conséquences du choix, générallement la téléportion complète
# de l'équipe. Pour téléporter l'équipe vous pouvez utiliser la commande :
# téléportation(id_de_la_map, coordonnée_x, coordonnée_y, direction_du_héros_optionnel)
# Je ne me rappelle plus des différentes direction du héros, il me semble que ce chiffre peut
# une valeur entre 0 et 3, 0 et 3 étant compris. Cela permet en tout cas que le héro regarde
# vers le haut ou la droite par exemple, après s'être téléporté.
#
# Notes importantes : L'image doit être au format jpg (c'est le seul que j'ai testé, je ne sais pas
# si les autres sont acceptés). Son format conseillé est de 368x352, si l'image est plus petite,
# elle sera automatiquement centré au milieu de la fenêtre, de même si elle est trop grande, on
# verra son milieu, et non son côté.
# Pour appeller cette carte du monde, utliser la ligne de scrîpt suivante :
# $scene = Scene_Worldmap.new
# à partir de n'importe quel évènement ou scrîpt.
#=======================================================================
class Scene_Worldmap

def initialize(menu_index = 0)
@menu_index = menu_index
end

def main
@s = []
@ni = []
############### Modifications 1 ################
@s[0] = "Mines" #Nom du premier choix
@ni[0] = "image_Mines1" #Nom de l'image du premier choix ds votre dossier Pictures (sans l'extension)
@s[1] = "Ville du desert"
[email]#@ni[1[/email]] = "Ville du desert" #Le nom de l'image étant identique à celui du lieu, on peut négliger de la préciser
if $game_switches[1] == true # Exemple avec un switch :
@s[2] = "Test" # Le choix "Test" n'apparaitra que si
@ni[2] = "image_test" # le switch 1 est activé
end
if $game_variables[80] > 3 # Exemple avec une variable :
@s[3] = "AZERTY" # Le choix "AZERTY" n'apparaitra que si
@ni[3] = "blablabla" # la variable 80 est supérieur à 3
end

for i in [email]0...@s.size[/email]
if @ni[i] == nil and @s[i] != nil # Si aucun nom d'image n'a été attribué alors que le lieu existe
@ni[i] = @s[i] # Alors le nom du lieu devient le nom de l'image
end
end
@s.compact! # Enlève les espaces vides possibles.
@ni.compact!
#Création de la fenêtre de bienvenue => (coordonnée x, coordonnée y, largeur, hauteur)
largeur = 640
hauteur = 96
@bienvenue_window = Window_Base.new(0,0,largeur,hauteur)
@bienvenue_window.contents = Bitmap.new(largeur-32, hauteur-32)
@bienvenue_window.contents.font.name = $fontface #si vous voullez modifier la police d'écriture
@bienvenue_window.contents.font.size = $fontsize #ou sa taille c'est ici.
message1 = "Bienvenu sur la World Map."
message2 = "Veuillez choisir votre destination."
align = 1 #(0 = texte aligné à gauche ; 1 = texte centré ; 2 = aligné à droite)
@bienvenue_window.contents.draw_text(0, 0, largeur, 32, message1, align)
@bienvenue_window.contents.draw_text(0, 32, largeur, 32, message2, align)
largeur2 = 240 #(largeur de la fenêtre des choix)
@command_window = Window_World.new(largeur2, @s)
@command_window.x = 0 # position x de la fenêtre des choix
@command_window.y = 96 # position y de la fenêtre des choix
@command_window.index = @menu_index
# Fenêtre qui contiendra l'image => (position x, position y, largeur, hauteur)
@image_window = Window_Base.new(240, 96, 400, 480-96)

############### Modifications 2 ################
# Liste des choix non selectionnables, ils sont visibles en grisé par le joueur.
if $game_switches[2] == true # Exemple avec un switch :
@command_window.disable_item("Ville du desert") # Le choix "Ville du desert" sera grisé
end # et non selectionnable si le switch 2 est activé

if $game_variables[66] < 4 # Exemple avec une variable : Le choix "Mines"
@command_window.disable_item("Mines") # sera grisé et non selectionnable
end # tant que la variable 66 est inférieur à 4.

Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
@command_window.dispose
end

def update
@command_window.update
if @image_window.active
update_image
end
if @command_window.active
update_command
return
end
end

def update_command
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
@bienvenue_window.dispose
@image_window.dispose
$scene = Scene_Map.new
return
end
if Input.trigger?(Input::C)
case @s[@command_window.index]

############### Modifications 3 ################
when "Mines" # Ce qui se passe si le joueur choisit "Mines"
if not @command_window.disable_item?("Mines") # Le choix n'est pas validé s'il est désactivé (grisé).
téléportation(2, 1, 1, 2) # téléportation de l'équipe
# rappel : (id_de_la_map, coordonnée_x, coordonnée_y, direction_du_héros_optionnel)
end

when "Ville du desert"
if not @command_window.disable_item?("Ville du desert")
téléportation(4, 8, 10)
end

when "Test"
if not @command_window.disable_item?("Test")
téléportation(2, 1, 1)
end
end

if $scene == self # Si la scene est encore celle-ci, le choix n'était pas bon, donc on
$game_system.se_play($data_system.buzzer_se) # joue un bruit de buzzer
else
$game_system.se_play($data_system.decision_se)
end
return
end
end

def téléportation(map_id, coord_x, coord_y, héro_direction=0)
@bienvenue_window.dispose
@image_window.dispose
$game_temp.player_transferring = true
$game_temp.player_new_map_id = map_id
$game_temp.player_new_x = coord_x
$game_temp.player_new_y = coord_y
$game_temp.player_new_direction = héro_direction
Graphics.freeze
$game_temp.transition_processing = true
$game_temp.transition_name = ""
$scene = Scene_Map.new
end

def update_image
i [email]=@command_window.index[/email]
if @ni[i] != nil and i != @vieuxi
@image_window.contents = Bitmap.new(400-32, 480-96-32)
bitmap = RPG::Cache.picture(@ni[i])
cw = bitmap.width
ch = bitmap.height
if cw > 368 # Ce qui suit sert à centrer l'image si elle est trop petite ou trop grande.
aw = (cw - 368) / 2
bw = 0
else
aw = 0
bw = (368 - cw) / 2
end
if ch > 352
ah = (ch - 352) / 2
bh =0
else
ah = 0
bh = (352 - ch) / 2
end
src_rect = Rect.new(aw, ah, cw, ch)
@image_window.contents.blt(bw, bh, bitmap, src_rect)
@vieuxi = i
end
end

end
#=======================================================================
# ■ Window_World v0.9
#--------------------------------------------------------------------------------------------------------------------------------
# Ecrit par Krazplay, version la plus à jour disponible sur le forum du site rpgmakerxp.free.fr
# Nécessite : le scrîpt Scene_Worldmap
# Toutes les explications sont dans le scrîpt Scene_Worldmap, il ne devrait rien avoir à faire
# dans celui-ci.
#=======================================================================
class Window_World < Window_Selectable
def initialize(width, commands)
@item_désactivé =[]
if commands.size > 11
hauteur = 11
else
hauteur = commands.size
end
super(0, 0, width, hauteur * 32 + 32)
@item_max = commands.size
@commands = commands
self.contents = Bitmap.new(width - 32, @item_max * 32)
self.contents.font.name = $fontface
self.contents.font.size = $fontsize
refresh
self.index = 0
end
def refresh
self.contents.clear
for i in [email]0...@item_max[/email]
draw_item(i, normal_color)
end
end
def draw_item(index, color)
self.contents.font.color = color
rect = Rect.new(4, 32 * index, self.contents.width - 8, 32)
self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
self.contents.draw_text(rect, @commands[index])
@item_désactivé[index] = 0
end
def disable_item(nom)
if indexde(nom) != false
draw_item(indexde(nom), disabled_color)
@item_désactivé[indexde(nom)] = 1
end
end

def disable_item?(nom)
if @item_désactivé[indexde(nom)] == 1
return true
else
return false
end
end

def indexde(nom)
for i in [email]0...@commands.size[/email]
if @commands[i] == nom
return i
end
end
return false
end

end
UTILISATION
Ensuite, pour le faire marcher:
Code:

# à l'aide de variables ou de switchs / intérupteur.
# Utilisation :
# Il y a trois endroits où vous devez modifier ce scrîpt pour qu'il fonctionne, pour cela faites
# comme dans les exemples, ils sont à mon avis assez explicites.
#
# Modifications 1 : C'est là que vous mettrez le nom de la destination (dans la variable @s[i],
# où i est la position de ce choix, 0 = première position, 1 = 2nde position ou 1ère position si
# le choix 0 n'est pas disponible et ainsi de suite) et le nom de l'image du dossier Pictures lui
# correspondant dans la variable @ni[i] (le nom doit être entre crochets (exemple "Ville"), et ne
# doit PAS contenir le nom de l'extension (.jpg).
#
# Modifications 2 : Optionnel, si vous voullez qu'à un moment le joueur ne puisse pas aller
# quelquepart mais que le choix soit tout de même visible, c'est là qu'il faut le mettre, à l'aide
# de la commande : @command_window.disable_item("nom du l'endroit")
#
# Modifications 3 : Entrer ici les conséquences du choix, générallement la téléportion complète
# de l'équipe. Pour téléporter l'équipe vous pouvez utiliser la commande :
# téléportation(id_de_la_map, coordonnée_x, coordonnée_y, direction_du_héros_optionnel)
# Je ne me rappelle plus des différentes direction du héros, il me semble que ce chiffre peut
# une valeur entre 0 et 3, 0 et 3 étant compris. Cela permet en tout cas que le héro regarde
# vers le haut ou la droite par exemple, après s'être téléporté.
#
# Notes importantes : L'image doit être au format jpg (c'est le seul que j'ai testé, je ne sais pas
# si les autres sont acceptés). Son format conseillé est de 368x352, si l'image est plus petite,
# elle sera automatiquement centré au milieu de la fenêtre, de même si elle est trop grande, on
# verra son milieu, et non son côté.
# Pour appeller cette carte du monde, utliser la ligne de scrîpt suivante :
# $scene = Scene_Worldmap.new
# à partir de n'importe quel évènement ou scrîpt.
#=======================================================================
Pour appeller un script, vous devez faire un évènement qui lui appellera le script:
$scene = Scene_Worldmap.new
Les modifications montre l'endroit dans le script à regarder.
Lisez bien les comemntaire en vert dans le script, sa vous explique quoi changer ou modifier.
Revenir en haut Aller en bas
 
Menu de téléportation a la place de la world map
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Menu 2
» Menu 3
» Menu 4
» Menu 5
» Menu 6

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Rpg maker xp :: rpg maker xp :: Scripts :: Scripts Map-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser