Gelöst nach 2 weiteren stunden des Testens kam diese lösung raus
Spoiler anzeigen
; Brav alle Variablen deklarieren
Local $filename = GUICtrlRead($Input1) & '\ItemGroup.txt' ; Name der Datei
Local $meinarray ; Darin lege ich die Datei ab und ändere den Wert auf den neuen
Local $meinarray1
Local $newEXP ; Der neue Wert der in exp rein soll
Local $nLfd ; einfach ein Variable zum zählen
Local $nLfd1
Local $alterWert ; Für den alten Wert
Local $Multiplikator = GUICtrlRead($Input2) ; Mit was * genommen werden soll
Local $Multiplikator2 = 0 ; Mit was * genommen werden soll
Local $arr ; Hilfs - Array
Local $hFile ; FileHandle
$hFile = FileOpen($filename,0) ; Datei zum lesen öffnen
_FileReadToArray($filename,$meinarray) ; Hier wird die Datei eingelesen und in ein Array gepackt
FileClose($hFile) ; Datei schliessen
; Datei zum schreiben öffnen
$hFile = FileOpen($filename,2)
; Hier prüfe ich jede Zeile im Array (von 1 bis maximal Index, der in Index 0 steht)
; ob er was ersetzen kann
For $nLfd = 1 To $meinarray[0]
$arr = StringRegExp($meinarray[$nLfd],'\(money \((\d\d\d \d\d\d)\)\)',3) ;<= hier war zuviel
If Not @error AND IsArray($arr) Then
;~ $alterWert = $arr[0]
;~ $newEXP = $alterWert * $Multiplikator ;<= kann nicht gehen, in $arr[0] steht 920 200 und du willst beide Zahlen mal nehmen
$alterWert = StringSplit($arr[0],' ')
$newEXP = String($alterWert[1] + $Multiplikator2) & ' ' & String($alterWert[2] * $Multiplikator)
$meinarray[$nLfd] = StringRegExpReplace($meinarray[$nLfd],'\(money \((\d\d\d \d\d\d)\)\)','(money (' & $newEXP & '))') ;<= hier war zuviel
EndIf
If $nLfd <> $meinarray[0] Then $meinarray[$nLfd] &= @CRLF
FileWrite($hFile,$meinarray[$nLfd])
Next
; Datei schliessen
FileClose($hFile)