Making a good looking rope that winds up

If you're looking for mapping help or you reckon you're a mapping guru, post your questions / solutions here

Moderator: Moderators

BirdsofaFeather
Sergeant
Posts: 72
Joined: Sun Aug 24, 2003 3:49 am

Making a good looking rope that winds up

Post 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.
Look! Up in the sky! It's a Bird! It's a Plane! It's......oh wait it's a bird.

<Your MOHAA Mapping Friend in the Sky ;)>
User avatar
tltrude
Chuck Norris
Posts: 4774
Joined: Sun Jul 07, 2002 4:03 am
Location: Oklahoma, USA
Contact:

winch

Post 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.
Tom Trude,

Image
BirdsofaFeather
Sergeant
Posts: 72
Joined: Sun Aug 24, 2003 3:49 am

Post 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.
Look! Up in the sky! It's a Bird! It's a Plane! It's......oh wait it's a bird.

<Your MOHAA Mapping Friend in the Sky ;)>
BirdsofaFeather
Sergeant
Posts: 72
Joined: Sun Aug 24, 2003 3:49 am

Post 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?
Look! Up in the sky! It's a Bird! It's a Plane! It's......oh wait it's a bird.

<Your MOHAA Mapping Friend in the Sky ;)>
User avatar
tltrude
Chuck Norris
Posts: 4774
Joined: Sun Jul 07, 2002 4:03 am
Location: Oklahoma, USA
Contact:

invisible

Post by tltrude »

Sorry, there is not "cloak of invisiblity" texture. I know because I tried them all!
Tom Trude,

Image
BirdsofaFeather
Sergeant
Posts: 72
Joined: Sun Aug 24, 2003 3:49 am

Post 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?
Look! Up in the sky! It's a Bird! It's a Plane! It's......oh wait it's a bird.

<Your MOHAA Mapping Friend in the Sky ;)>
User avatar
tltrude
Chuck Norris
Posts: 4774
Joined: Sun Jul 07, 2002 4:03 am
Location: Oklahoma, USA
Contact:

vis

Post 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.
Tom Trude,

Image
User avatar
bdbodger
Moderator
Posts: 2596
Joined: Tue Feb 25, 2003 7:34 am
Location: canada
Contact:

Post 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

Image
Image
BirdsofaFeather
Sergeant
Posts: 72
Joined: Sun Aug 24, 2003 3:49 am

Post 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?
Look! Up in the sky! It's a Bird! It's a Plane! It's......oh wait it's a bird.

<Your MOHAA Mapping Friend in the Sky ;)>
blue60007
General
Posts: 1247
Joined: Sun Mar 07, 2004 11:44 pm

Post 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)
Image
User avatar
tltrude
Chuck Norris
Posts: 4774
Joined: Sun Jul 07, 2002 4:03 am
Location: Oklahoma, USA
Contact:

.ccp

Post 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.
Last edited by tltrude on Fri Jul 09, 2004 11:09 am, edited 3 times in total.
Tom Trude,

Image
lizardkid
Windows Zealot
Posts: 3672
Joined: Fri Mar 19, 2004 7:16 pm
Location: Helena MT

Post by lizardkid »

i belive you need to save func_beam as cpp :wink:
Moderator

۞
Abyssus pro sapientia
Olympus pro Ignarus
۞

AND STUFF™ © 2006
User avatar
bdbodger
Moderator
Posts: 2596
Joined: Tue Feb 25, 2003 7:34 am
Location: canada
Contact:

Post 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 .
Image
User avatar
tltrude
Chuck Norris
Posts: 4774
Joined: Sun Jul 07, 2002 4:03 am
Location: Oklahoma, USA
Contact:

beam

Post 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"?
Last edited by tltrude on Fri Jul 09, 2004 7:28 pm, edited 1 time in total.
Tom Trude,

Image
BirdsofaFeather
Sergeant
Posts: 72
Joined: Sun Aug 24, 2003 3:49 am

Post 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.
Look! Up in the sky! It's a Bird! It's a Plane! It's......oh wait it's a bird.

<Your MOHAA Mapping Friend in the Sky ;)>
Post Reply