RPG Creator : créez votre MMORPG ou RPG sans aucune connaissance en programmation


Disponible le 4 Juin !




- Jouez à votre jeu sur tablettes tactiles, Smartphones et navigateurs Web
- Personnalisez vos menus
- Dessinez facilement et rapidement vos cartes
- Créez des actions pour le combat A-RPG


www.rpgcreator.net


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  [ 9 messages ] 
Auteur Message
 Sujet du message: [RMXP] Advanced Input
MessagePublié: 26 Juil 2009, 17:58 
Ancien membre du staff
Ancien membre du staff
Avatar de l’utilisateur

Inscrit le: 12 Aoû 2006, 00:00
Messages: 1064
Points d'aide: 5/60

Créations :

- [RMXP] Database Management

- [RMXP] GUI Widgets

- [RMXP] Advanced Input


Voir ses créations

Advanced Input




Auteur : Åvygeil


Description :

Ce script permet de gérer la quasi-totalité du clavier.
Il ne gère cependant pas encore le pavé numérique.


Sommaire :

1. Explications
2. Scripts
2.1. Advanced Input
2.2. Default Keys


Dernière édition par Åvygeil le 06 Déc 2009, 14:24, édité 2 fois au total.

Haut
 Profil  
 
 Sujet du message: Re: [RMXP] Advanced Input
MessagePublié: 05 Déc 2009, 21:44 
Ancien membre du staff
Ancien membre du staff
Avatar de l’utilisateur

Inscrit le: 12 Aoû 2006, 00:00
Messages: 1064
Points d'aide: 5/60

Créations :

- [RMXP] Database Management

- [RMXP] GUI Widgets

- [RMXP] Advanced Input


Voir ses créations

1. Explications



Installation :

Ce script a besoin de la RGSS100J.dll à jour pour fonctionner.

- Créez un script au dessus du script "Main" et nommez le "Advanced Input".
- A l'intérieur du script "Advanced Input", copiez/collez le script "Advanced Input" disponible plus bas.
- Créez un script entre le script "Advanced Input" et le script "Main" et nommez le "Default Keys"
- A l'intérieur du script "Default Keys", copiez/collez le script "Default Keys" disponible plus bas.


Changer les touches de base de RMXP :

Avec ce script, les changements de touche via le menu F1 ne fonctionneront pas.
Pour changer les touches de base de RMXP, il faut modifier le script "Default Keys".

Ce script ne permet cependant pas encore d'utiliser les touches du pavé numérique.


Détail de l'API :

- Ce script ne définit pas de nouvelles méthodes, il redéfinit les méthodes trigger? press? et repeat? du module Input. Seulement, celle-ci sont également utilisables avec toutes les touches du clavier via les constantes du module Keyboard.

- Ce script définit également la méthode Keyboard.number qui renvoie le chiffre tapé, et la méthode Keyboard.letter qui renvoie la lettre tapé.

- Il est possible de combiner les touches du clavier. Par exemple :
Code: Tout sélectionner
Input.trigger?(Keyboard::A|Keyboard::B)

permet de tester si la touche A OU la touche B du clavier est appuyée, et
Code: Tout sélectionner
Input.trigger?(Keyboard::A&Keyboard::B)

permet de tester si la touche A ET la touche B du clavier sont appuyées.


Dernière édition par Åvygeil le 06 Déc 2009, 02:44, édité 2 fois au total.

Haut
 Profil  
 
 Sujet du message: Re: [RMXP] Advanced Input
MessagePublié: 05 Déc 2009, 21:47 
Ancien membre du staff
Ancien membre du staff
Avatar de l’utilisateur

Inscrit le: 12 Aoû 2006, 00:00
Messages: 1064
Points d'aide: 5/60

Créations :

- [RMXP] Database Management

- [RMXP] GUI Widgets

- [RMXP] Advanced Input


Voir ses créations

2. Scripts

2.1. Advanced Input

Code: Tout sélectionner
#===============================================================================
# *** Advanced Input
#-------------------------------------------------------------------------------
# Auteur  : Åvygeil
#-------------------------------------------------------------------------------
# Ce script permet de gérer facilement les touches du clavier.
#===============================================================================

#===============================================================================
# ** Keyboard
#-------------------------------------------------------------------------------
# Ce module contient les constantes correspondant aux touches du clavier.
#===============================================================================
module Keyboard
 
  #=============================================================================
  # ** Key
  #-----------------------------------------------------------------------------
  # Cette classe modélise une combinaison de touches du clavier.
  #=============================================================================
  class Key
   
    attr_reader :code # le code de la combinaison de touche
   
    #===========================================================================
    # * initialize
    #     code  : le code de la touche
    #===========================================================================
    def initialize(code)
      @code = code
    end
   
    #===========================================================================
    # * &
    #     key  : une autre combinaison de touches
    #---------------------------------------------------------------------------
    # Renvoie une combinaison de touches qui correspond
    # à la touche self ET la touche key.
    #===========================================================================
    def &(key)
      code = @code + key.code
      return Key.new(code)
    end
   
    #===========================================================================
    # * |
    #     key  : une autre combinaison de touches
    #---------------------------------------------------------------------------
    # Renvoie une combinaison de touches qui correspond
    # à la touche self OU la touche key.
    #===========================================================================
    def |(key)
      code = []
      for c1 in @code
        for c2 in key.code
          code << c1+c2
        end
      end
      return Key.new(code)
    end
   
  end
   
  #-----------------------------------------------------------------------------
  # Définition des touches
  #-----------------------------------------------------------------------------
  BACK                = Key.new([[0x08]])
  TAB                 = Key.new([[0x09]])
  ENTER               = Key.new([[0x0D]])
  SHIFT               = Key.new([[0x10]])
  ALT_GR              = Key.new([[0x11]])
  PAUSE               = Key.new([[0x13]])
  CAPS_LOCK           = Key.new([[0x14]])
  ESCAPE              = Key.new([[0x1B]])
  SPACE               = Key.new([[0x20]])
  PAGE_UP             = Key.new([[0x21]])
  PAGE_DOWN           = Key.new([[0x22]])
  PAGE_END            = Key.new([[0x23]])   
  HOME                = Key.new([[0x24]])
  LEFT                = Key.new([[0x25]])
  UP                  = Key.new([[0x26]])
  RIGHT               = Key.new([[0x27]])
  DOWN                = Key.new([[0x28]])
 
  PRINT_SCREEN        = Key.new([[0x2C]])
  INSERT              = Key.new([[0x2D]])
  DELETE              = Key.new([[0x2E]])
 
  A_GRAVE             = Key.new([[0x30]])
  AMPERSAND           = Key.new([[0x31]])
  E_ACUTE             = Key.new([[0x32]])
  DOUBLE_QUOTE        = Key.new([[0x33]])
  SIMPLE_QUOTE        = Key.new([[0x34]])
  OPENING_PARENTHESIS = Key.new([[0x35]])
  DASH                = Key.new([[0x36]])
  E_GRAVE             = Key.new([[0x37]])
  UNDERSCORE          = Key.new([[0x38]])
  C_CEDIL             = Key.new([[0x39]])
 
  A                   = Key.new([[0x41]])
  B                   = Key.new([[0x42]])
  C                   = Key.new([[0x43]])
  D                   = Key.new([[0x44]])
  E                   = Key.new([[0x45]])
  F                   = Key.new([[0x46]])
  G                   = Key.new([[0x47]])
  H                   = Key.new([[0x48]])
  I                   = Key.new([[0x49]])
  J                   = Key.new([[0x4A]])
  K                   = Key.new([[0x4B]])
  L                   = Key.new([[0x4C]])
  M                   = Key.new([[0x4D]])
  N                   = Key.new([[0x4E]])
  O                   = Key.new([[0x4F]])
  P                   = Key.new([[0x50]])
  Q                   = Key.new([[0x51]])
  R                   = Key.new([[0x52]])
  S                   = Key.new([[0x53]])
  T                   = Key.new([[0x54]])
  U                   = Key.new([[0x55]])
  V                   = Key.new([[0x56]])
  W                   = Key.new([[0x57]])
  X                   = Key.new([[0x58]])
  Y                   = Key.new([[0x59]])
  Z                   = Key.new([[0x5A]])
 
  WINDOWS             = Key.new([[0x5B]])
 
  F1                  = Key.new([[0x70]])
  F2                  = Key.new([[0x71]])
  F3                  = Key.new([[0x72]])
  F4                  = Key.new([[0x73]])
  F5                  = Key.new([[0x74]])
  F6                  = Key.new([[0x75]])
  F7                  = Key.new([[0x76]])
  F8                  = Key.new([[0x77]])
  F9                  = Key.new([[0x78]])
  F10                 = Key.new([[0x79]])
  F11                 = Key.new([[0x7A]])
  F12                 = Key.new([[0x7B]])

  LEFT_SHIFT          = Key.new([[0xA0]])
  RIGHT_SHIFT         = Key.new([[0xA0]])
  CTRL                = Key.new([[0xA2]])
  ALT                 = Key.new([[0xA4]])
 
  DOLLAR              = Key.new([[0xBA]])
  COMMA               = Key.new([[0xBC]])
  EQUAL               = Key.new([[0xBB]])
  SEMICOLON           = Key.new([[0xBE]])
  COLON               = Key.new([[0xBF]])
  U_GRAVE             = Key.new([[0xC0]])
  CLOSING_PARENTHESIS = Key.new([[0xDB]])
  ASTERISK            = Key.new([[0xDC]])
  CIRCUMFLEX          = Key.new([[0xDD]])
  SQUARE              = Key.new([[0xDE]])
  EXCLAMATION_MARK    = Key.new([[0xDF]])
  LESS_THAN           = Key.new([[0xE2]])

  #=============================================================================
  # * self.update
  #-----------------------------------------------------------------------------
  # Mise à jour de l'état du clavier.
  #=============================================================================
  def self.update
    if Input.trigger?(CAPS_LOCK)
      @caps_lock = !@caps_lock
    end
    if Input.trigger?(E_GRAVE) and alt_gr?
      @grave = true
    end
    if Input.trigger?(CIRCUMFLEX)
      caps? ? @trema = true : @circumflex = true
    end
  end
 
  #=============================================================================
  # * self.caps?
  #-----------------------------------------------------------------------------
  # Renvoie si le mode majuscule est enclenché.
  #=============================================================================
  def self.caps?
    return Input.press?(SHIFT) ? !@caps_lock : @caps_lock
  end
 
  #=============================================================================
  # * self.caps?
  #-----------------------------------------------------------------------------
  # Renvoie si le mode alternate graphics est enclenché.
  #=============================================================================
  def self.alt_gr?
    return Input.press?(ALT_GR)
  end
 
  #=============================================================================
  # * self.number
  #-----------------------------------------------------------------------------
  # Renvoie le chiffre pressé.
  #=============================================================================
  def self.number
    return "" if not caps?
    if Input.trigger?(A_GRAVE)
      return "0"
    end
    if Input.trigger?(AMPERSAND)
      return "1"
    end
    if Input.trigger?(E_ACUTE)
      return "2"
    end
    if Input.trigger?(DOUBLE_QUOTE)
      return "3"
    end
    if Input.trigger?(SIMPLE_QUOTE)
      return "4"
    end
    if Input.trigger?(OPENING_PARENTHESIS)
      return "5"
    end
    if Input.trigger?(DASH)
      return "6"
    end
    if Input.trigger?(E_GRAVE)
      return "7"
    end
    if Input.trigger?(UNDERSCORE)
      return "8"
    end
    if Input.trigger?(C_CEDIL)
      return "9"
    end
    return ""
  end

  #=============================================================================
  # * self.letter
  #-----------------------------------------------------------------------------
  # Renvoie la lettre pressée.
  #=============================================================================
  def self.letter
    if Input.trigger?(TAB)
      return "" if alt_gr?
      return "  "
    end
    if Input.trigger?(SPACE)
      return "" if alt_gr?
      return " "
    end
    if Input.trigger?(A_GRAVE)
      return "@" if alt_gr?
      return "0" if caps?
      return "à"
    end
    if Input.trigger?(AMPERSAND)
      return "" if alt_gr?
      return "1" if caps?
      return "&"
    end
    if Input.trigger?(E_ACUTE)
      return "" if alt_gr?
      return "2" if caps?
      return "é"
    end
    if Input.trigger?(DOUBLE_QUOTE)
      return "#" if alt_gr?
      return "3" if caps?
      return "\""
    end
    if Input.trigger?(SIMPLE_QUOTE)
      return "{" if alt_gr?
      return "4" if caps?
      return "'"
    end
    if Input.trigger?(OPENING_PARENTHESIS)
      return "[" if alt_gr?
      return "5" if caps?
      return "("
    end
    if Input.trigger?(DASH)
      return "|" if alt_gr?
      return "6" if caps?
      return "-"
    end
    if Input.trigger?(E_GRAVE)
      return "" if alt_gr?
      return "7" if caps?
      return "è"
    end
    if Input.trigger?(UNDERSCORE)
      return "\\" if alt_gr?
      return "8" if caps?
      return "_"
    end
    if Input.trigger?(C_CEDIL)
      return "^" if alt_gr?
      return "9" if caps?
      return "ç"
    end
    if Input.trigger?(A)
      return "" if alt_gr?
      return "A" if caps?
      if @grave
        @grave = false
        return "à"
      end
      if @trema
        @trema = false
        return "ä"
      end
      if @circumflex
        @circumflex = false
        return "â"
      end
      return "a"
    end
    if Input.trigger?(B)
      return "" if alt_gr?
      return "B" if caps?
      return "b"
    end
    if Input.trigger?(C)
      return "" if alt_gr?
      return "C" if caps?
      return "c"
    end
    if Input.trigger?(D)
      return "" if alt_gr?
      return "D" if caps?
      return "d"
    end
    if Input.trigger?(E)
      return "€" if alt_gr?
      return "E" if caps?
      if @grave
        @grave = false
        return "è"
      end
      if @trema
        @trema = false
        return "ë"
      end
      if @circumflex
        @circumflex = false
        return "ê"
      end
      return "e"
    end
    if Input.trigger?(F)
      return "" if alt_gr?
      return "F" if caps?
      return "f"
    end
    if Input.trigger?(G)
      return "" if alt_gr?
      return "G" if caps?
      return "g"
    end
    if Input.trigger?(H)
      return "" if alt_gr?
      return "H" if caps?
      return "h"
    end
    if Input.trigger?(I)
      return "" if alt_gr?
      return "I" if caps?
      if @grave
        @grave = false
        return "ì"
      end
      if @trema
        @trema = false
        return "ï"
      end
      if @circumflex
        @circumflex = false
        return "î"
      end
      return "i"
    end
    if Input.trigger?(J)
      return "" if alt_gr?
      return "J" if caps?
      return "j"
    end
    if Input.trigger?(K)
      return "" if alt_gr?
      return "K" if caps?
      return "k"
    end
    if Input.trigger?(L)
      return "" if alt_gr?
      return "L" if caps?
      return "l"
    end
    if Input.trigger?(M)
      return "" if alt_gr?
      return "M" if caps?
      return "m"
    end
    if Input.trigger?(N)
      return "" if alt_gr?
      return "N" if caps?
      return "n"
    end
    if Input.trigger?(O)
      return "" if alt_gr?
      return "O" if caps?
      if @grave
        @grave = false
        return "ò"
      end
      if @trema
        @trema = false
        return "ö"
      end
      if @circumflex
        @circumflex = false
        return "ô"
      end
      return "o"
    end
    if Input.trigger?(P)
      return "" if alt_gr?
      return "P" if caps?
      return "p"
    end
    if Input.trigger?(Q)
      return "" if alt_gr?
      return "Q" if caps?
      return "q"
    end
    if Input.trigger?(R)
      return "" if alt_gr?
      return "R" if caps?
      return "r"
    end
    if Input.trigger?(S)
      return "" if alt_gr?
      return "S" if caps?
      return "s"
    end
    if Input.trigger?(T)
      return "" if alt_gr?
      return "T" if caps?
      return "t"
    end
    if Input.trigger?(U)
      return "" if alt_gr?
      return "U" if caps?
      if @grave
        @grave = false
        return "ù"
      end
      if @trema
        @trema = false
        return "ü"
      end
      if @circumflex
        @circumflex = false
        return "û"
      end
      return "u"
    end
    if Input.trigger?(V)
      return "" if alt_gr?
      return "V" if caps?
      return "v"
    end
    if Input.trigger?(W)
      return "" if alt_gr?
      return "W" if caps?
      return "w"
    end
    if Input.trigger?(X)
      return "" if alt_gr?
      return "X" if caps?
      return "x"
    end
    if Input.trigger?(Y)
      return "" if alt_gr?
      return "Y" if caps?
      return "y"
    end
    if Input.trigger?(Z)
      return "" if alt_gr?
      return "Z" if caps?
      return "z"
    end
    if Input.trigger?(DOLLAR)
      return "¤" if alt_gr?
      return "£" if caps?
      return "$"
    end
    if Input.trigger?(COMMA)
      return "" if alt_gr?
      return "?" if caps?
      return ","
    end
    if Input.trigger?(EQUAL)
      return "}" if alt_gr?
      return "+" if caps?
      return "="
    end
    if Input.trigger?(SEMICOLON)
      return "" if alt_gr?
      return "." if caps?
      return ";"
    end
    if Input.trigger?(COLON)
      return "" if alt_gr?
      return "/" if caps?
      return ":"
    end
    if Input.trigger?(U_GRAVE)
      return "" if alt_gr?
      return "%" if caps?
      return "ù"
    end
    if Input.trigger?(CLOSING_PARENTHESIS)
      return "]" if alt_gr?
      return "°" if caps?
      return ")"
    end
    if Input.trigger?(ASTERISK)
      return "" if alt_gr?
      return "µ" if caps?
      return "*"
    end
    if Input.trigger?(SQUARE)
      return "" if alt_gr?
      return "" if caps?
      return "²"
    end
    if Input.trigger?(EXCLAMATION_MARK)
      return "" if alt_gr?
      return "§" if caps?
      return "!"
    end
    if Input.trigger?(LESS_THAN)
      return "" if alt_gr?
      return ">" if caps?
      return "<"
    end
    return ""
  end
 
end

#===============================================================================
# ** Input
#-------------------------------------------------------------------------------
# On redéfinit entièrement le module Input en se servant de la Win32API.
#===============================================================================
module Input
 
  #-----------------------------------------------------------------------------
  # Utilisation de la Win32API pour gérer les touches
  #-----------------------------------------------------------------------------
  @@GetKeyboardState = Win32API.new("user32","GetKeyboardState", ['p'],'i')
  @@keyboard_state     = Array.new(256, 0)
  @@old_keyboard_state = Array.new(256, 0)
 
  #=============================================================================
  # * self.update
  #-----------------------------------------------------------------------------
  # Mise à jour de l'état des entrées
  #=============================================================================
  def self.update
    for i in 0...@@keyboard_state.size
      @@old_keyboard_state[i] = @@keyboard_state[i]
    end
    buf = 0.chr * 256
    @@GetKeyboardState.call(buf)
    @@keyboard_state = buf.unpack("C256")
    Keyboard.update
  end
 
  #=============================================================================
  # * self.trigger?
  #     key : touche
  #-----------------------------------------------------------------------------
  # Teste si on appuie une fois sur une touche
  #=============================================================================
  def self.trigger?(key)
    for c1 in key.code
      b2 = false
      for c2 in c1
        if (@@keyboard_state[c2] & 0b10000000 != 0 and
            @@old_keyboard_state[c2] & 0b10000000 == 0)
          b2 = true
        end
      end
      if b2 == false
        return false
      end
    end
    return true
  end
 
  #=============================================================================
  # * self.press?
  #     key : touche
  #-----------------------------------------------------------------------------
  # Teste si on appuie sur une touche de manière continue
  #=============================================================================
  def self.press?(key)
    for c1 in key.code
      b2 = false
      for c2 in c1
        if (@@keyboard_state[c2] & 0b10000000 != 0)
          b2 = true
        end
      end
      if b2 == false
        return false
      end
    end
    return true
  end

  #=============================================================================
  # * self.repeat?
  #     key : touche
  #-----------------------------------------------------------------------------
  # Teste si on appuie sur une touche de manière répétée
  #=============================================================================
  def self.repeat?(key)
    if self.trigger?(key)
      @@count = 0
      return true
    end
    if self.press?(key)
      @@count = (@@count+1)%Graphics.frame_rate
      return @@count == 0
    end
    return false
  end
 
  @@count = 0
 
  #=============================================================================
  # * self.dir4
  #-----------------------------------------------------------------------------
  # Teste 4 touches directionnelles
  #=============================================================================
  def self.dir4
    return 2 if press?(Input::DOWN)
    return 4 if press?(Input::LEFT)
    return 6 if press?(Input::RIGHT)
    return 8 if press?(Input::UP)
    return 0
  end
 
  #=============================================================================
  # * self.dir8
  #-----------------------------------------------------------------------------
  # Teste 8 touches directionnelles
  #=============================================================================
  def self.dir8
    return 1 if press?(Input::DOWN) and press?(Input::LEFT)
    return 3 if press?(Input::DOWN) and press?(Input::RIGHT)
    return 7 if press?(Input::UP) and press?(Input::LEFT)
    return 9 if press?(Input::UP) and press?(Input::RIGHT)
    return dir4
  end
 
  #=============================================================================
  # * self.basic_keys
  #-----------------------------------------------------------------------------
  # Renvoie un objet Hash qui associe un code de touche utilisé par RMXP
  # à un objet Key standard défini dans le module Input
  #=============================================================================
  def self.basic_keys
    {
      2  => Input::DOWN,
      4  => Input::LEFT,
      6  => Input::RIGHT,
      8  => Input::UP,
      11 => Input::A,
      12 => Input::B,
      13 => Input::C,
      14 => Input::X,
      15 => Input::Y,
      16 => Input::Z,
      17 => Input::L,
      18 => Input::R,
      21 => Input::SHIFT,
      22 => Input::CTRL,
      23 => Input::ALT,
      25 => Input::F5,
      26 => Input::F6,
      27 => Input::F7,
      28 => Input::F8,
      29 => Input::F9
    }
  end
     
end

#===============================================================================
# ** Interpreter
#-------------------------------------------------------------------------------
# On redéfinit les méthodes de gestion du clavier
# pour les commandes d'évènements
#===============================================================================
class Interpreter
 
  #=============================================================================
  # * input_button
  #=============================================================================
  def input_button
    n = 0
    Input.basic_keys.each do |code, key|
      if Input.trigger?(key)
        n = code
      end
    end
    if n > 0
      $game_variables[@button_input_variable_id] = n
      $game_map.need_refresh = true
      @button_input_variable_id = 0
    end
  end
 
  #=============================================================================
  # * command_111
  #=============================================================================
  def command_111
    result = false
    case @parameters[0]
    when 0
      result = ($game_switches[@parameters[1]] == (@parameters[2] == 0))
    when 1
      value1 = $game_variables[@parameters[1]]
      if @parameters[2] == 0
        value2 = @parameters[3]
      else
        value2 = $game_variables[@parameters[3]]
      end
      case @parameters[4]
      when 0
        result = (value1 == value2)
      when 1
        result = (value1 >= value2)
      when 2
        result = (value1 <= value2)
      when 3
        result = (value1 > value2)
      when 4
        result = (value1 < value2)
      when 5
        result = (value1 != value2)
      end
    when 2
      if @event_id > 0
        key = [$game_map.map_id, @event_id, @parameters[1]]
        if @parameters[2] == 0
          result = ($game_self_switches[key] == true)
        else
          result = ($game_self_switches[key] != true)
        end
      end
    when 3
      if $game_system.timer_working
        sec = $game_system.timer / Graphics.frame_rate
        if @parameters[2] == 0
          result = (sec >= @parameters[1])
        else
          result = (sec <= @parameters[1])
        end
      end
    when 4
      actor = $game_actors[@parameters[1]]
      if actor != nil
        case @parameters[2]
        when 0
          result = ($game_party.actors.include?(actor))
        when 1
          result = (actor.name == @parameters[3])
        when 2
          result = (actor.skill_learn?(@parameters[3]))
        when 3
          result = (actor.weapon_id == @parameters[3])
        when 4
          result = (actor.armor1_id == @parameters[3] or
                    actor.armor2_id == @parameters[3] or
                    actor.armor3_id == @parameters[3])
        when 5
          result = (actor.state?(@parameters[3]))
        end
      end
    when 5
      enemy = $game_troop.enemies[@parameters[1]]
      if enemy != nil
        case @parameters[2]
        when 0
          result = (enemy.exist?)
        when 1
          result = (enemy.state?(@parameters[3]))
        end
      end
    when 6
      character = get_character(@parameters[1])
      if character != nil
        result = (character.direction == @parameters[2])
      end
    when 7
      if @parameters[2] == 0
        result = ($game_party.gold >= @parameters[1])
      else
        result = ($game_party.gold <= @parameters[1])
      end
    when 8
      result = ($game_party.item_number(@parameters[1]) > 0)
    when 9
      result = ($game_party.weapon_number(@parameters[1]) > 0)
    when 10
      result = ($game_party.armor_number(@parameters[1]) > 0)
    when 11
      result = (Input.press?(Input.basic_keys[@parameters[1]]))
    when 12
      result = eval(@parameters[1])
    end
    @branch[@list[@index].indent] = result
    if @branch[@list[@index].indent] == true
      @branch.delete(@list[@index].indent)
      return true
    end
    return command_skip
  end
 
end


Dernière édition par Åvygeil le 11 Jan 2010, 00:35, édité 3 fois au total.

Haut
 Profil  
 
 Sujet du message: Re: [RMXP] Advanced Input
MessagePublié: 05 Déc 2009, 21:49 
Ancien membre du staff
Ancien membre du staff
Avatar de l’utilisateur

Inscrit le: 12 Aoû 2006, 00:00
Messages: 1064
Points d'aide: 5/60

Créations :

- [RMXP] Database Management

- [RMXP] GUI Widgets

- [RMXP] Advanced Input


Voir ses créations

2.2. Default Keys

Code: Tout sélectionner
#===============================================================================
# *** Default Keys
#-------------------------------------------------------------------------------
# Auteur  : Åvygeil
#-------------------------------------------------------------------------------
# Ce script permet de définir et modifier les touches de base.
#===============================================================================

#===============================================================================
# ** Input
#===============================================================================
module Input
 
  #-----------------------------------------------------------------------------
  # Définition des touches de base
  #-----------------------------------------------------------------------------
  LEFT  = Keyboard::LEFT
  UP    = Keyboard::UP
  RIGHT = Keyboard::RIGHT
  DOWN  = Keyboard::DOWN
 
  A     = Keyboard::SHIFT|Keyboard::Z
  B     = Keyboard::ESCAPE|Keyboard::X
  C     = Keyboard::ENTER|Keyboard::SPACE|Keyboard::C
  X     = Keyboard::A
  Y     = Keyboard::S
  Z     = Keyboard::D
  L     = Keyboard::Q
  R     = Keyboard::W
 
  SHIFT = Keyboard::SHIFT
  CTRL  = Keyboard::CTRL
  ALT   = Keyboard::ALT
 
  F5    = Keyboard::F5
  F6    = Keyboard::F6
  F7    = Keyboard::F7
  F8    = Keyboard::F8
  F9    = Keyboard::F9
 
end


Haut
 Profil  
 
 Sujet du message: Re: [RMXP] Advanced Input
MessagePublié: 09 Juil 2010, 18:25 
Villageois (Nv 2)
Avatar de l’utilisateur

Inscrit le: 20 Juin 2010, 03:30
Messages: 22
Sexe: Masculin
Points d'aide: 0/60

Créations :

Voir ses créations

Bonjour! Excuse moi, mais que veut-tu dire par gérer le clavier ?
Peut-tu être plus clair car je ne vois pas bien ce que fait le script ?
Merçi :lol:

_________________
Voir RICSRB ...


Haut
 Profil  
 
 Sujet du message: Re: [RMXP] Advanced Input
MessagePublié: 09 Juil 2010, 18:57 
Garde
Garde
Avatar de l’utilisateur

Inscrit le: 26 Sep 2006, 00:00
Messages: 1973
Points d'aide: Illimité

Créations :

Voir ses créations

La vision d'une hypothétique future réponse d'Avygeil étant trop...violente (et de toute façon on ne le voit plus vraiment ici), je te réponds...
En fait, tout est expliqué dans le premier post, j'ai du mal à voir quoi rajouter.

Ce script te permet d'utiliser toutes les touches du clavier, sans passer par la configuration de RPG Maker XP qui est assez particulière.
Il redéfinit aussi quelques méthodes, ce qui peut etre utile pour les scripteurs.

Upper un topic da plus de 6 mois pour ça, humm...

_________________
Image
Image


Haut
 Profil  
 
 Sujet du message: Re: [RMXP] Advanced Input
MessagePublié: 09 Juil 2010, 19:58 
Villageois (Nv 2)
Avatar de l’utilisateur

Inscrit le: 20 Juin 2010, 03:30
Messages: 22
Sexe: Masculin
Points d'aide: 0/60

Créations :

Voir ses créations

On a pas les mêmes cerveaux donc pas les même façons de comprendre, donc répondre à ce topic après ces mois ne me paraît pas ridicule, car enfin ça fait longtemps que je voulais le faire mais la chance ne m'as pas été requise. Ma question est :
- Est-ce que par exemple le script me servira si je veux attribuer une tâche à la touche F6 par exemple on appuie sur F6 pour exécuter la commande d'un event (Ex: Afficher bestiaire)

Tu as dit que tout est dans l'explication, mais si je l'avais compris je ne vais pas vous déranger.
En faite c'est pour quelques projets pas pour rien, si je comprend ici en une réponse de oui ou non personne ne perdra quelque chose.

Merçi !

_________________
Voir RICSRB ...


Haut
 Profil  
 
 Sujet du message: Re: [RMXP] Advanced Input
MessagePublié: 09 Juil 2010, 20:43 
Ancien membre du staff
Ancien membre du staff
Avatar de l’utilisateur

Inscrit le: 20 Juil 2008, 00:00
Messages: 1726
Niveau RPG Maker: correct
Point(s) Fort(s): polyvalent
Sexe: Masculin
Points d'aide: 0/60

Créations :

- Création d'un sous menu

- Personnalisation des tailles d'icônes et de curseurs

- Affichages des altérations d'état via des icônes


Voir ses créations

Oui c'est possible, en réécrivant un peu le script Scene_map.

_________________
Image


Haut
 Profil  
 
 Sujet du message: Re: [RMXP] Advanced Input
MessagePublié: 09 Juil 2010, 21:08 
Garde
Garde
Avatar de l’utilisateur

Inscrit le: 26 Sep 2006, 00:00
Messages: 1973
Points d'aide: Illimité

Créations :

Voir ses créations

Citer:
On a pas les mêmes cerveaux donc pas les même façons de comprendre, donc répondre à ce topic après ces mois ne me paraît pas ridicule, car enfin ça fait longtemps que je voulais le faire mais la chance ne m'as pas été requise. Ma question est :
- Est-ce que par exemple le script me servira si je veux attribuer une tâche à la touche F6 par exemple on appuie sur F6 pour exécuter la commande d'un event (Ex: Afficher bestiaire)

Tu as dit que tout est dans l'explication, mais si je l'avais compris je ne vais pas vous déranger.
En faite c'est pour quelques projets pas pour rien, si je comprend ici en une réponse de oui ou non personne ne perdra quelque chose.

Merçi !

Alors il fallait le dire dès le début... J'ai vu un script qui avait l'air bien expliqué, et toi qui disais simplement "je comprends pas", alors oui, ça ne me semblait pas super pertinent.
Après le problème c'est que sans comprendre le script, difficile de l'utiliser, contrairement à d'autres scripts...

Sinon, je ne voulais pas être désagréable, pas la peine de t'emporter.

_________________
Image
Image


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

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


Qui est en ligne ?

Utilisateurs parcourant actuellement ce forum : Aucun utilisateur inscrit et 2 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