Das mit der Textdatei hab ich zuspät gesehen, meine sieht so aus:
Spoiler anzeigen
jsdafkljsdökjföasdkjf
asdklfjalksdjfiejkfjasjke
asejfawioefjöawefawe
(monster (name 1) (index 1) (country 0) (race 0) (level 1) (ai 1) (range 20) (sight 160 240) (exp 20) (itemgroup 1 2)
(str 21) (hth 1) (int 10) (wis 10) (dex 2) (hp 1) (mp 70) (aspeed 2400) (hit 0) (dodge 0)
(attack 0 7 7) (magic 0 0) (defense 0 0) (absorb 0) (mspeed 1600 800)
(quest (2 1 901 1) (3 1 902 1) (54 1 1025 1) (8001 1 933 1)))
jsdafkljsdökjföasdkjf
asdklfjalksdjfiejkfjasjke
asejfawioefjöawefawe
Und hier mal der AutoIT Code zum ersetzen:
Spoiler anzeigen
; Brauch ich für das einlesen der Datei und das schreiben
#include <File.au3>
; Brav alle Variablen deklarieren
Local $filename = @ScriptDir & '\testdatei.txt' ; Name der Datei
Local $meinarray ; Darin lege ich die Datei ab und ändere den Wert auf den neuen
Local $newEXP = 52 ; Der neue Wert der in exp rein soll
Local $nLfd ; einfach ein Variable zum zählen
; Hier wird die Datei eingelesen und in ein Array gepackt
_FileReadToArray($filename,$meinarray)
; 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]
$meinarray[$nLfd] = StringRegExpReplace($meinarray[$nLfd],'\(exp (\d\d)\)','(exp ' & $newEXP & ')')
Next
; Da (falls gefunden) die Ersetzung im Array stattgefunden hat, muss ich
; das Array wieder in die Datei schreiben
_FileWriteFromArray($filename,$meinarray,1,$meinarray[0])
;FERITG
Exit