Quote:
Originally Posted by WiiZocker
Hey, danke dir es funktioniert super :D
Habe allerdings noch ein problem, ich weiß nicht woran es liegt.
Unzwar, ich habe 3 Filewrite(...) hintereinander aber er ändert nur den ersten eintrag vom Filewrite(...)
Er soll aber alle 3 Filewrite(...) ausführen.
Eine fehlermeldung bekomme ich nicht.)=
Kurz gesagt, er führt nur den ersten der 3 Filewrite(...) aus.
Hier ein ausschnitt:
PHP Code:
Func HDM() ;Niemals [H]unger [D]urst und nie [M] =[HDM]
If GUICtrlRead($HDM_Werte) = 1 Then
$UnitsLive = FileRead("mods\S2Ext\sys\units.inf")
$units = FileOpen("mods\S2Ext\sys\units.inf", 2)
FileWrite($units, StringReplace($UnitsLive, "#2", "timer "&"self"&",1000,0;"))
FileWrite($units, StringReplace($UnitsLive, "#3", "on:timer {"))
FileWrite($units, StringReplace($UnitsLive, "#4", "jade -100;}"))
FileClose($units)
MsgBox(0,"Hinweis","Kein Hunger,Durst und nie Müde Aktiviert.")
Else
EndIf
EndFunc
|
hast du dir überhaupt mal angeschaut was der code macht den ich als beispiel gepostet habe? -.-
sry aber manchmal erreicht man einen punkt im leben wo komplett ohne denken nichts mehr geht...
du liest die datei ein und speicherst den inhalt unter "$UnitsLive" (warum auch immer du die so genannt hast). danach nimmst du den inhalt und änderst was drann... überschreibst aber nicht den alten inhalt... das veränderte schreibst du dann neu in die datei... danach nimmst du wieder den originalen inhalt den du anfangs ausgelesen hast, und änderst wieder was drann ohne was zu speichern, und schreibst das geänderte wieder ins file... damit ist natürlich die erste änderung wieder weg. das ganze wiederholst du dann nochmal...
ums mal für idition verständlich auszudrücken... du hast nen string "abcde"
also:
jetz sagste dir hey ich mach mal das a zum b und geb das inner console aus:
Code:
ConsoleWrite(StringReplace($string, 'a', 'b')&@CRLF)
und inner console steht "bbcde"...
ui toll änder ich mal das c zum a
Code:
ConsoleWrite(StringReplace($string, 'c', 'a')&@CRLF)
jetz steht inner console "abade" und du fragst dich ersthaft warum?
is ja schön das du den ausgang der funktion tatsächlich direkt weiterverarbeitest, ohne das original anzufassen. nur ist das ganze recht witzlos, wenn du danach das ganze noch weiterverarbeiten willst, und dafür wieder das original nutzt...
also entweder du arbeitest mit zwischen ergebnissen, oder du verkettest die replace befehle... wie dem auch sei, wenn du schon von anderen hilfe nutzt, versuch mal nicht nur deine Strg, C und V tasten zu nutzen dabei, sondern vielleicht auchmal ganz kurz deinen kopf einschalten :P
du würdest dich wundern, wie viele sinnlose posts/threads man damit sparen könnte hier im forum.