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. thewanderer

Beiträge von thewanderer

  • Probleme mit Arrays

    • thewanderer
    • 6. Februar 2016 um 18:21

    Ich bin auch sehr verwundert, dass man erst alleine da steht mit seinen Fragen und dann gibts ein Battle, wessen Lösung noch schneller ist *g*

    Wenn ich die beiden "Spalten" vertauschen will (die Zahlen vorne untereinander ist lesbarer), kann ich das mit _arrayswap machen, oder besser mit _arraytranspose?

  • Probleme mit Arrays

    • thewanderer
    • 6. Februar 2016 um 13:54

    Skripte laufen super, ich versuche auch gerade nachzuvollziehen, wie die einzelnen Funktionen und Parameter funktionieren. Klappt auch soweit ganz gut, aber an einer Stelle häng ich grade fest, da liefert mir sowohl Google, wie auch die Hilfe keine Info's.

    $aFound=_ArrayFindAll($aResult_u,$aResult_u[$z][0]);,0,0,0,2)

    Laut Dr. Google und der Hilfe kommt ja als 2. Parameter der zu suchende Wert rein. Woher kommt das $Z bzw was bewirkt das?

  • Probleme mit Arrays

    • thewanderer
    • 6. Februar 2016 um 12:53

    Händisch nachgerechnet:

    Aventurin: 74
    Funkelblatt: 9
    Durchsichtiger Stoff: 4
    Thalasiterz: 4
    Thalasit-Kristall: 2
    Sagenumwobenes Fell: 3
    Thalasit-Kristall: 2
    alles andere 1x


    Kann man eigentlich ein 2D Array mit Stringinstr durchsuchen?
    Versuche grade die [ ] raus zu bekommen

  • Probleme mit Arrays

    • thewanderer
    • 6. Februar 2016 um 12:36

    Thx for Info autoBert. Hab mein autoit aktuallisiert, nu funktioniert es prima. Jetzt kann ich mir überlegen, welche für mich die bessere bzw einfachere Möglichkeit ist. mit stringregexp (hardcore), oder ohne. ;)

  • Probleme mit Arrays

    • thewanderer
    • 6. Februar 2016 um 11:39

    Vielen Dank für eure Hilfe,
    da sieht man mal, dass meine Denkweise viel zu kompliziert ist. Eure Skripte sind nicht mal annähernd so lang wie meine.
    Klar lernt man durch probieren am besten, deshalb hab ich mich ja auch selbst über eine Lösung gemacht. Ich benutz auch nicht eure Skripte einfach so, weil ich verstehen will, was da vor sich geht, deshalb hab ich auch gleich noch ein paar Fragen. Ich finde es auch sehr gut, dass ich verschiedene Programmierstile von euch sehe, nach dem Motto - viele Wege führen nach Rom.


    @Mars
    ist die Zeile 6 "_ArrayDisplay($aLog)" nötig? so wie ich das sehe, wird $aLog im ganzen Skript nicht mehr verwendet
    Kannst du mir sagen, warum du bei der ersten Schleife (Zeile 14) am Logende anfängst und Rückwärts zählst?

    @autoBert ich bekomme bei der Funktion "_ArrayColInsert($aResult_u,1)" einen Error - undefined function. Mach ich da was falsch? Kann in der Hilfe die Funktion auch nicht finden.

  • Probleme mit Arrays

    • thewanderer
    • 5. Februar 2016 um 21:37

    Selbverständlich bin ich dabei selbst eine Lösung zu finden. Das erste Problem habe ich ja auch schon gelöst. Ich möchte hier kein fertiges Skript von euch haben, sondern hatte lediglich Fragen gestellt.

    Zitat: Und noch eine Frage hätte ich, ist es möglich wenn im 2. Array mehrmals z.B. Funkelblatt x 2, Funkelblatt x 4 etc steht, alles auf eine Zeile zu bekommen und die Multiplikatoren zusammen addiert?

    Aber wenn es zu viel verlangt ist, einfach nur eine Antwort zu geben und stattdessen dumme Sprüche zu schwingen, bin ich hier warscheinlich falsch. Dann würde ich das Forenthema auch nicht "Hilfe & Unterstützung" nennen !!!

  • Probleme mit Arrays

    • thewanderer
    • 5. Februar 2016 um 21:09

    Ich habe das erste Problem, weshalb mir in func f2 die Arrays nicht angezeigt wurden gelöst. Der Funktionsaufruf f2() ist mir eine Zeile zu tief gerutscht. Sollte vor dem "Next" stehen, nicht danach.

    @Mars
    Ich bin gerade in Rift online und habe mich mit einem GM unterhalten.
    Zitat: Mit deinen lokalen Daten kannst du machen was du möchtest, solange dadurch kein Eingriff in das Spiel genommen wird. Zitatende

    Ich spiele hier mit meinen Kidd's zusammen und wir möchten ja nur für uns eine Auswertung, wer wie viele Materialien gesammelt hat. Es greift also NICHT auf das Spiel zu und ist damit in Ordnung. Im übrigens bin ich selbst gegen "Bot's", falls es darauf abzielt. Wo bleibt der Spielspass, wenn man irgendwelche Funktionen durch Programme abnehmen lässt? Werde ich nie verstehen... ;)

    PS: Ich habe die Namen sowohl im Thread, wie auch in der angehängten datei mit yyy ersetzt

  • Probleme mit Arrays

    • thewanderer
    • 5. Februar 2016 um 20:33

    angehängt... ;)

  • Probleme mit Arrays

    • thewanderer
    • 5. Februar 2016 um 18:36

    Hallo erst einmal an alle,
    ich habe vor 2 Wochen angefangen mit mit autoit zu beschäftigen.Nun stehe ich aber vor meinem ersten Problem

    Ich zocke Rift (MMO-Game) - und nein, ich habe nicht vor einen Bot zu bauen, sondern nur eine Auswertung für mich ;)

    Wenn ich dort Materialien abbaue, wird das alles in eine Log geschrieben mit folgendem Aufbau

    Spoiler anzeigen

    21:37:02: xxx hat 0 SEP erhalten
    21:37:03: Ihr erhaltet: Aventurin x 4
    21:37:04: Ihr erhaltet: [Thalasiterz]
    21:37:04: Ihr erhaltet: [Thalasit-Kristall]
    21:37:04: Ihr erhaltet: [Funkelblatt] x 4
    21:37:06: yyy hat 0 SEP erhalten
    21:37:06: Ihr erhaltet: Aventurin x 10
    21:37:09: Ihr erhaltet: [Kleiner 5-Sterne-Dimensionsvorrat]
    21:37:11: yyy hat 0 SEP erhalten
    21:37:11: Ihr erhaltet: Aventurin x 12
    21:37:14: Ihr erhaltet: [Zuckerstange]
    21:39:28: [yyy] hat Folgendes hergestellt: [Nebulöse Träume]!
    21:39:59: Protokoll außerhalb von Kämpfen aktiviert.
    21:42:29: *[yyy] winkt Heneth zu.*
    21:42:43: *[yyy] winkt yyy freundlich zu.*
    21:44:59: [9. Stufe 65][Volturnus@Gelidra]: <Skins on Farm> Infophone: New T3 Skin (1H Sword) in Vault 2! Please note guild vaults are locked from Feb5 to Feb29! Cheers - Volt
    21:47:33: [yyy] hat Folgendes hergestellt: [Geläuterter Albtraum]!
    21:48:07: yyy hat 0 SEP erhalten

    Mich interessieren aber nur die Zeilen, in welchen "Ihr erhaltet:" vorkommt. Weiter möchte ich erreichen, daß nur in meiner Auswertung steht, was ich erhalten habe, also z.B. "[Funkelblatt] x 4". Das habe ich auch schon soweit geschafft. Allerdings wird das eine ellenlange Liste, da er alles mehrmals rein schreibt. Meine Idee war jetzt folgende:

    AutoIt
    #include <Debug.au3>
    #include <File.au3>
    #include <Timers.au3>
    #include <Misc.au3>
    #include <ButtonConstants.au3>
    #include <MsgBoxConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <array.au3>
    #include <String.au3>
    Global $log = (@MyDocumentsDir & '\RIFT\log.txt')
    Global $plog = @ScriptDir & "\pickup.txt"
    FileOpen($plog, 2)
    Global $file = FileRead(@MyDocumentsDir & "\RIFT\log.txt")
    Local $zeilen = _FileCountLines($log)
    f1()
    func f1()
    Local $count_log = _FileCountLines($log)
    	for $i = 1 To $count_log
    	Global $aResult_u = StringRegExp($file, 'Ihr erhaltet: (.*)', 3)
    		If Not @error Then
    			_ArrayDisplay($aResult_u)
    			$a_temp = StringSplit($aResult_u[UBound($aResult_u) - 1], "@CRLF")
    			Global $a_split[UBound($aResult_u)][$a_temp[0]]
    				For $h = 1 To UBound($aResult_u) - 1
    				$a_temp = StringSplit($aResult_u[$h], "x")
    				For $j = 1 To $a_temp[0]
    				$a_split[$h][$j -1] = $a_temp[$j]
    				Next
    				Next
    				_ArrayDelete($a_split, 0)
    				_ArraySort($a_split)
    				_FileWriteFromArray($plog, $a_split)
    				_ArrayDisplay($a_split)
    		EndIf
    f2()
    	Next	
    EndFunc
    func f2()
    	_ArrayDisplay($a_split)
    EndFunc
    Alles anzeigen

    Hiermit bekomme ich ein Array, in welchem zuerst nur ausgegeben wird, was ich erhalten habe (also restlicher Mist raus) und ein Array in dem ich die erhaltene Anzahl an Materialien gesplittet habe.

    screen1.png screen2.png


    Mein Problem ist jetzt, daß ich in func f2() die Arrays, welche ich in func f1() erstellt habe nicht angezeigt bekomme. <- Gelöst (Funktionsaufruf f2() war nach next)
    Ich wollte zu Lernzwecken versuchen in einer extra Funktion die [ ] aus den Arrays zu bekomen.

    Und noch eine Frage hätte ich, ist es möglich wenn im 2. Array mehrmals z.B. Funkelblatt x 2, Funkelblatt x 4 etc steht, alles auf eine Zeile zu bekommen und die Multiplikatoren zusammen addiert?

    Wie gesagt, ich beschäftige mich erst seit 2 Wochen mit autoit...

    Dateien

    log.txt 11,74 kB – 298 Downloads

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™