==== Town information and control functions ==== ===== Town Functions ===== ==== sysGetNearestTown ==== ''**sysGetNearestTown( WorldX, WorldY )**'' returns buildingID num for the nearest town to the specified world coord ==== sysTownGetRelationship ==== ''**sysTownGetRelationship( townIDNum1, townIDNum2 )**'' returns the current 'political' relationship between the two towns. Exactly how much of the town relationship system is presently viable is somewhat unknown.. \\ ==== sysTownGetNumBuildingsOfType ==== ^ Format | sysTownGetNumBuildingsOfType( TownBuildingID, BuildingType )| ^ Description | Returns the number of buildings of this type currently exist within the specified town. Useful for when you want to script a system that limits the number of a particular type of building per town | ^ Returns | Number of this type of building in the town | //Example//: Event( "PlaceAnyBuilding", "" ) { $nBuildingType = $gParam[1] $nearestTownID = sysGetNearestTown( $gPlayerWorldX, $gPlayerWorldY ) $numInTown = sysTownGetNumBuildingsOfType( $nearestTownID, $nBuildingType ) if ( $numInTown >= 3 ) { *msg %PLAYER% There can only be 3 of each type of building in each town CancelTransaction() } else { $valid = sysIsBuildingPositionValid( $nBuildingType ) if ( $valid = 1 ) { $buildingName = sysGetTextEntry() $constrAmount = -1 $didAdd = sysAddBuildingWorld( $nBuildingType,$gPlayerID,$gPlayerWorldX,$gPlayerWorldY,$buildingName,$constrAmount ) } } }