Page 1 of 1

Werte in einer INI Datei speichern

Posted: 03 Jan 2018, 00:46
by wengarlengar
Hey,
ich habe folgendes anliegen, ich Lese anhand Imagesearch Zahlen in einem Spiel aus, in diesem Falle Gewicht und ich möchte diese gerne Speichern aber ich weiß nicht wie ich das hin kriege.
Jedes Gewicht soll eine eigene Sektion haben also z.b

(Das erste hier bekomme ich Gespeichert aber ich brauche ja mehrere Sektionen)
[Gewicht1]
Gewicht1=1
Gewicht2=3
Gewicht3=1
Gewicht4=4
GesammtGewicht=1,314

dann Gewicht2

[Gewicht2]
Gewicht1=4
Gewicht2=1
Gewicht3=3
Gewicht4=6
GesammtGewicht=4,136

und so weiter...
Ich bedanke mich jetzt schon Herzlich für jede Hilfe :) <3

Hier ein noch Beispiel zu Veranschaulichung

Gewicht1 = 1
Gewicht2 = 3
Gewicht3 = 1
Gewicht3 =4

GewichtGesammt = Gewicht1 , Gewicht2Gewicht3Gewicht3
GewichtGesammt = 1,314 kg

Hier der Code

Code: Select all

GewichtErmittlungFkt()
{
Gewicht1X:=722
Gewicht1Y:=783
Gewicht1X2:=741
Gewicht1Y2:=813
ImageSearch, XPos2, YPos2, Gewicht1X, Gewicht1Y, Gewicht1X2, Gewicht1Y2, *25 D:\Fishing\Null.png
if ErrorLevel = 0
{
Gewicht1:=0
}
ImageSearch, XPos2, YPos2, 722, 783, 741, 813, *25 D:\Fishing\Eins.png
if ErrorLevel = 0
{
Gewicht1:=1
}
ImageSearch, XPos2, YPos2, 722, 783, 741, 813, *25 D:\Fishing\Zwei.png
if ErrorLevel = 0
{
Gewicht1:=2
}
ImageSearch, XPos2, YPos2, 722, 783, 741, 813, *25 D:\Fishing\Drei.png
if ErrorLevel = 0
{
Gewicht1:=3
}
ImageSearch, XPos2, YPos2, 722, 783, 741, 813, *25 D:\Fishing\Vier.png
if ErrorLevel = 0
{
Gewicht1:=4
}
ImageSearch, XPos2, YPos2, 722, 783, 741, 813, *25 D:\Fishing\Fünf.png
if ErrorLevel = 0
{
Gewicht1:=5
}
ImageSearch, XPos2, YPos2, 722, 783, 741, 813, *25 D:\Fishing\Sechs.png
if ErrorLevel = 0
{
Gewicht1:=6
}
ImageSearch, XPos2, YPos2, 722, 783, 741, 813, *25 D:\Fishing\Sieben.png
if ErrorLevel = 0
{
Gewicht1:=7
}
ImageSearch, XPos2, YPos2, 722, 783, 741, 813, *25 D:\Fishing\Acht.png
if ErrorLevel = 0
{
Gewicht1:=8
}
ImageSearch, XPos2, YPos2, 722, 783, 741, 813, *25 D:\Fishing\Neun.png
if ErrorLevel = 0
{
Gewicht1:=9
}


sleep 50


Gewicht2X:=747
Gewicht2Y:=783
Gewicht2X2:=763
Gewicht2Y2:=813
ImageSearch, XPos2, YPos2, Gewicht2X, Gewicht2Y, Gewicht2X2, Gewicht2Y2, *25 D:\Fishing\Null.png
if ErrorLevel = 0
{
Gewicht2:=0
}
ImageSearch, XPos2, YPos2, Gewicht2X, Gewicht2Y, Gewicht2X2, Gewicht2Y2, *25 D:\Fishing\Eins.png
if ErrorLevel = 0
{
Gewicht2:=1
}
ImageSearch, XPos2, YPos2, Gewicht2X, Gewicht2Y, Gewicht2X2, Gewicht2Y2, *25 D:\Fishing\Zwei.png
if ErrorLevel = 0
{
Gewicht2:=2
}
ImageSearch, XPos2, YPos2, Gewicht2X, Gewicht2Y, Gewicht2X2, Gewicht2Y2, *25 D:\Fishing\Drei.png
if ErrorLevel = 0
{
Gewicht2:=3
}
ImageSearch, XPos2, YPos2, Gewicht2X, Gewicht2Y, Gewicht2X2, Gewicht2Y2, *25 D:\Fishing\Vier.png
if ErrorLevel = 0
{
Gewicht2:=4
}
ImageSearch, XPos2, YPos2, Gewicht2X, Gewicht2Y, Gewicht2X2, Gewicht2Y2, *25 D:\Fishing\Fünf.png
if ErrorLevel = 0
{
Gewicht2:=5
}
ImageSearch, XPos2, YPos2, Gewicht2X, Gewicht2Y, Gewicht2X2, Gewicht2Y2, *25 D:\Fishing\Sechs.png
if ErrorLevel = 0
{
Gewicht2:=6
}
ImageSearch, XPos2, YPos2, Gewicht2X, Gewicht2Y, Gewicht2X2, Gewicht2Y2, *25 D:\Fishing\Sieben.png
if ErrorLevel = 0
{
Gewicht2:=7
}
ImageSearch, XPos2, YPos2, Gewicht2X, Gewicht2Y, Gewicht2X2, Gewicht2Y2, *25 D:\Fishing\Acht.png
if ErrorLevel = 0
{
Gewicht2:=8
}
ImageSearch, XPos2, YPos2, Gewicht2X, Gewicht2Y, Gewicht2X2, Gewicht2Y2, *25 D:\Fishing\Neun.png
if ErrorLevel = 0
{
Gewicht2:=9
}

sleep 50

Gewicht3X:=762
Gewicht3Y:=784
Gewicht3X2:=780
Gewicht3Y2:=813
ImageSearch, XPos2, YPos2, Gewicht3X, Gewicht3Y, Gewicht3X2, Gewicht3Y2, *25 D:\Fishing\Null.png
if ErrorLevel = 0
{
Gewicht3:=0
}
ImageSearch, XPos2, YPos2, Gewicht3X, Gewicht3Y, Gewicht3X2, Gewicht3Y2, *25 D:\Fishing\Eins.png
if ErrorLevel = 0
{
Gewicht3:=1
}
ImageSearch, XPos2, YPos2, Gewicht3X, Gewicht3Y, Gewicht3X2, Gewicht3Y2, *25 D:\Fishing\Zwei.png
if ErrorLevel = 0
{
Gewicht3:=2
}
ImageSearch, XPos2, YPos2, Gewicht3X, Gewicht3Y, Gewicht3X2, Gewicht3Y2, *25 D:\Fishing\Drei.png
if ErrorLevel = 0
{
Gewicht3:=3
}
ImageSearch, XPos2, YPos2, Gewicht3X, Gewicht3Y, Gewicht3X2, Gewicht3Y2, *25 D:\Fishing\Vier.png
if ErrorLevel = 0
{
Gewicht3:=4
}
ImageSearch, XPos2, YPos2, Gewicht3X, Gewicht3Y, Gewicht3X2, Gewicht3Y2, *25 D:\Fishing\Fünf.png
if ErrorLevel = 0
{
Gewicht3:=5
}
ImageSearch, XPos2, YPos2, Gewicht3X, Gewicht3Y, Gewicht3X2, Gewicht3Y2, *25 D:\Fishing\Sechs.png
if ErrorLevel = 0
{
Gewicht3:=6
}
ImageSearch, XPos2, YPos2, Gewicht3X, Gewicht3Y, Gewicht3X2, Gewicht3Y2, *25 D:\Fishing\Sieben.png
if ErrorLevel = 0
{
Gewicht3:=7
}
ImageSearch, XPos2, YPos2, Gewicht3X, Gewicht3Y, Gewicht3X2, Gewicht3Y2, *25 D:\Fishing\Acht.png
if ErrorLevel = 0
{
Gewicht3:=8
}
ImageSearch, XPos2, YPos2, Gewicht3X, Gewicht3Y, Gewicht3X2, Gewicht3Y2, *25 D:\Fishing\Neun.png
if ErrorLevel = 0
{
Gewicht3:=9
}

sleep 50

Gewicht4X:=778
Gewicht4Y:=781
Gewicht4X2:=800
Gewicht4Y2:=813
ImageSearch, XPos2, YPos2, Gewicht4X, Gewicht4Y, Gewicht4X2, Gewicht4Y2, *25 D:\Fishing\Null.png
if ErrorLevel = 0
{
Gewicht4:=0
}
ImageSearch, XPos2, YPos2, Gewicht4X, Gewicht4Y, Gewicht4X2, Gewicht4Y2, *25 D:\Fishing\Eins.png
if ErrorLevel = 0
{
Gewicht4:=1
}
ImageSearch, XPos2, YPos2, Gewicht4X, Gewicht4Y, Gewicht4X2, Gewicht4Y2, *25 D:\Fishing\Zwei.png
if ErrorLevel = 0
{
Gewicht4:=2
}
ImageSearch, XPos2, YPos2, Gewicht4X, Gewicht4Y, Gewicht4X2, Gewicht4Y2, *25 D:\Fishing\Drei.png
if ErrorLevel = 0
{
Gewicht4:=3
}
ImageSearch, XPos2, YPos2, Gewicht4X, Gewicht4Y, Gewicht4X2, Gewicht4Y2, *25 D:\Fishing\Vier.png
if ErrorLevel = 0
{
Gewicht4:=4
}
ImageSearch, XPos2, YPos2, Gewicht4X, Gewicht4Y, Gewicht4X2, Gewicht4Y2, *25 D:\Fishing\Fünf.png
if ErrorLevel = 0
{
Gewicht4:=5
}
ImageSearch, XPos2, YPos2, Gewicht4X, Gewicht4Y, Gewicht4X2, Gewicht4Y2, *25 D:\Fishing\Sechs.png
if ErrorLevel = 0
{
Gewicht4:=6
}
ImageSearch, XPos2, YPos2, Gewicht4X, Gewicht4Y, Gewicht4X2, Gewicht4Y2, *25 D:\Fishing\Sieben.png
if ErrorLevel = 0
{
Gewicht4:=7
}
ImageSearch, XPos2, YPos2, Gewicht4X, Gewicht4Y, Gewicht4X2, Gewicht4Y2, *25 D:\Fishing\Acht.png
if ErrorLevel = 0
{
Gewicht4:=8
}
ImageSearch, XPos2, YPos2, Gewicht4X, Gewicht4Y, Gewicht4X2, Gewicht4Y2, *25 D:\Fishing\Neun.png
if ErrorLevel = 0
{
Gewicht4:=9
}

sleep 50

 MsgBox,%Gewicht1%,%Gewicht2%%Gewicht3%%Gewicht4%
 IniWrite, %Gewicht1%, D:\Fishing\GefangeFische.ini, Gewicht, Gewicht1
 IniWrite, %Gewicht2%, D:\Fishing\GefangeFische.ini, Gewicht, Gewicht2
 IniWrite, %Gewicht3%, D:\Fishing\GefangeFische.ini, Gewicht, Gewicht3
 IniWrite, %Gewicht4%, D:\Fishing\GefangeFische.ini, Gewicht, Gewicht4
    
return
}

Re: Werte in einer INI Datei speichern

Posted: 03 Jan 2018, 04:50
by BoBo
Versuch mal diese unmengen an redundatem code mittels schleife (und ggf array) einzudampfen.
Danach ließe sich dann auch ein variable(n basierende)s INIWrite mit einbinden.

PS. Hier schon mal eine Gesamtgewichtzeile: Gesamtgewicht := Gewicht1 . "," . Gewicht2 . Gewicht3 . Gewicht4 . " kg"

Re: Werte in einer INI Datei speichern

Posted: 03 Jan 2018, 14:41
by BoBo

Code: Select all

#SingleInstance, Force

INIPath := "D:\Fishing\GefangeFische.ini"

Loop, 4 {
   D1 := GetDigit(722,783,740,813)   ; überprüfe an koordinate 1 auf match mit einem der 10 abbilder von zahlen
   D2 := GetDigit(747,783,760,813)   ; ... an koord 2
   D3 := GetDigit(762,783,780,813)   ; ... an koord 3
   D4 := GetDigit(777,783,800,813)   ; ... an koord 4
   MsgBox % "Gesamtgewicht: " . D1 . "," . D2 . D3 . D4 . " kg" ; anzeige der ermittelten zahlenwerte
   INIWrite,% D1,% INIPath,% "Gewicht" . A_Index,% "Gewicht1"   ; übergabe des 1. 'zahlenwertes'
   INIWrite,% D2,% INIPath,% "Gewicht" . A_Index,% "Gewicht2"   ; 2.
   INIWrite,% D3,% INIPath,% "Gewicht" . A_Index,% "Gewicht3"   ; 3.
   INIWrite,% D4,% INIPath,% "Gewicht" . A_Index,% "Gewicht4"   ; 4.
   }

GetDigit(X, Y, X2, Y2) {
   Loop 10 {
      imgNo := A_Index-1
      ImageSearch, XPos2, YPos2, X, Y, X2, Y2, *25 D:\Fishing\%imgNo%.png   ; hier wird z.b. gegen '9.png' geprüft NICHT 'neun.png' !!!
      If (ErrorLevel = 0)
         Return imgNo
      }
   }

F10::Run,% INIPath   ; drücke F10 zur anzeige der INI-datei
Nicht getestet.

Re: Werte in einer INI Datei speichern

Posted: 03 Jan 2018, 15:20
by wengarlengargast
Hey ,
vielen danke ich werde es später ausprobieren aber was meinst du mit "hier wird gegen 9.png geprüft, nicht gegen neun.png ?
die datei heißt neun.png

Re: Werte in einer INI Datei speichern

Posted: 03 Jan 2018, 15:32
by BoBo
Zehn dateien umzubenennen ist dir zu kompliziert? Na dann. :yawn:
Spoiler