1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. chip

Beiträge von chip

  • Fenster schließen ohne Run

    • chip
    • 10. Mai 2016 um 17:38

    WinWait wäre hier der richtige Befehl. _WinWaitActivate gibt es garnicht.

  • AutoIT und Excel

    • chip
    • 10. Mai 2016 um 17:15

    Wird nicht funktionieren, da RemoteApp nichts anderes ist als eine Remotedesktopsitzung ist. Sprich um die Excel-UDF zu nutzen müsste das Script auf dem Server laufen auf dem sich die Remoteapp befindet.

  • Profis-Bitte. Datei auslesen, Hexwerte vergleichen und ändern.

    • chip
    • 7. Mai 2016 um 19:56

    @meisterlampe00 hast alles richtig verstanden. Bei result[0] werden die letzten vier Zeichen also die Anzahl abgeschnitten damit nur noch die item id übrig bleibt. Damit hast dann im Array itemid und Anzahl.

  • _DriveGetFolderExists

    • chip
    • 7. Mai 2016 um 13:07

    Ich nehme dazu immer das hier: http://www.uwe-sieber.de/usbdlm.html

  • Profis-Bitte. Datei auslesen, Hexwerte vergleichen und ändern.

    • chip
    • 7. Mai 2016 um 11:16

    @meisterlampe00 dein Textdatei irritiert mich jetzt etwas. Ist das was bei Ammount steht die realen Werte Ingame? Weil bei Slot 25 mit "5E01" hast du "24065" geschrieben in deinem Text schreibst aber das muss in "15E" gedreht werden was dann "350" wäre.


    Wenn ich davon ausgehe, dass das in der Textdatei bei Slot 25 ein Schreibfehler ist, dann sollte es so gehen:

    AutoIt
    $erg = splitslot("02000000000000DF083200")
    MsgBox(0,"","ItemID = " & $erg[0] & " Amount = " &  $erg[1])
    
    
    
    
    Func splitslot($slot)
    	Local $result[2]
    	$amount = StringRight($slot, 4)
    	$left = StringLeft($amount, 2)
    	$right = StringRight($amount, 2)
    
    
    	$result[0] = StringTrimRight($slot, 4)
    	$result[1] = Dec($right & $left)
    
    
    	Return $result
    EndFunc   ;==>splitslot
    Alles anzeigen
  • Profis-Bitte. Datei auslesen, Hexwerte vergleichen und ändern.

    • chip
    • 6. Mai 2016 um 22:28

    @autoBert sorry aber es nervt gerade wirklich. Das ist ein Game in der Early Access, jede kann davon nach belieben selber einen Server aufsetzen. Wo da eine Gelddruckmaschiene siehst ist mir schleierhaft. Wirkt gerade wirklich so als versuchst mit allen Mitteln recht zu behalten.

    @meisterlampe00 kannst mal noch paar Beispiele mit item id und Anzahl posten und welcher dezimalwert da rauskommen soll.

  • Profis-Bitte. Datei auslesen, Hexwerte vergleichen und ändern.

    • chip
    • 6. Mai 2016 um 07:05

    Ordne mal bitte deine Gedanken, erst willst einen teil einfügen, dann willst ihn plötzlich ersetzen und nun willst wieder was ganz anderes. Sag mal klar was du nun machen willst. Hier noch ein Versuch und dann bin ich raus aus dem Thread bis mal klar sagst was nun wirklich vor hast. Mit dem Script hast nun zumindest 57 Slots, was laut Screenshots welche ich zu dem Game gefunden habe wohl auch stimmt.:

    AutoIt
    #include <String.au3>
    #include <Array.au3>
    
    
    $savepath = @ScriptDir
    $steamid = "76561197990256655"
    
    
    $filetest = FileOpen($savepath & "\" & $steamid & ".ply", 16)
    
    
    $file1 = FileRead($filetest)
    
    
    $erg = Hex($file1)
    
    
    $result = StringRegExp($erg, ".{2}", 3)
    
    
    $index = _ArraySearch($result, "0A", 0)
    $index = _ArraySearch($result, "0A", $index + 1)
    
    
    While 1
    	$index = _ArraySearch($result, "02", $index)
    	If @error Then
    		ExitLoop
    	EndIf
    
    
    	$slot = ""
    	For $i = $index To $index + 10
    		$slot &= $result[$i]
    	Next
    
    
    	ConsoleWrite($slot & @CRLF)
    
    
    	$index += 10
    WEnd
    Alles anzeigen
  • Deutsche Hilfe Dateien?

    • chip
    • 5. Mai 2016 um 19:42

    Rechtsklick -> eigenschaften -> Haken bei zulassen setzen

  • Profis-Bitte. Datei auslesen, Hexwerte vergleichen und ändern.

    • chip
    • 4. Mai 2016 um 15:21

    Da wird nix doppelt reingepackt sondern schlicht der alte Inventarteil nicht überschreiben. Dein Änderung des zweiten StringBetween von "E5085E" nach "7D0B47" sorgt dafür, dass schon ganz am Anfang ein Treffer ist. Da wird dann das Inventar reingemacht und dann ist es natürlich doppelt drin.

    Woher hast die Info, dass diese ply Ascii ist? Das ply-Format kann zwar in Binary und in Ascii vorliegen, aber das ist eben keine ply. Es fehlt der Header usw.

  • Profis-Bitte. Datei auslesen, Hexwerte vergleichen und ändern.

    • chip
    • 4. Mai 2016 um 10:15

    Also ich hab mir das nochmal ansgeschaut. Bei mir steht in der geänderten Datei fast das gleiche wie in der Orginal, keine Ahnung warum bei dir das nicht der Fall ist.

    Orginal:

    Code
    BR”xñz AkuaAkuañz     Š}Gb1rdY< <3 SweetY :3


    Geändert:

    Code
    xñz AkuaAkuañz     Š}Gb1rdY< <3 SweetY :3

    Das "BR"" fehlt weil du es ja in dem StringBetween abgeschnitten haben wolltest. Genauso fehlt am Ende ein ganzen Stück weil das auch weg haben wolltest.


    Falls du einfach nur den Bereich dazwischen ersetzten willst geht das z.B. so, dann sind die Dateien wieder exakt gleich:


    AutoIt
    #include <String.au3>
    #include <Array.au3>
    
    
    $savepath = @ScriptDir
    $steamid = "76561197990256655"
    
    
    $filetest = FileOpen($savepath & "\" & $steamid & ".ply")
    $file1 = FileRead($filetest)
    
    
    $erg = Hex($file1)
    
    
    $anfangread = _StringBetween($erg, "", "0A0002")
    $enderead = _StringBetween($erg, "E5085E", "")
    
    
    $inv = FileOpen($savepath & "\Saves\inventory.txt")
    $invread = StringStripWS(FileRead($inv), 8)
    FileClose($inv)
    
    
    $endstring = $anfangread[0] & $invread & $enderead[0]
    
    
    $endstring = Binary("0x" & $endstring)
    
    
    $save = FileOpen($savepath & "\geänder.ply", 1)
    
    
    FileWrite($save, $endstring)
    Alles anzeigen
  • Profis-Bitte. Datei auslesen, Hexwerte vergleichen und ändern.

    • chip
    • 3. Mai 2016 um 23:58
    Zitat von meisterlampe00

    Hexwerte schon per Hand geändert und hat funktioniert. Die Einzelnen Id´s usw muss ich mir dann später zusammen Doktoren.
    Das spiel ist eine Weltraum Simulation mit XYZ werten ich denke es wird eine richtige .ply Datei sein.
    Die Datei die ich hochgeladen habe ist von meinem Spieler Leer, also kann sie gerne angeschaut werden:)

    Jetzt geht es erstmal darum es editieren zu können.

    Code
    nehmen wir den wert: 02 00 00 00 00 00 00 00 00 00 ; wäre z.b Ein Leerer Inventarslot.
    
    
    02 00 00 00 00 00 38 07 98 00   150 einheiten .50 Kaliber munition
                     { ^  } { ^ }
                       |      |Anzahl der Items
                       | ItemId

    Jetzt hab ich erst kapiert was du willst. Hab mal dein Script von oben angepasst:


    AutoIt
    #include <String.au3>
    #include <Array.au3>
    
    
    $savepath = @ScriptDir
    $steamid = "76561197990256655"
    
    
    $filetest = FileOpen($savepath & "\" & $steamid & ".ply")
    $file1 = FileRead($filetest)
    
    
    $erg = Hex($file1)
    
    
    $anfangread = _StringBetween($erg, "425294", "0A0002")
    $enderead = _StringBetween($erg, "E5085E", "3D95AFDB")
    
    
    $inv = FileOpen($savepath & "\Saves\inventory.txt")
    $invread = StringStripWS(FileRead($inv), 8)
    FileClose($inv)
    
    
    $endstring = $anfangread[0] & $invread & $enderead[0]
    
    
    
    
    $endstring = Binary("0x" & $endstring)
    
    
    
    
    $save = FileOpen($savepath & "\geänder.ply", 1)
    FileWrite($save, $endstring)
    Alles anzeigen
  • Profis-Bitte. Datei auslesen, Hexwerte vergleichen und ändern.

    • chip
    • 3. Mai 2016 um 17:41

    Erstmal noch zwei Fragen dazu:

    1. Ist das ein richtiges ply-File? Sprich ist darin eine Punktwolke gespeichert?
    2. Geht das was du vorhast überhaupt so? Sprich hast das ganze mal per Hand mit einem Hexeditor gemacht?

  • Profis-Bitte. Datei auslesen, Hexwerte vergleichen und ändern.

    • chip
    • 3. Mai 2016 um 16:02

    @meisterlampe00 so simple wie du dir das vorstellst geht das nicht. Schau dir mal das Script an, dort sind eigentlich alle Funktionen die du brauchst: https://www.autoitscript.com/forum/topic/84…edit-functions/

  • Server "vergisst" Passwörter?

    • chip
    • 2. Mai 2016 um 14:04

    Virus? Immerhin gibt es ja für 2000 Server schon seit fast 6 Jahren keinen Sicherheitsupdates mehr.

  • Mehrere Inputeingaben durch Arraybutton

    • chip
    • 30. April 2016 um 11:36

    Wir sind hier alle Privatpersonen.

  • Nach Kompilieren: Unable to open the script file

    • chip
    • 28. April 2016 um 14:56

    Ich habe das jetzt mal kompiliert und erhalte keine Fehlermeldung. Hast du einmal probiert ob eine Neuinstallation von Autoit dein Problem löst?

  • Windows Icons fixieren

    • chip
    • 28. April 2016 um 12:52

    Die IconPosition wir in der Registry unter "HKCU\Software\Microsoft\Windows\Shell\Bags\1\Desktop" im Key "ItemPosXXXxXXX" gespeichert. Sprich du kannst dir auch eine Autoit-Lösung bauen.

  • Diskpart

    • chip
    • 27. April 2016 um 21:09

    @Peter S. Taler

    Das Ergebnis aus "list volume" kannst du aber nicht zu "select disk" verwenden. Da die Volume-Nummern nicht zwingend mit den Disknummer übereinstimmen.

    Beispiel:

    list disk:

    Datentr. Status Größe Frei Dyn GPT
    -------- ---------- ------- ------- --- ---
    Datenträger 0 Online 698 GB 0 B
    Datenträger 1 Online 1864 GB 0 B
    Datenträger 2 Online 7396 GB 0 B <- Wechseldatenträger

    list volume:

    Volume Bst Bezeichnung DS Typ Größe Status Info
    ---------- --- ----------- ----- ---------- ------- --------- --------
    Volume 0 E DVD-ROM
    Volume 1 C NTFS Partition 967 GB Startpatition
    Volume 2 NTFS Partition 300 MB Versteckt
    Volume 3 FAT32 Partition 100 MB System
    Volume 4 NTFS Partition 450 MB Versteckt
    Volume 5 D NTFS Partition 1863 GB
    Volume 6 F Wechselmed 7395 MB <- Wechseldatenträger


    Wie du siehst ist für den USB-Stick die Datenträgernummer die 2 wenn du nun aber die Volumenummer anschaust ist es die 6 und mit der kannst bei "select disk" nichts anfangen.

  • Notifications UDF - Desktop Benachrichtigungen 1.2 (Update 1. Mai)

    • chip
    • 27. April 2016 um 08:47

    @S3cret also CPU Priorität erhöhen hat nichts gebracht. Habe jetzt aber mal _Notifications_SetAnimationTime(1) gemacht. Gefühlt wird das verschieben nun nicht langsamer, was wohl direkt schon an der Startgeschwindigkeit liegt. Reicht mir aber.

    Dabei ist mir noch kleiner Bug aufgefallen. Wenn man _Notifications_SetAnimationTime(0) setzt werden die GUI unten aus dem Desktop raus geschoben, wenn man ein beliebiges Fenster (nicht das letzte ganz unten) schließt.

  • Notifications UDF - Desktop Benachrichtigungen 1.2 (Update 1. Mai)

    • chip
    • 26. April 2016 um 21:01

    Kann ich erst morgen machen, aber hier mal ein Ansatz den ich noch gefunden hatte, welcher eigentlich die Forschleife mit dem Pixelweisen verschieben von jedem einzelnen Fenster überflüssig machen sollte:

    AutoIt
    ; *** Start added by AutoIt3Wrapper ***
    #include <WindowsConstants.au3>
    ; *** End added by AutoIt3Wrapper ***
    #AutoIt3Wrapper_Add_Constants=n
    ;~ Global Const $WM_ENTERSIZEMOVE = 0x231, $WM_EXITSIZEMOVE = 0x232
    
    
    
    
    $gp = GUICreate("main gui", 300, 300, 200, 200)
    GUISetState()
    $gs = GUICreate("dragged gui", 200, 150, 400, 400)
    GUISetState()
    
    
    Global $RelPos[2]
    GUIRegisterMsg($WM_ENTERSIZEMOVE, "setrelpos")
    GUIRegisterMsg($WM_MOVE, "followme")
    
    
    While 1
        If GUIGetMsg() = -3 Then Exit
    WEnd
    
    
    Func followme($hW, $iM, $wp, $lp)
    
    
        If $hW <> $gp Then Return
    
    
        Local $xypos = WinGetPos($gp);use WingetPos rather than the values in $lP
        WinMove($gs, "", $xypos[0] - $RelPos[0], $xypos[1] - $RelPos[1])
    
    
    EndFunc ;==>followme
    
    
    
    
    ;When the primary window starts moving we want to know the relative position of the secondary window.
    Func SetRelPos($hW, $iM, $wp, $lp)
    
    
        If $hW <> $gp Then Return
    
    
        Local $gpp = WinGetPos($gp)
        Local $gsp = WinGetPos($gs)
    
    
        $RelPos[0] = $gpp[0] - $gsp[0]
        $RelPos[1] = $gpp[1] - $gsp[1]
    
    
    
    
    EndFunc ;==>SetRelPos
    Alles anzeigen

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™