Frage zu .ini in AutoIT

10/19/2010 16:03 IwH#1
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 (57Then
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)
10/19/2010 16:35 Fa1l0r#2
#Reported cause: Wrong Section - Move to "elitepvpers coding section - autoit"
10/19/2010 23:59 jacky919#3
Ich versteh nicht ganz den Sinn des Programms.
Noch was:
$number = $number + 1
========
$Number +=1
Ist ein bisschen kuerzer...
10/20/2010 11:21 IwH#4
@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' (:
10/20/2010 13:04 jacky919#5
Also meinst du wenn man irgendeine Taste drueckt der Gold Wert in der Ini inkrementiert wird?
10/20/2010 17:55 IwH#6
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.

weiß nich ob ihrs verstanden habt, hoffe schon


mfg iwh
10/20/2010 18:02 -DarkPuma-#7
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
10/20/2010 18:36 jacky919#8
PHP Code:
While 1
If _IsPressed(57Then
While (10)
If 
Not _IsPressed(57Then
_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"
10/20/2010 19:56 IwH#9
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(57Then
While (10)
If 
Not _IsPressed(57Then
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 (:
10/20/2010 20:04 jacky919#10
Was soll er schreiben?
Wie oft w gedrueckt wurde?

Bei wie oft:
Ersetz das "FileLogWrite()" mit:
$w +=1
Iniwrite("Tasten.ini","Tasten","W",$w)

Dann musste noch ganz am Anfang vom Script
$w=0 schreiben und <File.au3> kannste jetzt weglassen
10/20/2010 20:48 IwH#11
nein, mir geht es darum ob W gedrückt wurde. meine frage war jetzt,
ob das so als ini funktioniert?
10/20/2010 20:53 jacky919#12
Ob w also irgendwann gedrueckt wurde?
10/20/2010 21:16 IwH#13
nein, in der reihenfolge
Bsp:
w wurde gedrückt --> (in der ini) w gedrückt
a wurde gedrückt --> (in der ini) nach rechts gedreht (ingame)
10/20/2010 21:31 Memphiisto#14
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..

kann mir da jmnd helfen ?

lg Magic
10/20/2010 21:34 .BritainAndy#15
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 zugewiesenvon  bis 85 oder soabe rich nehm einfahc ma da shöchste ;D 256
        
If _IsPressed($iThen
            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 psotiondas 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[1Then ; [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