Jump to content
Sign in to follow this  
Clayman

Topolka Dam and Beyond

Recommended Posts

Ever asked yourself what's the purpose of a dam that does..... nothing?

Don't want to see dirty coal powerplants anymore and looking for nice, clean power?

Then this might help a little bit:

Topolka Dam with animated water effects, sound and funky lights!

bcc32f17fae5dcb9351ef757ecf4efb6.jpg927aa55ce1101f9bd10005fab498d97a.jpg

Description:

Adds water and sound effects aswell as a small river with rapids to the Topolka Dam on Chernarus.

Available as Addon Version or Script Version.

Addon Version

Required Addons:

Usage:

The script automaticly checks if the player or a camera object is near the dam. So normally you don't have to do anything.

However, there are several global variables to modify different parameters of the effects.

Open / Close Gates:

To open / close any of the gates at any time in your mission set these global variables to true (open) or false (closed):

CLAY_TopolkaDam_gate1

CLAY_TopolkaDam_gate2

CLAY_TopolkaDam_gate3

Turn Nightlights On / Off:

You can turn the nightlights on / off at any time during your mission by setting this global variable to true (lights on) or false (lights off):

CLAY_TopolkaDam_lights

Change Color / Brightness of the nightlights:

The nightlight objects can be addressed via

CLAY_TopolkaDam_light1

CLAY_TopolkaDam_light2

CLAY_TopolkaDam_light3

Use these with the setLightColor, setLightAmbient and setLightBrightness commands.

e.g.

CLAY_TopolkaDam_light1 setLightBrightness 0;
CLAY_TopolkaDam_light2 setLightColor [0,0,1];
CLAY_TopolkaDam_light3 setLightAmbient [1,0,0];

To check if the script has initialized (for whatever you might need this) check the variable

CLAY_TopolkaDam_initDone

e.g.

waitUntil {!(isNil "CLAY_TopolkaDam_initDone")};
waitUntil {CLAY_TopolkaDam_initDone};
Hint "WOW! Look at those awesome effects!";

Download (Addon Version):

Armaholic.com Mirror

ArmA2Base.de Mirror

Script Version

Required Addons:

Usage:

Copy the description.ext, CLAY_TopolkaDamEffects.sqf, CLAY_TopolkaDamSound.sqf and the folder sound to your mission folder.

(NOTE: The included init.sqf is just an example. In this demo mission it does nothing. It's just to show you how to pass additional parameters to the script.)

To use the script, simply place the following code into an unit's init line, a trigger or a script:

nul = [] execVM "CLAY_TopolkaDamEffects.sqf";

To deactivate the script and remove all created objects (river, rocks etc.) use:

CLAY_TopolkaDamFX = false;

You can place a trigger around the Topolka Dam area, which starts the script whenever the player is near

and quits the script once he leaves the area:

Size a/b: 500 / 800 (or whatever you want!)
Activation: Everybody OR side of player (e.g. BLUFOR) OR group the trigger to the player // Repeat
On Activation: nul = [] execVM "CLAY_TopolkaDamEffects.sqf";
Deactivation: CLAY_TopolkaDamFX = false;

(See included Demo mission!)

Advanced:

You can pass several parameters to the script:

[<enable lights? | bool>, [<nightlight color gate 1 | Array - RGB>, <nightlight color gate 2 | Array - RGB>, <nightlight color gate 3 | Array - RGB>], <1st gate open? | bool>, <2nd gate open? | bool>, <3rd gate open? | bool>] execVM ...

enable lights? - Is the dam illuminated at night (true / false)

nightlight color gate 1 / 2 / 3 - Color of the lights can be set for each of the three gates. If lights are not enabled you must at least pass empty arrays! Format is [R, G, B].

1st / 2nd / 3rd gate open? - Each of the three gates can be opend / closed independently. (true / false)

examples:

nul = [true, [[0,1,0], [0,0,1], [1,0,0]], true, true, true] execVM "CLAY_TopolkaDamEffects.sqf";

nul = [false, [[], [], []], true, false, false] execVM "CLAY_TopolkaDamEffects.sqf";

Open / Close Gates:

To open / close any of the gates at any time in your mission set these global variables to true (open) or false (closed):

CLAY_TopolkaDam_gate1

CLAY_TopolkaDam_gate2

CLAY_TopolkaDam_gate3

Turn Nightlights On / Off:

You can turn the nightlights on / off at any time during your mission by setting this global variable to true (lights on) or false (lights off):

CLAY_TopolkaDam_lights

Change Color / Brightness of the nightlights:

The nightlight objects can be addressed via

CLAY_TopolkaDam_light1

CLAY_TopolkaDam_light2

CLAY_TopolkaDam_light3

Use these with the setLightColor, setLightAmbient and setLightBrightness commands.

e.g.

CLAY_TopolkaDam_light1 setLightBrightness 0;
CLAY_TopolkaDam_light2 setLightColor [0,0,1];
CLAY_TopolkaDam_light3 setLightAmbient [1,0,0];

Download (Script Version):

AssaultMissionStudio Mirror

Armaholic Mirror

ArmA2Base.de Mirror

Known Bugs:

  • Overlaping water tiles sometimes look weird
  • The end of the river looks quite provisional (well, it IS provisional^^) because the terrain isn't suited for anything better

NOTE: Make sure to either use only the Addon Version OR the Script Version.

Using both at the same time will most likely cause problems.

To do:

  • Add waves moving away from the waterfall(s)
  • Probably some other stuff I can't remember at the moment

Change Log:

V1.2

  • Bugs fixed

V1.1

  • Fixed placement of some rocks
  • MAP_EU no longer required for Addon Version
  • Self-initialising scripts (Addon Version)
  • New sound for main waterfall
  • Main waterfall sound only played when at least one gate is open
  • Added sound to rapids
  • Water on rapids more random (more natural look)
  • Added vertical movement to river to simulate waves
  • Lights have global names to access them in the editor / other scripts
  • Turn lights on / off at any time
  • Lights will be deleted at end of script

Have fun!

Greetz,

Clayman

Edited by Clayman

Share this post


Link to post
Share on other sites

ArmAmazing addon! Love the funky lights :thumb_down:

PS: I take the EU is needed for the water tiles, would´nt it be possible to define those in the addon versions config also?

Share this post


Link to post
Share on other sites

Looks very nice, but I think the little water fall looks kinda "linear". Perhaps you could try randomizing the particle sizes a bit there to make it look more natural? Otherwise a nice idea. Adds immersion, indeed. :)

Share this post


Link to post
Share on other sites

Looks great, gives it a good look.

Now all we need is some fishing rods in the game and some carp or trout in the water:D

Share this post


Link to post
Share on other sites

awesome! Downloading now!

EDIT:

btw if the dam was releasing that much water it would be depleted pretty quicky lol.

Share this post


Link to post
Share on other sites

Hi i edited your code to add new fill and empty animations to the water and added a new command line to stop the rocks vanishing on exit

Init.sqf

waituntil {vehicle player == player};
// Example init.sqf with optional parameters
/********************************************************************************
[
// Enable lights? (true / false)
true,
[
 // Color of nightlights (R,G,B) for all 3 gates.
 [1,0,0],[0,1,0],[0,0,1]
],
// Gate1 open? (true / false)
true,
// Gate2 open? (true / false)
true,
// Gate3 open? (true / false)
true,
// Remove Rocks on exit? (true / false)
false 
] execVM "CLAY_TopolkaDamEffects.sqf";
********************************************************************************/
while{true}do
{
// Clay Dam Effect
CLAY_TopolkaDamFX = true;
sleep 1;
//Open Gate 1-2
CLAY_TopolkaDam_gate1 = true;
CLAY_TopolkaDam_gate2 = true;
CLAY_TopolkaDam_gate3 = false;
sleep 1;
//Open Gate 1-3
CLAY_TopolkaDam_gate1 = true;
CLAY_TopolkaDam_gate2 = true;
CLAY_TopolkaDam_gate3 = true;
//sleep for cycle
sleep 55;
//Start ending effects
CLAY_TopolkaDamFX = false;
//Wait 20sec to restart
sleep 20
};

CLAY_TopolkaDamEffects.sqf

/*********************************************************************
***
*** Title: Topolka Dam Effects
***
***
*** Description: Creates water and sound effects aswell as a
***       small river with rapids at the Topolka Dam.
***
***
*** Author: Clayman <[email="worldofclay@gmx.de"]worldofclay@gmx.de[/email]>
*** Edited: ArMaTeC <[email="armatec0@gmail.com"]armatec0@gmail.com[/email]>
*** Version: 1.01
***
**********************************************************************/
CLAY_TopolkaDamFX = true;
CLAY_TopolkaDam_Waterfall = false;
CLAY_TopolkaDam_RemoveRocks = false;
if(isnil "CLAY_TopolkaDam_RocksRemoved")then
{
CLAY_TopolkaDam_RocksRemoved = true;
};
_light1 = Objnull;
_light2 = Objnull;
_light3 = Objnull;
CLAY_TopolkaDam_Water1 = "MAP_pond_big_01" createVehicleLocal [0,0,0];
CLAY_TopolkaDam_Water1 setPosASL [10315.187,3607.5203,34];
_water2 = "MAP_pond_big_01" createVehicleLocal [0,0,0];
_water3 = "MAP_pond_big_01" createVehicleLocal [0,0,0];
_water4 = "MAP_pond_big_28_03" createVehicleLocal [0,0,0];
_water5 = "MAP_pond_big_28_01" createVehicleLocal [0,0,0];
//Spawn water move effect
[_water2,_water3,_water4,_water5] spawn 
{
private ["_water2","_water3","_water4","_water5"];
_water2 = _this select 0;
_water3 = _this select 1;
_water4 = _this select 2;
_water5 = _this select 3;
_i = 34;
while {_i < 37.4}do
{ 
 CLAY_TopolkaDam_Water1 setPosASL [10315.187,3607.5203,_i];
 _i = _i + 0.02;
 sleep 0.1;
};
_i = 34;
CLAY_TopolkaDam_Waterfall = true;
while {_i < 36}do
{
 _water2 setPosASL [10316.801,3538.1584,_i];
 _water3 setPosASL [10313.91,3470.2805,_i];
 _water4 setPosASL [10301.494,3397.4358,_i];
 _water5 setPosASL [10306.504,3422.1577,_i];
 _i = _i + 0.01;
 sleep 0.1;
};
};
if(CLAY_TopolkaDam_RocksRemoved)then
{
_rock1 = "MAP_R2_Rock1" createVehicleLocal [0,0,0];
_rock1 setPosASL [10309.365,3398.7043,5.885242];
_rock2 = "MAP_R2_Rock1" createVehicleLocal [0,0,0];
_rock2 setPosASL [10289.212,3400.3198,12.0457];
_rock3 = "MAP_R2_Rock1" createVehicleLocal [0,0,0];
_rock3 setPosASL [10294.988,3397.6316,5.743645];
_rock4 = "MAP_R2_Rock1" createVehicleLocal [0,0,0];
_rock4 setPosASL [10306.603,3397.3662,8.251797];
_rock5 = "MAP_R2_Rock1" createVehicleLocal [0,0,0];
_rock5 setPosASL [10300.585,3396.4177,10.969398];
_rock6 = "MAP_R2_Rock1" createVehicleLocal [0,0,0];
_rock6 setPosASL [10304.021,3396.481,10.587006];
_rock7 = "MAP_R2_Rock1" createVehicleLocal [0,0,0];
_rock7 setPosASL [10297.084,3397.292,7.810661];
_rock8 = "MAP_R2_Rock1" createVehicleLocal [0,0,0];
_rock8 setPosASL [10290.266,3400.9587,12.590393];
_rock9 = "MAP_R2_Rock1" createVehicleLocal [0,0,0];
_rock9 setPosASL [10323.604,3570.0215,6.65696];
_rock10 = "MAP_R2_Rock1" createVehicleLocal [0,0,0];
_rock10 setPosASL [10321.345, 3569.9382, -27.352427];
_rock11 = "MAP_R2_Rock1" createVehicleLocal [0,0,0];
_rock11 setPosASL [10317.97,  3569.7937, -29.222584];
_rock12 = "MAP_R2_Rock1" createVehicleLocal [0,0,0];
_rock12 setPosASL [10311.617, 3569.7961, -25.606192];
_rock10 setDir 179.06169;
_rock11 setDir 151.61021;
_boulder1 = "MAP_R2_Boulder1" createVehicleLocal [0,0,0];
_boulder1 setPosASL [10324.289,3568.2805,37.209103];
_boulder2 = "MAP_R2_Boulder1" createVehicleLocal [0,0,0];
_boulder2 setPosASL [10322.435,3567.0767,37.786861];
_boulder3 = "MAP_R2_Boulder1" createVehicleLocal [0,0,0];
_boulder3 setPosASL [10306.476,3569.1716,37.904892];
_boulder4 = "MAP_R2_Boulder1" createVehicleLocal [0,0,0];
_boulder4 setPosASL [10307.284,3567.6069,36.230499];
_boulder5 = "MAP_R2_Boulder1" createVehicleLocal [0,0,0];
_boulder5 setPosASL [10307.619,3569.6309,38.609241];
};
private ["_lights", "_col1", "_col2", "_col3"];
If (count _this == 6) Then
{
CLAY_TopolkaDam_RemoveRocks = _this select 5;
};
If (count _this > 4) Then
{
_lights = _this select 0;
_colors = _this select 1;
If (count _colors == 3) Then
{
 If (count (_colors select 0) == 3) Then
 {
  _col1 = _colors select 0;
 }else{
  _col1 = [1,0,0];
 };
 If (count (_colors select 1) == 3) Then
 {
  _col2 = _colors select 1;
 }else{
  _col2 = [0,1,0];
 };
 If (count (_colors select 2) == 3) Then
 {
  _col3 = _colors select 2;
 }else{
  _col3 = [0,0,1];
 };
}else{
 _col1 = [1,0,0];
 _col2 = [0,1,0];
 _col3 = [0,0,1];
};
CLAY_TopolkaDam_gate1 = _this select 2;
CLAY_TopolkaDam_gate2 = _this select 3;
CLAY_TopolkaDam_gate3 = _this select 4;
}else{
_lights = true;
_col1 = [1,0,0];
_col2 = [0,1,0];
_col3 = [0,0,1];
CLAY_TopolkaDam_gate1 = true;
CLAY_TopolkaDam_gate2 = true;
CLAY_TopolkaDam_gate3 = true;
};
If (_lights && (isNil "CLAY_TopolkaDamLights")) Then
{
_light1 = "#lightpoint" createVehicleLocal [10309.4,3620,5.5];
_light1 setLightBrightness 0.1;
_light1 setLightColor _col1;
_light1 setLightAmbient _col1;
_light2 = "#lightpoint" createVehicleLocal [10315.5,3620,5.5];
_light2 setLightBrightness 0.1;
_light2 setLightColor _col2;
_light2 setLightAmbient _col2;
_light3 = "#lightpoint" createVehicleLocal [10321.9,3620,5.5];
_light3 setLightBrightness 0.1;
_light3 setLightColor _col3;
_light3 setLightAmbient _col3;
// Fix to avoid multiple lights being created
CLAY_TopolkaDamLights = 1;
};
_i = 1;
CLAY_TopolkaDam_Water1 say "CLAY_WaterfallFX";
while {CLAY_TopolkaDamFX} do
{
If (time > (16.5 * _i)) Then {_i = _i + 1; CLAY_TopolkaDam_Water1 say "CLAY_WaterfallFX"};
If (CLAY_TopolkaDam_gate1) Then
{
 drop ["\Ca\Data\cl_water", "", "Billboard", 1.3, 1.3, [10309.4,3620,5.5], [0, -10, 0], 1, 100, 0.1, 0.1, [5, 10], [[1,1,1,0.9]], [0], 0.1, 0.01, "", "", ""];
 drop ["\Ca\Data\cl_water", "", "Billboard", 1.3, 1.3, [10310.4,3620,5.5], [0, -10, 0], 1, 100, 0.1, 0.1, [5, 10], [[1,1,1,0.9]], [0], 0.1, 0.01, "", "", ""];
 drop ["\Ca\Data\cl_basic", "", "Billboard", 3, 3, [10309.4,3607,1], [0,0,0], 1, 0.25, 0.2, 0.001, [10,12], [[1,1,1,0.8],[1,1,1,0.4],[1,1,1,0.2],[1,1,1,0.2],[1,1,1,0.1],[1,1,1,0.1],[1,1,1,0]], [0], 0.1, 0.8, "", "", ""];
 drop ["\Ca\Data\cl_basic", "", "Billboard", 3, 3, [10310.4,3607,1], [0,0,0], 1, 0.25, 0.2, 0.001, [10,12], [[1,1,1,0.8],[1,1,1,0.4],[1,1,1,0.2],[1,1,1,0.2],[1,1,1,0.1],[1,1,1,0.1],[1,1,1,0]], [0], 0.1, 0.8, "", "", ""];
};
If (CLAY_TopolkaDam_gate2) Then
{
 drop ["\Ca\Data\cl_water", "", "Billboard", 1.3, 1.3, [10314.5,3620,5.5], [0, -10, 0], 1, 100, 0.1, 0.1, [5, 10], [[1,1,1,0.9]], [0], 0.1, 0.01, "", "", ""];
 drop ["\Ca\Data\cl_water", "", "Billboard", 1.3, 1.3, [10315.5,3620,5.5], [0, -10, 0], 1, 100, 0.1, 0.1, [5, 10], [[1,1,1,0.9]], [0], 0.1, 0.01, "", "", ""];
 drop ["\Ca\Data\cl_water", "", "Billboard", 1.3, 1.3, [10316.5,3620,5.5], [0, -10, 0], 1, 100, 0.1, 0.1, [5, 10], [[1,1,1,0.9]], [0], 0.1, 0.01, "", "", ""];
 drop ["\Ca\Data\cl_basic", "", "Billboard", 3, 3, [10314.5,3607,1], [0,0,0], 1, 0.25, 0.2, 0.001, [10,12], [[1,1,1,0.8],[1,1,1,0.4],[1,1,1,0.2],[1,1,1,0.2],[1,1,1,0.1],[1,1,1,0.1],[1,1,1,0]], [0], 0.1, 0.8, "", "", ""];
 drop ["\Ca\Data\cl_basic", "", "Billboard", 3, 3, [10315.5,3607,1], [0,0,0], 1, 0.25, 0.2, 0.001, [10,12], [[1,1,1,0.8],[1,1,1,0.4],[1,1,1,0.2],[1,1,1,0.2],[1,1,1,0.1],[1,1,1,0.1],[1,1,1,0]], [0], 0.1, 0.8, "", "", ""];
 drop ["\Ca\Data\cl_basic", "", "Billboard", 3, 3, [10316.5,3607,1], [0,0,0], 1, 0.25, 0.2, 0.001, [10,12], [[1,1,1,0.8],[1,1,1,0.4],[1,1,1,0.2],[1,1,1,0.2],[1,1,1,0.1],[1,1,1,0.1],[1,1,1,0]], [0], 0.1, 0.8, "", "", ""];
};
If (CLAY_TopolkaDam_gate3) Then
{
 drop ["\Ca\Data\cl_water", "", "Billboard", 1.3, 1.3, [10320.9,3620,5.5], [0, -10, 0], 1, 100, 0.1, 0.1, [5, 10], [[1,1,1,0.9]], [0], 0.1, 0.01, "", "", ""];
 drop ["\Ca\Data\cl_water", "", "Billboard", 1.3, 1.3, [10321.9,3620,5.5], [0, -10, 0], 1, 100, 0.1, 0.1, [5, 10], [[1,1,1,0.9]], [0], 0.1, 0.01, "", "", ""];
 drop ["\Ca\Data\cl_basic", "", "Billboard", 3, 3, [10320.9,3607,1], [0,0,0], 1, 0.25, 0.2, 0.001, [10,12], [[1,1,1,0.8],[1,1,1,0.4],[1,1,1,0.2],[1,1,1,0.2],[1,1,1,0.1],[1,1,1,0.1],[1,1,1,0]], [0], 0.1, 0.8, "", "", ""];
 drop ["\Ca\Data\cl_basic", "", "Billboard", 3, 3, [10321.9,3607,1], [0,0,0], 1, 0.25, 0.2, 0.001, [10,12], [[1,1,1,0.8],[1,1,1,0.4],[1,1,1,0.2],[1,1,1,0.2],[1,1,1,0.1],[1,1,1,0.1],[1,1,1,0]], [0], 0.1, 0.8, "", "", ""];
};
if(CLAY_TopolkaDam_Waterfall)then{
 drop ["\Ca\Data\cl_water", "", "Billboard", 1.3, 1.3, [-6, -38, -0.5], [0, -5, 0], 1, 100, 0.1, 0.1, [2, 4], [[1,1,1,0.9]], [0], 0.1, 0.01, "", "", CLAY_TopolkaDam_Water1];
 drop ["\Ca\Data\cl_water", "", "Billboard", 1.3, 1.3, [-5, -38, -0.5], [0, -5, 0], 1, 100, 0.1, 0.1, [2, 4], [[1,1,1,0.9]], [0], 0.1, 0.01, "", "", CLAY_TopolkaDam_Water1];
 drop ["\Ca\Data\cl_water", "", "Billboard", 1.3, 1.3, [-4, -38, -0.5], [0, -5, 0], 1, 100, 0.1, 0.1, [2, 4], [[1,1,1,0.9]], [0], 0.1, 0.01, "", "", CLAY_TopolkaDam_Water1];
 drop ["\Ca\Data\cl_water", "", "Billboard", 1.3, 1.3, [-3, -38, -0.5], [0, -5, 0], 1, 100, 0.1, 0.1, [2, 4], [[1,1,1,0.9]], [0], 0.1, 0.01, "", "", CLAY_TopolkaDam_Water1];
 drop ["\Ca\Data\cl_water", "", "Billboard", 1.3, 1.3, [-2, -38, -0.5], [0, -5, 0], 1, 100, 0.1, 0.1, [2, 4], [[1,1,1,0.9]], [0], 0.1, 0.01, "", "", CLAY_TopolkaDam_Water1];
 drop ["\Ca\Data\cl_water", "", "Billboard", 1.3, 1.3, [-1, -38, -0.5], [0, -5, 0], 1, 100, 0.1, 0.1, [2, 4], [[1,1,1,0.9]], [0], 0.1, 0.01, "", "", CLAY_TopolkaDam_Water1];
 drop ["\Ca\Data\cl_water", "", "Billboard", 1.3, 1.3, [0, -38, -0.5], [0, -5, 0], 1, 100, 0.1, 0.1, [2, 4], [[1,1,1,0.9]], [0], 0.1, 0.01, "", "", CLAY_TopolkaDam_Water1];
 drop ["\Ca\Data\cl_water", "", "Billboard", 1.3, 1.3, [1, -38, -0.5], [0, -5, 0], 1, 100, 0.1, 0.1, [2, 4], [[1,1,1,0.9]], [0], 0.1, 0.01, "", "", CLAY_TopolkaDam_Water1];
};
drop ["\Ca\Data\cl_water", "", "Billboard", 1.3, 1.3, [2, -38, -0.5], [0, -5, 0], 1, 100, 0.1, 0.1, [2, 4], [[1,1,1,0.9]], [0], 0.1, 0.01, "", "", CLAY_TopolkaDam_Water1];
drop ["\Ca\Data\cl_water", "", "Billboard", 1.3, 1.3, [3, -38, -0.5], [0, -5, 0], 1, 100, 0.1, 0.1, [2, 4], [[1,1,1,0.9]], [0], 0.1, 0.01, "", "", CLAY_TopolkaDam_Water1];
drop ["\Ca\Data\cl_water", "", "Billboard", 1.3, 1.3, [4, -38, -0.5], [0, -5, 0], 1, 100, 0.1, 0.1, [2, 4], [[1,1,1,0.9]], [0], 0.1, 0.01, "", "", CLAY_TopolkaDam_Water1];
drop ["\Ca\Data\cl_water", "", "Billboard", 1.3, 1.3, [5, -38, -0.5], [0, -5, 0], 1, 100, 0.1, 0.1, [2, 4], [[1,1,1,0.9]], [0], 0.1, 0.01, "", "", CLAY_TopolkaDam_Water1];
sleep 0.1;
};
_i = 37.4;
while {_i > 36}do
{ 
CLAY_TopolkaDam_Water1 setPosASL [10315.187,3607.5203,_i];
_i = _i - 0.02;
drop ["\Ca\Data\cl_water", "", "Billboard", 1.3, 1.3, [2, -38, -0.5], [0, -5, 0], 1, 100, 0.1, 0.1, [2, 4], [[1,1,1,0.9]], [0], 0.1, 0.01, "", "", CLAY_TopolkaDam_Water1];
drop ["\Ca\Data\cl_water", "", "Billboard", 1.3, 1.3, [3, -38, -0.5], [0, -5, 0], 1, 100, 0.1, 0.1, [2, 4], [[1,1,1,0.9]], [0], 0.1, 0.01, "", "", CLAY_TopolkaDam_Water1];
drop ["\Ca\Data\cl_water", "", "Billboard", 1.3, 1.3, [4, -38, -0.5], [0, -5, 0], 1, 100, 0.1, 0.1, [2, 4], [[1,1,1,0.9]], [0], 0.1, 0.01, "", "", CLAY_TopolkaDam_Water1];
drop ["\Ca\Data\cl_water", "", "Billboard", 1.3, 1.3, [5, -38, -0.5], [0, -5, 0], 1, 100, 0.1, 0.1, [2, 4], [[1,1,1,0.9]], [0], 0.1, 0.01, "", "", CLAY_TopolkaDam_Water1];
sleep 0.1;
};
_i = 36;
CLAY_TopolkaDam_Waterfall = false;
while {_i > 34}do
{
_water2 setPosASL [10316.801,3538.1584,_i];
_water3 setPosASL [10313.91,3470.2805,_i];
_water4 setPosASL [10301.494,3397.4358,_i];
_water5 setPosASL [10306.504,3422.1577,_i];
CLAY_TopolkaDam_Water1 setPosASL [10315.187,3607.5203,_i];
_i = _i - 0.01;
sleep 0.1;
};
deleteVehicle CLAY_TopolkaDam_Water1;
deleteVehicle _water2;
deleteVehicle _water3;
deleteVehicle _water4;
deleteVehicle _water5;
if(CLAY_TopolkaDam_RemoveRocks)then
{
CLAY_TopolkaDam_RocksRemoved = true;
deleteVehicle _rock1;
deleteVehicle _rock2;
deleteVehicle _rock3;
deleteVehicle _rock4;
deleteVehicle _rock5;
deleteVehicle _rock6;
deleteVehicle _rock7;
deleteVehicle _rock8;
deleteVehicle _rock9;
deleteVehicle _rock10;
deleteVehicle _rock11;
deleteVehicle _rock12;
deleteVehicle _boulder1;
deleteVehicle _boulder2;
deleteVehicle _boulder3;
deleteVehicle _boulder4;
deleteVehicle _boulder5;
};
deleteVehicle _light1;
deleteVehicle _light2;
deleteVehicle _light3;

Share this post


Link to post
Share on other sites

Thanks for all the comments. Glad you like it. :)

PS: I take the EU is needed for the water tiles, would´nt it be possible to define those in the addon versions config also?

Yes, you're right. Why didn't I come up with that myself?^^

Going to add it in the next version.

Looks very nice, but I think the little water fall looks kinda "linear". Perhaps you could try randomizing the particle sizes a bit there to make it look more natural? Otherwise a nice idea. Adds immersion, indeed. :)

Good idea. Will give it a try. Thanks.

Just use the usual deleteVehicle :)

Already tried that, but it doesn't work.

Edit:

Hi i edited your code to add new fill and empty animations to the water and added a new command line to stop the rocks vanishing on exit

Thanks armatech. Looks interesting. Will tank a closer look later when I get home from work.

Edited by Clayman

Share this post


Link to post
Share on other sites

Great I love this addon, does this mean it's possible to create a real river system to chernarus ? because a country without rivers ....

Share this post


Link to post
Share on other sites

Early WiP video. I'll make a new one later (if noone else does^^).

N0jMpsX6QSc

Share this post


Link to post
Share on other sites

wow this looks amazing!

is there anyway of just puting the addon in a mod folder, to activate it? im no good with all (init) scripting in the editor lol

Share this post


Link to post
Share on other sites

Very awesome indeed. Thank you for this, the world is even more rich.

btw if the dam was releasing that much water it would be depleted pretty quicky lol.

(It's supplied by a humongous artisian spring, the secret source of this regions fresh water, lol)

Share this post


Link to post
Share on other sites

Okay, here's my video of it.

Sorry for the clicking sounds if they do occur. I think it's because I spilt the clips and didn't put the main dam sound over them all. I would have if I knew how to convert a .WSS to something else.

Share this post


Link to post
Share on other sites

Already tried that, but it doesn't work.

Finally got home and had the time to look on the script :)

The reason why you can't delete the lightpoints is because they are undefined in the scope you're trying to delete them (local variables only exist for the scope where they are created and its children).

Put this on top of the IF where you create them (line 119):

private ["_light1", "_light2", "_light3"];

Okay, here's my video of it.

You should use showCinemaBorder false to get rid of the annoying black frame on top and bottom of the screen :)

Share this post


Link to post
Share on other sites

You should use showCinemaBorder false to get rid of the annoying black frame on top and bottom of the screen :)

I did, but for some reason that code no long works for me. Goes for the briefing.sqf too...

Share this post


Link to post
Share on other sites

Maybe the dam has a spring on the other side?

Add particles of white-water moving away from the dam, at least for a little distance beyond the "rapids". Doesn't have to be anything too fancy, just something to add the sensation of motion of the water.

Share this post


Link to post
Share on other sites
The reason why you can't delete the lightpoints is because they are undefined in the scope you're trying to delete them (local variables only exist for the scope where they are created and its children).

Oops. Thanks Deadfast.

Never understood the meaning of this scope part, but now I think I get it. :D

Now we just need to be able to blow it up and have flood animations...lol.

Well, If someone makes a destroyable dam then I'll try to make a flood wave. ;)

Add particles of white-water moving away from the dam, at least for a little distance beyond the "rapids". Doesn't have to be anything too fancy, just something to add the sensation of motion of the water.

Been trying to add something like that, but couldn't get it to look right yet.

But I'll keep it in mind.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×