Heures au format UTC + 1 heure [ Heure d’été ]


Règles du forum


Consultez la liste des Scripts : cliquez ici



Publier un nouveau sujet Répondre au sujet  [ 1 message ] 
Auteur Message
 Sujet du message: Worldgate (Porte du monde) version 1.0
MessagePublié: 11 Sep 2009, 16:28 
Villageois (Nv 1)
Avatar de l’utilisateur

Inscrit le: 24 Aoû 2009, 03:40
Messages: 18
Niveau RPG Maker: Bon
Logiciel(s) préféré(s): RpgmVX/XP ; Notepad++
Point(s) Fort(s): Event
Points d'aide: 0/60

Créations :

Voir ses créations

Nom du script : World Gate

Version : 1.0

Auteur : Moi, Raizen, c'est mon 1er script :p

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: Tout sélectionner
$scene = Scene_Worldgate.new

Le script est à placé au dessus de "main".

Screen :
Image

Le script :
Code: Tout sélectionner
######################################################################################
#                                                                                               
#                                                                            script écrit par : Raizen ZENTRIX                 
#                                                                                               
#                                                                                        script World Gate                               
#                                                                                              Version 1.0
#
#                                                                      Aide sur : http://rpgmvx-rz.forumactif.com
#
######################################################################################
# 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  -----------------------------------------------------------------#
######################################################################################

S'il y a un problème avec le script, veuillez poster une réponse (pas de MP, il se peut que quelqu'un d'autre aurait le même problème).
J'espère que ce script vous sera utile :)


Haut
 Profil  
 
Afficher les messages depuis:  Trier par  
Publier un nouveau sujet Répondre au sujet  [ 1 message ] 

Heures au format UTC + 1 heure [ Heure d’été ]


Qui est en ligne ?

Utilisateurs parcourant actuellement ce forum : Aucun utilisateur inscrit et 3 invités


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas insérer de pièces jointes dans ce forum

Rechercher pour:
Sauter vers:  
cron
RPG Creative Forum version 5 ; Tous droits réservés
phpBB Group (Traduit par Xaphos)
Optimisé pour une résolution 1024*728