User Tools

Site Tools


scripting:reference:system_functions:constructionfunctions

Building Construction Functions

System functions that allow you to construct buildings in the world and set/query construction parameters

sysIsBuildingPositionValid

Format sysIsBuildingPositionValid( Building_Type )
Description Checks whether the player's current position is a valid place to add a building of the specified type
Returns 1 if the position is valid, 0 if not

Example:

Event( "PlaceAnyBuilding", "" )
{
    $buildingType = $gParam[1]
    $isValid = sysIsBuildingPositionValid( $buildingType )
    if ( $isValid == 1 )
    {
	$buildingName = sysGetTextEntry()
	$constrAmount = -1
	$didAdd = sysAddBuildingWorld( $buildingType,$gPlayerID,$gPlayerWorldX,$gPlayerWorldY,$buildingName,$constrAmount )
    }
}

sysConstructBuilding

Format sysConstructBuilding ( Building_Type, WorldX, WorldY, [Building_Name] ) )
Description Used to construct a new building to your world. The server handles all the standard construction processes (like deducting building tax or construction materials) according to the current settings applied on your world. If you just want to add a building directly, without applying the usual construction rules, use sysAddBuilding
Returns 1 if the building was added to the world, 0 if not

Example:

Event( "PlaceAnyBuilding", "" )
{
    $nBuildingType = $gParam[1]

    $valid = sysIsBuildingPositionValid( $nBuildingType )
    if ( $valid = 1 )
    {
	$buildingName = sysGetTextEntry()
	$didAdd = sysConstructBuilding( nBuildingType, $gPlayerWorldX,$gPlayerWorldY,$buildingName )
    }
}

sysAddBuilding

Format sysAddBuilding ( Building_Type, OwnerID, MapX, MapY, [Building_Name], [Construction Amount 1], [Construction Amount 2] ) )
Description Used to add a new building to your world
Returns The building number created if the building was added to the world, 0 if not

Example:

Event( "PlaceAnyBuilding", "" )
{
    $nBuildingType = $gParam[1]

    $valid = sysIsBuildingPositionValid( $nBuildingType )
    if ( $valid = 1 )
    {
	$buildingName = sysGetTextEntry()
	$didAdd = sysAddBuilding( nBuildingType,$gPlayerID,$gPlayerX,$gPlayerY,$buildingName )
    }
}

sysAddBuildingWorld

Format for this is same as the 'sysAddBuilding' function described above but World coordinates are used instead of Map coordinates. (Map coordinates are essentially the coordinates of the 'tiles' that make up the land, world coordinates are in cm).

sysGetBuildingTypeName

sysGetBuildingTypeName( TypeNum ) returns text name

sysGetConstructionMaterialsAmount

sysGetConstructionMaterialsAmount( TypeNum ) returns amount of primary construction material required - set in the buildings editor tool

sysGetBuildingTypeBasePrice

sysGetBuildingTypeBasePrice( TypeNum ) returns the base price for construction of this building type, determined by buildings editor setup and economy settings. Actual price can vary depending on where it is placed on the world (e.g. town construction taxes can apply) if you have those settings enabled too.

sysGetSecondaryConstructionPrice

sysGetSecondaryConstructionPrice ( TypeNum ) returns amount of secondary construction material required - set in the buildings editor tool.

sysIsInBuildZone

sysIsInBuildZone( MapX, MapY, ZoneIDNum ) checks if the specified map location is within the specified build zone.

sysIsInNoBuildZone

sysIsInBuildZone( MapX, MapY, ZoneIDNum ) checks if the specified map location is within the specified no-build zone.

scripting/reference/system_functions/constructionfunctions.txt · Last modified: 2023/05/05 03:13 by mit

Except where otherwise noted, content on this wiki is licensed under the following license: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki