2 registered members (AndrewAMD, 7th_zorro),
719
guests, and 6
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
Bodenschalter basteln, ala Portal.
#422482
05/11/13 09:01
05/11/13 09:01
|
Joined: Jun 2008
Posts: 156
Bastiuscha
OP
Member
|
OP
Member
Joined: Jun 2008
Posts: 156
|
Hallo, ich wollte so einen Schalter basteln, wie man das von Portal kennt. Man legt eine Kiste drauf und der Schalter wird aktiviert. Mein Problem dabei ist, dass ich kein Kollissionsevtent auslösen kann. Habe schon viele Varriationen durchprobiert, aber es passiert nichts. Ich nutze eine Kistentragefunktion. Lasse ich die Kiste los fällt sie per Physik auf den Schalter mit: "pXent_settype(entTemp,PH_RIGID, PH_BOX);" Der Bodenschalter (grosser Kreis als ENTITY) hat folgende Action zugewiesen bekommen:
function gndswitch6a_event()
{
if (event_type == EVENT_ENTITY)
{
beep();
}
}
action groundswitch6a()
{
entGroundSwitch6a = me;
pXent_settype(me,PH_RIGID, PH_BOX);
my.emask |= ENABLE_ENTITY;
my.event = gndswitch6a_event;
}
Im Handbuch gibts unendliche Varriationen zum probieren...aber nichts hat mir geholfen. Ich habe sämtliche EVENT Möglichkeiten probiert. Nichts schlägt an.
|
|
|
Re: Bodenschalter basteln, ala Portal.
[Re: Bastiuscha]
#422483
05/11/13 09:36
05/11/13 09:36
|
Joined: Jun 2009
Posts: 2,210 Bavaria, Germany
Kartoffel
Expert
|
Expert
Joined: Jun 2009
Posts: 2,210
Bavaria, Germany
|
Hmm, ich hätte auch die Methode, die probierst, verwendet, aber ich fürchte, events werden nur von c_trace, -move, -etc. ausgelöst, und nicht von Physics-Bewegungen (was definitiv ein nettes feature wäre).
Edit: Du könntest evtl. deine eigene, einfache Kollisions-Erkunnung schreiben, indem du - während die Kiste sich bewegt - immer in die Bewegungsrichtung der Kiste traced (mit der dementsprechenden Länge), und wenn der trace auf den Schalter trifft, das Event auslösen.
Last edited by Kartoffel; 05/11/13 09:41.
POTATO-MAN saves the day! - Random
|
|
|
Re: Bodenschalter basteln, ala Portal.
[Re: Superku]
#422492
05/11/13 12:53
05/11/13 12:53
|
Joined: Jun 2008
Posts: 156
Bastiuscha
OP
Member
|
OP
Member
Joined: Jun 2008
Posts: 156
|
Juhu Leute, ich hab es doch noch geschafft! Ich konnte einfach nicht glauben, dass das nicht irgendwie geht. Die Lösung ist dann doch ganz einfach. Allerdings habe ich wieder viele Versuche gebraucht. Die Lösung ist, (vieleicht auch gut für später Suchende): pXent_setcollisionflag(me,you,NX_NOTIFY_ON_START_TOUCH); me.event = ausführende_funktion; Der "me" Pointer muss das fallende Physikobjekt und der You Pointer der Bodenschalter sein. Andersrum klappte es nicht. Dazu habe ich das noch in eine eigene Function gesetzt. Innerhalb der Schalter_Action funktioniert das nicht. Jetzt habe ich auch schon die nächsten Probleme, aber bevor ich Euch damit nerve, will ich erst mal selber probieren.
|
|
|
Re: Bodenschalter basteln, ala Portal.
[Re: Bastiuscha]
#422493
05/11/13 12:59
05/11/13 12:59
|
Joined: Jun 2009
Posts: 2,210 Bavaria, Germany
Kartoffel
Expert
|
Expert
Joined: Jun 2009
Posts: 2,210
Bavaria, Germany
|
Danke fürs posten der lösung, werde das bestimmt irgendwann mal brauchen.
POTATO-MAN saves the day! - Random
|
|
|
|