detecting collision (touc(), hitwall or something?)

  • Two Factor Authentication is now available on BeyondUnreal Forums. To configure it, visit your Profile and look for the "Two Step Verification" option on the left side. We can send codes via email (may be slower) or you can set up any TOTP Authenticator app on your phone (Authy, Google Authenticator, etc) to deliver codes. It is highly recommended that you configure this to keep your account safe.

RestInPieces

New Member
Sep 20, 2001
65
0
0
www.Creep-World.net
Say I've got an actor, and I want this actor (bCollideActors==true, bCollideWorld==false) to do something when it hits level geometry, what function do i have to override?
touch() seems only to work with non-brush actors, and hitwall doesn't work at all :(
btw, does a pawnas touch() only get called if its blockplayer==false?
 

Wang

Wibble
Feb 7, 2002
22
0
0
Visit site
I believe the Bump function might do what you want, but I'm not sure. Since you have bCollideWorld==false nothing may happen.
If Bump is the way to go I'm not even sure how you would use it as I seem unable to get it working for the mutator I'm working on.

I got my info from this page

http://www.unrealscript.com/tutorials/tut27.php
 
Last edited:

Brood_of_Evil

Selene's martyr
Nov 3, 2001
147
0
0
45
Look outside your window!
Visit site
If you want the Bump() function to work for your class, you will have to set either bBlockPlayers or bBlockActors to true.

Btw, is that you Joe? I saw the post about my signature in kage's bb, but since it's screwed up I couldn't reply, so yeah you can use the banner for your sig :)
 

RestInPieces

New Member
Sep 20, 2001
65
0
0
www.Creep-World.net
Bump doesn't work since i want to detect collision with the level geometry :(
btw, i found the answer to my other question:

"...When it comes to event functions being called, be forewarned. Sometimes, the engine will not call both Touch() and Bump() - if both objects are bBlockPlayers, Bump() will be called, Touch() won't. If one object is bCollideActors and the other is bBlockActors, the object being bumped (the bCollideActors object) will get a Bump() event while the other will simply get a Touch() call." (end of quote, taken from the phyics tut over at chimeric)

Still looking for a function that gets called when my actor collides with the level, the other solution would be to fire a trace each tick :(
 

Call me Erdrik

Arch Mage
Nov 24, 1999
334
0
0
43
Spring Hill, FL, USA
www.geocities.com
you could spawn an invisable actor that follows/trails the other actor and set the invis actor to collide with geometry destroyed when collides with geometry and be like:
Code:
var actor invisACT;

if (invisACT==None)
   {
   whateveritisyouwanttodo();
   invisACT = Spawn(class'Spawn the actor again',,,)
   }
 

TaoPaiPai

Commisaire Van Loc
Jun 13, 2000
1,626
0
0
Matnik
Visit site
Not sure ,but I think the landed() function is called when you hit geometry.Then you have to check the geometry normal.

bCollideWorld has to be true
 

Silver_Ibex

Member
Feb 27, 2001
654
0
16
You could try looking at the shell casings in particular, or any other projectile for code to handle collision with level geometry.

They have a bounce function also.
 

RegularX

Master of Dagoth Lies
Feb 2, 2000
1,215
0
0
Chicago, IL
Originally posted by Silver_Ibex
You could try looking at the shell casings in particular, or any other projectile for code to handle collision with level geometry.

They have a bounce function also.

The grenade is a good one, it has bounce, hitwall, landed, etc. I used it last night to code something that drops from dead players because I love how the nade bounces off walls...



rgx