Ein problem mit selbstschießender KI!
Übersicht

sven123Betreff: Ein problem mit selbstschießender KI! |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Also ich habe hier,mir eine kleine KI zusammen gebastelt,diese soll ein Geräusch machen wenn der Spieler(die Cam) in reichweite kommt.Ob der Spieler in Reichweite ist will ich mit entitypick prüfen doch,doch es funktioniert nicht und eine Memory access violation taucht auf!Was geht hier schief.
Code: [AUSKLAPPEN] test=loadsound("f:\Gereusch.wav") BuildDronen(GegnerDrone) ;Die Kamera cam=CreateCamera() EntityPickMode cam,2 NameEntity cam,"Kamera" PositionEntity cam,5100,2050,8075 EntityRadius cam,5 ; CameraRange cam,1,80000 light=CreateLight() LightRange light,80000 EntityParent light,cam TurnEntity cam,10,106,0 PositionEntity cam,3007,4025,5845 TurnEntity cam,270,0,270 repeat bewegen(GegnerDrone,test) until keyhit(1) end ;Erstellen der Dronen und entitypickmode wird für alle Gegner Gesetzt Function BuildDronen(Modell) PositionEntity Modell,Rnd#(2000,5000),Rnd#(1000,5000),Rnd#(3000,9000) EntityType Modell,ColDronen lost=Rnd#(15,120) For f=1 To lost D.Drone=New Drone D\anzahl=-10 D\Modelle=CopyEntity(Modell) PositionEntity D\Modelle,Rnd#(2000,5000),Rnd#(1000,5000),Rnd#(3000,9000) EntityType D\Modelle,ColDronen EntityPickMode D\Modelle,2 EntityRadius D\Modelle,0.1 Next End Function ; ;Hiermit wird die Drone bewegt und entitypick verwendet Function bewegen(Modell,testi) If todDrone=0 Then If strecke<=0 Then MoveEntity Modell,-30,0,0 strecke=strecke+1 EndIf If strecke=>0 And strecke<300 Then RotateEntity Modell,0,180,0 MoveEntity Modell,-30,0,0 strecke=strecke+1 EndIf If strecke=>300 Then RotateEntity Modell,0,360,0 MoveEntity Modell,-30,0,0 strecke=strecke+1 If strecke=>600 Then strecke=-4 EndIf If EntityCollided(Modell,ColSchuss) Then FreeEntity Modell:todDrone=1 EndIf For D.Drone=Each Drone If D\anzahl<=0 Then MoveEntity D\Modelle,-30,0,0 D\anzahl=D\anzahl+1 EndIf If D\anzahl=>0 And D\anzahl<300 Then RotateEntity D\Modelle,0,180,0 MoveEntity D\Modelle,-30,0,0 D\anzahl=D\anzahl+1 EndIf If D\anzahl=>300 Then RotateEntity D\Modelle,0,360,0 MoveEntity D\Modelle,-30,0,0 D\anzahl=D\anzahl+1 If D\anzahl=>600 Then D\anzahl=-4 EndIf D\scanningCam=EntityPick(D\Modelle,200) D\Name=EntityName$(D\scanningCam) If D\Name="Kamera" Then If tro=0 Then PlaySound(testi) tro=1 EndIf EndIf If EntityCollided(D\Modelle,ColSchuss) Then FreeEntity D\Modelle:Delete D Next End Function Der Code ist jetzt verkürtzt ich habe nur das nötigste hier gepostet! Thx euer Sven123 |
||
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will Fertiges Projekt:Invasion der Heuschrecken |
biegl |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
nehm anstatt ntity collidet entitydistance.... | ||
sven123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
aha werde es versuchen. | ||
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will Fertiges Projekt:Invasion der Heuschrecken |
sven123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
@Biegel es funktioniert.Doch ein Probleme bleiben.
![]() |
||
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will Fertiges Projekt:Invasion der Heuschrecken |
![]() |
lucifer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dazu kannst du DeltaYaw benutzen. | ||
Aktuelles Projekt:
Demonspawn RPG |
sven123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Jo jetzt gehts.Danke | ||
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will Fertiges Projekt:Invasion der Heuschrecken |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group