here's an example directory tree for the content pack "forceislands2" inside the zip file "forceislands2.zip" inside the mods subdirectory of a freebuild installation.



Note that the Force Islands 2 subdirectory should not be present. The correct structure for this content pack is as follows:


also note that i'm not entirely sure why those textures are in the interiors directory when they look more like terrain textures, and as far as I can tell they are using the core/data/ copy anyway, so that should go too.

Here is a sample modinfo.txt

Code:
NAME:   Force Islands 2
AUTHOR:   fiveforce
VERSION:   1
DEPENDENCIES: None
DESCRIPTION: Map for use in Freebuild (TBG) to replace the one lost in The Orange Block   

Resources:  core/data/terrains/grassy
       core data/terrains/sand
       core data/terrains/water
            core data/terrains/cliffy


this should be corrected so that the NAME: line reads as following


Code:
NAME: forceislands2
to match the .zip name of the content pack.

Finally here is some example mission code.


Code:
//--- OBJECT WRITE BEGIN ---
new SimGroup(MissionGroup) {
   canSaveDynamicFields = "1";
      cdTrack = "2";
      musicTrack = "lush";
      CTF_scoreLimit = "5";

   new ScriptObject(MissionInfo) {
         preview = "core/data/missions/previews/ForceIslands2.png";
         name = "BL-Force Islands 2";
         desc0 = "Come and build on these wonderful islands. Map by 5Force";
         desclines = "2";
   };
   new MissionArea(MissionArea) {
      canSaveDynamicFields = "1";
      Area = "-360 -648 720 1296";
      flightCeiling = "300";
      flightCeilingRange = "20";
         locked = "true";
   };
   new Sky(Sky) {
      canSaveDynamicFields = "1";
      position = "336 136 0";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      materialList = "~/data/skies/Sky_Blue2/resource.dml";
      cloudHeightPer[0] = "0.349971";
      cloudHeightPer[1] = "0.3";
      cloudHeightPer[2] = "0.199973";
      cloudSpeed1 = "0.0005";
      cloudSpeed2 = "0.001";
      cloudSpeed3 = "0.0003";
      visibleDistance = "2000";
      fogDistance = "350";
      fogColor = "0.5 0.5 0.6 1";
      fogStorm1 = "0";
      fogStorm2 = "0";
      fogStorm3 = "0";
      fogVolume1 = "0 0 0";
      fogVolume2 = "0 0 0";
      fogVolume3 = "0 0 0";
      fogVolumeColor1 = "128 128 128 -2.22768e+038";
      fogVolumeColor2 = "128 128 128 0";
      fogVolumeColor3 = "128 128 128 -1.70699e+038";
      windVelocity = "-2.3 0.5 0";
      windEffectPrecipitation = "1";
      SkySolidColor = "0.9 0.8 0.6 1";
      useSkyTextures = "1";
      renderBottomTexture = "0";
      noRenderBans = "0";
         locked = "true";
   };
   new Sun(sunlight) {
      canSaveDynamicFields = "1";
      azimuth = "0";
      elevation = "35";
      color = "0.45 0.45 0.45 1";
      ambient = "0.15 0.15 0.15 1";
      CastsShadows = "1";
         position = "0 0 0";
         rotation = "0 0 1 0";
         scale = "1 1 1";
         locked = "true";
         direction = "0.483304 0.262845 -0.76855";
   };
   new SimGroup(PlayerDropPoints) {
      canSaveDynamicFields = "1";

      new SpawnSphere(Drop1) {
         canSaveDynamicFields = "1";
         position = "-4.74673 326.024 19.9";
         rotation = "0 0 1 179.909";
         scale = "0.940827 1.97505 1";
         dataBlock = "SpawnSphereMarker";
         radius = "10";
         sphereWeight = "1";
         indoorWeight = "1";
         outdoorWeight = "1";
            locked = "False";
            homingCount = "0";
            lockCount = "0";
      };
   };
   new TerrainBlock(Terrain) {
      canSaveDynamicFields = "1";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      detailTexture = "~/data/terrains/details/detail1";
      terrainFile = "./BL-ForceIslands2.ter";
      squareSize = "8";
      bumpScale = "1";
      bumpOffset = "0.01";
      zeroBumpScale = "8";
      tile = "1";
         position = "-1024 -1024 0";
         locked = "true";
   };
   new fxSunLight(sunlight) {
      canSaveDynamicFields = "1";
      position = "-0.140032 -14.612 129.561";
      rotation = "0 0 1 30";
      scale = "1 1 1";
      Enable = "1";
      LocalFlareBitmap = "~/common/lighting/corona";
      RemoteFlareBitmap = "~/common/lighting/corona";
      SunAzimuth = "0";
      SunElevation = "25";
      LockToRealSun = "1";
      FlareTP = "1";
      Colour = "0.5 0.5 0.5 1";
      Brightness = "0.5";
      FlareSize = "1";
      FadeTime = "0.1";
      BlendMode = "0";
      AnimColour = "1";
      AnimBrightness = "0";
      AnimRotation = "1";
      AnimSize = "0";
      AnimAzimuth = "1";
      AnimElevation = "0";
      LerpColour = "1";
      LerpBrightness = "1";
      LerpRotation = "1";
      LerpSize = "1";
      LerpAzimuth = "1";
      LerpElevation = "1";
      LinkFlareSize = "0";
      SingleColourKeys = "1";
      MinColour = "0 0 0 1";
      MaxColour = "1 1 1 1";
      MinBrightness = "0";
      MaxBrightness = "1";
      MinRotation = "0";
      MaxRotation = "359";
      minSize = "0.5";
      MaxSize = "1";
      MinAzimuth = "250";
      MaxAzimuth = "250";
      MinElevation = "-30";
      MaxElevation = "210";
      RedKeys = "AZA";
      GreenKeys = "AZA";
      BlueKeys = "AZA";
      BrightnessKeys = "AZA";
      RotationKeys = "AZA";
      SizeKeys = "AZA";
      AzimuthKeys = "AZ";
      ElevationKeys = "AZ";
      ColourTime = "60";
      BrightnessTime = "60";
      RotationTime = "60";
      SizeTime = "60";
      AzimuthTime = "5";
      ElevationTime = "5";
   };
   new StaticShape() {
      canSaveDynamicFields = "1";
      position = "-37.2438 319.745 9.962";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "gray32";
      receiveSunLight = "1";
      receiveLMLighting = "1";
      useAdaptiveSelfIllumination = "0";
      useCustomAmbientLighting = "0";
      customAmbientSelfIllumination = "0";
      customAmbientLighting = "0 0 0 1";
      useLightingOcclusion = "1";
   };
   new WaterBlock() {
      canSaveDynamicFields = "1";
      position = "-64 272 -41.5";
      rotation = "1 0 0 0";
      scale = "1 1 50";
      UseDepthMask = "1";
      surfaceTexture = "~/data/water/water";
      ShoreTexture = "~/data/water/water";
      envMapOverTexture = "~/data/water/water";
      envMapUnderTexture = "~/data/water/water";
      submergeTexture[0] = "~/data/water/water";
      submergeTexture[1] = "~/data/water/water";
      specularMaskTex = "~/data/water/water";
      liquidType = "OceanWater";
      density = "5";
      viscosity = "15";
      waveMagnitude = "3";
      surfaceOpacity = "0.75";
      envMapIntensity = "0.4";
      TessSurface = "50";
      TessShore = "60";
      SurfaceParallax = "0.5";
      FlowAngle = "0";
      FlowRate = "0.015";
      DistortGridScale = "0.1";
      DistortMag = "0.05";
      DistortTime = "0.5";
      ShoreDepth = "20";
      DepthGradient = "1";
      MinAlpha = "0.03";
      MaxAlpha = "1";
      tile = "1";
      removeWetEdges = "0";
      specularColor = "1 1 1 1";
      specularPower = "6";
         envMapTexture = "~/data/skies/sunset_0007";
         textureSize = "32 32";
         params2 = "0.39 0.39 0.2 0.133";
         floodFill = "1";
         Extent = "100 100 10";
         seedPoints = "0 0 1 0 1 1 0 1";
         params0 = "0.32 -0.67 0.066 0.5";
         params3 = "1.21 -0.61 0.13 -0.33";
         params1 = "0.63 -2.41 0.33 0.21";
   };
   new FileObject() {
      canSaveDynamicFields = "1";
   };
   new StaticShape() {
      canSaveDynamicFields = "1";
      position = "442.756 767.745 21.362";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "gray32";
      receiveSunLight = "1";
      receiveLMLighting = "1";
      useAdaptiveSelfIllumination = "0";
      useCustomAmbientLighting = "0";
      customAmbientSelfIllumination = "0";
      customAmbientLighting = "0 0 0 1";
      useLightingOcclusion = "1";
   };
   new StaticShape() {
      canSaveDynamicFields = "1";
      position = "474.756 623.745 9.962";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "gray32";
      receiveSunLight = "1";
      receiveLMLighting = "1";
      useAdaptiveSelfIllumination = "0";
      useCustomAmbientLighting = "0";
      customAmbientSelfIllumination = "0";
      customAmbientLighting = "0 0 0 1";
      useLightingOcclusion = "1";
   };
   new StaticShape() {
      canSaveDynamicFields = "1";
      position = "-581.244 335.745 9.962";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "gray32";
      receiveSunLight = "1";
      receiveLMLighting = "1";
      useAdaptiveSelfIllumination = "0";
      useCustomAmbientLighting = "0";
      customAmbientSelfIllumination = "0";
      customAmbientLighting = "0 0 0 1";
      useLightingOcclusion = "1";
   };
   new FileObject() {
      canSaveDynamicFields = "1";
   };
   new StaticShape() {
      canSaveDynamicFields = "1";
      position = "-565.244 -112.255 10.162";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "gray32";
      receiveSunLight = "1";
      receiveLMLighting = "1";
      useAdaptiveSelfIllumination = "0";
      useCustomAmbientLighting = "0";
      customAmbientSelfIllumination = "0";
      customAmbientLighting = "0 0 0 1";
      useLightingOcclusion = "1";
   };
   new StaticShape() {
      canSaveDynamicFields = "1";
      position = "-181.244 -608.255 9.962";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "gray32";
      receiveSunLight = "1";
      receiveLMLighting = "1";
      useAdaptiveSelfIllumination = "0";
      useCustomAmbientLighting = "0";
      customAmbientSelfIllumination = "0";
      customAmbientLighting = "0 0 0 1";
      useLightingOcclusion = "1";
   };
   new StaticShape() {
      canSaveDynamicFields = "1";
      position = "842.756 -640.255 14.362";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "gray32";
      receiveSunLight = "1";
      receiveLMLighting = "1";
      useAdaptiveSelfIllumination = "0";
      useCustomAmbientLighting = "0";
      customAmbientSelfIllumination = "0";
      customAmbientLighting = "0 0 0 1";
      useLightingOcclusion = "1";
   };
};
//--- OBJECT WRITE END ---


This should be changed as follows

Code:
//--- OBJECT WRITE BEGIN ---
new SimGroup(MissionGroup) {
   canSaveDynamicFields = "1";
      cdTrack = "2";
      musicTrack = "lush";
      CTF_scoreLimit = "5";

   new ScriptObject(MissionInfo) {
         preview = "mods/forceislands2/data/missions/previews/ForceIslands2.png";
         name = "BL-Force Islands 2";
         desc0 = "Come and build on these wonderful islands. Map by 5Force";
         desclines = "2";
   };
   new MissionArea(MissionArea) {
      canSaveDynamicFields = "1";
      Area = "-360 -648 720 1296";
      flightCeiling = "300";
      flightCeilingRange = "20";
         locked = "true";
   };
   new Sky(Sky) {
      canSaveDynamicFields = "1";
      position = "336 136 0";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      materialList = "core/data/skies/Sky_Blue2/resource.dml";
      cloudHeightPer[0] = "0.349971";
      cloudHeightPer[1] = "0.3";
      cloudHeightPer[2] = "0.199973";
      cloudSpeed1 = "0.0005";
      cloudSpeed2 = "0.001";
      cloudSpeed3 = "0.0003";
      visibleDistance = "2000";
      fogDistance = "350";
      fogColor = "0.5 0.5 0.6 1";
      fogStorm1 = "0";
      fogStorm2 = "0";
      fogStorm3 = "0";
      fogVolume1 = "0 0 0";
      fogVolume2 = "0 0 0";
      fogVolume3 = "0 0 0";
      fogVolumeColor1 = "128 128 128 -2.22768e+038";
      fogVolumeColor2 = "128 128 128 0";
      fogVolumeColor3 = "128 128 128 -1.70699e+038";
      windVelocity = "-2.3 0.5 0";
      windEffectPrecipitation = "1";
      SkySolidColor = "0.9 0.8 0.6 1";
      useSkyTextures = "1";
      renderBottomTexture = "0";
      noRenderBans = "0";
         locked = "true";
   };
   new Sun(sunlight) {
      canSaveDynamicFields = "1";
      azimuth = "0";
      elevation = "35";
      color = "0.45 0.45 0.45 1";
      ambient = "0.15 0.15 0.15 1";
      CastsShadows = "1";
         position = "0 0 0";
         rotation = "0 0 1 0";
         scale = "1 1 1";
         locked = "true";
         direction = "0.483304 0.262845 -0.76855";
   };
   new SimGroup(PlayerDropPoints) {
      canSaveDynamicFields = "1";

      new SpawnSphere(Drop1) {
         canSaveDynamicFields = "1";
         position = "-4.74673 326.024 19.9";
         rotation = "0 0 1 179.909";
         scale = "0.940827 1.97505 1";
         dataBlock = "SpawnSphereMarker";
         radius = "10";
         sphereWeight = "1";
         indoorWeight = "1";
         outdoorWeight = "1";
            locked = "False";
            homingCount = "0";
            lockCount = "0";
      };
   };
   new TerrainBlock(Terrain) {
      canSaveDynamicFields = "1";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      detailTexture = "core/data/terrains/details/detail1";
      terrainFile = "mods/forceislands2/data/terrains/BL-ForceIslands2.ter";
      squareSize = "8";
      bumpScale = "1";
      bumpOffset = "0.01";
      zeroBumpScale = "8";
      tile = "1";
         position = "-1024 -1024 0";
         locked = "true";
   };
   new fxSunLight(sunlight) {
      canSaveDynamicFields = "1";
      position = "-0.140032 -14.612 129.561";
      rotation = "0 0 1 30";
      scale = "1 1 1";
      Enable = "1";
      LocalFlareBitmap = "core/common/lighting/corona";
      RemoteFlareBitmap = "core/common/lighting/corona";
      SunAzimuth = "0";
      SunElevation = "25";
      LockToRealSun = "1";
      FlareTP = "1";
      Colour = "0.5 0.5 0.5 1";
      Brightness = "0.5";
      FlareSize = "1";
      FadeTime = "0.1";
      BlendMode = "0";
      AnimColour = "1";
      AnimBrightness = "0";
      AnimRotation = "1";
      AnimSize = "0";
      AnimAzimuth = "1";
      AnimElevation = "0";
      LerpColour = "1";
      LerpBrightness = "1";
      LerpRotation = "1";
      LerpSize = "1";
      LerpAzimuth = "1";
      LerpElevation = "1";
      LinkFlareSize = "0";
      SingleColourKeys = "1";
      MinColour = "0 0 0 1";
      MaxColour = "1 1 1 1";
      MinBrightness = "0";
      MaxBrightness = "1";
      MinRotation = "0";
      MaxRotation = "359";
      minSize = "0.5";
      MaxSize = "1";
      MinAzimuth = "250";
      MaxAzimuth = "250";
      MinElevation = "-30";
      MaxElevation = "210";
      RedKeys = "AZA";
      GreenKeys = "AZA";
      BlueKeys = "AZA";
      BrightnessKeys = "AZA";
      RotationKeys = "AZA";
      SizeKeys = "AZA";
      AzimuthKeys = "AZ";
      ElevationKeys = "AZ";
      ColourTime = "60";
      BrightnessTime = "60";
      RotationTime = "60";
      SizeTime = "60";
      AzimuthTime = "5";
      ElevationTime = "5";
   };
   new StaticShape() {
      canSaveDynamicFields = "1";
      position = "-37.2438 319.745 9.962";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "gray32";
      receiveSunLight = "1";
      receiveLMLighting = "1";
      useAdaptiveSelfIllumination = "0";
      useCustomAmbientLighting = "0";
      customAmbientSelfIllumination = "0";
      customAmbientLighting = "0 0 0 1";
      useLightingOcclusion = "1";
   };
   new WaterBlock() {
      canSaveDynamicFields = "1";
      position = "-64 272 -41.5";
      rotation = "1 0 0 0";
      scale = "1 1 50";
      UseDepthMask = "1";
      surfaceTexture = "core/data/water/water";
      ShoreTexture = "core/data/water/water";
      envMapOverTexture = "core/data/water/water";
      envMapUnderTexture = "core/data/water/water";
      submergeTexture[0] = "core/data/water/water";
      submergeTexture[1] = "core/data/water/water";
      specularMaskTex = "core/data/water/water";
      liquidType = "OceanWater";
      density = "5";
      viscosity = "15";
      waveMagnitude = "3";
      surfaceOpacity = "0.75";
      envMapIntensity = "0.4";
      TessSurface = "50";
      TessShore = "60";
      SurfaceParallax = "0.5";
      FlowAngle = "0";
      FlowRate = "0.015";
      DistortGridScale = "0.1";
      DistortMag = "0.05";
      DistortTime = "0.5";
      ShoreDepth = "20";
      DepthGradient = "1";
      MinAlpha = "0.03";
      MaxAlpha = "1";
      tile = "1";
      removeWetEdges = "0";
      specularColor = "1 1 1 1";
      specularPower = "6";
         envMapTexture = "core/data/skies/sunset_0007";
         textureSize = "32 32";
         params2 = "0.39 0.39 0.2 0.133";
         floodFill = "1";
         Extent = "100 100 10";
         seedPoints = "0 0 1 0 1 1 0 1";
         params0 = "0.32 -0.67 0.066 0.5";
         params3 = "1.21 -0.61 0.13 -0.33";
         params1 = "0.63 -2.41 0.33 0.21";
   };
   new FileObject() {
      canSaveDynamicFields = "1";
   };
   new StaticShape() {
      canSaveDynamicFields = "1";
      position = "442.756 767.745 21.362";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "gray32";
      receiveSunLight = "1";
      receiveLMLighting = "1";
      useAdaptiveSelfIllumination = "0";
      useCustomAmbientLighting = "0";
      customAmbientSelfIllumination = "0";
      customAmbientLighting = "0 0 0 1";
      useLightingOcclusion = "1";
   };
   new StaticShape() {
      canSaveDynamicFields = "1";
      position = "474.756 623.745 9.962";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "gray32";
      receiveSunLight = "1";
      receiveLMLighting = "1";
      useAdaptiveSelfIllumination = "0";
      useCustomAmbientLighting = "0";
      customAmbientSelfIllumination = "0";
      customAmbientLighting = "0 0 0 1";
      useLightingOcclusion = "1";
   };
   new StaticShape() {
      canSaveDynamicFields = "1";
      position = "-581.244 335.745 9.962";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "gray32";
      receiveSunLight = "1";
      receiveLMLighting = "1";
      useAdaptiveSelfIllumination = "0";
      useCustomAmbientLighting = "0";
      customAmbientSelfIllumination = "0";
      customAmbientLighting = "0 0 0 1";
      useLightingOcclusion = "1";
   };
   new FileObject() {
      canSaveDynamicFields = "1";
   };
   new StaticShape() {
      canSaveDynamicFields = "1";
      position = "-565.244 -112.255 10.162";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "gray32";
      receiveSunLight = "1";
      receiveLMLighting = "1";
      useAdaptiveSelfIllumination = "0";
      useCustomAmbientLighting = "0";
      customAmbientSelfIllumination = "0";
      customAmbientLighting = "0 0 0 1";
      useLightingOcclusion = "1";
   };
   new StaticShape() {
      canSaveDynamicFields = "1";
      position = "-181.244 -608.255 9.962";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "gray32";
      receiveSunLight = "1";
      receiveLMLighting = "1";
      useAdaptiveSelfIllumination = "0";
      useCustomAmbientLighting = "0";
      customAmbientSelfIllumination = "0";
      customAmbientLighting = "0 0 0 1";
      useLightingOcclusion = "1";
   };
   new StaticShape() {
      canSaveDynamicFields = "1";
      position = "842.756 -640.255 14.362";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "gray32";
      receiveSunLight = "1";
      receiveLMLighting = "1";
      useAdaptiveSelfIllumination = "0";
      useCustomAmbientLighting = "0";
      customAmbientSelfIllumination = "0";
      customAmbientLighting = "0 0 0 1";
      useLightingOcclusion = "1";
   };
};
//--- OBJECT WRITE END ---
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement