Trigger ... [Erledigt]

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

Ironstorm

Erstklassiger Contest-Veranstalter

Betreff: Trigger ... [Erledigt]

BeitragDo, Aug 10, 2006 11:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi @ all!

Ich habe ein Problem. Ich will es realisieren das ein Spieler an eine Tür läuft und sich dann die Auswahl aktiviert das der Spieler in dieses Haus eintreten kann.

Wie kann ich so eine Trigger Zone machen?

Ich stehe irgendwie auf dem Schlauch. Habe auch die Suche benutzt aber nichts derartiges gefunden. Aber ich bin auch kein Guru in Suchen Very Happy

THX for help

MFG
Blitzmaker
  • Zuletzt bearbeitet von Ironstorm am Do, Aug 10, 2006 21:32, insgesamt einmal bearbeitet

Schnittlauch

Unkraut

Betreff: Re: Trigger ...

BeitragDo, Aug 10, 2006 12:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie wäre es wen du einen bereich um die Tür mit Rectcollide oder was man da benutzt, definierst?
Ich wars nicht.

5k41

BeitragDo, Aug 10, 2006 12:11
Antworten mit Zitat
Benutzer-Profile anzeigen
man könnte eine surface für alle türen dieser map machen und bei Kollision die position des spielers prüfen und ihn danach in das gewünschte haus setzen!

MfG
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image

Christoph

BeitragDo, Aug 10, 2006 12:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Vllt auch so
Code: [AUSKLAPPEN]
if sx>4 and sx<6 and sy>0 and sy<5 and sz>8 and sz<10 then;Bereich festlegen
  ;Anzeigen
endif

sx=X Position des Spielers
sy=Y Position des Spielers
sz=Z Position des Spielers

rctuner

BeitragDo, Aug 10, 2006 12:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Wieso nicht einfach einen unsichtbaren cube in die map setzten und den auf collision mit dem Spieler prüfen lassen.

Wenn der Spieler den unsichtbaren cube berührt kann man den Spieler doch ganz einfach in das Haus verschieben.
[Y[our Film, Game ]M[akers and more [F]un!
www.Master-Entertainment.de.vu

[AMD 6000+ X2 @ 6400+][2GB RAM][NVidia 8800GT 512 MB]

Christoph

BeitragDo, Aug 10, 2006 12:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
if sx>4 and sx<6 and sy>0 and sy<5 and sz>8 and sz<10 then;Bereich festlegen
  ;Anzeigen
endif

Das hier ist sozusagen ein unsichtbarer Cube

Ironstorm

Erstklassiger Contest-Veranstalter

BeitragDo, Aug 10, 2006 13:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja gut, das mit der unsichtbaren Cube hab ich auch gedacht, aber wie soll ichs dann überprüfen? Mit Entitycollided(player,type_trigger) hats nicht geklappt, da erkennt er die Kollision nicht.

Mit der Lösung von Christoph könnte es klappen, aber finde ich etwas aufwändig. Ich müsste es dann so machen.

Habt ihr sonst noch Ideen?

Danke nochmal für eure mühe.

MFG
Blitzmaker

Christoph

BeitragDo, Aug 10, 2006 14:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Mit der Lösung von Christoph könnte es klappen, aber finde ich etwas aufwändig. Ich müsste es dann so machen.

Ist eigendlich die simpelste Lösung.
Zitat:
Ja gut, das mit der unsichtbaren Cube hab ich auch gedacht, aber wie soll ichs dann überprüfen? Mit Entitycollided(player,type_trigger) hats nicht geklappt, da erkennt er die Kollision nicht.

->Meine Variante IST eine Kollisionsabfrage (!!). Nur lade ich kein Entity und überprüfe auch nicht mit vordefinierten Funktionen Wink

Black Spider

BeitragDo, Aug 10, 2006 15:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Pivot statt cube nehmen (-> Berechnung) und mit EntityDistance prüfen,
wie nahe der Player dran ist.
Das Funktioniert dann sogar in beide richtungen.
Coming soon:
http://img132.imageshack.us/im...im2ab6.gif

Christoph

BeitragDo, Aug 10, 2006 16:48
Antworten mit Zitat
Benutzer-Profile anzeigen
->Das wäre die "Kugelkollision"smethode

Black Spider

BeitragDo, Aug 10, 2006 17:47
Antworten mit Zitat
Benutzer-Profile anzeigen
würde allerdings bestens funktionieren. Splinter Cell benutzt das gleiche prinzip.
Egal von wo man kommt, wenn man die Tür anguckt (das lässt sich ja mit EntityInView machen), und in einer bestimmten nähe zu ihr ist,
erscheint ein Menü,
Tür aufbrechen, leise öffnen, öffnen, Schloss knacken, Schloss aufbrechen, Optisches Kabel.
Dann wird Sam direkt vor die Tür Positioniert, damit die animation stimmt, und öffnet sie.
Coming soon:
http://img132.imageshack.us/im...im2ab6.gif

Ironstorm

Erstklassiger Contest-Veranstalter

BeitragDo, Aug 10, 2006 21:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Okay Leute, vilen Dank. Ich benutze nun Black Spiders Methode und sie funktioniert bestens.

MFG
Blitzmaker
 

Darren

BeitragFr, Aug 11, 2006 20:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Alles, was Blackspider gesagt hat funktioniert im Prinzip. Doch was passiert, wenn du ganz viele Solche Türen hast? Dann zieht das schon ein bisschen an der Performance. Man sollte vlt testen, was schneller ist. o___O
MFG Darren

Black Spider

BeitragSa, Aug 12, 2006 11:15
Antworten mit Zitat
Benutzer-Profile anzeigen
ganz einfach:

Nur ein Tür-Test-Pivot machen,
und ihn zur nächstgelegensten Tür Positionieren:

Code: [AUSKLAPPEN]
olddist=EntityDistance(Tür(1),player)
i=-1
dist=olddist
suche=Tür(1)
For kd=0 To Tür_Anzahl
dist=EntityDistance(Tür(kd),player)
If dist<=olddist Then olddist=dist:suche=Tür(kd)
Next

Tür_x# = EntityX(suche)
Tür_y# = EntityY(suche)
Tür_z# = EntityZ(suche)

;--- Pivot dorthin positionieren ---
PositionEntity Tür_piv,Tür_x#,Tür_y#,Tür_z#


so muss man nicht für jede Tür einen neuen Pivot erstellen und prüfen ob die Camera in seiner nähe ist.
Coming soon:
http://img132.imageshack.us/im...im2ab6.gif
 

Penthouse Pauper

BeitragMo, Aug 14, 2006 1:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du ein Haus als ein einziges Mesh nimmst, dann ist Pivot sicherlich am elegantesten. Ansonsten gäbe es natürlich die Möglichkeit die Tür als ein eigenes Mesh zu nehmen und dann spart man sich Pivots...

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group