Sujet n°13883
Posté par Esuma60 le 23 Juin - 23:29 (2014)
Titre : Script de l'ascenseur
Bonjour à tous, voilà un script pour utiliser l'ascenseur.
Je remercie Sphinx qui avait publié un script pour les choix multiples et que je n'ai fait que reprendre et adapter au pack PSP DS. 


En espérant que celui-ci vous sera utile. 


Alors pour l'utiliser, prenez le script qui suit et placer dans Interpreter, à la suite de Draw_choise vers les lignes 800. Ensuite créez la variable 516 (d'après ce script, vous pouvez la modifier, cf. game variable dans le script) que vous nommerez ascenseur.  




Spoiler
#----------------------------------------------------------------------------
# Ascenseur
  #Crédit : Sphinx. 
  #-----------------------------------------------------------------------------
    def ascenseur(arg1 = "1er étage", arg2 = "2ème étage", arg3 = "3ème étage", arg4 = "4ème étage", arg5 = "Retour")  
    window = Window_Command.new(1, [arg1, arg2, arg3, arg4, arg5], $fontsizebig)  
    width = [window.contents.text_size(arg1).width, window.contents.text_size(arg2).width, window.contents.text_size(arg3).width, window.contents.text_size(arg4).width, window.contents.text_size(arg5).width].max + 16  
    window.dispose  
    @command = Window_Command.new(width + 32, [arg1, arg2, arg3, arg4, arg5], $fontsizebig)  
    @command.x = 78 - width  
    @command.y = 2 
    loop do  
      Graphics.update  
      Input.update  
      @command.update  
      if Input.trigger?(Input::C) and @command.index == 0  
        $game_variables[516] = 1  
        @command.dispose  
        @command = nil  
        #Input.update  
        @wait_count = 2  
        return true  
      end  
      if Input.trigger?(Input::C) and @command.index == 1  
        $game_variables[516] = 2  
        @command.dispose  
        @command = nil  
        #Input.update  
        @wait_count = 2  
        return true  
      end  
      if Input.trigger?(Input::C) and @command.index == 2  
        $game_variables[516] = 3  
        @command.dispose  
        @command = nil  
        #Input.update  
        @wait_count = 2  
        return true  
      end  
      if Input.trigger?(Input::C) and @command.index == 3  
        $game_variables[516] = 4  
        @command.dispose  
        @command = nil  
        #Input.update  
        @wait_count = 2  
        return true  
      end  
      if Input.trigger?(Input::C) and @command.index == 4  
        @command.dispose  
        @command = nil  
        #Input.update  
        @wait_count = 2  
        return false  
      end  
    end  
  end  





Voilà à quoi ça ressemble plus précisément : 


Spoiler



Spoiler



Enfin voilà, en espérant que cela vous sera utile et encore merci à Sphinx, sans qui ce script n'aurait pu être réalisé. 


Crédit
Sphinx

Posté par Nielsdissi le 24 Juin - 10:19 (2014)
Ça peut être vraiment utile. Est-ce que ça marche avec PSP4G+?

Posté par Esuma60 le 24 Juin - 10:22 (2014)
Je n'utilise pas PSP4G+, donc je peux pas vraiment dire. 


En théorie, je pense que oui, il faudrait juste, à la rigueur, modifier les valeurs en x et y contenues dans : 
@command.x = 78 - width  
    @command.y = 2 

Posté par elric54 le 24 Juin - 23:54 (2014)
Même si ce n'est pas compatible c'est réalisable uniquement par event Imbécile heureux

Posté par Eurons くさ le 25 Juin - 21:53 (2014)
C'est même super simple en évent xD

Posté par Esuma60 le 26 Juin - 09:28 (2014)
Ba je sais pas, j'ai préféré en script

Posté par Nielsdissi le 26 Juin - 13:50 (2014)
elric54 a écrit:
Même si ce n'est pas compatible c'est réalisable uniquement par event Imbécile heureux


Oui, j'ai même pensé à un système avec interrupteurs à variables.

Posté par Sansonic le 26 Juin - 16:31 (2014)
Nielsdissi a écrit:
elric54 a écrit:
Même si ce n'est pas compatible c'est réalisable uniquement par event Imbécile heureux


Oui, j'ai même pensé à un système avec interrupteurs à variables.


De façon très terre-à-terre sous RM il suffit:
- 1 Map (assez haute pour permettre d'y faire plusieurs zones non connectées)
- Autant d'event que d'étage (mais c'est simplifiable)
- Une seule page avec des choix.

Si vous souhaitez un système avec interface en event, c'est aussi possible à l'aide de "pictures".