Ergebnis 1 bis 20 von 23

Thema: Button-Input-Funktions-Frage

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    @-KD-:
    Danke, das klingt vielversprechend ...

    Nur was muss ich mit diesem SDK-Script machen? Muss ich den separat in die Scriptliste einfügen, oder was muss ich damit machen? (ich kenne mich halt noch net mit Ruby und so aus)

    Also ich hab diese SDk-Scripte in die Scriptliste eingefügt, aber irgendwie klappt das nicht ... da kommt ne Fehlermeldung das SDK-Skripte fehlen oder so ...

    danach hab ich nur SDK Part I eingefügt und da hat der auch gemeckert ...

    Ich brauch da mal ne wirklich Idiotensichere Erklärung ...

    Geändert von K.L.R.G. (11.04.2007 um 12:13 Uhr)

  2. #2
    Das SDK musst du über Main und unter allen Standard-Scripten einfügen. Alle weiteren selbst hinzugefügten Scripte müssen unter das SDK. Jedoch laufen mit SDK nur noch SDK-Scripte, fast alle anderen Scripten dürften nicht mehr laufen.

    Und wenn ich es mir recht überlege, ist es ziemlicher Schwachsinn für ein Input-Script SDK zu verlangen oO

    Für diesen Code statt dem anderen ein, dann benötigst du kein SDK mehr:

    Code:
    #===============================================================================
    # ** Keyboard 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
    # Version   2.0
    # Date      11-04-06
    # Edit      Astro_mech
    #===============================================================================
    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 = 27
        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
       # NumberUpKeys = {}
       # NumberUpKeys[0] = "!"
       # NumberUpKeys[1] = "@"
       # NumberUpKeys[2] = "#"
       # NumberUpKeys[3] = "$"
       # NumberUpKeys[4] = "%"
       # NumberUpKeys[5] = "^"
       # NumberUpKeys[6] = "&"
       # NumberUpKeys[7] = "*"
       # NumberUpKeys[8] = "("
       # NumberUpKeys[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
        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 = 191     # => / ?
        Lb = 219
        Rb = 221
        Quote = 222         # => '"
    #-------------------------------------------------------------------------------
        USED_KEYS = [Mouse_Left, Mouse_Right, Mouse_Middle] 
    #-------------------------------------------------------------------------------
      module_function
      #--------------------------------------------------------------------------
      # * Check (key)
      #-------------------------------------------------------------------------- 
      def triggerd?(key)
        Win32API.new("user32","GetAsyncKeyState",['i'],'i').call(key) & 0x01 == 1  # key 0
      end
      #-------------------------------------------------------------------------- 
      def check(key)
        Win32API.new("user32","GetAsyncKeyState",['i'],'i').call(key) & 0x01 == 1  # key 0
      end
      #-----------------------------------------------------------------------
      # * Pressed ? (key)
      #-------------------------------------------------------------------------- 
      def pressed?(key)
        return true unless Win32API.new("user32","GetKeyState",['i'],'i').call(key).between?(0, 1)
        return false
      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 self.C
        self.trigger?(C)
      end
      #--------------------------------------------------------------------------
      # * Short Write B
      #-------------------------------------------------------------------------- 
      def self.B
        self.trigger?(B)
      end
      #--------------------------------------------------------------------------
      # * Short Write A
      #-------------------------------------------------------------------------- 
      def self.A
        self.trigger?(A)
      end
      #--------------------------------------------------------------------------
      # * Short Write Down
      #-------------------------------------------------------------------------- 
      def self.Down
        self.trigger?(DOWN)
      end
      #--------------------------------------------------------------------------
      # * Short Write Up
      #-------------------------------------------------------------------------- 
      def self.Up
        self.trigger?(UP)
      end
      #--------------------------------------------------------------------------
      # * Short Write Right
      #-------------------------------------------------------------------------- 
      def self.Right
        self.trigger?(RIGHT)
      end
      #--------------------------------------------------------------------------
      # * Short Write Left
      #-------------------------------------------------------------------------- 
      def self.Left
        self.trigger?(LEFT)
      end
      #--------------------------------------------------------------------------
      # * Anykey pressed?  ( A or B or C or Down or Up or Right or Left )
      #-------------------------------------------------------------------------- 
      def self.Anykey
        if A or B or C or Down or Up or Right or Left
          return true
        else
          return false
        end
      end
    end

  3. #3
    Nochmals danke ...
    Jetzt gibt es nur ein Problem ... Wo in der Scriptliste muss ich dieses Script eintragen? Bzw. was muss ich eingeben um den aufzurufen ... Ich hab den jetzt auf die erste Postion unter "main" gesetzt, kann den aber nicht aufrufen, ohne das der maker abstürzt ....

  4. #4
    Zitat Zitat
    Das SDK musst du über Main und unter allen Standard-Scripten einfügen.
    Wenn du es unter Main einfügst stürzt das ganze Spiel ab. Ist meines Wissens nach bei jedem Script so. Da lag also dein Fehler

  5. #5
    Im Main-Script wird das Spiel praktisch gestartet. Alles was unter Main ist, wird erst beim Beenden des Spiels aufgerufen ^^

    Daher müssen Scripte stets über Main eingefügt werden.

  6. #6
    So, hab jetzt alles richtig gemacht ... über main ... unter den anderen Scripts. ... und trotzdem krieg ich diese Fehlermeldung ...


  7. #7
    In der letzten Zeile dürfte nur ein "end" stehen. Steht bei dir dort noch etwas anderes? Z.B. das [/code] aus dem Posting.

  8. #8
    Gut, Fehlerquelle 1 ist ausgemerzt ... ich hatte tatsächlich nen kleinen Fehler beim kopieren gemacht (nein es war nicht [/code], aber irgendwie hab ich da ausversehen was mit reinkopiert ... )

    Nun klappt es ... theoretisch ... aber sobald ich ne Button-Input-Abfrage mache bricht das Ding jetzt zusammen mit folgender Fehlermeldung:


  9. #9
    Wie sieht denn deine Buttonabfrage aus?

  10. #10
    Code:
    Input.pressed?(Numberpad[0]) or Input.pressed?(Numberkeys[0])
    Erst die Button Input-Abfrage ... hab dann den Code in ner Fork eingegeben .... eigentlich sollte dann n text erscheinen wenn ich 0 drücke, stattdessen kommt immer diese Fehlermeldung ...

  11. #11
    mach die ganze variablendeklaration in ne funktion (def initialize) und initialisier die klasse mit WieAuchImmerDieKlasseJetztHeißt.new ...

    edit: glaub nämlich nicht, dass in Ruby variablen initialisiert werden können, wenns nicht in ner funktion stehen^^

  12. #12
    @ani-kun:
    Ähm ... bitte nochmal in TotalN00b-Verständlich bitte ...

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •