Hi, hier bin ich wieder (:
Ich hab mal eine Frage:
Ich möchte ein Skript schreiben, dass
mir in 4story aufzeichnet, was ich gemacht habe.
Mein bisheriges Skript (Auszug, andere Tasten
genauso):
PHP Code:
#include <Misc.au3>
$number = 1
While True
If _IsPressed (57) Then
IniWrite ( @ScriptDir & "\4storyAufzeichnung.ini", "Was passiert ist", "Aktion Nr. " & $number, "W gedrückt" )
$number = $number + 1
EndIf
; andere Tasten genauso
WEnd
Mein Problem: Er schreibt mir in die .ini solange etwas, bis ich etwas anderes drücke!
(Sinn des Programms: Aufzeichnung der Aktionen
in 4story, um anhand der Daten überprüfen zu können,
ob sich kein Hacker eingeloggt hat)
@jacky919:
Man kann somit überprüfen (wenn man sich auch daten wie GOLD oder SILBER und so aufschreiben lässt), ob kein Hacker etwas auf deinem Account gemacht da. Mir ist das sehr nützlich, da mir in letzter zeit viele hackerangriffe auf meinen account auffallen.
Und danke für die abkürzung mit '$number' (:
Nein, nicht der Gold wert.
Der Wert, das man, wenn man wie im Beispiel w drückt, er aufschreibt,
dass ich einen schritt nach vorne gelaufen bin. soweit hab ich das auch schon geschafft, nur ist mein probl., dass er mir BIS ICH EINE WEITERE TASTE DRÜCKE dass aufschreibt, und das kann ziemlich oft sein, wenn ich kein sleep einbaue. wenn ich allerdings sleep einbaue schreibt er mir nicht die sachen auf, die ich während dem sleep gedrückt habe, und wenn ich nichts drücke, immer nur das, was vorher gedrüct wurde.
Hab mir das script schnell angesehen:
Dir fehlt #RequireAdmin
Ich würde statt While True, While Sleep (10) schreiben
Dann wird es sicher besser funktionieren
While 1 If _IsPressed(57) Then While (10) If Not _IsPressed(57) Then _FileWriteLog("Tasten.txt","W-Taste gedrueckt") ExitLoop Endif WEnd Endif WEnd
Inkludier noch <File.au3> <Misc.au3>
Scheiße Geschrieben, ich weiß....
Ok das Script macht eig nur das:
Warten bis W gedrueckt wird, dann warten bis W losgelassen wird und zu guter Letzt Schreibt er in einen Log "Datum Uhrzeit : W-Zaste gedrueckt"
Und wenn ich das als ini schreiben möchte, sodass
er auch section und key schreibt, dann müsste das so aussehen?:
PHP Code:
While 1
If _IsPressed(57) Then
While (10)
If Not _IsPressed(57) Then
IniWrite ( @ScriptDir & "\Aktion", "Was ich gemacht habe", "Take 1", "W gedrückt" )
ExitLoop
Endif
WEnd
Endif
WEnd
Is das so richtig?
PS: Das mit den Keys kann ich später ändern, sodass nich immer nur ein Key überschrieben wird (:
Also ich versuch das was IwH will zu Coden..
Allerdings hab ich nen kleines Problem..
Es gibt zwar die Funktion Asc.. die zeigt den Code einer Bestimmten Taste an.. allerdings gibts keine gegenfunktion also.. Das wenn ich den Code eingebe dass die Taste angezeigt wird..
es ist doch eingtl unnütz welche taste gedrückt wurde, fakt ist ja das eine gedrückt wurde.
du kannst es so machen (von mir aus auch wenn die maus bewegt wurde)
PHP Code:
While 1
$maus = MouseGetPos() ;maus postion
For $i = 0 To 256 ;tastatur-> jede taste ist einer zahl zugewiesen, von bis 85 oder so, abe rich nehm einfahc ma da shöchste ;D 256 If _IsPressed($i) Then MsgBox(0, "Tastatur wurde bewegt", "Ich downloade gerade etwas oder mache etwas anderes!" & @CRLF & "Deshalb gehe bitte nicht an meinen PC!" & @CRLF & "Sonst wird Yannik Sauer ;D") EndIf
Next $maus2 = MouseGetPos() ;immer noch maus psotion, das is abe rnur damit ich später abgleiche kann da man nicht eine variable mit der selben vergleichen kann
If $maus[0] <> $maus2[0] Or $maus[1] <> $maus2[1] Then ; [0] = x koordinate [1] = y koordinate (siehe hilfe).. hier ist das jetzt mit dem abgleichen MsgBox(0, "Maus bewegt", "Du hast die Maus bewegt, du sollst doch nicht an meinen PC" & @CRLF & "während ich was downloade :( , hör docheinmal auf mich") $maus = MouseGetPos() ;hier wird dann die neue maus position gespeichert EndIf WEnd
€dit:
das ist ein auszug aus einer meiner skripts, statt msgbox machste haltn ini write