Hallo Wir haben das schon mal gehabt aber ich habe erneut ein problem damit
Spoiler anzeigen
; Brav alle Variablen deklarieren
Local $filename = @ScriptDir & "\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 = 10 ; 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)\)\)',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] * $Multiplikator) & ' ' & String($alterWert[2] * $Multiplikator)
$meinarray[$nLfd] = StringRegExpReplace($meinarray[$nLfd],'\(money \((\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)
Bei diesem Script wird (money (200 300)) verändert genauer 200*10 und 300*10
ich habe noch nicht ganz raus wie ich dem script sage was er genau machen soll
wie stelle ich das hier an das er nur
300*10 rechnet aber den rest in ruhe lässt ?