Problem beim laden einer Map im Mapeditor

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Blitzkrieg Bop

Betreff: Problem beim laden einer Map im Mapeditor

BeitragMo, Apr 12, 2004 9:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi! Ich habe mir eineige gute Vorschläge zu Herzen genommen und einen kleinen Editoor geschrieben Wink Ich glaube das die speichern funktion geht, das laden geht jedoch nicht. ich geb euch mal die zeilen, die notwendig sind. Komisch ist, das ein Fehler kommt
" Stream does not exist " und dabei zeigt mir BB immmer an die gleiche Stelle (sie ist unten makiert!)

Code: [AUSKLAPPEN]

hoehe=Input("Höhe der map in tiles: ")

Dim feld(12,hoehe)



Code: [AUSKLAPPEN]

;-----------------SPEICHERN------------------------
      If KeyHit(31)   ;S
         dateiname$=Input("Dateinamen eingeben: ")
         If dateiname$<>""
            datei=WriteFile(dateiname$+".map")
            WriteInt datei,hoehe
                  For y=1 To hoehe
                  For x=1 To 12
                     WriteInt datei,feld(x,y)
                  Next
               Next
            
            CloseFile datei
         EndIf
      EndIf


Code: [AUSKLAPPEN]

;--------------------LADEN-------------------------
         If KeyHit(38) ;L
         dateiname$=Input("Dateinamen eingeben: ")
         If dateiname$<>""
            datei=ReadFile(dateiname$+".map")
         hoehe=ReadInt(datei) ; <<< DORT TAUCHT IMMER DER FEHLER STREAM DOES NOT EXIST AUF!
            Dim feld(12,hoehe)
               
               For y=1 To hoehe
                  For x=1 To 12
                     feld(x,y)=ReadInt(datei)
                  Next
               Next
            
            CloseFile datei
         EndIf
      EndIf
   
   ;--------------------------------------------------



Also, wie gesagt ich glaube das speichern geht und nun würd ich auch gerne mal laden Wink Danke im Voraus Smile
~ Hey Ho Let's Go ~

Jolinah

BeitragMo, Apr 12, 2004 10:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Stream does not exist heisst soviel wie, die Datei konnte nicht geöffnet werden.

Das kann 2 Sachen bedeuten. Beim laden gibst du den level namen falsch ein oder die Datei wird nicht richtig gespeichert und existiert danach gar nicht so das sie nicht geöffnet werden kann.


Am besten solltest du sowieso immer prüfen ob es Fehler gibt und gar nicht erst fortfahren falls kein Stream existiert:

Code: [AUSKLAPPEN]

datei = ReadFile(dateiname$ + ".map")
if datei = 0 then ...;ABBRECHEN
 

Blitzkrieg Bop

BeitragMo, Apr 12, 2004 11:51
Antworten mit Zitat
Benutzer-Profile anzeigen
hm, alo ich hab zur Übersicht Runtimeerrors eingepackt und dabei folgendes ergebniss erzielt:

das prob trirr hier shcona auf:

datei=ReadFile(dateiname$+".map")..ich verstehe nicht warum...
nach meinem code ist es doch richitg, das ich zum speicher zum beispiel
test eingebe, und der speicher das und hängt ein .map hinten dran.
beim laden gebe ich dann test.map ein , aber es geht halt net.. Evil or Very Mad
~ Hey Ho Let's Go ~
 

Blitzkrieg Bop

BeitragMo, Apr 12, 2004 13:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Sad Sad Sad Sad Sad Sad Sad Sad Sad Sad Crying or Very sad Crying or Very sad Crying or Very sad Crying or Very sad Crying or Very sad Crying or Very sad Crying or Very sad Crying or Very sad
~ Hey Ho Let's Go ~

Jolinah

BeitragMo, Apr 12, 2004 17:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Kein Wunder, so wie du es programmiert hast darfst du beim laden auch kein .map dranhängen. Also nur "test" eingeben.

Hubsi

BeitragMo, Apr 12, 2004 17:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Warum?
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Gossi

BeitragMo, Apr 12, 2004 17:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Speicher mal eine Map und schau in den Ordner, ob die Datei dort richtig liegt. Ich hatte mal den peinlichen Fehler, dass ich durch das drücken von S oder L (Laden/Speichern) für den Dateinamen schon einen Buchstaben angegeben habe. Setz vor WriteFile/ReadFile mal ein flushkeys(). Aber so direkt finde ich deinen FEhler auch nicht. Stream does not exist kann auch heißen, dass zwar die Datei zwar richtig angelegt wurde, aber innerhalb der Datei die Daten falsch gespeichert wurden.

Edit: Ich glaube Jolinah meint, dass du beim Eingeben während des Programms nur test schreiben sollst und nicht test.map, weils dann zu test.map.map wird!
Alle Wasser laufen ins Meer, doch wird das Meer nicht voller; an den Ort, dahin sie fließen, fließen sie immer wieder. (...) Was geschehen ist, eben das wird hernach sein. Was man getan hat, eben das tut man hernach wieder, und es geschieht nichts neues unter der Sonne. Geschieht etwas, von dem man sagen könnte: "Sieh, das ist neu"? Es ist längst vorher auch geschehen in den Zeiten, die vor uns gewesen sind.
 

Blitzkrieg Bop

BeitragMo, Apr 12, 2004 19:40
Antworten mit Zitat
Benutzer-Profile anzeigen
das ist kalr....aber danke, prob ist shcon gelöst Wink
~ Hey Ho Let's Go ~
 

dubitat

BeitragMo, Apr 12, 2004 20:34
Antworten mit Zitat
Benutzer-Profile anzeigen
kleine frage: warum postest du eine frage und beantwortest sie dir dann selber? mit der zeit kommt man auf alles: kommt zeit kommt rat...

also erst überlegen wie man das machen könnte, 2 tage warten und wenn immernoch keine lösung da ist, posten... soll jetzt nicht sauer oder so klingen, aber so ist das einfach frustrirend für die leute die sich gedanken zu deinem code gemacht haben!
Erare humanum est - Irren ist Menschlich
 

Blitzkrieg Bop

BeitragMo, Apr 12, 2004 21:09
Antworten mit Zitat
Benutzer-Profile anzeigen
extra für dubitat habe ich nun ne neue frage.....wie kann ich nun in einem anderen prog , als im editor eine map laden? mein speicherfunktion sieht wie folgt aus:

Code: [AUSKLAPPEN]

Function save()

   
    Locate 400,180
    pfad$ = Input("Mapnamen eingeben: ")

file = WriteFile("maps\"+pfad$+".map")
   
   
   
   
   WriteLine file,array

For I = 0 To array
      WriteLine file,posX(I)
      WriteLine file,posY(I)
   Next

CloseFile file
   
   

End Function




Ok, was genau muss nun auch in das Andere Programm? Dim Felder oder was genau ?!
~ Hey Ho Let's Go ~

Blatolo

BeitragMo, Apr 12, 2004 22:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Also wenn das deine Speicher Funktion musst du einfach alles umkehren.
Daraus habe ich diese Lade Funktion gemacht:
Code: [AUSKLAPPEN]

Function load()
   Locate 400,180
   pfad$ = Input("Mapnamen eingeben: ")
   file = ReadFile("maps\"+pfad$+".map")
   array=ReadLine(file)
   Dim posX(array)
   Dim posY(array)
   For I = 0 To array
      posX(I)=ReadLine(file)
      posY(I)=ReadLine(file)
   Next
   CloseFile file
End Function

Und rück deine Codes mal richtig ein.
Dafür gibt es die tab-Taste.

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group