|B3D| Kollision
Übersicht

![]() |
N0XBetreff: |B3D| Kollision |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hey!
Warum funktioniert meine Kollision (von Gegnern) nicht? Mfg, N0X Code: [AUSKLAPPEN] Global piv = CreatePivot()
Global cam = CreateCamera(piv) Global player = LoadAnimMesh("models\dwarf1.b3d") Global map1 = LoadMesh("models\map002.3ds") EntityType(player,PLY) EntityType(map1,MAP) For i = 0 To 1 e.enemy = New enemy e\x# = Rnd(100,300) e\y# = 10 e\z# = Rnd(100,500) e\yaw = Rnd(-90,90) e\mesh = CopyEntity(gegner) e\health% = 90 e\exxp% = 120 e\id$ = "Riese" e\stat% = 0 EntityType(e\mesh,GEG) Next For o = 0 To 49 e.enemy = New enemy e\x# = Rnd(100,300) e\y# = 10 e\z# = Rnd(100,500) e\yaw = Rnd(-90,90) e\mesh = CopyEntity(horse) e\health% = 40 e\exxp% = 50 e\id$ = "Figur" e\stat% = 1 EntityType(e\mesh,NPC) Next Collisions NPC,MAP,2,3 Collisions GEG,MAP,2,3 While Not KeyHit(1) updateEnemys() Wend End Function updateEnemys() ms = MilliSecs() For e.enemy = Each enemy PositionEntity e\mesh,e\x#,e\y#,e\z# RotateEntity e\mesh,0,e\yaw,0 If e\timer < ms Then e\timer = ms +Rnd(6000,10000) e\richtung=Rnd(0,3) e\stopp=0 EndIf If e\st_timer < ms Then e\st_timer = ms +Rnd(4000,8000) e\stopp = 1 EndIf If e\stopp=0 If e\richtung=0 Then e\x#=e\x#-.5 If e\id$ = "Riese" Then If Not Animating(e\mesh) Then Animate(e\mesh,1,.1,1) EndIf EndIf EndIf If e\richtung=1 Then e\z#=e\z#-.5 If e\id$ = "Riese" Then If Not Animating(e\mesh) Then Animate(e\mesh,1,.1,1) EndIf EndIf EndIf If e\richtung=2 Then e\x#=e\x#+.5 If e\id$ = "Riese" Then If Not Animating(e\mesh) Then Animate(e\mesh,1,.1,1) EndIf EndIf EndIf If e\richtung=3 Then e\z#=e\z#+.5 If e\id$ = "Riese" If Not Animating(e\mesh) Then Animate(e\mesh,1,.1,1) EndIf EndIf EndIf Else If e\id$ = "Riese" Then Animate(e\mesh,0) EndIf EndIf Next End Function |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Meinst du Gegner und Map oder Gegner und Gegner? | ||
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7 |
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Was sind MAP und PLY? Hast du auch irgendwo UpdateWorld![]() ![]() ![]() mfG |
||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
![]() |
N0X |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ups, vergessen! ![]() Code: [AUSKLAPPEN] Const PLY=1,MAP=2,GEG=3,NPC=4
Global piv = CreatePivot() Global cam = CreateCamera(piv) Global player = LoadAnimMesh("models\dwarf1.b3d") Global map1 = LoadMesh("models\map002.3ds") EntityType(player,PLY) EntityType(map1,MAP) For i = 0 To 1 e.enemy = New enemy e\x# = Rnd(100,300) e\y# = 10 e\z# = Rnd(100,500) e\yaw = Rnd(-90,90) e\mesh = CopyEntity(gegner) e\health% = 90 e\exxp% = 120 e\id$ = "Riese" e\stat% = 0 EntityType(e\mesh,GEG) Next For o = 0 To 49 e.enemy = New enemy e\x# = Rnd(100,300) e\y# = 10 e\z# = Rnd(100,500) e\yaw = Rnd(-90,90) e\mesh = CopyEntity(horse) e\health% = 40 e\exxp% = 50 e\id$ = "Figur" e\stat% = 1 EntityType(e\mesh,NPC) Next Collisions NPC,MAP,2,3 Collisions GEG,MAP,2,3 While Not KeyHit(1) updateEnemys() RenderWorld() UpdateWorld() Wend End Function updateEnemys() ms = MilliSecs() For e.enemy = Each enemy PositionEntity e\mesh,e\x#,e\y#,e\z# RotateEntity e\mesh,0,e\yaw,0 If e\timer < ms Then e\timer = ms +Rnd(6000,10000) e\richtung=Rnd(0,3) e\stopp=0 EndIf If e\st_timer < ms Then e\st_timer = ms +Rnd(4000,8000) e\stopp = 1 EndIf If e\stopp=0 If e\richtung=0 Then e\x#=e\x#-.5 If e\id$ = "Riese" Then If Not Animating(e\mesh) Then Animate(e\mesh,1,.1,1) EndIf EndIf EndIf If e\richtung=1 Then e\z#=e\z#-.5 If e\id$ = "Riese" Then If Not Animating(e\mesh) Then Animate(e\mesh,1,.1,1) EndIf EndIf EndIf If e\richtung=2 Then e\x#=e\x#+.5 If e\id$ = "Riese" Then If Not Animating(e\mesh) Then Animate(e\mesh,1,.1,1) EndIf EndIf EndIf If e\richtung=3 Then e\z#=e\z#+.5 If e\id$ = "Riese" If Not Animating(e\mesh) Then Animate(e\mesh,1,.1,1) EndIf EndIf EndIf Else If e\id$ = "Riese" Then Animate(e\mesh,0) EndIf EndIf Next End Function |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Erstellst du die Gegner evtl. in der Map? | ||
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7 |
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Müsstest du für NPCs und co nicht auch noch EntityRadius![]() |
||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
![]() |
N0X |
![]() Antworten mit Zitat ![]() |
---|---|---|
Habe EntityRadius mal hinzugefügt, und auch so erstellt das sie nicht in der Map sind.
Geht immer noch nicht. Im Moment geht es mir hauptsächlich darum das sie nicht in einen Berg z.B. reinlaufen können. Ich kann die Entitys auch nicht translaten, wegen "PositionEntity e\mesh,e\x#,e\y#,e\z#". Das geht erst wenn ich e\y# durch 0 ersetze, dann lassen sie sich nach unten bewegen. Hm. |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group