Page 1 of 2
Making a good looking rope that winds up
Posted: Thu Jul 08, 2004 4:11 pm
by BirdsofaFeather
I was thinking about making a rope elevator, where a rope gets winded up into a pulley as the elevator goes up, and winded out as it goes down. I just can't think of a feasible way of doing this without making a rope full of small segments all with different targetnames that disappear as the rope goes up into the winding pulley. Is there any other way of making this simpler, and probably better looking in the process? I suppose if anyone has made a winch, that'd be the same process. Any ideas appreciated.
winch
Posted: Thu Jul 08, 2004 4:32 pm
by tltrude
I made something like that once, but the rope just stuck out of top of the building when the car was at the top. bdbodger is thinking of using a func_beam. It would project the rope textured beam to the attachment point constantly. So if the attachment point entity moved up, the beam would get shorter. At least I think that is what he ment.
Anyway, if you can put a tall wall above your ropes, they can overlap into it. Even a short wall would help hide your segments. Also, if no one can see below the elevator, you can have them stick out the bottom.
Posted: Thu Jul 08, 2004 5:04 pm
by BirdsofaFeather
yeah I thought of the whole tall wall or short wall idea, but basically, my elevator would look way cooler if I could make the rope appear to come out of a pulley hanging in the air. I hadn't thought of the idea for a beam...did bdbodger say anything else about how he was thinking of doing it? And I suppose, I've never made a func_beam....how does one go about doing that? Thanks for the quick reply btw. I've pretty much decided that dividing a rope into small segments and making them disappear one at a time into the pulley would be pretty annoying, so i'm gonna avoid that solution until nothing else works.
Posted: Thu Jul 08, 2004 6:36 pm
by BirdsofaFeather
I suppose, is there a texture out there where I could make that tall wall to contain the part of the rope I want unseen, apply the texture, and have both the wall be invisible and anything that enters the wall be invisible? So basically the rope would rise into an invisible box and become invisible as it went in? I doubt there's a texture that was made just for this, but possibly there might be a texture that would still do just that?
invisible
Posted: Thu Jul 08, 2004 6:54 pm
by tltrude
Sorry, there is not "cloak of invisiblity" texture. I know because I tried them all!
Posted: Thu Jul 08, 2004 6:58 pm
by BirdsofaFeather
Sorry, there is not "cloak of invisiblity" texture
crap, well that blows that idea, I guess the beam thing is my only hope. So, anyone know how to make a func_beam?
vis
Posted: Thu Jul 08, 2004 7:06 pm
by tltrude
You could use a pair of vis_leafgroup brushes, but the object has to be completly inside of the targeted one before it will vanish--mayby just the origin point of the object.
Check out the map name "mp_abient2" on my signature logo web page--it uses vis_leafgroups. There is also an "altelevator" tutorial map with a crane--it uses two-segment cables that overlap eachother.
Posted: Thu Jul 08, 2004 11:06 pm
by bdbodger
for the beam in radiant make a func_beam and a script origin . Select the func_beam and then the script origin and use conrtol + k so that the func_beam targets the script origin . Then reselect the func_beam and give it the key: tileshader and Value : < texture you want to use > and also set the key:maxoffset Value: 0 . I have tried to spawn a func_beam and have it target a script origin in script does not seem to want to work but doing it from radiant does work . also beams are actually good for fps because they are low polly . The rigging in this picture is done with beams

Posted: Fri Jul 09, 2004 12:23 am
by BirdsofaFeather
ok, I want to try out the func_beam, but there's a problem: there's no func_beam. At least, beam isn't under the func category, and I couldn't find it elsewhere. Is it under a different category, or perhaps by a different name?
Posted: Fri Jul 09, 2004 1:00 am
by blue60007
I don't think it's in the list but if you make your brush, hit n and bring up the entity window. Change the line classname/worldspawn to classname/func_beam and that should do it. (With that brush selected)
.ccp
Posted: Fri Jul 09, 2004 2:28 am
by tltrude
What Blue says will work, but if you want it to show up on your list of entities, here is the code. Just copy it to Notepad and save it as "beam.cpp". Then place the file in a folder named "code" in main.
Code: Select all
/*QUAKED func_beam (0 0.25 .5) (-8 -8 -8) (8 8 8) START_ON PERSIST WAVE NOISE
This creates a beam effect from the origin to the target's origin. If no
target is specified, uses angles and projects beam out from there.
Values:
=======
"activate" Activate the beam
"alpha" Alpha of the beam (Default is 1.0)
"angle" ( Float newAngle ) set the angles of the entity using just one value. Sets the yaw of the entity or an up and down direction if newAngle is [0-359] or -1 or -2
"angles" ( Vector newAngles<0.00...360.00><0.00...360.00><0.00...360.00> ) set the angles of the entity to newAngles.
"color" Vector specifiying the red,green, and blue components. (Default is "1 1 1")
"damage" Amount of damage the beam inflicts if beam hits someone (Default is 0)
"deactivate" Deactivate the beam
"delay" ( Float delay ) Set the amount of delay on the beam updater (i.e. slows the effect of the beam down)
"doActivate" ( Entity activatingEntity ) General trigger event for all entities
"endalpha" ( Float alpha ) Set the endpoint alpha value of the beam
"endpoint" ( Vector beam_end_point ) Set the end point of the beam. The beam will be draw from the origin to the end point.
"findendpoint" Find the endpoint of a beam
"life" ( Float beam_life ) Sets the life of the beam for use with the persist spawnflag. This is how long a beam will be displayed.
"maxoffset" ( Float max_offset ) Set the maximum offset the beam can travel above, below, forward or back of it's endpoints (Default is 5)
"minoffset" ( Float min_offset ) Set the minimun offset the beam can travel above, below, forward or back of it's endpoints (Default is 0)
"model" Specifies the model to use as the beam
"numsegments" ( Integer numsegments ) Set the number of segments for the beam (Default is 4)
"numspherebeams" ( Integer num ) Set the number of beams that will be shot out in a sphere like formation
"overlap" ( Float beam_overlap ) Specifies the amount of overlap each beam link should have. Use this to fill in the cracks when using electric on beams. (Default is 0)
"persist" ( Boolean bool ) Set the persist property of the beam
"radius" ( Float radius ) Set the starting radius of the beams if this is a beamsphere
"scale" Set the width of the beam
"shader" ( String beam_shader ) Set the shader that the beam will use
"shoot" Make the beam cause damage to entities that get in the way
"shootradius" ( Float radius ) Set the radius of the damage area between beam endpoints
"target" ( String beam_target ) Set the target of the beam. The beam will be drawn from the origin to the origin of the target entity
"tileshader" ( String beam_shader ) Set the shader that the beam will use. This shader will be tiled.
"toggledelay" ( [ String [random] ], [ Float time ] ) Causes a beam toggling effect. Sets the time between toggling. If random is specified, The time will be between 0 and time
"updateendpoint" Update the endpoint of a beam
"updateorigin" Update the origin of a beam
START_ON - Starts the beam on
PERSIST - Keeps the last few beams around and fades them out over the life of the beam
WAVE - Make the beam follow a sin wave pattern
NOISE - Use a more computationally expensive random effect, but the results are smoother
If the model field is not set, then a renderer generated beam will be created
using the color, minoffset, maxoffset, scale, and subdivisions fields
If the targetname is set, it will use the target specified as the endpoint of the beam
*****************************************************************************/
There are a lot of things for Q3a that work (somewhat) in Mohaa, but were not included in entdefs.pk3.
Posted: Fri Jul 09, 2004 4:08 am
by lizardkid
i belive you need to save func_beam as cpp

Posted: Fri Jul 09, 2004 5:13 am
by bdbodger
I guess that is part of the entdefs made by scorpio . I will put it on my site for those that don't have them .
download entdefs.pk3
by the way not all of them work this file replace the other entdefs I beleave so maybe move the other one to a differnt directory .
beam
Posted: Fri Jul 09, 2004 11:14 am
by tltrude
The one I had was a little different for bdboger's version. So, I combined the two and updated my post above.
Thanks lizardkid, for spotting that typo.
bdbodger - Have you tried it with a moving target yet? Will he have to loop "updateendpoint"?
Posted: Fri Jul 09, 2004 4:54 pm
by BirdsofaFeather
Ok, gonna try it out, sounds very promising thanks for all the info guys. I have one other question though, if I have to give the beam a value for the texture, does that mean I don't have to create a beam in radiant? Or really I guess, what should the beam's source be, a brush with nodraw on it or with the texture I want on it? And would the anchor point be located in the middle of the source brush? Shoot, I guess I'm really wondering how bdbodger did it in that photo cause that's how I want it to look like that. Thanks for the rest of the info though.