collapse collapse

 Community


 User Info




Willkommen Gast. Bitte einloggen oder registrieren.

 Partnerseiten

rpgvx.net

Das Forum ist offline

Autor Thema: Tastaturscirpt - Wie Abfragen?  (Gelesen 1594 mal)

Offline Emelie Rose

  • Meisterköchin
  • Eventmeister
  • ***
  • Beiträge: 329
Tastaturscirpt - Wie Abfragen?
« am: Mai 30, 2010, 16:29:57 »
Ich habe dieses Script hier
Spoiler for Hiden:
#==============================================================================
# Vampyr Keyboard (Thanks to Aleworks to source)
#==============================================================================
Vampyr_Kernel.register("Vampyr Keyboard", 1.0, "09/01/2009")
#------------------------------------------------------------------------------
module Keys
  
  Keyboard = "EN-US"
  
  Mouse_Left = 1
  Mouse_Right = 2
  Mouse_Middle = 4
  
  Back = 8
  Tab = 9
  Clear = 12
  Enter = 13
  Shift = 16
  Ctrl = 17
  Alt = 18
  Pause = 19
  CapsLock = 20
  Esc = 27
  Space = 32
  PGUP = 33
  PGDN = 34
  End = 35
  Home = 36
  Left = 37
  Up = 38
  Right = 39
  Down = 40
  PrintScreen = 44
  Insert = 45
  Delete = 46
  
  Num0 = 48
  Num1 = 49
  Num2 = 50
  Num3 = 51
  Num4 = 52
  Num5 = 53
  Num6 = 54
  Num7 = 55
  Num8 = 56
  Num9 = 57
  
  A = 65
  B = 66
  C = 67
  D = 68
  E = 69
  F = 70
  G = 71
  H = 72
  I = 73
  J = 74
  K = 75
  L = 76
  M = 77
  N = 78
  O = 79
  P = 80
  Q = 81
  R = 82
  S = 83
  T = 84
  U = 85
  V = 86
  W = 87
  X = 88
  Y = 89
  Z = 90
  
  Win = [91, 92]
  Apps = 93
  
  Pad0 = 96
  Pad1 = 97
  Pad2 = 98
  Pad3 = 99
  Pad4 = 100
  Pad5 = 101
  Pad6 = 102
  Pad7 = 103
  Pad8 = 104
  Pad9 = 105
  Multiply = 106
  Add = 107
  Subtract = 109
  Decimal = 110
  Divide = 111
  
  F1 = 112
  F2 = 113
  F3 = 114
  F4 = 115
  F5 = 116
  F6 = 117
  F7 = 118
  F8 = 119
  F9 = 120
  F10 = 121
  F11 = 122
  F12 = 123
  
  NumLock = 144
  ScrollLock = 145
  
  Collon = 186     # EN-US: ;:  PT-BR: çÇ
  Equal = 187      # EN-US: =+  PT-BR: =+
  Comma = 188      # EN-US: ,<  PT-BR: ,<
  Underscore = 189 # EN-US: -_  PT-BR: -_
  Dot = 190        # EN-US: .>  PT-BR: .>
  Backslash = 191  # EN-US: /?  PT-BR: ;:
  Accent = 192     # EN-US: '~  PT-BR: "'
  Query = 193      # EN-US:     PT-BR: /?
  Float = 194      # EN-US:     PT-BT: .
  LHook = 219      # EN-US: [{  PT-BR: ´`
  RBar = 220       # EN-US: \|  PT-BR: ]}
  RHook = 221      # EN-US: ]}  PT-BR: [{
  Quote = 222      # EN-US: "'  PT-BR: ^~
  LBar   = 226     #            PT-BR: \|
  
  Names = {1 => 'Mouse Left', 2 => 'Mouse Right', 3 => 'Cancel',
  4 => 'Mouse Middle', 5 => 'Mouse 4th', 6 => 'Mouse 5th', 8 => 'Backspace',
  9 => 'Tab', 12 => 'Clear', 13 => 'Enter', 16 => 'Shift', 17 => 'Control',
  18 => 'Alt', 19 => 'Pause', 20 => 'Caps Lock', 21 => 'Kana', 23 => 'Junja',
  24 => 'Final', 25 => 'Kanji', 27 => 'Escape', 28 => 'Convert', 29 => 'Non Convert',
  30 => 'Accept', 31 => 'Mode Change', 32 => 'Space', 33 => 'Page Up',
  34 => 'Page Down', 35 => 'End', 36 => 'Home', 37 => 'Left', 38 => 'Up',
  39 => 'Right', 40 => 'Down', 41 => 'Select', 42 => 'Print', 43 => 'Execute',
  44 => 'PrintScreen', 45 => 'Insert', 46 => 'Delete', 47 => 'Help',
  48 => '0', 49 => '1', 50 => '2', 51 => '3', 52 => '4', 53 => '5', 54 => '6',
  55 => '7', 56 => '8', 57 => '9', 65 => 'A', 66 => 'B', 67 => 'C', 68 => 'D',
  69 => 'E', 70 => 'F', 71 => 'G', 72 => 'H', 73 => 'I', 74 => 'J', 75 => 'K',
  76 => 'L', 77 => 'M', 78 => 'N', 79 => 'O', 80 => 'P', 81 => 'Q', 82 => 'R',
  83 => 'S', 84 => 'T', 85 => 'U', 86 => 'V', 87 => 'W', 88 => 'X', 89 => 'Y',
  90 => 'Z', 91 => 'Left Windows', 92 => 'Right Windows', 93 => 'Application',
  95 => 'Sleep', 96 => 'PAD 0', 97 => 'PAD 1', 98 => 'PAD 2', 99 => 'PAD 3',
  100 => 'PAD 4', 101 => 'PAD 5', 102 => 'PAD 6', 103 => 'PAD 7', 104 => 'PAD 8',
  105 => 'PAD 9', 106 => '*', 107 => '+', 108 => 'Separator', 109 => '-',
  110 => '.', 111 => '/', 112 => 'F1', 113 => 'F2', 114 => 'F3', 115 => 'F4',
  116 => 'F5', 117 => 'F6', 118 => 'F7', 119 => 'F8', 120 => 'F9', 121 => 'F10',
  122 => 'F11', 123 => 'F12', 124 => 'F13', 125 => 'F14', 126 => 'F15',
  127 => 'F16', 128 => 'F17', 129 => 'F18', 130 => 'F19', 131 => 'F20',
  132 => 'F21', 133 => 'F22', 134 => 'F23', 135 => 'F24', 144 => 'Number Lock',
  145 => 'Scroll Lock', 146 => 'OEM 15', 147 => 'OEM 16', 148 => 'OEM 17',
  149 => 'OEM 18', 150 => 'OEM 19', 160 => 'Left Shift', 161 => 'Right Shift',
  162 => 'Left Control', 163 => 'Right Control',   164 => 'Left Alt',
  165 => 'Right Alt', 166 => 'Browser Back', 167 => 'Browser Forward',
  168 => 'Browser Refresh', 169 => 'Browser Stop', 170 => 'Browser Search',
  171 => 'Browser Favorites', 172 => 'Browser Home', 173 => 'Volume Mute',
  174 => 'Volume Down', 175 => 'Volume Up', 176 => 'Media Next Track',
  177 => 'Media Previous Track', 178 => 'Media Stop', 179 => 'Media Play Pause',
  180 => 'Launch Mail', 181 => 'Launch Media Select', 182 => 'Launch Application',
  183 => 'Launch Application', 186 => 'OEM 1', 187 => 'OEM 2', 188 => 'OEM 3',
  189 => 'OEM 4', 190 => 'OEM 5', 191 => 'OEM 6', 192 => 'OEM 7', 219 => 'OEM 8',
  220 => 'OEM 9', 221 => 'OEM 10', 222 => 'OEM 11', 223 => 'OEM 13', 225 => 'OEM 20',
  226 => 'OEM 14', 227 => 'OEM 21', 228 => 'OEM 22', 229 => 'Proccess',
  230 => 'OEM 23', 232 => 'OEM 24', 240 => 'OEM 25', 241 => 'OEM 26',
  242 => 'OEM 27', 243 => 'OEM 28', 244 => 'OEM 29', 245 => 'OEM 30', 246 => 'ATTN',
  247 => 'CRSEL', 248 => 'EXSEL', 249 => 'EREOF', 250 => 'Play', 251 => 'Zoom',
  253 => 'PA1', 254 => 'OEM Clear'}
  
  Numbers = [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60,
             96, 97, 98, 99, 100, 101, 102, 103, 104, 105]
  
  Values = {}
  
  Values["ALL"] = {32 => [" "], 49 => ["1", "!"], 50 => ["2", '"'],
  51 => ["3", "§"], 52 => ["4", "$"], 53 => ["5", "%"], 54 => ["6", "&"],
  55 => ["7", "/"], 56 => ["8", "("], 57 => ["9", ")"], 48 => ["0", "="],
  #64 => ["q",
  65 => ["a", "A"], 66 => ["b", "B"], 67 => ["c", "C"], 68 => ["d", "D"],
  69 => ["e", "E"], 70 => ["f", "F"], 71 => ["g", "G"], 72 => ["h", "H"],
  73 => ["i", "I"], 74 => ["j", "J"], 75 => ["k", "K"], 76 => ["l", "L"],
  77 => ["m", "M"], 78 => ["n", "N"], 79 => ["o", "O"], 80 => ["p", "P"],
  81 => ["q", "Q"], 82 => ["r", "R"], 83 => ["s", "S"], 84 => ["t", "T"],
  85 => ["u", "U"], 86 => ["v", "V"], 87 => ["w", "W"], 88 => ["x", "X"],
  89 => ["y", "Y"], 90 => ["z", "Z"], 96 => ["0"], 97 => ["1"], 98 => ["2"],
  99 => ["3"], 100 => ["4"], 101 => ["5"], 102 => ["6"], 103 => ["7"],
  104 => ["8"], 105 => ["9"], 106 => ["*"], 107 => ["+"], 109 => ["-"],
  110 => [","], 111 => ["/"]}
  
  Values["EN-US"] = {186 => ["ü", "Ü"], 187 => ["+", "*"], 188 => [",", ";"],
  189 => ["-", "_"], 190 => [".", ":"], 191 => ["#", "'"], 192 => ["ö", "Ö"],
  219 => ["ß", "?"], 220 => ["^","°"], 221 => ["´", "`"], 222 => ["ä", "Ä"],
  60 => ["<", ">"]}
  
  Values["PT-BR"] = {186 => ["ç", "Ç"], 187 => ["=", "+"], 188 => [",", ";"],
  189 => ["-", "_"], 190 => [".", ":"], 191 => [";", ":"], 192 => ["'", '"'],
  193 => ["/", '?'], 194 =>["."], 219 => ["´", "`"], 220 => ["]", "}"],
  221 => ["´", "`"], 222 => ['~', "^"], 226 => ["","|"]}
  
  def self.name(id)
    return (Names.keys.include?(id) ? Names[id] : "???")
  end
  
  def self.value(id)
    if Values["ALL"].keys.include?(id)
      return Values["ALL"][id]
    elsif Values[Keyboard].keys.include?(id)
      return Values[Keyboard][id]
    else
      return ""
    end
  end
  
end

#------------------------------------------------------------------------------
module Input
  
  unless File.exists?("Input.dll")
    print("Unlable to load file - Input.dll")
    exit
  end
  
  LEFT = 37
  UP = 38
  RIGHT = 39
  DOWN = 40
  A = [160, 161]
  B = [27, 88, 96]
  C = [13, 32, 67]
  X = 65
  Y = 83
  Z = 68
  L = [33, 81]
  R = [34, 87]
  SHIFT = 16
  CTRL = 17
  ALT = 18
  F5 = 116
  F6 = 117
  F7 = 118
  F8 = 119
  F9 = 120
  
  @time = Array.new(256, 0)
  @press = Array.new(256, false)
  @trigger = Array.new(256, false)
  @repeat = Array.new(256, false)
  @release = Array.new(256, false)
  @dirs = [0, 0]
  
  InputInitialize = Win32API.new("Input", 'InputInitialize', 'LLLLLL', '')
  InputUpdate = Win32API.new("Input", 'InputUpdate', '', '')
  
  InputInitialize.call(
    @time.object_id, @press.object_id, @trigger.object_id,
    @repeat.object_id,  @release.object_id, @dirs.object_id
  )
  
  def self.update
    InputUpdate.call
  end
  
  def self.trigger?(id)
    @trigger.indexes(*id.to_a).include?(true)
  end
  
  def self.press?(id)
    @press.indexes(*id.to_a).include?(true)
  end
  
  def self.triggerd?(id)
    return true if triggered.include?(id)
    return false
  end
  
  def self.pressed?(id)
    return true if pressed.include?(id)
    return false
  end
  
  def self.repeat?(id)
    @repeat.indexes(*id.to_a).include?(true)
  end
  
  def self.release?(id)
    @release.indexes(*id.to_a).include?(true)
  end
  
  def self.triggered
    array = Array.new
    @trigger.each_index {|i| array << i if @trigger[i]}
    return array
  end
  
  def self.pressed
    array = Array.new
    @press.each_index {|i| array << i if @press[i]}
    return array
  end
  
  def self.repeated
    array = Array.new
    @repeat.each_index {|i| array << i if @repeat[i]}
    return array
  end
  
  def self.released
    array = Array.new
    @release.each_index {|i| array << i if @release[i]}
    return array
  end
  
  def self.capslock?
    return true if Win32API.new("user32","GetKeyState",["i"],"i").call(20) & 0x01 == 1
    return false
  end
  
  def self.dir4
    return 2 if self.pressed?(DOWN)
    return 4 if self.pressed?(LEFT)
    return 6 if self.pressed?(RIGHT)
    return 8 if self.pressed?(UP)
    return 0
  end
  
  def self.dir8
    return 1 if self.pressed?(LEFT) and self.pressed?(DOWN)
    return 3 if self.pressed?(RIGHT) and self.pressed?(DOWN)
    return 7 if self.pressed?(LEFT) and self.pressed?(UP)
    return 9 if self.pressed?(RIGHT) and self.pressed?(UP)
    self.dir4
  end
  
end

Nun aber mein Problem, wie kann man hier in nem event ne bedinung reinmachen welches eine taste abfragt? ( der standart maker kennt ja net alle)

Re: Tastaturscirpt - Wie Abfragen?

Offline Domin0e

  • Leaf in the Wind
  • Mr. MACK-Tile
  • ***
  • Beiträge: 237
    • Mein kleiner Blog~
Re: Tastaturscirpt - Wie Abfragen?
« Antwort #1 am: Mai 30, 2010, 17:44:10 »
Versuch mal ein CB mit folgender Skriptbedingung:

Input.trigger?(Input::TASTE)
"Twelve highlanders and a bagpipe make a rebellion." - Scottish Proverb

Mein kleiner Blog

Re: Tastaturscirpt - Wie Abfragen?

Offline Emelie Rose

  • Meisterköchin
  • Eventmeister
  • ***
  • Beiträge: 329
Re: Tastaturscirpt - Wie Abfragen?
« Antwort #2 am: Mai 30, 2010, 22:29:35 »
Ok. Werd ich macgen aber erst morgen. Kann heute nimme an den pc

Post zusammen gefügt: Mai 30, 2010, 22:30:29
Halt noch ne frage. Ich muss nur die taste durch ne zahl ersetzen oder net das inputt auch
« Letzte Änderung: Mai 30, 2010, 22:30:29 von Mosima »

Re: Tastaturscirpt - Wie Abfragen?

Offline Domin0e

  • Leaf in the Wind
  • Mr. MACK-Tile
  • ***
  • Beiträge: 237
    • Mein kleiner Blog~
Re: Tastaturscirpt - Wie Abfragen?
« Antwort #3 am: Mai 30, 2010, 22:33:25 »
Du ersetzt TASTE z.B. durch t, oder a, oder welche Taste du magst.
"Twelve highlanders and a bagpipe make a rebellion." - Scottish Proverb

Mein kleiner Blog

Re: Tastaturscirpt - Wie Abfragen?

Offline FlipelyFlip

  • Will sein Alter nicht verraten xD
  • Administrator
  • VX-Großmeister
  • ****
  • Beiträge: 884
  • Heyho (=
    • Flips Musik Kariere auf Facebook xD
Re: Tastaturscirpt - Wie Abfragen?
« Antwort #4 am: Mai 30, 2010, 23:05:10 »
du hast das falsche gemeint Domin0e

er hat es ausm script raus gemeint. folgende Befehle wären das:

Input.trigger?(TASTENNUMMER)

Input.press?(TASTENNUMMER)

Input.triggerd?(TASTENNUMMER)
 
Input.pressed?(TASTENNUMMER)
 
Input.repeat?(TASTENNUMMER)

Input.release?(TASTENNUMMER)

so müsste es sein, habs jetzt selbst nicht getestet, aber wäre das einzig logische^^"

lg Fip

Re: Tastaturscirpt - Wie Abfragen?

Offline Emelie Rose

  • Meisterköchin
  • Eventmeister
  • ***
  • Beiträge: 329
Re: Tastaturscirpt - Wie Abfragen?
« Antwort #5 am: Mai 31, 2010, 19:08:30 »
du hast das falsche gemeint Domin0e

er hat es ausm script raus gemeint. folgende Befehle wären das:

Input.trigger?(TASTENNUMMER)

Input.press?(TASTENNUMMER)

Input.triggerd?(TASTENNUMMER)
 
Input.pressed?(TASTENNUMMER)
 
Input.repeat?(TASTENNUMMER)

Input.release?(TASTENNUMMER)

so müsste es sein, habs jetzt selbst nicht getestet, aber wäre das einzig logische^^"

lg Fip
Spoiler for Hiden:
Input.trigger?(TASTENNUMMER) = ?

Input.press?(TASTENNUMMER) = gedrückt?

Input.triggerd?(TASTENNUMMER) = ?
 
Input.pressed?(TASTENNUMMER) = gedrückt haltend?
 
Input.repeat?(TASTENNUMMER) = mehrfach gedrückt?

Input.release?(TASTENNUMMER) = ?

Sry, aber verwirrt mich ein bisschen^^





Bei mir funktionierts net. daher denke ich mal es ist nicht möglich. danke trotzdem für eure mühen

Re: Tastaturscirpt - Wie Abfragen?

Offline Domin0e

  • Leaf in the Wind
  • Mr. MACK-Tile
  • ***
  • Beiträge: 237
    • Mein kleiner Blog~
Re: Tastaturscirpt - Wie Abfragen?
« Antwort #6 am: Mai 31, 2010, 19:56:05 »
Notfalls wende dich mal vertrauensvoll an Deity, der müsste dir sagen können wie das geht ;)
"Twelve highlanders and a bagpipe make a rebellion." - Scottish Proverb

Mein kleiner Blog

Re: Tastaturscirpt - Wie Abfragen?

Offline Ðeity

  • No Pain, no gain!
  • Administrator
  • Eventmeister
  • ****
  • Beiträge: 427
  • No Pain, no Gain!
    • Deity-VX
Re: Tastaturscirpt - Wie Abfragen?
« Antwort #7 am: Mai 31, 2010, 21:40:02 »
Hay,
um mit dem Script die Tastenabfrage zu tätigen musst du folgendes eintippen:

Input.trigger?(Keys::Taste)
Abfrage ob eine Taste gedrückt wurde.

Input.press?(Keys::Taste)
Abfrage ob eine Taste gehalten wird.

Input.repeat?(Keys::Taste)
Abfrage ob eine Taste mehrmals hintereinander gedrückt wurde.

Die Taste wird natürlich mit dem vorgegebenen Tastennamen aus dem Script ersetzt. Für eine ABfrage ob A gedrückt wurde, musst du also foglendes eintippen:
Input.trigger?(Keys::A)



MfG
Deity



Re: Tastaturscirpt - Wie Abfragen?

Offline Emelie Rose

  • Meisterköchin
  • Eventmeister
  • ***
  • Beiträge: 329
Re: Tastaturscirpt - Wie Abfragen?
« Antwort #8 am: Juni 01, 2010, 18:16:33 »
hmmm irgendwas geht bei mir falsch .-\ vill verhinderts ja ein anderes script. weil in nem neuem spiel gehts wo nur das drin ist.

danke euch allen für eure mühen

 


 Bild des Monats

rooftop party

Views: 3615
By: papilion

 Umfrage

  • Wer soll das BdM gewinnen?
  • Dot Kandidat 1
  • 3 (25%)
  • Dot Kandidat 2
  • 1 (8%)
  • Dot Kandidat 3
  • 2 (16%)
  • Dot Kandidat 4
  • 0 (0%)
  • Dot Kandidat 5
  • 6 (50%)
  • Stimmen insgesamt: 12
  • View Topic

 Schnellsuche





SimplePortal 2.3.3 © 2008-2010, SimplePortal