text: // init-with-car.c
  void main() {
  
  	Hive ce = CreateHive();
  	if ( ce )
  		ce.InitOffline();
  
  	Weather weather = g_Game.GetWeather();
  
  	weather.GetOvercast().SetLimits( 0.0 , 1.0 );
  	weather.GetRain().SetLimits( 0.0 , 1.0 );
  	weather.GetFog().SetLimits( 0.0 , 0.25 );
  
  	weather.GetOvercast().SetForecastChangeLimits( 0.0, 0.2 );
  	weather.GetRain().SetForecastChangeLimits( 0.0, 0.1 );
  	weather.GetFog().SetForecastChangeLimits( 0.15, 0.45 );
  
  	weather.GetOvercast().SetForecastTimeLimits( 1800 , 1800 );
  	weather.GetRain().SetForecastTimeLimits( 600 , 600 );
  	weather.GetFog().SetForecastTimeLimits( 1800 , 1800 );
  
  	weather.GetOvercast().Set( Math.RandomFloatInclusive(0.0, 0.3), 0, 0);
  	weather.GetRain().Set( Math.RandomFloatInclusive(0.0, 0.2), 0, 0);
  	weather.GetFog().Set( Math.RandomFloatInclusive(0.0, 0.1), 0, 0);
  	
  	weather.SetWindMaximumSpeed(30);
  	weather.SetWindFunctionParams(0.1, 1.0, 50);
  }
  
  class CustomMission: MissionServer {	
  
  	void SetRandomHealth(EntityAI itemEnt) {
  		int rndHlt = Math.RandomInt(80,100);
  		itemEnt.SetHealth("","",rndHlt);
  	}
  
  	override PlayerBase CreateCharacter(PlayerIdentity identity, vector pos, ParamsReadContext ctx, string characterName) {
  		Entity playerEnt;
  		playerEnt = GetGame().CreatePlayer(identity, characterName, pos, 0, "NONE");//Creates random player
  		Class.CastTo(m_player, playerEnt);
  		
  		GetGame().SelectPlayer(identity, m_player);
  		
  		return m_player;
  	}
  	
  	override void StartingEquipSetup(PlayerBase player, bool clothesChosen) {
  		
  		player.RemoveAllItems();
  		
  		// SPAWN A VEHICLE NEAR THE PLAYER
  		
  		vector NewPosition;
  		vector OldPosition;
  		OldPosition = player.GetPosition();
  		NewPosition[0] = OldPosition[0] + 2;
  		NewPosition[1] = OldPosition[1] + 0.2;
  		NewPosition[2] = OldPosition[2] + 2;
  
  		EntityAI oCar = EntityAI.Cast(GetGame().CreateObject("OffroadHatchback", NewPosition, false, true));
  		oCar.GetInventory().CreateAttachment("HatchbackWheel");
  		oCar.GetInventory().CreateAttachment("HatchbackWheel");
  		oCar.GetInventory().CreateAttachment("HatchbackWheel");
  		oCar.GetInventory().CreateAttachment("HatchbackWheel");
  		oCar.GetInventory().CreateAttachment("HatchbackWheel");
  		oCar.GetInventory().CreateAttachment("HatchbackDoors_CoDriver");
  		oCar.GetInventory().CreateAttachment("HatchbackDoors_Driver");
  		oCar.GetInventory().CreateAttachment("HatchbackHood");
  		oCar.GetInventory().CreateAttachment("HatchbackTrunk");
  		oCar.GetInventory().CreateAttachment("HeadlightH7");
  		oCar.GetInventory().CreateAttachment("HeadlightH7");
  		oCar.GetInventory().CreateAttachment("SparkPlug");
  		oCar.GetInventory().CreateAttachment("EngineBelt");
  		oCar.GetInventory().CreateAttachment("CarRadiator");
  		oCar.GetInventory().CreateAttachment("CarBattery");
  		oCar.SetAllowDamage(true);
  
  		auto carfluids = Car.Cast( oCar );
  		carfluids.Fill( CarFluid.FUEL, 1000 );
  		carfluids.Fill( CarFluid.OIL, 1000 );
  		carfluids.Fill( CarFluid.BRAKE, 1000 );
  		carfluids.Fill( CarFluid.COOLANT, 1000 );		
  
  		// EQUIP THE CHARACTER
  		
  		player.GetInventory().CreateInInventory("TTSKOPants");
  		player.GetInventory().CreateInInventory("TTsKOJacket_Camo");
  		player.GetInventory().CreateInInventory("CombatBoots_Black");
  		player.GetInventory().CreateInInventory("HuntingBag");
  		player.GetInventory().CreateInInventory("StoneKnife");
  		player.GetInventory().CreateInInventory("TacticalBaconCan");
  		player.GetInventory().CreateInInventory("TacticalBaconCan");
  		player.GetInventory().CreateInInventory("CanOpener");
  		player.GetInventory().CreateInInventory("BandageDressing");
  		player.GetInventory().CreateInInventory("BandageDressing");
  		player.GetInventory().CreateInInventory("AmmoBox_556x45_20Rnd");
  		player.GetInventory().CreateInInventory("AmmoBox_556x45_20Rnd");
  		player.GetInventory().CreateInInventory("AmmoBox_556x45_20Rnd");
  		player.GetInventory().CreateInInventory("AmmoBox_556x45_20Rnd");
  		player.GetInventory().CreateInInventory("Mag_STANAGCoupled_30Rnd");
  		player.GetInventory().CreateInInventory("Mag_STANAGCoupled_30Rnd");
  		player.GetInventory().CreateInInventory("Mag_IJ70_8Rnd");
  		player.GetInventory().CreateInInventory("Mag_IJ70_8Rnd");
  		player.GetInventory().CreateInInventory("Mag_IJ70_8Rnd");
  		player.GetInventory().CreateInInventory("Canteen");
  		player.GetInventory().CreateInInventory("Compass");
  		player.GetInventory().CreateInInventory("Binoculars");
  		
  		// M4A1 Green
  		EntityAI oM4a1 = player.GetHumanInventory().CreateInInventory("M4A1_Green");
  		oM4a1.GetInventory().CreateAttachment("M4_Suppressor");
  		oM4a1.GetInventory().CreateAttachment("M4_RISHndgrd_Green");
  		oM4a1.GetInventory().CreateAttachment("M4_MPBttstck_Green");
  		oM4a1.GetInventory().CreateAttachment("ACOGOptic");
  		
  		// Flashlight
  		EntityAI oFlashLight = player.GetHumanInventory().CreateInInventory("Flashlight");
  		oFlashLight.GetInventory().CreateAttachment("Battery9V");
  		
  		// Radio
  		EntityAI oRadio = player.GetHumanInventory().CreateInInventory("PersonalRadio");
  		oRadio.GetInventory().CreateAttachment("Battery9V");		
  		
  		// Marakov
  		EntityAI oMarakov = player.GetHumanInventory().CreateInInventory("MakarovIJ70");
  		oMarakov.GetInventory().CreateAttachment("PistolSuppressor");		
  
  		// Fireaxe
  		EntityAI oFireAxe = player.GetHumanInventory().CreateInInventory("FirefighterAxe_Green");
  
  		// Tent in hands
  		EntityAI oMediumTent = player.GetHumanInventory().CreateInHands("MediumTent");
  		
  	}
  }
    
  Mission CreateCustomMission(string path) {
  	return new CustomMission();
  }