******** ARTICULATED BOOM LIFT ********

This prefab is submitted as-is. Even though it was thoroughly tested, problems may occur periodically. During testing, I didn't find any bugs, but that doesn't mean they don't exist. 


******** HOW TO GET SOME ADDITIONAL HELP ********

Some of you may have some questions, comments or criticisms. If you are a regular to the "Ritualistic- Sin Editing Forum", feel free to post a topic there in regard to this prefab. That way, others who have downloaded the boom-lift can benefit from your query.

OR Feel free to email me at: BlindTypist@RCN.COM. I don't check my email often, so posting at the forum may be your best bet.



******** WHY I DO WHAT I DO ********

I admit: even though this "articulated boom-lift" is modelled after an actual machine, it isn't perfect and has plenty of room for improvement. I tried to keep everything as simple as possible for the end user, therefore many features were simplified or ommitted.


******** FEATURES ********

* ARTICULATED ARM
The main feature of this articulated boom-lift is the six-jointed arm. It's movement is smooth and can extend the bucket 850+ units high. 

* CONTROLS
Three controls handle the up/down movement of the lift. The two red handled controls move the lift DOWN. The green handled control moves the lift UP. The handles even MOVE when used.

* VARIABLE-HEIGHT STOP
The red and green controls can be "used" while the lift is still moving. This will force the lift to STOP moving, allowing the lift to stop at variable heights. Usually, this type of control would be extremely risky since it could cause erratic movment. I didn't experience any problems during testing, and found it to be a stable script.

* CRUSHING
This isn't really a "feature" but I thought I should mention it. All the moving parts of the lift can CRUSH the player. This means any player standing UNDER the bucket as it comes down will be crushed/killed/mutilated. Early in the development of the boom-lift prefab I had problems with the player getting crushed for no apparent reason. Lately, the problem seems to have been fixed, so I added the feature back into the script. Hopefully you won't have any problems with it.


******** THE SCRIPT ********

As you may have noticed, I like to use alot of variables in my scripts. This allows me flexibility and versatility with my scripts and allows me to easily change the sounds, speed, angles, etc. Actually, MOST of the script is comprised of commands that assign or swap variables.

At the beginning of the initialization thread is the label
  
  init_lift:
  // These variable can be safely changed.
  local.lift_control1_off vector "(45 0 0)"

The next few lines after that label control the sounds, speed and angles of the lift. For the most part, the angles won't need to be changed, unless you decide to re-position the entire lift. as an example, the snippet above shows local.lift_control1_off is a variable containing the vector "(45 0 0)". This is an ANGLE on the X-AXIS and controls the position of the GREEN CONTROL HANDLE. All moving parts are assigned a vector similar to this.

The actual scriptcommands that move the lift are at the end of the script. It is a very simple script sequence that controls BOTH the UPWARD AND DOWNWARD movement.


******** OTHER STUFF ********

* ARM MOVEMENT
The lifts movement is fairly simple and smooth, but some may be bothered by the lack of visible hydraulics.

Originally the boom-lift had hydraulics, and even though they worked perfectly fine, they complicated the script and added additional brushes to an already large prefab. My ultimate goal was to keep everything as simple as possible so that the end user could change the prefab to suit their needs. So if you REALLY need visible hydraulics, feel free to add them.

* LIFT MOVEMENT
I didn't include the script to "roll" the boom-lift forward or backward. For those who are comfortable with SinScript, this is an easy task. All the lifts objects are bound to the "lift_main" func_scriptobject, so by moving "lift_main" the entire lift will seem to roll. Of course the tire rotation will have to be scripted also. "Turning" such a cumbersome machine around a corner would be tricky, but it would be possible.

This is NOT the same as DRIVING. It is simply moving the lift from one location to another.

A simple script snippet to move the lift would look something like this:

  local.lift_main moveforward 256
  waitfor local.lift_main

This snippet should be added AFTER the lift has initialized all the variables. Another control could even be added to make the lift move forward and back.

* MAKING THE LIFT GO HIGHER
Shortening or extending different parts of the lift "arm" will allow the maximum height to vary. Since the lift moves using angles, the script doesn't have to be edited in any way.

The easiest "arm" piece to extend or shorten is also the longest: local.lift_arm4. ($arm4)

* COMPILING
This prefab is "ready to go"; just compile it as-is. Compilation on my computer takes a little less than 1.5 minutes. This is mostly due to the "sky" texture, I think. If you want a faster compile time, change the "sky" texture to a normal texture.

* WHY IS THE BACKGROUND SO DAMN BUTT-UGLY?
Because the background isn't the important part of the prefab. It is there just so you can see how high the lift is going. Try stopping the lift at variable heights.


******** IN CLOSING ********

I hope you have fun with this machine. It has alot of potential, and isn't restricted to being only an "articulated boom-lift". With a few changes, this script could easily control many types of other lifts, elevators, ramps or machinery.



