- InvitéInvité
Worldgate 1.0 par Raizen
Dim 18 Oct 2009 - 16:17
Nom du script : World Gate 1.0
Auteur : Raizen
Fonctionnalités :
- Ce script va vous permettre d'afficher un menu téléporteur (ou carte du monde si vous voulez).
- Ce script se compose d'une fenêtre à gauche avec une liste de choix représentant les destination, avec chaque choix accompagné d'une image qui apparaîtra dans une autre fenêtre à droite.
- Possibilité d'ajouter ou de retirer des choix avec des interrupteurs ou des variables.
Utilisation :
Il y a quatre modifications à faire pour le bon fonctionnement du script, tout est expliqué bien clairement dans le script.
Pour appeler le script, utilisez la commande :
Screen :
script :
Auteur : Raizen
Fonctionnalités :
- Ce script va vous permettre d'afficher un menu téléporteur (ou carte du monde si vous voulez).
- Ce script se compose d'une fenêtre à gauche avec une liste de choix représentant les destination, avec chaque choix accompagné d'une image qui apparaîtra dans une autre fenêtre à droite.
- Possibilité d'ajouter ou de retirer des choix avec des interrupteurs ou des variables.
Utilisation :
Il y a quatre modifications à faire pour le bon fonctionnement du script, tout est expliqué bien clairement dans le script.
Pour appeler le script, utilisez la commande :
- Code:
$scene = Scene_Worldgate.new
Screen :
script :
- Code:
######################################################################################
#
# script écrit par : Raizen ZENTRIX
#
# script World Gate
# Version 1.0
#
#
#
######################################################################################
# Vous devez appeler ce script pour pouvoir l'utiliser avec la commande :
# $scene = Scene_Worldgate.new
######################################################################################
class Window_Worldgate < Window_Selectable
def initialize(width, commands, column_max = 1, row_max = 0, spacing = 32)
if row_max == 0
row_max = (commands.size + column_max - 1) / column_max
end
super(0, 0, width, row_max * WLH + 32, spacing)
@commands = commands
@item_max = commands.size
@column_max = column_max
self.contents.dispose
self.contents = Bitmap.new(width - 32, @item_max * WLH)
refresh
self.index = 0
end
def refresh
self.contents.clear
for i in 0...@item_max
draw_item(i)
end
end
def draw_item(index, enabled = true)
rect = item_rect(index)
rect.x += 4
rect.width -= 8
self.contents.clear_rect(rect)
self.contents.font.color = normal_color
self.contents.font.color.alpha = enabled ? 255 : 128
self.contents.draw_text(rect, @commands[index])
end
end
class Scene_Worldgate
def main
#-------------------------------------------------------------- A MODIFIER -----------------------------------------------------------------
# Fenêtre de bienvenue :
# Ici, vous pourrez modifier votre message de bienvenue, en remplaçant les phrases entre " " par votre
# message :
@welcome_window = Window_Base.new(0, 0, 544, 87)
@welcome_window.contents.draw_text (0, 0, 544, 32, "World Gate", 1)
@welcome_window.contents.draw_text (0,0,544,72, "Veuillez choisir votre destination", 1)
#-------------------------------------------------------- FIN DE LA 1ERE MODIF ------------------------------------------------------#
#-------------------------------------------------------------- A MODIFIER -----------------------------------------------------------------
@place_name = []
@place_picture = []
# Noms et images des endroits :
# C'est ici que vous metterez le nom des choix dans la variable @placename[x] avec x : la position du choix
# EN COMMENCANT PAR 0, et le nom de l'image (sans l'extension) de ce choix dans la variable @place_picture[y]
# avec y : la position du choix EN COMMENCANT PAR 0.
# Le format conseillé des images est de 332x316, et de type jpg.
#Vous pouvez mettre autant de choix que vous voulez :
@place_name[0] ="Ville de départ" #Placer le nom du 1er choix entre les " "
@place_picture[0] = "image_desert" #Placer le nom de l'image du 1er choix entre les " "
@place_name[1] = "Forêt" #Le nom du 2ème choix
@place_picture[1] = "image_desert" #Le nom de l'image du 2ème choix
# Ici, le choix "Endroit1" n'apparaîtera que si l'interrupteur 23 est activé,
if $game_switches[23] == true # Vous pouvez changer le numéro de l'interrupteur si vous voulez
@place_name[2] = "Endroit1" # Et vous pouvez mettre autant de choix et d'interrupteur que vous désirez
@place_picture[2] = "image_endroit1" # Sinon vous pourrez toujours supprimer la condition
end
# Ici, le choix "Endroit2" n'apparaîtera que si la variable [15] est plus grande que 5
if $game_variables[15] > 5 # Vous pouvez changer le numéro de la variable si vous voulez
@place_name[3] = "Endroit2" # Et vous pouvez mettre autant de choix et de variables que vous désirez
@place_picture[3] = "image_endroit2" # Sinon vous pourrez toujours supprimer la condition
end
#-------------------------------------------------------- FIN DE LA 2EME MODIF ------------------------------------------------------#
# Fenêtre de choix :
@select_window = Window_Worldgate.new(192, @place_name,1,13,10)
@select_window.x = 0
@select_window.y = @welcome_window.height
# Fenêtre où apparaîterons les images des endroits
@images_window = Window_Base.new(192, @welcome_window.height, 352, 330)
@images_window.back_opacity = 0
#-------------------------------------------------------------- A MODIFIER -----------------------------------------------------------------
# Fenêtre des sprites :
# Si vos images ne sont pas de taille 332x316, vous pouvez modifier leur position avec @places_sprite.x
# qui représente l'axe des x, et @places_sprite.y qui représente l'axe des y :
@places_sprite = Sprite.new
@places_sprite.x = 201
@places_sprite.y = 90
#-------------------------------------------------------- FIN DE LA 3EME MODIF ------------------------------------------------------#
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
@welcome_window.dispose
@select_window.dispose
@images_window.dispose
@places_sprite.dispose
end
def update
@welcome_window.update
@select_window.update
@images_window.update
create_sprite
end
def create_sprite
index = @select_window.index
@places_sprite.bitmap = Cache.picture(@place_picture[index])
update_command
end
def update_command
if Input.trigger?(Input::C)
Sound.play_decision
$scene = Scene_Map.new
case @select_window.index
#-------------------------------------------------------------- A MODIFIER ----------------------------------------------------------------#
# C'est ici que vous pouvez configurer la téléportation de l'équipe, pour cela vous devez utiliser cette
# commande " $game_player.reserve_transfer(a, b, c, d) " avec :
# a : id de la prochaine map
# b : coordonnées x de l'équipe
# c : coordonnées y de l'équipe
# d : la direction dans laquelle va regarder le héros (2=> en bas; 4=> à gauche; 6=> en haut; 8=> à droite)
# Une dernière chose : Vous avez remarquez que à côté de " when " (qui signifie quand ou lorsque) il y a
# un chiffre, ben ce chiffre représente la position de votre choix que vous avez modifié dans la 2ème modif
# plus haut.
# Ce qui veut dire que si vous avez 5 choix ou plus, vous devriez ajouter un autre " when z " avec :
# z : la position du choix.
when 0
$game_player.reserve_transfer(2, 7, 9, 2)
when 1
$game_player.reserve_transfer(5,40,20,4)
when 2
$game_player.reserve_transfer(10,4,16,6)
when 3
$game_player.reserve_transfer(8,16,24,4)
#-------------------------------------------------------- FIN DE LA 4EME MODIF ------------------------------------------------------#
end
end
if Input.trigger?(Input::B)
Sound.play_cancel
$scene = Scene_Map.new
end
end
end
#-------------------------------------------------------- FIN DU script -----------------------------------------------------------------#
######################################################################################
- ZangtherOldMembre
- Nombre de messages : 1711
Date d'inscription : 07/08/2009
Re: Worldgate 1.0 par Raizen
Dim 18 Oct 2009 - 16:40
En recherchant tu verra ça : https://rpgmakervx.1fr1.net/systeme-f38/worldgate-porte-du-monde-version-10-t6108.htm
- Ultima95Membre
- Nombre de messages : 3
Distinction : aucune
Date d'inscription : 04/10/2009
Re: Worldgate 1.0 par Raizen
Dim 1 Nov 2009 - 19:30
on dirait le concepte d'assassin's creed! :1010: c'est superbe!
- Dudu'Staffeux retraité
- Nombre de messages : 2060
Age : 33
Distinction : Apprenti KGB-boy en avenir
[Coco' ]
Hamsterphile de service ^^
[Balby' le Fake]
Grand prof de la MA
[Skillo]
Ce grand programmateur, mon coeur, ma vie ! [Hamu']
Date d'inscription : 22/06/2009
Re: Worldgate 1.0 par Raizen
Dim 1 Nov 2009 - 21:40
oui mais raizen est un grand garçon et comme l'a indiquer Zangther il l'a déjà posté!!!
alors si un modo pouvait lock...
alors si un modo pouvait lock...
- Coco'Staffeux retraité
- Nombre de messages : 6578
Age : 31
Localisation : Nord/Douai
Distinction : EL DICTATOR COCO'
Coco-Dieu en puissance
Grand gourou suppléant de la secte des MAGIKARP
Leader charismatique des 2beStaffieux
N°1 du forum
Président, vice-présidents et membres honoraires de la cour suprême du forum
Président de l'association des grosses distinctions CMB
Date d'inscription : 02/07/2008
Re: Worldgate 1.0 par Raizen
Dim 1 Nov 2009 - 22:41
Ok, je lock, sinon c'était moi qui avait posté ce script... ^^'
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum