AutoAuswahlProblem =(
Übersicht
BlitzBasic
Beginners-Corner
|
Betreff: AutoAuswahlProblem =(
|
Mo, Aug 01, 2005 15:56
Antworten mit Zitat
|
Hi,
ich hab ein Problem
BlitzBasic: [AUSKLAPPEN] [EINKLAPPEN] Print\" Die Qual der Autoauswahl \" Print\"\" Print\" Nummer Auto Name mindest Punktezahl für dieses Auto klicken sie\" Print\"\" Print\" 1. Impreza mindestens 50 000Punkte Q\" Print\" 2. Audi mindestens 40 000Punkte W\" Print\" 3. Mitsuibishi mindestens 32 000Punkte E\" Print\" 4. Ford(aus Liebe zum Automobile ) mindestens 20 000Punkte R\" Print\" 5. Linienbus mindestens 70 000Punkte T\" Print\" 6. Panzer(1. Weltkrieg) mindestens 80 000Punkte Z\" Print\" 7. Amerikansicher Schlitten (achziger) mindestens 100 000Punkte U\" Print\" 8. Zukunft Ferrari mindestens 130 000Punkte I\" Print\" 9. The Car of Shadow mindestens 0 Punkte(Standard) O\" Print\" 10. ? mindestens 20 000 Punkte P\" Print\" 11. ? mindestens 30 000 Punkte A\" Print\" 13. ? mindestens 50 000 Punkte S\" Print\" 14. ? mindestens 60 000 Punkte D\" Print\" 15. ? mindestens 70 000 Punkte F\" Print\" 16. ? mindestens 80 000 Punkte G\" Print\" 17. ? mindestens 90 000 Punkte H\" Print\" 18. ? mindestens 100 000Punkte J\" Print\" 19. ? mindestens 120 000Punkte K\" Print\" 20. ? mindestens 140 000 Punkte L\" Print\" 21. ? mindestens 160 000 Punkte Y\" Print\" 22. ? mindestens 180 000 Punkte X\" Print\" 23. ? mindestens 200 000 Punkte C\" Print\" 24. ? mindestens 220 000 Punkte V\" Print\" 25. ? mindestens 240 000 Punkte B\" Print\" 26. ? mindestens 260 000 Punkte N\"
Graphics3D 800,600,32,0 SetBuffer BackBuffer()
Autowahlf=0 Repeat
If KeyDown(16)Then Auto=LoadMesh(\"Gfx/impreza.3DS\") Autowahlf=1 End If
If KeyDown(17) Then Auto=LoadMesh(\"Gfx/002.3DS\") Autowahlf=1 End If
If KeyDown(18) Then Auto=LoadMesh(\"Gfx/003.3ds\") Autowahlf=1 End If
If KeyDown(19) Then Auto=LoadMesh(\"Gfx/004.3ds\") Autowahlf=1 End If
If KeyDown(20) Then Auto=LoadMesh(\"Gfx/005.3ds\") Autowahlf=1 End If
If KeyDown(21) Then Auto=LoadMesh(\"Gfx/006.3ds\") Autowahlf=1 End If
If KeyDown(22) Then Auto=LoadMesh(\"Gfx/007.3ds\") Autowahlf=1 End If
If KeyDown(23) Then Auto=LoadMesh(\"Gfx/008.3ds\") Autowahlf=1 End If
If KeyDown(24) Then Auto=LoadMesh(\"Gfx/009.3ds\") Autowahlf=1 End If
If KeyDown(25) Then Auto=LoadMesh(\"Gfx/010.3ds\") Autowahlf=1 End If
If KeyDown(30) Then Auto=LoadMesh(\"Gfx/impreza.3ds\") Autowahlf=1 End If
If KeyDown(31) Then Auto=LoadMesh(\"Gfx/011.3ds\") Autowahlf=1 End If
If KeyDown(32) Then Auto=LoadMesh(\"Gfx/012.3ds\") Autowahlf=1 End If
If KeyDown(33) Then Auto=LoadMesh(\"Gfx/013.3ds\") Autowahlf=1 End If
If KeyDown(34) Then Auto=LoadMesh(\"Gfx/014.3ds\") Autowahlf=1 End If
If KeyDown(35) Then Auto=LoadMesh(\"Gfx/015.3ds\") Autowahlf=1 End If
If KeyDown(36) Then Auto=LoadMesh(\"Gfx/016.3ds\") Autowahlf=1 End If
If KeyDown(37) Then Auto=LoadMesh(\"Gfx/017.3ds\") Autowahlf=1 End If
If KeyDown(38) Then Auto=LoadMesh(\"Gfx/018.3ds\") Autowahlf=1 End If
If KeyDown(44) Then Auto=LoadMesh(\"Gfx/019.3ds\") Autowahlf=1 End If
If KeyDown(45) Then Auto=LoadMesh(\"Gfx/020.3ds\") Autowahlf=1 End If
If KeyDown(46) Then Auto=LoadMesh(\"Gfx/021.3ds\") Autowahlf=1 End If
If KeyDown(47) Then Auto=LoadMesh(\"Gfx/022.3ds\") Autowahlf=1 End If
If KeyDown(48) Then Auto=LoadMesh(\"Gfx/023.3ds\") Autowahlf=1 End If
If KeyDown(49) Then Auto=LoadMesh(\"Gfx/024.3ds\") Autowahlf=1 End If
If KeyDown(50) Then Auto=LoadMesh(\"Gfx/025.3ds\") Autowahlf=1 End If
Until Autowahlf = 1
Gelaende=LoadMesh(\"Gfx/lol.x\") Motor=LoadSound(\"Sfx/incar.wav\") Licht = CreateLight(1)
LoopSound Motor ChannelID=PlaySound(Motor)
ChannelPitch ChannelID,35000
PositionEntity Auto,0,10,80
Das dürfte das wesentliche sein
wenn ich jetzt zum laden des gewünschten Autos ne taste drücke dann
kommt illegal memory address und wenn ich den debugger anmach sagt er mir das mein Auto nicht exestiert aberich habs doch reingeladen =( oder?
Bin mit jeder Hilfe zufrieden
|
Athlon XP 2800+
Radeon X850XT
160gb Festplatte
1gb DDR Ram
|
|
|
Mo, Aug 01, 2005 16:20
Antworten mit Zitat
|
In welcher Zeile erscheint denn der Fehler?
Anstatt der vielen If-Anweisungen solltest du dir mal Select und Case ansehen, denn damit geht's eleganter.
|
|
|
|
Mo, Aug 01, 2005 16:26
Antworten mit Zitat
|
in der letzten weil er sagt das Auto wäre nicht vorhanden =(
|
Athlon XP 2800+
Radeon X850XT
160gb Festplatte
1gb DDR Ram
|
|
|
Mo, Aug 01, 2005 16:30
Antworten mit Zitat
|
Hi,
ich denke, dass irgendein Pfad nicht stimmt, deshalb kommt diese Fehlermeldung....
|
|
|
|
Mo, Aug 01, 2005 16:46
Antworten mit Zitat
|
nein Formate stimmen ich poste mal noch mehr Code
BlitzBasic: [AUSKLAPPEN] [EINKLAPPEN] raphics3D 800,600,32,0 SetBuffer BackBuffer()
Print\"Creating Globale Variabeln...\" Global Autowahlf Global Auto Global Menueauswahl Global Gesamtpunktzahl Delay 1000
Print\"Spielstand wird geladen...\" file = ReadFile(\"save/spielstand.txt\") Gesamtpunktzahl = ReadLine(file) Delay 1500
Print\"Starte Menue modus...\" Delay 500
Menue()
Repeat
If Menueauswahl = 1 Then Print\"Regeln\" Print\"\" Print\"Rektionstest Modus:\" Print\"\" Print\"Sie fahren ein Auto das immer schneller und schneller wird je länger sie\" Print\"aushalten ohne gegen ein Hindernis zu fahren destso mehr Punkte bekommen sie. Print \"Wenn sie gegen ein Hindernis prallen sind sie Game Over\" WaitKey Cls Menueauswahl=0 Menue()
EndIf
If Menueauswahl = 2 Then Print \"Verbesserte Auto Teile kaufen\" Print\"\" Print\"\" Print\"Drücken sie X um eine leicht verbesserte Lenkung zu kaufen (sie brauchen mindestens 12 000 Punkte)\" Print\"\" Print\"\" Print\"Drücken sie Y um eine verbesserte Lenkung zu kaufen ( sie brauchen mindestens 20 000 Punkte)\" Print\"\" Print\"\" Print\"Drücken sie C um eine stark verbesserte Lenkung zu kaufen ( sie brauchen mindestens 30 000 Punkte)\" Print\"\" Print\"\" Print\" Drücken sie V um eine sehr stark verbesserte Lenkung zu kaufen ( sie brauchen mindestens 40 000 Punkte)\" Print\"\" Print\"\" Print\" Die restlichen Autoteile (wie Bremsbeläge und verbesserte Motoren haben im Reaktionstest Modus keinen Sinn) sind Print\" im Zeitfahren und Reaktionstest Modus zu kaufen\" Print\"\" Print\"\" Print\"Wenn sie mit ihrem Einkauf fertig sind drücken sie einmal Return\" Print\"\" Print\"\" Print\" Beachte vor jeder Strecke müssen die gewünschten Teile erneut gekauft werden!\"
Lenkstaerker#= Lenkstaerker# + 0.5 Lenkstaerkel#=Lenkstaerkel# - 0.5
Repeat
If KeyDown(45) And Gesamtpunktzahl>12000 Then Lenkstaerker#=Lenkstaerker# + 0.1 Lenkstaerkel# = Lenkstaerkel# - 0.1 EndIf
If KeyDown(44) And Gesamtpunktzahl>20000 Then Lenkstaerker#=Lenkstaerker# + 0.2 Lenkstaerkel# = Lenkstaerkel# - 0.2 EndIf
If KeyDown(46) And Gesamtpunktzahl>30000 Then Lenkstaerker#=Lenkstaerker# + 0.3 Lenkstaerkel# = Lenkstaerkel# - 0.3 EndIf
If KeyDown(47) And Gesamtpunktzahl>40000 Then Lenkstaerker#=Lenkstaerker# + 0.4 Lenkstaerkel# = Lenkstaerkel# - 0.4 EndIf
Until KeyHit(45) Or KeyHit(44) Or KeyHit (46) Or KeyHit(47) Or KeyHit(28)
Cls Print\" Die Qual der Autoauswahl \" Print\"\" Print\" Nummer Auto Name mindest Punktezahl für dieses Auto klicken sie\" Print\"\" Print\" 1. Impreza mindestens 50 000Punkte Q\" Print\" 2. Audi mindestens 40 000Punkte W\" Print\" 3. Mitsuibishi mindestens 32 000Punkte E\" Print\" 4. Ford(aus Liebe zum Automobile ) mindestens 20 000Punkte R\" Print\" 5. Linienbus mindestens 70 000Punkte T\" Print\" 6. Panzer(1. Weltkrieg) mindestens 80 000Punkte Z\" Print\" 7. Amerikansicher Schlitten (achziger) mindestens 100 000Punkte U\" Print\" 8. Zukunft Ferrari mindestens 130 000Punkte I\" Print\" 9. The Car of Shadow mindestens 0 Punkte(Standard) O\" Print\" 10. ? mindestens 20 000 Punkte P\" Print\" 11. ? mindestens 30 000 Punkte A\" Print\" 13. ? mindestens 50 000 Punkte S\" Print\" 14. ? mindestens 60 000 Punkte D\" Print\" 15. ? mindestens 70 000 Punkte F\" Print\" 16. ? mindestens 80 000 Punkte G\" Print\" 17. ? mindestens 90 000 Punkte H\" Print\" 18. ? mindestens 100 000Punkte J\" Print\" 19. ? mindestens 120 000Punkte K\" Print\" 20. ? mindestens 140 000 Punkte L\" Print\" 21. ? mindestens 160 000 Punkte Y\" Print\" 22. ? mindestens 180 000 Punkte X\" Print\" 23. ? mindestens 200 000 Punkte C\" Print\" 24. ? mindestens 220 000 Punkte V\" Print\" 25. ? mindestens 240 000 Punkte B\" Print\" 26. ? mindestens 260 000 Punkte N\"
Graphics3D 800,600,32,0 SetBuffer BackBuffer()
Autowahlf=0 Repeat
If KeyDown(16)Then Auto=LoadMesh(\"Gfx/impreza.3DS\") Autowahlf=1 End If
If KeyDown(17) Then Auto=LoadMesh(\"Gfx/002.3DS\") Autowahlf=1 End If
If KeyDown(18) Then Auto=LoadMesh(\"Gfx/003.3ds\") Autowahlf=1 End If
If KeyDown(19) Then Auto=LoadMesh(\"Gfx/004.3ds\") Autowahlf=1 End If
If KeyDown(20) Then Auto=LoadMesh(\"Gfx/005.3ds\") Autowahlf=1 End If
If KeyDown(21) Then Auto=LoadMesh(\"Gfx/006.3ds\") Autowahlf=1 End If
If KeyDown(22) Then Auto=LoadMesh(\"Gfx/007.3ds\") Autowahlf=1 End If
If KeyDown(23) Then Auto=LoadMesh(\"Gfx/008.3ds\") Autowahlf=1 End If
If KeyDown(24) Then Auto=LoadMesh(\"Gfx/009.3ds\") Autowahlf=1 End If
If KeyDown(25) Then Auto=LoadMesh(\"Gfx/010.3ds\") Autowahlf=1 End If
If KeyDown(30) Then Auto=LoadMesh(\"Gfx/impreza.3ds\") Autowahlf=1 End If
If KeyDown(31) Then Auto=LoadMesh(\"Gfx/011.3ds\") Autowahlf=1 End If
If KeyDown(32) Then Auto=LoadMesh(\"Gfx/012.3ds\") Autowahlf=1 End If
If KeyDown(33) Then Auto=LoadMesh(\"Gfx/013.3ds\") Autowahlf=1 End If
If KeyDown(34) Then Auto=LoadMesh(\"Gfx/014.3ds\") Autowahlf=1 End If
If KeyDown(35) Then Auto=LoadMesh(\"Gfx/015.3ds\") Autowahlf=1 End If
If KeyDown(36) Then Auto=LoadMesh(\"Gfx/016.3ds\") Autowahlf=1 End If
If KeyDown(37) Then Auto=LoadMesh(\"Gfx/017.3ds\") Autowahlf=1 End If
If KeyDown(38) Then Auto=LoadMesh(\"Gfx/018.3ds\") Autowahlf=1 End If
If KeyDown(44) Then Auto=LoadMesh(\"Gfx/019.3ds\") Autowahlf=1 End If
If KeyDown(45) Then Auto=LoadMesh(\"Gfx/020.3ds\") Autowahlf=1 End If
If KeyDown(46) Then Auto=LoadMesh(\"Gfx/021.3ds\") Autowahlf=1 End If
If KeyDown(47) Then Auto=LoadMesh(\"Gfx/022.3ds\") Autowahlf=1 End If
If KeyDown(48) Then Auto=LoadMesh(\"Gfx/023.3ds\") Autowahlf=1 End If
If KeyDown(49) Then Auto=LoadMesh(\"Gfx/024.3ds\") Autowahlf=1 End If
If KeyDown(50) Then Auto=LoadMesh(\"Gfx/025.3ds\") Autowahlf=1 End If
Until Autowahlf = 1
Gelaende=LoadMesh(\"Gfx/lol.x\") Motor=LoadSound(\"Sfx/incar.wav\") Licht = CreateLight(1)
LoopSound Motor ChannelID=PlaySound(Motor)
ChannelPitch ChannelID,35000
PositionEntity Auto,0,10,80
|
Athlon XP 2800+
Radeon X850XT
160gb Festplatte
1gb DDR Ram
|
|
|
Mo, Aug 01, 2005 17:07
Antworten mit Zitat
|
wenn ich mehr Code posten soll sagt es
ich sitz an dem Feher schon 2h =(
|
Athlon XP 2800+
Radeon X850XT
160gb Festplatte
1gb DDR Ram
|
|
|
Mo, Aug 01, 2005 17:08
Antworten mit Zitat
|
Am besten du packst alles zusammen in ein ZIP (inkl. der 3DS-Modelle etc.) und stellst das ZIP zum Download bereit.
|
|
|
|
Mo, Aug 01, 2005 17:14
Antworten mit Zitat
|
ich denke nicht das sich jemand durch 1500 Zeilen Code kämpft und 20mb an Gfx und Sfx downloadet nur um mein Problem zu lösen
aber der Fehler muss in diesem Abschnitt stecken!
|
Athlon XP 2800+
Radeon X850XT
160gb Festplatte
1gb DDR Ram
|
|
|
Mo, Aug 01, 2005 20:48
Antworten mit Zitat
|
gute Idee
|
Athlon XP 2800+
Radeon X850XT
160gb Festplatte
1gb DDR Ram
|
|
|
Mo, Aug 01, 2005 21:19
Antworten mit Zitat
|
omischer Weise wird das Spiel nicht beendet aber ich bekomme trotzdem ein Illegal Memory Address woran liegt das?
hab ich irgendetwas falsch gemacht?
|
Athlon XP 2800+
Radeon X850XT
160gb Festplatte
1gb DDR Ram
|
|
Sieger des IS Talentwettbewerb 2006
|
Di, Aug 02, 2005 1:39
Antworten mit Zitat
|
Ich denke du solltest die Schlashe / durch Backschlashe \ ersetzen...
|
|
|
Sieger des IS Talentwettbewerb 2006
|
Di, Aug 02, 2005 1:47
Antworten mit Zitat
|
Sorry, habe das mal eben bei einem meiner Programmen ausprobiert. B3D nimmt auch / für Pfandangaben an. Denoch würde ich eine neue BB-Datei erstellen die sich im selben Verzeichnis befindet und in dieser nur ein Auto laden. Nur um den Fehler besser eingrenzen zu können.
|
|
|
|
Di, Aug 02, 2005 9:50
Antworten mit Zitat
|
das hab ich shon gemacht als erstest konnzte man im Spiel ja nur den Impreza nehmen das hat geklappt aber wenn ich jetzt Q drücke um den Impreza zu laden funzt es nicht
|
Athlon XP 2800+
Radeon X850XT
160gb Festplatte
1gb DDR Ram
|
|
Sieger des IS Talentwettbewerb 2006
|
Di, Aug 02, 2005 11:30
Antworten mit Zitat
|
Hallo Papa, ich habe mir deinen Code nochmal vorgenommen und auf meine Verzeichnisstrucktur geändert "data/m_car01.3DS" und ne Kamera erstellt. Die Auswahlfunktion zwischen zwei Objekten funktionierte. Der Fehler trat bei mir auf wenn ich ein ungültigen Verzeichnisnamen angegeben hatte. Überprüfe ob die .bb sich wirklich über dem Gfx -Verzeichnis befindet, und ob die Dateinamen richtig sind. Machen mal copy&paste der Verzeichnisstruktur...
Vielleicht hat sich ein Scherzkecks bei dir eingeschlichen und an den Verzeichnisnamen ein hex: FF am Ende eines Verzeichnisnamens angehängt. Sieht aus wie Space, ist aber nicht.
Habe so früher die Schulrechner (unter DOS) manipuliert, und keiner wusste warum er eine Datei nicht lesen konnte...
Ansonsten fällt mir nichts mehr ein, denn der Code funzt ja bei mir.
|
|
Übersicht
BlitzBasic
Beginners-Corner
Powered by phpBB © 2001 - 2006, phpBB Group