CreateWater: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
Line 51: Line 51:
</section>
</section>
<section name="Client" class="client" show="true">
<section name="Client" class="client" show="true">
This example creates water at the given coordinates and sets the height of the water level to 20 for the client when he joins.
This example creates water at the given coordinates and sets the height of the water level to 20 for when the client joins.
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
function thaResourceStarting( )
function thaResourceStarting( )
     water = createWater ( 1866, -1444, 10, 1968, -1442, 10, 1866, -1372, 10, 1968, -1370, 10 )
     water = createWater ( 1866, -1444, 10, 1968, -1442, 10, 1866, -1372, 10, 1968, -1370, 10 )
     setWaterLevel (water, 20 )
     setWaterLevel ( water, 20 )
end
end
addEventHandler("onClientResourceStart", getResourceRootElement(getThisResource()), thaResourceStarting)
addEventHandler("onClientResourceStart", getResourceRootElement(getThisResource()), thaResourceStarting)

Revision as of 02:12, 21 January 2014

Creates an area of water.

The largest possible size of a water area is 5996×5996. Also be aware that the function will change all x and y coordinates you specify into even integer numbers if necessary: this is because of a limitation of San Andreas.

You are able to give the water a shallow water effect, which practically changes the water invisible to the eye. However, all elements still work the same way as without the shallow effect - allowing swimming, diving, vehicles to sink, etc.

[[{{{image}}}|link=|]] Note: X and Y positions will be changed to an even integer. i.e. -2, 0, 2, 4 etc.

Syntax

water createWater ( int x1, int y1, float z1, int x2, int y2, float z2, int x3, int y3, float z3 [, int x4, int y4, float z4 ] [, bool bShallow = false ] )
Example of water quadrant.

Required Arguments

  • x1, y1, z1: position of bottom left (south-west) corner.
  • x2, y2, z2: position of bottom right (south-east) corner.
  • x3, y3, z3: position of top left (north-west) corner.

Note: Only 3 coords creates a triangle

Optional Arguments

  • x4, y4, z4: position of top right (north-east) corner.
  • bShallow: gives the water a shallow water effect.

Returns

Returns a water element if successful, false otherwise. The water element can be repositioned with setElementPosition and destroyed with destroyElement.

Example

Click to collapse [-]
Client

Example code for creating a water area to cover the entire San Andreas Map (flood the cities). Also, setWaterLevel is used to raise the existing rivers and lakes.

-- Setting water properties.
height = 40
SizeVal = 2998
-- Defining variables.
southWest_X = -SizeVal
southWest_Y = -SizeVal
southEast_X = SizeVal
southEast_Y = -SizeVal
northWest_X = -SizeVal
northWest_Y = SizeVal
northEast_X = SizeVal
northEast_Y = SizeVal

-- OnClientResourceStart function that creates the water.
function thaResourceStarting( )
    water = createWater ( southWest_X, southWest_Y, height, southEast_X, southEast_Y, height, northWest_X, northWest_Y, height, northEast_X, northEast_Y, height )
    setWaterLevel ( height )
end
addEventHandler("onClientResourceStart", resourceRoot, thaResourceStarting)
Click to collapse [-]
Client

This example creates water at the given coordinates and sets the height of the water level to 20 for when the client joins.

function thaResourceStarting( )
    water = createWater ( 1866, -1444, 10, 1968, -1442, 10, 1866, -1372, 10, 1968, -1370, 10 )
    setWaterLevel ( water, 20 )
end
addEventHandler("onClientResourceStart", getResourceRootElement(getThisResource()), thaResourceStarting)

See Also