AutoAuswahlProblem =(

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Papa1234

Betreff: AutoAuswahlProblem =(

BeitragMo, Aug 01, 2005 15:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,
ich hab ein Problem

BlitzBasic: [AUSKLAPPEN]

Print\" Die Qual der Autoauswahl Wink\"
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 Wink ) 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 Very Happy
Athlon XP 2800+
Radeon X850XT
160gb Festplatte
1gb DDR Ram

wunderkind

BeitragMo, Aug 01, 2005 16:20
Antworten mit Zitat
Benutzer-Profile anzeigen
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.

Papa1234

BeitragMo, Aug 01, 2005 16:26
Antworten mit Zitat
Benutzer-Profile anzeigen
in der letzten weil er sagt das Auto wäre nicht vorhanden Sad =(
Athlon XP 2800+
Radeon X850XT
160gb Festplatte
1gb DDR Ram

simi

BeitragMo, Aug 01, 2005 16:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

ich denke, dass irgendein Pfad nicht stimmt, deshalb kommt diese Fehlermeldung....

Papa1234

BeitragMo, Aug 01, 2005 16:46
Antworten mit Zitat
Benutzer-Profile anzeigen
nein Formate stimmen ich poste mal noch mehr Code
BlitzBasic: [AUSKLAPPEN]

raphics3D 800,600,32,0
SetBuffer BackBuffer()

;globals
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




; Laden vom ganzen Zeug>




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 Wink\"
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 Wink ) 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

Papa1234

BeitragMo, Aug 01, 2005 17:07
Antworten mit Zitat
Benutzer-Profile anzeigen
wenn ich mehr Code posten soll sagt es Very Happy Sad
ich sitz an dem Feher schon 2h =(
Athlon XP 2800+
Radeon X850XT
160gb Festplatte
1gb DDR Ram

wunderkind

BeitragMo, Aug 01, 2005 17:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Am besten du packst alles zusammen in ein ZIP (inkl. der 3DS-Modelle etc.) und stellst das ZIP zum Download bereit.

Papa1234

BeitragMo, Aug 01, 2005 17:14
Antworten mit Zitat
Benutzer-Profile anzeigen
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

wunderkind

BeitragMo, Aug 01, 2005 17:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Setze nach "Until Autowahlf = 1" doch einfach mal folgenden Code ein:

Code: [AUSKLAPPEN]
if not Auto then exit()

Wurde das Objekt nicht erstellt, dann wird dein Programm beendet. Das wiederrum wird vermutlich bedeuten, dass du beim Laden einen Fehler in der Pfadangabe gemacht hast.

Papa1234

BeitragMo, Aug 01, 2005 20:48
Antworten mit Zitat
Benutzer-Profile anzeigen
gute Idee
Athlon XP 2800+
Radeon X850XT
160gb Festplatte
1gb DDR Ram

Papa1234

BeitragMo, Aug 01, 2005 21:19
Antworten mit Zitat
Benutzer-Profile anzeigen
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

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDi, Aug 02, 2005 1:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich denke du solltest die Schlashe / durch Backschlashe \ ersetzen...

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDi, Aug 02, 2005 1:47
Antworten mit Zitat
Benutzer-Profile anzeigen
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.

Papa1234

BeitragDi, Aug 02, 2005 9:50
Antworten mit Zitat
Benutzer-Profile anzeigen
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

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDi, Aug 02, 2005 11:30
Antworten mit Zitat
Benutzer-Profile anzeigen
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.

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group