Raycasting isn't that hard actually, I used it in my landmine to check if a vehicle was above the landmine. You use it like this:
ContainerRayCast (\"x y z\", \"x y z\", mask, [exempt object])
-Used to find objects of type “mask” between the two cords supplied
-Returns a string
What that means is that you have point 1, the first \"x y z"\ part and then point 2 \"x y z"\. Try visualizing it like this (I'll use the landmine as an example): First I got the position of the landmine, and that is my 1st point, then I got that position again, but added a little to the x (or was it z?) axis only to get a point that was a little above my landmine, that is my second point. Now the type part is the $Typemask of the object you are looking for. And the exempt object is obviously an object that is exempt from the search, in this case you would probably want to put your zombie thing. Like for my landmine, it's a vehicle, and I was searching for a vehicle Typemask, but if I didn't make the landmine an exempt object, it would blow itself up. So imagine an invisible beam is shooting out of your zombie, imagine where you would want it to shoot, and then check for the things you want to check for in that range. Hope that helps.