Aldeia RPG

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Suporte ao desenvolvimento de jogos


2 participantes

    Correção para bug input on Windows 7 en [Np4]

    urbios
    urbios
    Iniciante
    Iniciante


    Mensagens : 73
    Créditos : 22

    Correção para bug input on Windows 7 en [Np4] Empty Correção para bug input on Windows 7 en [Np4]

    Mensagem por urbios Qua Nov 21, 2012 9:13 pm

    Cada vez que um usuário entra no jogo de rede mestre 4 windows 7 imprensa i> <. _ Conversando entre pula-chave outros um bug que faz com que todos os jogadores de erro ignorá-los desocnecten do servidor eu não me importo se alguém usando o Windows XP vem com o Windows 7 vai dar erro







    até espigas ou alguém não corrigir o erro de dar o meu script desativar as chaves que dão o erro que eu espero que eles servem

    substitui o script [INP] Input por este



    Código:
    #===============================================================================
    # ** Input Script v2 - This script was first created by Cybersam and she
    #                        deserves most of the credit, all I did was add a few
    #                        functions. (Astro_Mech says)
    #-------------------------------------------------------------------------------
    # Author    Cybersam
    # Modified  Valentine
    # Version  3.0
    # Date      11-04-06
    # Edit      Astro_mech and Mr.Mo
    #===============================================================================
    SDK.log("Input", "Astro_mech and Mr.Mo", "2.0", " 13-04-06")
    #-------------------------------------------------------------------------------
    # Begin SDK Enabled Check
    #-------------------------------------------------------------------------------
    if SDK.state('Input')
    module Input
      #--------------------------------------------------------------------------
      # * Variable Setup
      #--------------------------------------------------------------------------
        @keys = []
        @pressed = []
        Mouse_Left = 1
        Mouse_Right = 2
        Mouse_Middle = 4
        Back= 8
        Tab = 9
        Enter = 13
        Shift = 16
        Ctrl = 17
        Alt = 18
        Esc = 0x1B
        LT = 0x25
        UPs = 0x26 
        RT = 0x27
        DN = 0x28
        Space = 32
        Numberkeys = {}
        Numberkeys[0] = 48        # => 0
        Numberkeys[1] = 49        # => 1
        Numberkeys[2] = 50        # => 2
        Numberkeys[3] = 51        # => 3
        Numberkeys[4] = 52        # => 4
        Numberkeys[5] = 53        # => 5
        Numberkeys[6] = 54        # => 6
        Numberkeys[7] = 55        # => 7
        Numberkeys[8] = 56        # => 8
        Numberkeys[9] = 57        # => 9
        Numberpad = {}
        Numberpad[0] = 45
        Numberpad[1] = 35
        Numberpad[2] = 40
        Numberpad[3] = 34
        Numberpad[4] = 37
        Numberpad[5] = 12
        Numberpad[6] = 39
        Numberpad[7] = 36
        Numberpad[8] = 38
        Numberpad[9] = 33
        Letters = {}
        Letters["A"] = 65
        Letters["B"] = 66
        Letters["C"] = 67
        Letters["D"] = 68
        Letters["E"] = 69
        Letters["F"] = 70
        Letters["G"] = 71
        Letters["H"] = 72
        Letters["I"] = 73
        Letters["J"] = 74
        Letters["K"] = 75
        Letters["L"] = 76
        Letters["M"] = 77
        Letters["N"] = 78
        Letters["O"] = 79
        Letters["P"] = 80
        Letters["Q"] = 81
        Letters["R"] = 82
        Letters["S"] = 83
        Letters["T"] = 84
        Letters["U"] = 85
        Letters["V"] = 86
        Letters["W"] = 87
        Letters["X"] = 88
        Letters["Y"] = 89
        Letters["Z"] = 90
       
        Equ={} # Shift Value for num US
        Equ[0]=')'    # FR: à
        Equ[1]='!'    # FR: &
        Equ[2]='@'    # FR: é
        Equ[3]='#'    # FR: "
        Equ[4]='$'    # FR: '
        Equ[5]='%'    # FR: (
        Equ[6]='^'    # FR: -
        Equ[7]='&'    # FR: è
        Equ[8]='*'    # FR: _
        Equ[9]='('    # FR: ç
       
        Carac = {}
        Carac[0] = 48        # => 0
        Carac[1] = 49        # => 1
        Carac[2] = 50        # => 2
        Carac[3] = 51        # => 3
        Carac[4] = 52        # => 4
        Carac[5] = 53        # => 5
        Carac[6] = 54        # => 6
        Carac[7] = 55        # => 7
        Carac[8] = 56        # => 8
        Carac[9] = 57        # => 9
        Carac["A"] = 65
        Carac["B"] = 66
        Carac["C"] = 67
        Carac["D"] = 68
        Carac["E"] = 69
        Carac["F"] = 70
        Carac["G"] = 71
        Carac["H"] = 72
        Carac["I"] = 73
        Carac["J"] = 74
        Carac["K"] = 75
        Carac["L"] = 76
        Carac["M"] = 77
        Carac["N"] = 78
        Carac["O"] = 79
        Carac["P"] = 80
        Carac["Q"] = 81
        Carac["R"] = 82
        Carac["S"] = 83
        Carac["T"] = 84
        Carac["U"] = 85
        Carac["V"] = 86
        Carac["W"] = 87
        Carac["X"] = 88
        Carac["Y"] = 89
        Carac["Z"] = 90
       
        Fkeys = {}
        Fkeys[1] = 112
        Fkeys[2] = 113
        Fkeys[3] = 114
        Fkeys[4] = 115
        Fkeys[5] = 116
        Fkeys[6] = 117
        Fkeys[7] = 118
        Fkeys[8] = 119
        Fkeys[9] = 120
        Fkeys[10] = 121
        Fkeys[11] = 122
        Fkeys[12] = 123
        Collon = 0      # => \ |
        Equal = 0        # => = +
        Comma = 0        # => , <
        Underscore = 0  # => - _
        Dot = 0          # => . >
        Backslash = 0    # => / ?
        Lb = 0
        Rb = 0
        Quote = 0        # => '"
        DC = 0            # US: \|  FR: *µ
        State = Win32API.new('user32','GetKeyState',['i'],'i')
        Key = Win32API.new('user32','GetAsyncKeyState',['i'],'i')
    #-------------------------------------------------------------------------------
        USED_KEYS = [Mouse_Left, Mouse_Right, Mouse_Middle]
    #-------------------------------------------------------------------------------
      module_function
        #-------------------------------------------------------------------------- 
        def Input.getstate(key)
          return true unless State.call(key).between?(0, 1)
          return false
        end
        #--------------------------------------------------------------------------
        def Input.testkey(key)
          Key.call(key) & 0x01 == 1
        end
        #--------------------------------------------------------------------------
        def Input.update
          $mouse.update
          @keys = []
          @keys.push(Input::Mouse_Left) if Input.testkey(Input::Mouse_Left)
          @keys.push(Input::Mouse_Right) if Input.testkey(Input::Mouse_Right)
          @keys.push(Input::Back) if Input.testkey(Input::Back)
          @keys.push(Input::Tab) if Input.testkey(Input::Tab)
          @keys.push(Input::Enter) if Input.testkey(Input::Enter)
          @keys.push(Input::Shift) if Input.testkey(Input::Shift)
          @keys.push(Input::Ctrl) if Input.testkey(Input::Ctrl)
          @keys.push(Input::Alt) if Input.testkey(Input::Alt)
          @keys.push(Input::Esc) if Input.testkey(Input::Esc)
          for key in Input::Letters.values
            @keys.push(key) if Input.testkey(key)
          end
          for key in Input::Numberkeys.values
            @keys.push(key) if Input.testkey(key)
          end
          for key in Input::Numberpad.values
            @keys.push(key) if Input.testkey(key)
          end
          for key in Input::Fkeys.values
            @keys.push(key) if Input.testkey(key)
          end
          @keys.push(Input::Collon) if Input.testkey(Input::Collon)
          @keys.push(Input::Equal) if Input.testkey(Input::Equal)
          @keys.push(Input::Comma) if Input.testkey(Input::Comma)
          @keys.push(Input::Underscore) if Input.testkey(Input::Underscore)
          @keys.push(Input::Dot) if Input.testkey(Input::Dot)
          @keys.push(Input::Backslash) if Input.testkey(Input::Backslash)
          @keys.push(Input::Lb) if Input.testkey(Input::Lb)
          @keys.push(Input::Rb) if Input.testkey(Input::Rb)
          @keys.push(Input::Quote) if Input.testkey(Input::Quote)
          @keys.push(Input::Space) if Input.testkey(Input::Space)
          @keys.push(Input::LT) if Input.testkey(Input::LT)
          @keys.push(Input::UPs) if Input.testkey(Input::UPs)
          @keys.push(Input::RT) if Input.testkey(Input::RT)
          @keys.push(Input::DN) if Input.testkey(Input::DN)
          @pressed = []
          @pressed.push(Input::Space) if Input.getstate(Input::Space)
          @pressed.push(Input::Mouse_Left) if Input.getstate(Input::Mouse_Left)
          @pressed.push(Input::Mouse_Right) if Input.getstate(Input::Mouse_Right)
          @pressed.push(Input::Back) if Input.getstate(Input::Back)
          @pressed.push(Input::Tab) if Input.getstate(Input::Tab)
          @pressed.push(Input::Enter) if Input.getstate(Input::Enter)
          @pressed.push(Input::Shift) if Input.getstate(Input::Shift)
          @pressed.push(Input::Ctrl) if Input.getstate(Input::Ctrl)
          @pressed.push(Input::Alt) if Input.getstate(Input::Alt)
          @pressed.push(Input::Esc) if Input.getstate(Input::Esc)
          @pressed.push(Input::LT) if Input.getstate(Input::LT)
          @pressed.push(Input::UPs) if Input.getstate(Input::UPs)
          @pressed.push(Input::RT) if Input.getstate(Input::RT)
          @pressed.push(Input::DN) if Input.getstate(Input::DN)
          for key in Input::Numberkeys.values
            @pressed.push(key) if Input.getstate(key)
          end
          for key in Input::Numberpad.values
            @pressed.push(key) if Input.getstate(key)
          end
          for key in Input::Letters.values
            @pressed.push(key) if Input.getstate(key)
          end
          for key in Input::Fkeys.values
            @pressed.push(key) if Input.getstate(key)
          end
          @pressed.push(Input::Collon) if Input.getstate(Input::Collon)
          @pressed.push(Input::Equal) if Input.getstate(Input::Equal)
          @pressed.push(Input::Comma) if Input.getstate(Input::Comma)
          @pressed.push(Input::Underscore) if Input.getstate(Input::Underscore)
          @pressed.push(Input::Dot) if Input.getstate(Input::Dot)
          @pressed.push(Input::Backslash) if Input.getstate(Input::Backslash)
          @pressed.push(Input::Lb) if Input.getstate(Input::Lb)
          @pressed.push(Input::Rb) if Input.getstate(Input::Rb)
          @pressed.push(Input::Quote) if Input.getstate(Input::Quote) 
        end
        #--------------------------------------------------------------------------
        def Input.triggerd?(key)
          return true if @keys.include?(key)
          return false
        end
        #--------------------------------------------------------------------------
        def Input.pressed?(key)
          return true if @pressed.include?(key)
          return false
        end
      #--------------------------------------------------------------------------
      # * 4 Diraction
      #--------------------------------------------------------------------------
      def Input.dir4
        return 2 if Input.pressed?(Input::DN)
        return 4 if Input.pressed?(Input::LT)
        return 6 if Input.pressed?(Input::RT)
        return 8 if Input.pressed?(Input::UPs)
      end
      #--------------------------------------------------------------------------
      # * Trigger (key)
      #--------------------------------------------------------------------------
      def trigger?(key)
        keys = []
        case key
        when Input::DOWN
          keys.push(Input::DN)
        when Input::UP
          keys.push(Input::UPs)
        when Input::LEFT
          keys.push(Input::LT)
        when Input::RIGHT
          keys.push(Input::RT)
        when Input::C
          keys.push(Input::Space, Input::Enter)
        when Input::B
          keys.push(Input::Esc, Input::Numberpad[0])
        when Input::X
          keys.push(Input::Letters["A"])
        when Input::L
          keys.push(Input::Letters["Q"])
        when Input::R
          keys.push(Input::Letters["W"])
        when Input::Y
          keys.push(Input::Letters["R"])
        when Input::F5
          keys.push(Input::Fkeys[5])
        when Input::F6
          keys.push(Input::Fkeys[6])
        when Input::F7
          keys.push(Input::Fkeys[7])
        when Input::F8
          keys.push(Input::Fkeys[8])
        when Input::F9
          keys.push(Input::Fkeys[9])
        when Input::SHIFT
          keys.push(Input::Shift)
        when Input::CTRL
          keys.push(Input::Ctrl)
        when Input::ALT
          keys.push(Input::Alt)
        else
          keys.push(key)
        end
        for k in keys
        if Input.triggerd?(k)
          return true
        end
      end
      return false
     end
     
      #--------------------------------------------------------------------------
      # * Mouse Triggered ? (key)
      #--------------------------------------------------------------------------
      def trigger(key)
        return @used_i.include?(key)
      end
      #--------------------------------------------------------------------------
      # * Mouse Pressed ? (key)
      #--------------------------------------------------------------------------
      def pressed(key)
        return true unless Win32API.new("user32","GetKeyState",['i'],'i').call(key).between?(0, 1)
        return false
      end
      #--------------------------------------------------------------------------
      # * Repeat (key)
      #--------------------------------------------------------------------------
      def repeat?(key)
        keys = []
        case key
        when Input::DOWN
          keys.push(Input::DN)
        when Input::UP
          keys.push(Input::UPs)
        when Input::LEFT
          keys.push(Input::LT)
        when Input::RIGHT
          keys.push(Input::RT)
        when Input::C
          keys.push(Input::Space, Input::Enter)
        when Input::B
          keys.push(Input::Esc, Input::Numberpad[0])
        when Input::X
          keys.push(Input::Letters["A"])
        when Input::L
          keys.push(Input::Letters["Q"])
        when Input::R
          keys.push(Input::Letters["W"])
        when Input::Y
          keys.push(Input::Letters["R"])
        when Input::F5
          keys.push(Input::Fkeys[5])
        when Input::F6
          keys.push(Input::Fkeys[6])
        when Input::F7
          keys.push(Input::Fkeys[7])
        when Input::F8
          keys.push(Input::Fkeys[8])
        when Input::F9
          keys.push(Input::Fkeys[9])
        when Input::SHIFT
          keys.push(Input::Shift)
        when Input::CTRL
          keys.push(Input::Ctrl)
        when Input::ALT
          keys.push(Input::Alt)
        else
          keys.push(key)
        end
        for k in keys
        if Input.triggerd?(k)
          return true
        end
      end
      return false
      end   
      #--------------------------------------------------------------------------
      # * Check (key)
      #--------------------------------------------------------------------------
      def check(key)
        Win32API.new("user32","GetAsyncKeyState",['i'],'i').call(key) & 0x01 == 1  # key 0
      end
      #--------------------------------------------------------------------------
      # * Mouse Update
      #--------------------------------------------------------------------------
      def mouse_update
        @used_i = []
        for i in USED_KEYS
          x = check(i)
          if x == true
            @used_i.push(i)
          end
        end
      end
      #--------------------------------------------------------------------------
      # * Short Write C
      #--------------------------------------------------------------------------
      def Input.C
        Input.trigger?(C)
      end
      #--------------------------------------------------------------------------
      # * Short Write B
      #--------------------------------------------------------------------------
      def Input.B
        Input.trigger?(B)
      end
      #--------------------------------------------------------------------------
      # * Short Write A
      #--------------------------------------------------------------------------
      def Input.A
        Input.trigger?(A)
      end
      #--------------------------------------------------------------------------
      # * Short Write Down
      #--------------------------------------------------------------------------
      def Input.Down
        Input.trigger?(DOWN)
      end
      #--------------------------------------------------------------------------
      # * Short Write Up
      #--------------------------------------------------------------------------
      def Input.Up
        Input.trigger?(UP)
      end
      #--------------------------------------------------------------------------
      # * Short Write Right
      #--------------------------------------------------------------------------
      def Input.Right
        Input.trigger?(RIGHT)
      end
      #--------------------------------------------------------------------------
      # * Short Write Left
      #--------------------------------------------------------------------------
      def Input.Left
        Input.trigger?(LEFT)
      end
      #--------------------------------------------------------------------------
      # * Anykey pressed?  ( A or B or C or Down or Up or Right or Left )
      #--------------------------------------------------------------------------
      def Input.Anykey
        if A or B or C or Down or Up or Right or Left
          return true
        else
          return false
        end
      end
    end

    module Keys
    MOUSE_PRIMARY = Input::Mouse_Left
    MOUSE_SECONDARY = Input::Mouse_Right

      def Keys.name?(num)
        return "MOUSE PRIMARY" if num==1
        return "MOUSE SECONDARY" if num==2
        return "MOUSE MIDDLE" if num==4
        return "MOUSE 4TH" if num==5
        return "MOUSE 5TH" if num==6
        return "BACKSPACE" if num==8
        return "TAB" if num==9
        return "RETURN" if num==13
        return "SHIFT" if num==16
        return "CTLR" if num==17
        return "ALT" if num==18
        return "CAPS LOCK" if num==20
        return "ESCAPE" if num==27
        return "SPACE" if num==32
        return "PGUP" if num==33
        return "PGDN" if num==34
        return "END" if num==35
        return "HOME" if num==36
        return "LEFT" if num==37
        return "UP" if num==38
        return "RIGHT" if num==39
        return "DOWN" if num==40
        return "SNAPSHOT" if num==44
        return "INSERT" if num==45
        return "DELETE" if num==46
        return "0" if num==48
        return "1" if num==49
        return "2" if num==50
        return "3" if num==51
        return "4" if num==52
        return "5" if num==53
        return "6" if num==54
        return "7" if num==55
        return "8" if num==56
        return "9" if num==57
        return "A" if num==65
        return "B" if num==66
        return "C" if num==67
        return "D" if num==68
        return "E" if num==69
        return "F" if num==70
        return "G" if num==71
        return "H" if num==72
        return "I" if num==73
        return "J" if num==74
        return "K" if num==75
        return "L" if num==76
        return "M" if num==77
        return "N" if num==78
        return "O" if num==79
        return "P" if num==80
        return "Q" if num==81
        return "R" if num==82
        return "S" if num==83
        return "T" if num==84
        return "U" if num==85
        return "V" if num==86
        return "W" if num==87
        return "X" if num==88
        return "Y" if num==89
        return "Z" if num==90
        return "LWIN" if num==91
        return "RWIN" if num==92
        return "APPS" if num==93
        return "0" if num==96
        return "1" if num==97
        return "2" if num==98
        return "3" if num==99
        return "4" if num==100
        return "5" if num==101
        return "6" if num==102
        return "7" if num==103
        return "8" if num==104
        return "9" if num==105
        return "*" if num==106
        return "+" if num==107
        return "-" if num==109
        return "." if num==110
        return "/" if num==111
        return "F1" if num==112
        return "F2" if num==113
        return "F3" if num==114
        return "F4" if num==115
        return "F5" if num==116
        return "F6" if num==117
        return "F7" if num==118
        return "F8" if num==119
        return "F9" if num==120
        return "F10" if num==121
        return "F11" if num==122
        return "F12" if num==123
        return "NUM LOCK" if num==144
        return "SCROLL LOCK" if num==145
        return "LEFT SHIFT" if num==160
        return "RIGHT SHIFT" if num==161
        return "LEFT CTRL" if num==162
        return "RIGHT CTRL" if num==163
        return "LEFT ALT" if num==164
        return "RIGHT ALT" if num==165
        return ";" if num==186
        return "=" if num==187
        return "," if num==188
        return "_" if num==189
        return "." if num==190
        return "/" if num==191
        return "`" if num==192
        return "[" if num==219
        return " \\ " if num==220
        return "]" if num==221
        return "'" if num==222
        return "??? - " + "#{num}"
      end
     
    end
    end
    #-------------------------------------------------------------------------------
    # End SDK Enabled Check
    #-------------------------------------------------------------------------------


    _________________
    RPG maker XP in android? Razz :
    Jonny
    Jonny
    Aldeia Friend
    Aldeia Friend


    Medalhas : Correção para bug input on Windows 7 en [Np4] Trophy11Correção para bug input on Windows 7 en [Np4] 9P5Gx
    Mensagens : 1936
    Créditos : 327

    Correção para bug input on Windows 7 en [Np4] Empty Re: Correção para bug input on Windows 7 en [Np4]

    Mensagem por Jonny Qua Nov 21, 2012 11:41 pm

    Mmmmmmmmmmmmmmmmmmmmm sobre isso eu não tengo Window Vista.. pro podemos corregir?
    Correção para bug input on Windows 7 en [Np4] 400057693
    yo te pase um tutorial pra resolver esse bug..
    ("puede falar español no hay problema")
    Correção para bug input on Windows 7 en [Np4] 3441327537


    _________________
    Spoiler:


    Correção para bug input on Windows 7 en [Np4] KVIdx

      Data/hora atual: Qui Nov 21, 2024 10:36 pm