Einzelnen Beitrag anzeigen
Alt 13.10.2016, 08:51   #6 (permalink)
Drunken Officer
500 Beiträge1000 Beiträge
 
Benutzerbild von Drunken Officer
 
Registriert seit: 15.05.2011
Beiträge: 1.109
Standard

Endlich mal Jemand, der nicht gleich Polizeiautos herstellen will!!!
Wichtig ist zu sagen, dass du eine Model.cfg benötigst um die Türen beweglich zu gestalten.

Du muss im O2 mehrere LOD erstellen.

Die Config ist relativ einfach. Burns hat aber einen gravierenden Fehler gepostet. Deine eigenen Klassen MÜSSEN mit LAND_ beginnen!

Hier mal ein Auszug eines nicht strategischen Objektes. Es ist ein Kühlturm und ein Controllcenter.
Startegische Objekte, abgeleitet von House_F tauchen im Radar angriffsfähiger Fahrzeuge auf.


Code:
class CfgPatches
{
     class dof_nuclear_pile
    {
        requiredAddons[] = {"A3_Structures_F_Dominants"};
        requiredVersion = 0.1;
        units[] = {"Wasserturm"};
        weapons[] = {};
    };

};
class CfgVehicleClasses 
{

    class dof_nuclear_pile_VehicleClass {
        displayName = "$STR_buildingclass"; //wie es im Editro steht
};


class eventhandlers;

class CfgVehicles {
	class All;
	class HouseBase;
	class NonStrategic;
	class House;
	class House_F: House
	{
		class DestructionEffects;
	};
	
	class House_Small_F: House_F{};
	class Ruins_F;
	
	class Land_cooltower_ruin: Ruins_F
	{
		mapSize = 14.44;
		author = "Drunken Officer";
		_generalMacro = "Land_LightHouse_ruins_F";
		vehicleClass = "dof_nuclear_pile_VehicleClass";
		scope = 2;
		scopeCurator = 0;
		displayName = "$STR_nuclear_tower_ruin";
		model = "\dof_nuclear_pile\wasserturm_ruin.p3d";
		icon = "iconObject_circle";
		editorSubcategory = "EdSubcat_Seaports";
	};
	
	
	
	class Land_cooltower: NonStrategic 
	{
		model = "\dof_nuclear_pile\wasserturm.p3d";	
		author = "Drunken Officer";
		displayName =  "$STR_nuclear_tower"; 
		icon = "\dof_nuclear_pile\ui\icon_tower.paa";					
		mapSize = 15;						
		scope = 2;
		editorSubcategory = "EdSubcat_Seaports";
		VehicleClass = "dof_nuclear_pile_VehicleClass";
		
		
		class eventhandlers : eventhandlers
		{
			init = " [(_this select 0)] execVM ""dof_nuclear_pile\script\smokeeffect.sqf"" ";
		};
		
		 /*
		 ladders[] = {
			{ "Ladder_1_start","Ladder_1_end" }};
		*/
		selectionDamage = "DamT_1";
		
		
		class DestructionEffects: DestructionEffects
		{
			class Ruin1
			{
				simulation = "ruin";
				type = "\dof_nuclear_pile\wasserturm_ruin.p3d";
				position = "";
				intensity = 1;
				interval = 1;
				lifeTime = 1;
			};
		};
		
		
	};
	
	class Land_nuclear_controlcenter : NonStrategic 
	
	{
		model = "\dof_nuclear_pile\controlcenter.p3d";	
		author = "Drunken Officer";
		displayName =  "$STR_nuclear_controllinghouse"; 
		icon = "\dof_nuclear_pile\ui\icon_tower.paa";					
		mapSize = 15;						
		scope = 2;
		editorSubcategory = "EdSubcat_Seaports";
		//vehicleClass = "Structures_Infrastructure"
		vehicleClass = "dof_nuclear_pile_VehicleClass";
		
				
		class DestructionEffects: DestructionEffects
		{
			class Ruin1
			{
				simulation = "ruin";
				type = "\dof_nuclear_pile\wasserturm_ruin.p3d";
				position = "";
				intensity = 1;
				interval = 1;
				lifeTime = 1;
			};
		};
		
		class AnimationSources
		{
			// Animation sources for doors
			class Door_1_source
			{
				source = user; // "user" = custom source = not controlled by some engine value
				initPhase = 0; // Initial value of animations based on this source
				animPeriod = 1; // Coefficient for duration of change of this animation
			};
			class Door_2_source: Door_1_source {};
			class Door_3_source: Door_1_source {};
			class Door_4_source: Door_1_source {};
			
			class Elevator_source
			{
					scope = 2;
					source = user;
					animPeriod = 7;
					initPhase = 1;
			};

			// Animation sources for windows
			class Glass_1_source
			{
				source = Hit; // "Hit" = value of this source is the health of an entity
				hitpoint = Glass_1_hitpoint; // Specifies health of what is the control value of this animation; "Glass_1_hitpoint" being the class defined in class Hitpoints
				raw = 1;
			};
			class Glass_2_source: Glass_1_source
			{
				hitpoint = Glass_2_hitpoint;
			};
			class Glass_3_source: Glass_1_source
			{
				hitpoint = Glass_3_hitpoint;
			};
			class Glass_4_source: Glass_1_source
			{
				hitpoint = Glass_4_hitpoint;
			};
			class Glass_5_source: Glass_1_source
			{
				hitpoint = Glass_5_hitpoint;
			};
			class Glass_6_source: Glass_1_source
			{
				hitpoint = Glass_6_hitpoint;
			};
			class Glass_7_source: Glass_1_source
			{
				hitpoint = Glass_7_hitpoint;
			};
			class Glass_8_source: Glass_1_source
			{
				hitpoint = Glass_8_hitpoint;
			};
		};
		class UserActions
		   {
			
			class Elevator_up
				{
					//displayNameDefault = <img image='\A3\Ui_f\data\IGUI\Cfg\Actions\open_door_ca.paa' size='2.5' />;
					scope = 2;
					displayName="UP";
					onlyforplayer = true;
					position="elevator_trigger";
					radius = 2;  
					condition="this animationPhase ""Elevator_move"" == 0";
					statement="this animate [""Elevator_move"", 1];";
				};
				
			class Elevator_down : Elevator_up
				{
					displayName="DOWN";
					condition="this animationPhase ""Elevator_move"" == 1";
					statement="this animate [""Elevator_move"", 0];";
				};
			
			
			
			class open_door_1
				{
					displayNameDefault = <img image='\A3\Ui_f\data\IGUI\Cfg\Actions\open_door_ca.paa' size='2.5' />;
					scope = 2;
					displayName="$STR_tuer_auf";
					onlyforplayer = true;
					position="door_1_trigger";
					radius = 2;  
					condition="this animationPhase ""Door_1_rot"" == 0";
					statement="this animate [""Door_1_rot"", 1];";
				};
				
			class open_door_2 : open_door_1
				{
					position="door_2_trigger";
					condition="this animationPhase ""Door_2_rot"" == 0";
					statement="this animate [""Door_2_rot"", 1];";
					//statement = ([this, 'Door_4_rot', 'Door_Handle_4_rot_1', 'Door_Handle_4_rot_2'] execVM "\A3\Samples_F\Test_House_01\scripts\Door_open.sqf");
				};
				
			class open_door_3 : open_door_1
				{
					position="door_3_trigger";
					condition="this animationPhase ""Door_3_rot"" == 0";
					statement="this animate [""Door_3_rot"", 1];";
				};
			
			class open_door_4 : open_door_1
				{
					position="door_4_trigger";
					condition="this animationPhase ""Door_4_rot"" == 0";
					statement="this animate [""Door_4_rot"", 1];";
				};
				
			class close_door_1 : open_door_1
					{
					displayName="$STR_tuer_zu";
					condition="this animationPhase ""Door_1_rot"" == 1";
					statement="this animate [""Door_1_rot"", 0];";
					};	
			class close_door_2 : close_door_1
					{
					displayName="$STR_tuer_zu";
					position="door_2_trigger";
					condition="this animationPhase ""Door_2_rot"" == 1";
					statement="this animate [""Door_2_rot"", 0];";
					};
			class close_door_3 : close_door_1
					{
					displayName="$STR_tuer_zu";
					position="door_3_trigger";
					condition="this animationPhase ""Door_3_rot"" == 1";
					statement="this animate [""Door_3_rot"", 0];";
					};
			class close_door_4 : close_door_1
					{
					displayName="$STR_tuer_zu";
					position="door_4_trigger";
					condition="this animationPhase ""Door_4_rot"" == 1";
					statement="this animate [""Door_4_rot"", 0];";
					};
		
		   };
	};
	};
__________________
Bewegende Momente bei ArmA 3

Geändert von Drunken Officer (13.10.2016 um 08:59 Uhr).
Drunken Officer ist offline