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


3 participantes

    input netplay master v4.07

    avatar
    paulomarques
    Novato
    Novato


    Mensagens : 10
    Créditos : 0

    input netplay master v4.07 Empty input netplay master v4.07

    Mensagem por paulomarques Ter Jul 02, 2013 3:05 pm

    Quero saber como criar uma condição em um evento cuja a condição seja apertar uma tecla ou o mouse.

    aqui está o script input do netplay master v4.07

    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
        CapsLock = 20
        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
        NumberRD12 = {}
        NumberRD12[0] = 0x60        # => 0
        NumberRD12[1] = 0x61        # => 1
        NumberRD12[2] = 0x62        # => 2
        NumberRD12[3] = 0x63        # => 3
        NumberRD12[4] = 0x64        # => 4
        NumberRD12[5] = 0x65        # => 5
        NumberRD12[6] = 0x66        # => 6
        NumberRD12[7] = 0x67        # => 7
        NumberRD12[8] = 0x68        # => 8
        NumberRD12[9] = 0x69        # => 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] = 0x60      # => 0
        Carac[1] = 0x61      # => 1
        Carac[2] = 0x62      # => 2
        Carac[3] = 0x63      # => 3
        Carac[4] = 0x64      # => 4
        Carac[5] = 0x65      # => 5
        Carac[6] = 0x66      # => 6
        Carac[7] = 0x67      # => 7
        Carac[8] = 0x68      # => 8
        Carac[9] = 0x69      # => 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 = 186        # => \ |
        Equal = 187         # => = +
        Comma = 188         # => , <
        Underscore = 189    # => - _
        Dot = 190           # => . >
        Backslash = 193     # => / ?
        Lb = 219
        Rb = 221
        Quote = 222         # => '"
        DC = 220            # 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::CapsLock) if Win32API.new("user32", "GetKeyState", "i", "i").call(20) != 0
          @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::NumberRD12.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::CapsLock) if Win32API.new("user32", "GetKeyState", "i", "i").call(20) != 0
          @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
    #-------------------------------------------------------------------------------
    renan-vieira
    renan-vieira
    Colaborador
    Colaborador


    Medalhas : input netplay master v4.07 ZgLkiRU
    Mensagens : 652
    Créditos : 254

    Ficha do personagem
    Nível: 1
    Experiência:
    input netplay master v4.07 Left_bar_bleue0/50input netplay master v4.07 Empty_bar_bleue  (0/50)
    Vida:
    input netplay master v4.07 Left_bar_bleue30/30input netplay master v4.07 Empty_bar_bleue  (30/30)

    input netplay master v4.07 Empty Re: input netplay master v4.07

    Mensagem por renan-vieira Ter Jul 02, 2013 3:18 pm

    Tenho a mesma dúvida, isso ajudaria 36% do que eu queria fazer no meu projeto Very Happy 
    tipo verificação de quests,e outros...


    _________________
    Secti MaInE - Mapa de Informações Estratégicas do Rio de Janeiro.
    http://maine.rj.gov.br/

    eMuseu - Museu Nacional do Esporte.
    https://www.emuseudoesporte.com.br/

    Memórias - Memórias de Oswaldo Cruz(App Hibrido Ionic).
    Link do APP na playstore

    Projetos citados acima foram produzidos com equipes no qual eu participei como programador Frontend e UI Design/UX Design.



    Skype: Renan.vieiraa 
    Facebook: /renandesign 
    E-mail: renanvieira.webdesign@gmail.com
    ou entre em contato via MP:^.^:
    gladistony
    gladistony
    Membro Ativo
    Membro Ativo


    Mensagens : 336
    Créditos : 217

    input netplay master v4.07 Empty Re: input netplay master v4.07

    Mensagem por gladistony Ter Jul 02, 2013 3:22 pm

    Nos menu condição dos eventos, na quarta aba tem a opção tecla. Ali vc escolhe ela e pode fazer 1 condição quando a tecla for pressionada.
    Vc ainda pode usar a opção script e definir a condição manualmente, na mesma quarta aba tem a opção Script e nela vc coloca Input.press?(Input::CTRL) para ativar com a tecla CTRL.
    Não se esqueça que vc deve por a condição dentro de um loop, ou deixa o evento em paralero.
    Entretanto não é muito aconselhável vc fazer esse tipo de coisa por evento. O melhor seria fazer um script pro sistema.


    _________________
    input netplay master v4.07 252057
    avatar
    paulomarques
    Novato
    Novato


    Mensagens : 10
    Créditos : 0

    input netplay master v4.07 Empty Re: input netplay master v4.07

    Mensagem por paulomarques Ter Jul 02, 2013 3:31 pm

    Usei Input.trigger?(Input::Letters["A"]) e deu certo =] 

    mas obrigado mesmo assim !

    Conteúdo patrocinado


    input netplay master v4.07 Empty Re: input netplay master v4.07

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Qui Mar 28, 2024 10:18 am