| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Content | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General Some time ago I recognized a program with the funny name OČ, which, I heard so, is required to make 3D models for OFP. Passing several attempts in modeling, I read some tutorials by brsseb - the new knowledge became quite useful.For my next mission I needed certain objects like walkable pipelines and a few oil pumps for the atmosphere, also a harbour which I could adapt to my imagination as well as a tanker. This was the basic idea from which the Oil-Addon (OA) developed to what it is now. While looking for an alternative to implement the pipelines without using a "keep height" variant, I made some tests with animated pipes and I decided to use this method for the pipes in my addon. Obviously I did not and do not know all upcoming problems by using this method, but I think in the end it's a useful alternative to build pipelines also on more steep positions on the map, without causing contortions on the model. For island makers (and all the others, too) there is at least the 20m Pipeline as "keep-height" variant included, you should only make sure that the terrain you want to build the pipe on is quite flat. An instruction to set up the pipes "by hand" will be found in the scripts part. I will be open for any suggestions, which could be implemented in a possible OA2. So, I wrote enough now, have much fun with the addon! Oil-Addon features
Change log Changes on OA1 from v1.00 to v1.01:
Changes on OA1 from v1.01 to v1.02:
The Models Here you find a list with all objects included, and its names and features. You can find them in the editor under "Mapfact OA: Objects" or "Mapfact OA: Vehicles" on Empty, Resistance or Civilian side.
Tipp: Sometimes the oil tanker causes lag when it is close to other objects. If you want to use the oil ship for "eye candy" only, use the "static-version". If you want to make the ship useable later on, use a simple replacement-script to substitute the static one with the driveable one. The Scripts All scripts are in the pbo "MAP_OilAddon_script". So they are called with ....... exec "\MAP_OilAddon_script\........ .sqs"Pipebuilder.sqs ---- Example included The Pipebuilder.sqs can be used to build the pipelines. To fit these to the terrain, the pipelines will be animated (except they are "keep-height") by the script (standard is that the pipes are facing upwards) A second script is started automatically by the Pipebuilder.sqs and re-animates the pipelines after the game was reloaded, because OFP doesn't save the animation status itself. Due to the reason that both scripts are looped, delays can appear. They depend on the length of the Pipeline. If you call the script with the wrong parameters, it is possible, that hints will show you what was wrong. After wrong input, the standard OFP errors can appear. Here is an exact explanation how to start the script: Example: [Name,1500,0,[[curve1],[curve2],...],[[object1],[object2],...],1,2] exec "\MAP_OilAddon_script\Pipebuilder.sqs" Explanation: Name: Has to be a pipeline-object. This is the reference for the script what type of pipeline it has to build. Easily give a name to the object and use this, or write directly in the init of the object [this,.....] Could be everything except: "Pipeline 20m (Above road)" "Pipeline 20m (Above road, "keep height")" "Pipeline 20m (Above road, walkable)" "Pipeline 20m (Above road, walkable, "k.h.")" "Pipeline 16m Entrance" There are 3 different possibilities of pipelines the script is able to build. If your start object is one of the animated ones, your whole pipe will consist of animated pieces. If your start object is one of the "keep-height" pieces you have two more possibilities: 1) You will get a pipe which only consists of "keep-height" pieces, also at very steep positions! Remember that the models will be contorted! 2) Your start object is also one of the "keep-height" pieces, but you put the text "mixed" at the last position in the array. In the example above this would be "[....,1,2,"mixed]" exec. This will force the script to build "keep-height" pieces, but only at positions that are less steep than 5° at 20m (A difference of about 1.7m). At positions which are steeper than those 5° the script will build animated pieces. Note: The length of the pipe will vary a little when you change to one of these possibilities. The pros and cons of these methods are: Only animated pieces: - There can be problems after destroying the pieces with the animation - After reloading the mission, the pipes have to be animated again. This can be noticed. Only "keep-height": - The models are contorted at steep positions - The models are contorted at steep positions - The segments fit together well - There are no Problems with reloading or destroying. "Mixed"-Method: - This method has the pros and cons of the other methods - The changes from the animated to the "keep-height"-pieces are visible. 1500: Tells the script how long the pipe should get, in meters. 0: 0° or 180° from the start position, that means two scripts can be started from the same start-object, which then will build two pipes in different directions. Of course that makes only sometimes a sense. Curves: To make a curve you need the following: [when in meters, direction in degrees relative to the last segment, sharpness] for example [200,-50,0.4]. This makes a curve with the sharpness of 0.4 (1 is maximum) after 200m to the left. Curves can only be build with the 20m pipe (see also the objects part) If you don't want to have curves, leave the array empty. Objects: Are depending on the type of pipe you are building, these combinations are possible: Pipe 16m, everything except: "MAP_Pipeline_16m" , "MAP_Pipeline_16m_End" Pipe 20m, everything except: "MAP_Pipeline_20m" , "MAP_Pipeline_20m_kh" , "MAP_Pipeline_20m_WK" , "MAP_Pipeline_20m_WK_kh" , "MAP_Pipeline_20m_End" , "MAP_Pipeline_20m_End_kh" , "MAP_Pipeline_20m_End_WK" , "MAP_Pipeline_20m_End_WK_kh" this function is called like this: [400,"Object"] => will build the object after 400m. If you want to have an entrance, you have also the possibility (only when building the 16m pipe) to let the pipe make a bend at this position, so that you can build "curves" also with the 16m pipes: [500,"MAP_Pipeline_Entrance",16] => will build an entrance at which the pipe will make a 16° bend to the right. Maximum is 30°. If you don't want to have objects in your pipe, leave the array empty. 1: Tells the script to finish the pipe with the Pipe_xxm_end object, but only if you type in a number different to 0. That means only a 0 will make no ending. 2: Tells the script which delay to use (in s) for the "guarding"-script, which checks if the pipes have to be animated again after mission was reloaded. Minimum is 0. Numbers smaller than 0 are not permitted. Standard is a delay of 1s is used. To this delay your input will be added. The reason for that option is, that the mapper can adapt the loop to the performance of, e.g. a mission. The script will write all built objects in an array and saves this in the variable MAP_OA_PbObjects. So you have the possibility to choose an object from this array to, e.g. animate it etc. Summary of important functions
Variables To disable all effects (most of the animations, smoke, fire, most sounds, additional explosions) set the variable MAP_OA_FX=false. The oil pumps are disabled in mp because of the performance. To get them to work otherwise set the variable MAP_OA_MPPumpAnim=true. How strong the oil well smokes depends on the performance of the pc system. By using the variable MAP_OA_Smoke this can also be set directly: The value 0 (MAP_OA_Smoke=0) disables the smoke completely. The value 1 makes it smoke calmly. If it has the value 4 it smokes most strongly (only whole figures). MAP_OA_noReanimShip Set this variable true, if you don't want the reanimation script to keep the boats hidden after watering them. You can use this for example to put the speedboats back at the main ship by using the animation an this variable. Summary of some important scripts:
Important! Only with white colour marked scripts are allowed to be started by the mission maker. The others may cause errors if you do so! Animations Summary of all animated objects
Important: Due to the reason that some objects are animated by scripts, a direct execution of the anims will probably cause an error! Credits First I want to say thanks to those peoples who wrote o2 tutorials ;-) Then those peoples who were directly involved in the development of the OA: raedor: config, all MAP_x scripts, revising and optimising all scripts for a good performance and MP compatibility, functions, betatesting Sniping-Jack: some texture- & soundediting, technical support and ideas, betatesting And the other betatesters: BadAss Chneemann Medicus Sky And last but not least all people who had answers for my questions or helped me in any other way ;-) Thanks! Disclaimer This is an unofficial addon for Operation Flashpoint © Bohemia Interactive Studio. Use it on your own risk. Mapfact Oil-Addon © Flashpoint_K. If you have questions about the addon or anything else, write an e-mail to Flashpoint_K@web.de or post in the Mapfact forum in the thread for this addon. |