Nightmare85
Captain
- Registriert
- Apr. 2007
- Beiträge
- 3.555
Hallo,
Lua verwende ich, da meine Logitech Gaming Software diese Sprache verwendet.
Ich bin der Programmierung bisher immer erfolgreich aus dem Weg gegangen.
(Dementsprechend ist auch mein Wissen.)
Aber nun darf auch ich die Vorteile der Programmierung nutzen.
In meinem Testprogramm möchte ich folgendes umsetzen:
Nach Klicken einer Maustaste soll die aktuelle Maustaste und die zuletzt angeklickte angezeigt werden.
Beispiel - 4 Mausklicks:
Maustaste 9: Anzeige = Alter Wert: 9, Neuer Wert: 9
Maustaste 7: Anzeige = Alter Wert: 9, Neuer Wert: 7
Maustaste 8: Anzeige = Alter Wert: 7, Neuer Wert: 8
Maustaste 8: Anzeige = Alter Wert: 8, Neuer Wert: 8
(Genau wie im Anhang)
Zu beachten ist, dass der erste alte Wert immer die 9 sein muss!
(Selbst wenn ich mit Maustaste 7 anfangen würde.)
Begründung:
Ich arbeite in einem Musikprogramm mit bestimmten Szenen und Szene 1 ist immer die Erste.
Die nächste Szene kann jede beliebige sein - aber die erste Alte wird immer die 1 sein.
Die Maustaste 9 ist symbolisch die Szene 1.
Bisher hab ich folgendes Skript, welches teilweise funktioniert:
(Die --Kommentare sind nur die Bezeichnung der jeweiligen Maustaste.)
Folgendes Problem:
Aktuell setzt das Skript voraus, dass ich mit Maustaste 9 anfange.
Fange ich mit einer anderen an, kommt:
[string "LuaVM"]:13: bad argument #2 to 'OutputLogMessage' (number expected, got nil)
Logisch, da buttonalt nicht bekannt ist.
Deklariere ich buttonalt im Programmkopf mit 9, dann ist der alte Wert immer 9.
Meine Idee war es, im Programmkopf folgendes zu schreiben:
Und dann am Ende jeder anderen if-Abfrage ein i = 1 zu schreiben.
Das klappt aber nicht - buttonalt ist dann trotzdem immer 9...
Das i = 0 im Kopf überschreibt anscheinend die 1.
Danke für jede Hilfe!
P.S. Spricht man es eigentlich lua oder L.U.A. aus?
Grüße
Lua verwende ich, da meine Logitech Gaming Software diese Sprache verwendet.
Ich bin der Programmierung bisher immer erfolgreich aus dem Weg gegangen.
(Dementsprechend ist auch mein Wissen.)
Aber nun darf auch ich die Vorteile der Programmierung nutzen.
In meinem Testprogramm möchte ich folgendes umsetzen:
Nach Klicken einer Maustaste soll die aktuelle Maustaste und die zuletzt angeklickte angezeigt werden.
Beispiel - 4 Mausklicks:
Maustaste 9: Anzeige = Alter Wert: 9, Neuer Wert: 9
Maustaste 7: Anzeige = Alter Wert: 9, Neuer Wert: 7
Maustaste 8: Anzeige = Alter Wert: 7, Neuer Wert: 8
Maustaste 8: Anzeige = Alter Wert: 8, Neuer Wert: 8
(Genau wie im Anhang)
Zu beachten ist, dass der erste alte Wert immer die 9 sein muss!
(Selbst wenn ich mit Maustaste 7 anfangen würde.)
Begründung:
Ich arbeite in einem Musikprogramm mit bestimmten Szenen und Szene 1 ist immer die Erste.
Die nächste Szene kann jede beliebige sein - aber die erste Alte wird immer die 1 sein.
Die Maustaste 9 ist symbolisch die Szene 1.
Bisher hab ich folgendes Skript, welches teilweise funktioniert:
(Die --Kommentare sind nur die Bezeichnung der jeweiligen Maustaste.)
Code:
function OnEvent(event, arg, mouse)
if event == "MOUSE_BUTTON_PRESSED" and arg == 9 then --DPI plus
buttonalt = 9
buttonneu = 9
OutputLogMessage("Letzter Button %d\n", buttonalt)
OutputLogMessage("Aktueller Button %d\n", buttonneu)
buttonalt = buttonneu
end
if event == "MOUSE_BUTTON_PRESSED" and arg == 10 then --DPI minus
buttonneu = 10
OutputLogMessage("Letzter Button %d\n", buttonalt)
OutputLogMessage("Aktueller Button %d\n", buttonneu)
buttonalt = buttonneu
end
if event == "MOUSE_BUTTON_PRESSED" and arg == 7 then --scroll left
buttonneu = 7
OutputLogMessage("Letzter Button %d\n", buttonalt)
OutputLogMessage("Aktueller Button %d\n", buttonneu)
buttonalt = buttonneu
end
if event == "MOUSE_BUTTON_PRESSED" and arg == 8 then --scroll right
buttonneu = 8
OutputLogMessage("Letzter Button %d\n", buttonalt)
OutputLogMessage("Aktueller Button %d\n", buttonneu)
buttonalt = buttonneu
end
end
Folgendes Problem:
Aktuell setzt das Skript voraus, dass ich mit Maustaste 9 anfange.
Fange ich mit einer anderen an, kommt:
[string "LuaVM"]:13: bad argument #2 to 'OutputLogMessage' (number expected, got nil)
Logisch, da buttonalt nicht bekannt ist.
Deklariere ich buttonalt im Programmkopf mit 9, dann ist der alte Wert immer 9.
Meine Idee war es, im Programmkopf folgendes zu schreiben:
Code:
i = 0
if i < 0 then buttonalt = 9
Das klappt aber nicht - buttonalt ist dann trotzdem immer 9...
Das i = 0 im Kopf überschreibt anscheinend die 1.
Danke für jede Hilfe!
P.S. Spricht man es eigentlich lua oder L.U.A. aus?
Grüße