Function Drawimages_Spieler_links()
	If ItemId_AusruestungBeine=0 Then
		DrawImage Spielergeht_links_nurBeine,Sp_X#,Sp_Y#,frmSpgeht_links
	EndIf
	If ItemId_AusruestungBeine=1 Then
		DrawImage Spielergeht_links_nurBeine_RoteHose,Sp_X#,Sp_Y#
	EndIf
	If ItemId_AusruestungGuertel=0 Then
		DrawImage Spieler_links_nurGuertel,Sp_X#,Sp_Y#
	EndIf
	If ItemId_AusruestungOberkoerper=0 Then
		DrawImage Spieler_links_nurOberkoerper,Sp_X#,Sp_Y#
	EndIf
	If ItemId_AusruestungKopf=0 Then
		DrawImage Spieler_links_nurKopf,Sp_X#,Sp_Y#
	EndIf
	If ItemId_Waffen_Schwert=1 Then
		DrawImage Spieler_links_nurUebungsKatana,Sp_X#,Sp_Y#
		If Inventargeoffnet Then
			UebungsKatana_Ausgeruestet=True
		Else
			UebungsKatana_Ausgeruestet=False
		EndIf
	EndIf
End Function 



Function Drawimages_Spieler_rechts()
   If ItemId_AusruestungBeine=0 Then
    DrawImage Spieler_nurBeine,Sp_X#,Sp_Y#
   EndIf
   If ItemId_AusruestungBeine=1 Then
    DrawImage Spieler_nurBeine_RoteHose,Sp_X#,Sp_Y#
   EndIf
   If ItemId_AusruestungGuertel=0 Then
    DrawImage Spieler_nurGuertel,Sp_X#,Sp_Y#
   EndIf
   If ItemId_AusruestungOberkoerper=0 Then
    DrawImage Spieler_nurOberkoerper,Sp_X#,Sp_Y#
   EndIf
   If ItemId_AusruestungKopf=0 Then
    DrawImage Spieler_nurKopf,Sp_X#,Sp_Y#
   EndIf
   If ItemId_Waffen_Schwert=1 Then
    DrawImage Spieler_nurUebungsKatana,Sp_X#,Sp_Y#
    If Inventargeoffnet Then
     UebungsKatana_Ausgeruestet=True
    Else
     UebungsKatana_Ausgeruestet=False
    EndIf
   EndIf
End Function 



Function Drawimages_Spielergehtrechts()
   If ItemId_AusruestungBeine=0 Then
  DrawImage Spielergeht_nurBeine,Sp_X#,Sp_Y#,frmSpgeht_rechts
 EndIf
 If ItemId_AusruestungBeine=1 Then
  DrawImage Spielergeht_nurBeine_RoteHose,Sp_X#,Sp_Y#
 EndIf
 If ItemId_AusruestungGuertel=0 Then
  DrawImage Spieler_nurGuertel,Sp_X#,Sp_Y#
 EndIf
 If ItemId_AusruestungOberkoerper=0 Then
  DrawImage Spieler_nurOberkoerper,Sp_X#,Sp_Y#
 EndIf
 If ItemId_AusruestungKopf=0 Then
  DrawImage Spieler_nurKopf,Sp_X#,Sp_Y#
 EndIf
 If ItemId_Waffen_Schwert=1 Then
  DrawImage Spieler_nurUebungsKatana,Sp_X#,Sp_Y#
   If Inventargeoffnet Then
    DrawImage UebungsKatanaAusgeruestet,Sp_X#,Sp_Y#
   EndIf
 EndIf
End Function 



Function Drawimages_Spielergehtlinks()
 If ItemId_AusruestungBeine=0 Then
  DrawImage Spielergeht_links_nurBeine,Sp_X#,Sp_Y#,frmSpgeht_links
 EndIf
 If ItemId_AusruestungBeine=1 Then
  DrawImage Spielergeht_links_nurBeine_RoteHose,Sp_X#,Sp_Y#
 EndIf
 If ItemId_AusruestungGuertel=0 Then
  DrawImage Spieler_links_nurGuertel,Sp_X#,Sp_Y#
 EndIf
 If ItemId_AusruestungOberkoerper=0 Then
  DrawImage Spieler_links_nurOberkoerper,Sp_X#,Sp_Y#
 EndIf
 If ItemId_AusruestungKopf=0 Then
  DrawImage Spieler_links_nurKopf,Sp_X#,Sp_Y#
 EndIf
 If ItemId_Waffen_Schwert=1 Then
  DrawImage Spieler_links_nurUebungsKatana,Sp_X#,Sp_Y#
    If Inventargeoffnet Then
     UebungsKatana_Ausgeruestet=True
    Else
     UebungsKatana_Ausgeruestet=False
    EndIf
 EndIf
End Function



Function Drawimages_SpielerSpringt_rechts()
   If ItemId_AusruestungBeine=0 Then
    DrawImage Spieler_Sprung_nurBeine,Sp_X#,Sp_Y#-113,frmSpSpr_rechts
   EndIf
   If ItemId_AusruestungBeine=1 Then
    DrawImage Spieler_nurBeine_RoteHose,Sp_X#,Sp_Y#
   EndIf
   If ItemId_AusruestungGuertel=0 Then
    DrawImage Spieler_Sprung_nurGuertel,Sp_X#,Sp_Y#-113,frmSpSpr_rechts
   EndIf
   If ItemId_AusruestungOberkoerper=0 Then
    DrawImage Spieler_Sprung_nurOberkoerper,Sp_X#,Sp_Y#-113,frmSpSpr_rechts
   EndIf
   If ItemId_AusruestungKopf=0 Then
    DrawImage Spieler_Sprung_nurKopf,Sp_X#,Sp_Y#-113,frmSpSpr_rechts
   EndIf
   If ItemId_Waffen_Schwert=1 Then
    DrawImage Spieler_Sprung_nurUebungsKatana,Sp_X#,Sp_Y#-113,frmSpSpr_rechts
    If Inventargeoffnet Then
     UebungsKatana_Ausgeruestet=True
    Else
     UebungsKatana_Ausgeruestet=False
    EndIf
   EndIf
End Function



Function Drawimages_SpielerSpringt_links()
   If ItemId_AusruestungBeine=0 Then
    DrawImage Spieler_Sprung_links_nurBeine,Sp_X#,Sp_Y#-113,frmSpSpr_links
   EndIf
   If ItemId_AusruestungBeine=1 Then
    DrawImage Spieler_nurBeine_RoteHose,Sp_X#,Sp_Y#
   EndIf
   If ItemId_AusruestungGuertel=0 Then
    DrawImage Spieler_Sprung_links_nurGuertel,Sp_X#,Sp_Y#-113,frmSpSpr_links
   EndIf
   If ItemId_AusruestungOberkoerper=0 Then
    DrawImage Spieler_Sprung_links_nurOberkoerper,Sp_X#,Sp_Y#-113,frmSpSpr_links
   EndIf
   If ItemId_AusruestungKopf=0 Then
    DrawImage Spieler_Sprung_links_nurKopf,Sp_X#,Sp_Y#-113,frmSpSpr_links
   EndIf
   If ItemId_Waffen_Schwert=1 Then
    DrawImage Spieler_Sprung_links_nurUebungsKatana,Sp_X#,Sp_Y#-113,frmSpSpr_links
    If Inventargeoffnet Then
     UebungsKatana_Ausgeruestet=True
    Else
     UebungsKatana_Ausgeruestet=False
    EndIf
   EndIf
End Function

 

Function Drawimages_Spieler_attackiert1_links()
   If ItemId_Waffen_Schwert=1 Then
    DrawImage Spieler_attackiert1_nurUebungsKatana_links,Sp_X#-45,Sp_Y#,frmSp_attacke_links
    If Inventargeoffnet Then
     UebungsKatana_Ausgeruestet=True
    Else
     UebungsKatana_Ausgeruestet=False
    EndIf
   EndIf
   If ItemId_AusruestungBeine=0 Then
    DrawImage Spieler_attackiert1_nurBeine_links,Sp_X#-45,Sp_Y#,frmSp_attacke_links
   EndIf
   If ItemId_AusruestungBeine=1 Then
    ;
   EndIf
   If ItemId_AusruestungGuertel=0 Then
    DrawImage Spieler_attackiert1_nurGuertel_links,Sp_X#-45,Sp_Y#,frmSp_attacke_links
   EndIf
   If ItemId_AusruestungOberkoerper=0 Then
    DrawImage Spieler_attackiert1_nurOberkoerper_links,Sp_X#-45,Sp_Y#,frmSp_attacke_links
   EndIf
   If ItemId_AusruestungKopf=0 Then
    DrawImage Spieler_attackiert1_nurKopf_links,Sp_X#-45,Sp_Y#,frmSp_attacke_links
   EndIf
End Function 



Function Drawimages_Spieler_attackiert1_rechts()
   If ItemId_Waffen_Schwert=1 Then
    DrawImage Spieler_attackiert1_nurUebungsKatana,Sp_X#,Sp_Y#,frmSp_attacke
    If  MilliSecs() > tmrSp_attacke + 200 Then
      tmrSp_attacke = MilliSecs()
      frmSp_attacke = (frmSp_attacke + 1) Mod 7
    EndIf
    If Inventargeoffnet Then
     UebungsKatana_Ausgeruestet=True
    Else
     UebungsKatana_Ausgeruestet=False
    EndIf
   EndIf
   If ItemId_AusruestungBeine=0 Then
    DrawImage Spieler_attackiert1_nurBeine,Sp_X#,Sp_Y#,frmSp_attacke
   EndIf
   If ItemId_AusruestungBeine=1 Then
    ;
   EndIf
   If ItemId_AusruestungGuertel=0 Then
   If frmSp_attacke=3 Then
     DrawImage Spieler_nurGuertel,Sp_X#+2,Sp_Y#
   ElseIf frmSp_attacke=4 Then
     DrawImage Spieler_nurGuertel,Sp_X#+5,Sp_Y#+1
   Else
     DrawImage Spieler_nurGuertel,Sp_X#,Sp_Y#
   EndIf
   EndIf
   If ItemId_AusruestungOberkoerper=0 Then
    DrawImage Spieler_attackiert1_nurOberkoerper,Sp_X#,Sp_Y#,frmSp_attacke
   EndIf
   If ItemId_AusruestungKopf=0 Then
    If frmSp_attacke=2 Or frmSp_attacke=4 Then
     DrawImage Spieler_nurKopf,Sp_X#+2,Sp_Y#+1
    ElseIf frmSp_attacke=3 Then
     DrawImage Spieler_nurKopf,Sp_X#+5,Sp_Y#+1
    Else
     DrawImage Spieler_nurKopf,Sp_X#,Sp_Y#
    EndIf
   EndIf
End Function 



Function Drawimages_Spieler_attackiert2_links()
   If ItemId_Waffen_Schwert=1 Then
    DrawImage Spieler_attackiert2_nurUebungsKatana_links,Sp_X#-45,Sp_Y#-3,frmSp_attacke2_links
    If Inventargeoffnet Then
     UebungsKatana_Ausgeruestet=True
    Else
     UebungsKatana_Ausgeruestet=False
    EndIf
   EndIf
   If ItemId_AusruestungBeine=0 Then
    DrawImage Spieler_attackiert2_nurBeine_links,Sp_X#-45,Sp_Y#-3,frmSp_attacke2_links
   EndIf
   If ItemId_AusruestungBeine=1 Then
    ;
   EndIf
   If ItemId_AusruestungGuertel=0 Then
    DrawImage Spieler_attackiert2_nurGuertel_links,Sp_X#-45,Sp_Y#-3,frmSp_attacke2_links
   EndIf
   If ItemId_AusruestungOberkoerper=0 Then
    DrawImage Spieler_attackiert2_nurOberkoerper_links,Sp_X#-45,Sp_Y#-3,frmSp_attacke2_links
   EndIf
   If ItemId_AusruestungKopf=0 Then
    DrawImage Spieler_attackiert2_nurKopf_links,Sp_X#-45,Sp_Y#-3,frmSp_attacke2_links
   EndIf
End Function 



Function Drawimages_Spieler_attackiert2_rechts()
   If ItemId_Waffen_Schwert=1 Then
    DrawImage Spieler_attackiert2_nurUebungsKatana,Sp_X#,Sp_Y#-3,frmSp_attacke2
    If Inventargeoffnet Then
     UebungsKatana_Ausgeruestet=True
    Else
     UebungsKatana_Ausgeruestet=False
    EndIf
   EndIf
   If ItemId_AusruestungBeine=0 Then
    DrawImage Spieler_attackiert2_nurBeine,Sp_X#,Sp_Y#-3,frmSp_attacke2
   EndIf
   If ItemId_AusruestungBeine=1 Then
    ;
   EndIf
   If ItemId_AusruestungGuertel=0 Then
    DrawImage Spieler_attackiert2_nurGuertel,Sp_X#,Sp_Y#-3,frmSp_attacke2
   EndIf
   If ItemId_AusruestungOberkoerper=0 Then
    DrawImage Spieler_attackiert2_nurOberkoerper,Sp_X#,Sp_Y#-3,frmSp_attacke2
   EndIf
   If ItemId_AusruestungKopf=0 Then
    DrawImage Spieler_attackiert2_nurKopf,Sp_X#,Sp_Y#-3,frmSp_attacke2
   EndIf
End Function 



Function EingabeFenster()
 Color 20,20,20
 Rect 300,200,130,50
 Color 200,200,200
 Rect 300,200,130,50,0
 Color 15,15,15
 Rect 315,225,80,20,0
 Color 10,10,10
 Rect 316,226,78,18,0
 Color 5,5,5
 Rect 317,227,76,16,0
 Text 302,200,"Wie viel Items willst"
 Text 302,210,"du verschieben?"
 If Rechnung> 100000000 Then
  zehn=1
  Za=0
 Else
  zehn=10
 EndIf
 If KeyHit(2) Then
  Za=1
  Zahlenerhoe=True
 EndIf
 If KeyHit(3) Then
  Za=2
  Zahlenerhoe=True
 EndIf
 If KeyHit(4) Then
  Za=3
  Zahlenerhoe=True
 EndIf
 If KeyHit(5) Then
  Za=4
  Zahlenerhoe=True
 EndIf
 If KeyHit(6) Then
  Za=5
  Zahlenerhoe=True
 EndIf
 If KeyHit(7) Then
  Za=6
  Zahlenerhoe=True
 EndIf
 If KeyHit(8) Then
  Za=7
  Zahlenerhoe=True
 EndIf
 If KeyHit(9) Then
  Za=8
  Zahlenerhoe=True
 EndIf
 If KeyHit(10) Then
  Za=9
  Zahlenerhoe=True
 EndIf
 If KeyHit(11) Then
  Za=0
  Zahlenerhoe=True
 EndIf
 If KeyHit(14) Then
  Rechnung=Rechnung/10-Za
  blinkX=blinkX-7
 EndIf
 If   Zahlenerhoe=True Then
  Rechnung=Rechnung*zehn+Za
  If zehn=10 Then
   blinkX=blinkX+7
  EndIf
    Zahlenerhoe=0
 EndIf
 Text 317,228,Rechnung
 Color 255,255,255
 If MilliSecs()>Blinktrm+700 Then
  Blink=True
  Blinktrm=MilliSecs()
 EndIf
 If Blink Then
  Line blinkX,228,blinkX,241
  If MilliSecs()>Blinktrm2+700 Then
   Blink=False
   Blinktrm2=MilliSecs()
  EndIf
 EndIf
 If KeyDown(28) Or KeyDown(156) And Rechnung<AnzItem Then
  EingabeFensterakt=False
 EndIf
End Function



Function LeseZeile$(Nr%, DateiName$)
	DebugLog "Es wird nach der Gewünschenzeile gesucht: "+Nr%+" in der Datei: "+DateiName$
	Local Zeile$ , i% , Datei%
	Datei=ReadFile(DateiName)                         ;Datei öffnen
	For i=1 To Nr                                     ;gewünschte Zeile finden
		Zeile=ReadLine$(Datei)
		DebugLog "Zeile gefunden: "+zeile
	Next
	CloseFile Datei
	Return Zeile
End Function

 

Function HoleItemBeschreibung(ID%)
	Local Von% , Bis% , Zeile$, i%
	DebugLog "Lade Item Bechreibung von Item : "+ID%
	Zeile= LeseZeile(ID%, "Sources\items.txt")     ;Zeile der gewünschen Itembeschreibung lesen
	Von=1
	For i=0 To 4                                   ;Bis zu 4 Zeilen Definieren
		Bis=Instr(Zeile,"|", Von)
		ItemBeschreibung(i)=Mid(Zeile , Von , Bis-Von)
		Von = Bis+1
	Next
End Function



Function LadeTipps()
	DebugLog "Lade Tipps"
	Datei=ReadFile("Sources\tipps.txt") 
	For i=0 To AnzahlTipps
		Tipps(i)=ReadLine
		If Not Eof Then 
			Return AnzahlTipps=AnzahlTipps+1
		EndIf
	Next
	CloseFile Datei
	DebugLog "Es wurden "+AnzahlTipps+" gefunden."
	Return
End Function



Function HoleDialogText(ID%)
	Local Von% , Bis% , Zeile$, i%
	DebugLog "Lade Dialog : "+ID%
	Zeile= LeseZeile(ID%, "Sources\dialog.txt") ;Zeile des gewünschten Dialogs lesen
	Von=1
	For i=0 To 8                                ;Bis zu 8 Zeilen Definieren
		Bis=Instr(Zeile,"|", Von)
		Print von + " " + bis
		DialogZeile(i)=Mid(Zeile , Von , Bis-Von)
		Von = Bis+1
	Next
End Function



Function ItemRahmenBox(x,y)
	SetFarbe HELL_GRAU
	Rect x+25,-45,60,60,0
	SetFarbe FAST_SCHWARZ
	Rect x+25+1,y-44-1,60-2,60-2,1
	SetFarbe HELL_GRAU
End Function

Function SetFarbe(Farbe%)
	Select Farbe
		Case HELL_GRAU
			Color 200,200,200
		Case FAST_SCHWARZ
			Color 20,20,20
		Case DUNKEL_LILA_BRAUN
			Color 48,31,36
	End Select
End Function

Function ItemBeschreibungDarstellen(X%,Y%,ID%)
	ItemRahmenBox X,Y 
	SetFont Font_C
	HoleItemBeschreibung ID
	For i=0 To 4
		Text X+27,Y+12*i,ItemBeschreibung(i)
	Next
End Function  


Function Auto_Speichern_Spielstand()
      	Text 10,10,"Wird gespeichert !"
      	tmrSpeichern = MilliSecs()
      	ChangeDir Save_Pfad$
		SpeichereSpielStand  "Sp_auto.save"
End Function



Function SpeichereSpielStand(DateiName$)
	Local File%,
	
	File = WriteFile(DateiName)
       WriteInt file, Sp_Y#
       WriteInt file, Sp_X#
       WriteInt file, Pfal1X#
       WriteString file, "Stadt"
       WriteInt file,WeltX#
       WriteInt file,TuerSchmiedeX#
       WriteInt file,TuerHdAX#
       WriteInt file,DonjoTuerX#
       WriteInt file,St1SchneeX
       For i=0 To 16
       		WriteInt file,Bx# i
       Next
       WriteInt file,Wetter
       WriteInt file,ItemId_AusruestungBeine
       WriteInt file,ItemId_AusruestungGuertel
       WriteInt file,ItemId_AusruestungOberkoerper
       WriteInt file,ItemId_AusruestungKopf
       WriteInt file,ItemId_Waffen_Schwert
       WriteInt file,Anzeige
       WriteInt file,Einfuehrung1
       WriteInt file,Einfuehrung
       WriteInt file,Gold
       WriteInt file,ItemIn1
       WriteInt file,TXT
      CloseFile file 
End Function 



Function Speichern_Spielstand()
	For Sp.Speicherplaetze = Each Speicherplaetze
		 If RectsOverlap(Sp\x,Sp\y,75,105,MouseX(),MouseY(),1,1) Then
			If mb>0 Then
			   	Text 10,10,"Wird gespeichert !"
			   	tmrSpeichern = MilliSecs()
			   	ChangeDir Save_Pfad$
				SpeichereSpielStand  Sp\Name
				
			EndIf
			Sp\R=200
			Sp\G=0
			Sp\B=0
			If KeyDown(211) Then
				DeleteFile Save_Pfad$+Sp\Name$
				Goto Menue
			EndIf
		Else
			Sp\R=82
			Sp\G=220
			Sp\B=0
		EndIf
	Next
End Function


Function LadeSpielstand%(DateiName$)
	file = ReadFile(DatiName)
	If file=0 Then
		Return 0
	Else
   		aSp_Y#=ReadInt(file)
   		aSp_X#=ReadInt(file)
   		aPfal1X#=ReadInt(file)
   		aOrt$=ReadString$(file)
   		aWeltX#=ReadInt(file)
   		aTuerSchmiedeX#=ReadInt(file)
   		aTuerHdAX#=ReadInt(file)
   		aDonjoTuerX#=ReadInt(file)
   		aSt1SchneeX=ReadInt(file)
   		For i=0 To 16
    		aBx#(i)=ReadInt(file)
   		Next
   		aItemId_AusruestungBeine=ReadInt(file)
   		aItemId_AusruestungGuertel=ReadInt(file)
   		aItemId_AusruestungOberkoerper=ReadInt(file)    
   		aItemId_AusruestungKopf=ReadInt(file)
   		aItemId_Waffen_Schwert=ReadInt(file)
   		aAnzeige=ReadInt(file)
   		aEinfuehrung1=ReadInt(file)
   		aEinfuehrung=ReadInt(file)
   		aGold=ReadInt(file)
  		CloseFile file
	EndIf
	Return 1
End Function 



Function Laden_Spielstand()
		ChangeDir Save_Pfad$
		For Sp.Speicherplaetze = Each Speicherplaetze
		 	If LadeSpielStand(Sp\Name$)=0
			  	SetFont Font_G
		  		Text Sp\x+18,Sp\y+45,"LEER"
			Else
				
			  If aItemId_AusruestungBeine=1 Then
			   DrawImage Spielergeht_nurBeine_RoteHose,Sp\x+17,Sp\y+5
			  EndIf
			  If aItemId_AusruestungGuertel=0 Then
			   DrawImage Spieler_nurGuertel,Sp\x+17,Sp\y+5
			  EndIf
			  If aItemId_AusruestungOberkoerper=0 Then
			   DrawImage Spieler_nurOberkoerper,Sp\x+17,Sp\y+5
			  EndIf
			  If aItemId_AusruestungKopf=0 Then
			   DrawImage Spieler_nurKopf,Sp\x+17,Sp\y+5
			  EndIf
			  If aItemId_Waffen_Schwert=1 Then
			   DrawImage Spieler_nurUebungsKatana,Sp\x+17,Sp\y+5
			   If Inventargeoffnet Then
			    DrawImage UebungsKatanaAusgeruestet,Sp\x+17,Sp\y+5
			   EndIf
			  EndIf
				If aItemId_AusruestungBeine=0 Then
					DrawImage Spielergeht_nurBeine,Sp\x+17,Sp\y+5
				EndIf
				SetFont Font_F
				Text Sp\x+5,Sp\y+75,"Ort: "+aOrt$
				Text Sp\x+5,Sp\y+83,"Gold: "+aGold
				Text Sp\x+5,Sp\y+91,""
				SetFont Font_F
				Text Sp\x+5,Sp\y+102,Sp\Name$
			EndIf 
		Next
End Function



Function ZeitBerechnen$(StartTime%)
	TimeInMillisekunden = MilliSecs()- StartTime%
	Millisekunden%=  TimeInMillisekunden Mod 1000
	Sekunden%= (TimeInMillisekunden /1000)Mod 60
	Minuten% = (TimeInMillisekunden /1000/60)Mod 60
	Stunden% = (TimeInMillisekunden /1000/60/60)Mod 60
	Tage%    = (TimeInMillisekunden /1000/60/60/24)
	Return Replace (RSet (Tage,3) +":"+RSet (Stunden,2) +":"+RSet (Minuten,2) +":"+RSet (Sekunden%,2)+","+RSet (Millisekunden%,4)," ",0)
End Function



Function ZeichneSpielerLvlBox(Erfahrung#)
	Color 1,1,1
	Rect 0,440,640,60
	Color 100,35,155
	Line 50,475,Erfahrung#,475
	Color 125,125,125
	Line 49,475,49,475
	Line 50,474,600,474
	Line 50,476,600,476
	Line 601,475,601,475
	Line 100,475,100,475
	Line 150,475,150,475
	Line 200,475,200,475
	Line 250,475,250,475
	Line 300,475,300,475
	Line 350,475,350,475
	Line 400,475,400,475
	Line 450,475,450,475
	Line 500,475,500,475
	Line 550,475,550,475
	Line 600,475,600,475
	Color 80,80,80
	Rect 365,445,29,24,1
	Color 90,90,90
	Rect 365,445,29,24,0
	Color 115,115,115
	Rect 366,446,27,22,0
	Color 130,130,130
	Rect 367,447,25,20,0
	Color 80,80,80
	Rect 454,445,29,24,1
	Color 90,90,90
	Rect 454,445,29,24,0
	Color 115,115,115
	Rect 455,446,27,22,0
	Color 130,130,130
	Rect 456,447,25,20,0
	Color 80,80,80
	Rect 410,445,29,24,1
	Color 90,90,90
	Rect 411,445,29,24,0
	Color 115,115,115
	Rect 412,446,27,22,0
	Color 130,130,130
	Rect 413,447,25,20,0
	Color 255,5,5
	Rect 0,440,640,40,0
	Color 80,80,80
	Rect 498,445,29,24,1
	Color 90,90,90
	Rect 498,445,29,24,0
	Color 115,115,115
	Rect 499,446,27,22,0
	Color 130,130,130
	Rect 500,447,25,20,0
	Color 80,80,80
	Rect 542,445,29,24,1
	Color 90,90,90
	Rect 542,445,29,24,0
	Color 115,115,115
	Rect 543,446,27,22,0
	Color 130,130,130
	Rect 544,447,25,20,0
	Color 80,80,80
	Rect 586,445,29,24,1
	Color 90,90,90
	Rect 586,445,29,24,0
	Color 115,115,115
	Rect 587,446,27,22,0
	Color 130,130,130
	Rect 588,447,25,20,0
	Color 255,5,5
	Rect 0,440,640,40,0
End Function

Function ZeichneSpielerLebenBox(Sp_Leben#,Sp_Max_Leben,Sp_max_Leben_Erweit)
	Color 10,150,10
	Rect 250,450,100*Sp_Leben#/Sp_Max_Leben,15,1
	Color 10,160,10
	Rect 247,450,Sp_max_Leben+6-Sp_max_Leben_Erweit,15,0
	Color 10,170,10
	Rect 248,451,Sp_max_Leben+4-Sp_max_Leben_Erweit,13,0
	Color 10,180,10
	Rect 249,452,Sp_max_Leben+2-Sp_max_Leben_Erweit,11,0
	Color 10,190,10
	Rect 250,453,Sp_max_Leben,9-Sp_max_Leben_Erweit,0
	Color 255,255,255
End Function

Function ZeichneTippBox()
	Color 0,0,0
	Rect 0,0,640,25
	Line 1,2,640,2
	Color 0,250,0
	Text T_x,5,TippText$
	Color 250,250,250
	Line 1,18,640,18
End Function

Function ZeigeZeit()
	Color 0,100,0
	Text 300,40,"Gametime:"
	Text 300,55, ZeitBerechnen$(StartTime%)
	Text 300,70,"Realtime:"
	Text 300,85, CurrentTime$()
End Function

Function TitelScreen()

	DrawImage Titel_Bild,0,0
		Local MausY%, Button%
		MausY=MouseY()-150
		If MouseX()>168 And MouseX()<450
				Button=Int(MausY/50)
				If (MausY - Button*50) < 36 Then
					Button=Button+1
				Else
					Button=0
				EndIf
		EndIf
		
		If Button>0 And Button<6					
			SetFarbe DUNKEL_LILA_BRAUN
			Rect 230,150+Button*50+28-50,200,2
		EndIf
		
		If MouseHit(1)	
			Select Button
				Case 1
					;  Goto Stadt
				Case 2
					;Goto Sp_Laden
				Case 3
					Text 10,10,"OHO"
				Case 4
					Text 10,10,"...?..."
				Case 5
					End
			End Select
		EndIf
End Function

Function SlotsErstellen()
	Local X%,Y%
	For Y=0 To 4
		For x = 0 To 4
			slotInventar.Slots = New Slots
			slotInventar\x = 131 + 37 * x
			slotInventar\y = 47 + 28 * y

			slotInventar.Slots = New Slots
			slotInventar\x = 368 + 37 * x
			slotInventar\y = 47 + 28 * y
		Next
	Next
End Function 

Function WiederBeleben()
	If Gestorben Then
		Sp_Leben#=Sp_max_Leben
		Gestorben=False
	EndIf
End Function 

Function ErstelleSpeicherplaetze()
	If keineSpeicherplaetze=False Then 

		For i = 1 To 147                             
			Sp.Speicherplaetze = New Speicherplaetze    
			Sp\x = 10 + Spx   
			Sp\y = 10 + Spy   
   
			Spx  = Spx + 85
			Sp\x2=Spx
			Sp\y2=Spy  
			If Spx=595 Then  
 				Spx = 0            
				Spy = Spy + 125 
			EndIf      
			Sp\Name$="Sp_"+Zahl+".save" 
			Zahl=Zahl+1  
			For Sp.Speicherplaetze = Each Speicherplaetze
				If Sp\y=2055 Then
					keineSpeicherplaetze=True
				EndIf
			Next     
		Next 

	EndIf

	For Sp.Speicherplaetze = Each Speicherplaetze
		If Sp\Name$="Sp_0.save" Then
			Sp\Name$="Sp_auto.save"
		EndIf
	Next
End Function

Function SpeicherplaetzeErstellen()

	If keineSpeicherplaetze=False Then 

	For i = 1 To 147                             
		Sp.Speicherplaetze = New Speicherplaetze    
		Sp\x = 10 + Spx   
		Sp\y = 10 + Spy   
   
		Spx  = Spx + 85
		Sp\x2=Spx
		Sp\y2=Spy  
	If Spx=595 Then  
		Spx = 0            
		Spy = Spy + 125 
	EndIf      
	Sp\Name$="Sp_"+Zahl+".save" 
	Zahl=Zahl+1  
	For Sp.Speicherplaetze = Each Speicherplaetze
		If Sp\y=2055 Then
			keineSpeicherplaetze=True
		EndIf
	Next     
Next 

EndIf

End Function

Function BalkenY_Bestimmen()
If KeyDown(208) And nichtUnten Then
 BalkenY=BalkenY+1
 nichtOben=True 
 For Sp.Speicherplaetze = Each Speicherplaetze
  Sp\y=Sp\y-5
 Next
 If BalkenY=459 Then
  nichtUnten=False 
  BalkenY=BalkenY-1
  For Sp.Speicherplaetze = Each Speicherplaetze
   Sp\y=Sp\y+5
  Next 
 EndIf
EndIf

If KeyDown(200) And nichtOben Then
 BalkenY=BalkenY-1
 nichtUnten=True 
 For Sp.Speicherplaetze = Each Speicherplaetze
  Sp\y=Sp\y+5
 Next
 If BalkenY=21  Then
  nichtOben=False 
  BalkenY=BalkenY+1
  For Sp.Speicherplaetze = Each Speicherplaetze
   Sp\y=Sp\y-5
  Next 
 EndIf
EndIf

If RectsOverlap(620,BalkenY,10,10,MouseX(),MouseY(),1,1) And RectsOverlap(620,26,10,439,MouseX(),MouseY(),1,1) Then
 If MouseDown(1) Then
  BalkenY=MouseY()-5
  For Sp.Speicherplaetze = Each Speicherplaetze
   Sp\y=(MouseY()*(-5))+Sp\y2+140
  Next 
 EndIf
EndIf

If RectsOverlap(620,26,10,439,MouseX(),MouseY(),1,1) Then
 If mb>0 Then
  If Not RectsOverlap(620,BalkenY,10,10,MouseX(),MouseY(),1,1) Then
  BalkenY=MouseY()
  For Sp.Speicherplaetze = Each Speicherplaetze
   Sp\y=(MouseY()*(-5))+Sp\y2+140
  Next 
  EndIf
 EndIf
EndIf
End Function

Function ScrollbarMalen()

	Color 170,170,170
	Rect 620,10,10,470,0
	Rect 620,10,10,10,0
	Rect 620,470,10,10,0
	Rect 620,BalkenY,10,10
	Color 185,185,215
	Rect 620+1,BalkenY+1,8,8,0
	Color 200,200,200
	Rect 620+2,BalkenY+2,6,6,0
	Color 215,215,215
	Rect 620+3,BalkenY+3,4,4,0
	Color 230,230,230
	Rect 620+4,BalkenY+4,2,2,0
	
	
End Function

Function SpeicherpleatzeMalen()
	For Sp.Speicherplaetze = Each Speicherplaetze
		Color Sp\R,Sp\G,Sp\B
		Rect Sp\x,Sp\y,75,105,0
	Next
End Function

Function SaveKlickAktionPruefen()
	If RectsOverlap(550,450,50,25,MouseX(),MouseY(),1,1) Then
	Color 200,0,0
		If mb>0 Then
			Speicherplatz_Anzahl = WriteFile("Sp_Anzahl.XD")
			WriteInt(Speicherplatz_Anzahl, Sp_Anzahl)
			Goto Menue
		EndIf
	Else
		Color 82,220,0
	EndIf
End Function

Function SpeicherButtonsMalen()
	SetFont Font_G
	Rect 550,450,50,25,0
	Text 565,455,"OK"
	Color 82,220,0
End Function