Jump to content

Merry Christmas


Treeherder

Recommended Posts

Here's my gift to you all. Hopefully some admins will spawn it.

Spoiler

KK_fnc_vectorDirAndUpRelative = {
    private ["_o1","_o2","_v"];
    _o1 = _this select 0;
    _o2 = _this select 1;
    _v = _o2 worldToModelVisual [0,0,0];
    [
        _o2 worldToModelVisual vectorDirVisual _o1 vectorDiff _v,
        _o2 worldToModelVisual vectorUpVisual _o1 vectorDiff _v
    ]
};
KK_fnc_attachToRelative = {
    private ["_o","_v"];
    _o = _this select 0;
    _v = _this call KK_fnc_vectorDirAndUpRelative;
    _o attachTo [_this select 1];
    _o setVectorDirAndUp _v;
};
tree_fnc_paint = {
	[] spawn {
		{
			_r = floor(random 3);
			_c = ["#(argb,8,8,3)color(1,0,0,1)","#(argb,8,8,3)color(0,1,0,1)","#(argb,8,8,3)color(0,0,1,1)"];
			_string = _c select _r;
			_x setObjectTextureGlobal[0,_string];
		} forEach tree_boxes;
		sleep 60;
	};
};
tree_fnc_moveTree = {
	tree_lightPos = [];
	
	
	tree_plantAction = player addAction["<t color='#00ff22'><t size='3'> Plant Tree!</t>",{
		detach tree_tree;
		{tree_lightPos pushBack getPosASL _x; _x enableSimulation true;} forEach tree_lights;
		[] spawn{_count = 0; sleep 1; {_x setPosASL (tree_lightPos select _count); _count = _count + 1; _x enableSimulation false;} forEach tree_lights;};
		player removeAction tree_plantAction; 
		tree_moveAction = tree_planter addAction["<t color='#00ff22'><t size='2'> Move Tree</t>",{[tree_tree,player] call KK_fnc_attachToRelative; tree_planter removeAction tree_moveAction; tree_planter removeAction tree_removeAction; call tree_fnc_moveTree;},true,8,false,false,"",'player distance2D tree_tree < 4'];
		tree_removeAction = tree_planter addAction["<t color='#ff0000'><t size='2'> Remove tree</t>",{
			tree_planter removeAction tree_moveAction; 
			tree_planter removeAction tree_removeAction;
			{deleteVehicle _x;} forEach tree_objects;
		},true,8,false,false,"",'player distance2D tree_tree < 4'];
	}];
};

_path = "a3\plants_f\Tree\t_PinusS1s_F.p3d";
_pos = [8141.7,3817.83,9];
tree_tree = createSimpleObject [_path, _pos];
publicVariable "tree_tree";
_veh = "Land_TreeBin_F" createVehicle position player; _veh setPosASL[8141.57,3817.79,5.26444]; _veh setDir 0; _veh setVectorUp [0,0,1]; _veh setVectorDir [0,1,0]; _veh enableSimulation false; _veh = "Land_PortableHelipadLight_01_F" createVehicle position player; _veh setPosASL[8141.69,3817.88,10.602]; _veh setDir 0; _veh setVectorUp [0,0,1]; _veh setVectorDir [0,1,0]; _veh enableSimulation false; _veh = "PortableHelipadLight_01_green_F" createVehicle position player; _veh setPosASL[8142.71,3817.29,9.12584]; _veh setDir 0; _veh setVectorUp [0,0,1]; _veh setVectorDir [0,1,0]; _veh enableSimulation false; _veh = "PortableHelipadLight_01_blue_F" createVehicle position player; _veh setPosASL[8142.17,3816.9,9.63756]; _veh setDir 0; _veh setVectorUp [0,0,1]; _veh setVectorDir [0,1,0]; _veh enableSimulation false; _veh = "PortableHelipadLight_01_red_F" createVehicle position player; _veh setPosASL[8143.27,3818.12,8.37459]; _veh setDir 0; _veh setVectorUp [0,0,1]; _veh setVectorDir [0,1,0]; _veh enableSimulation false; _veh = "PortableHelipadLight_01_white_F" createVehicle position player; _veh setPosASL[8140.83,3816.3,8.514]; _veh setDir 0; _veh setVectorUp [0,0,1]; _veh setVectorDir [0,1,0]; _veh enableSimulation false; _veh = "PortableHelipadLight_01_yellow_F" createVehicle position player; _veh setPosASL[8141.94,3816.55,8.13495]; _veh setDir 0; _veh setVectorUp [0,0,1]; _veh setVectorDir [0,1,0]; _veh enableSimulation false; _veh = "PortableHelipadLight_01_blue_F" createVehicle position player; _veh setPosASL[8142.88,3818.83,9.02839]; _veh setDir 0; _veh setVectorUp [0,0,1]; _veh setVectorDir [0,1,0]; _veh enableSimulation false; _veh = "PortableHelipadLight_01_yellow_F" createVehicle position player; _veh setPosASL[8140.33,3819.35,7.64797]; _veh setDir 0; _veh setVectorUp [0,0,1]; _veh setVectorDir [0,1,0]; _veh enableSimulation false; _veh = "PortableHelipadLight_01_red_F" createVehicle position player; _veh setPosASL[8139.95,3818.43,8.52779]; _veh setDir 0; _veh setVectorUp [0,0,1]; _veh setVectorDir [0,1,0]; _veh enableSimulation false; _veh = "Land_PortableHelipadLight_01_F" createVehicle position player; _veh setPosASL[8142.53,3819.26,8.68427]; _veh setDir 0; _veh setVectorUp [0,0,1]; _veh setVectorDir [0,1,0]; _veh enableSimulation false; _veh = "Land_PaperBox_01_small_closed_brown_IDAP_F" createVehicle position player; _veh setPosASL[8140.25,3816.85,5.32203]; _veh setDir 149.631; _veh setVectorUp [-0.633441,-0.453654,0.626858]; _veh setVectorDir [0.502335,-0.857284,-0.112802]; _veh enableSimulation false; _veh = "Land_PaperBox_01_small_closed_brown_IDAP_F" createVehicle position player; _veh setPosASL[8143.42,3817.13,5]; _veh setDir 78.1976; _veh setVectorUp [0,0,1]; _veh setVectorDir [0.978859,0.204538,0]; _veh enableSimulation false; _veh = "Land_PaperBox_01_small_closed_brown_IDAP_F" createVehicle position player; _veh setPosASL[8142.76,3816.94,5.29296]; _veh setDir 202.608; _veh setVectorUp [0.594524,-0.245198,0.76578]; _veh setVectorDir [-0.384422,-0.923153,0.00286311]; _veh enableSimulation false; _veh = "Land_PaperBox_01_small_closed_brown_IDAP_F" createVehicle position player; _veh setPosASL[8142.46,3816.37,5]; _veh setDir 0; _veh setVectorUp [0,0,1]; _veh setVectorDir [0,1,0]; _veh enableSimulation false; _veh = "Land_PaperBox_01_small_closed_brown_IDAP_F" createVehicle position player; _veh setPosASL[8139.6,3818.22,5]; _veh setDir 125.384; _veh setVectorUp [0,0,1]; _veh setVectorDir [0.815286,-0.579059,0]; _veh enableSimulation false; _veh = "Land_PaperBox_01_small_closed_brown_IDAP_F" createVehicle position player; _veh setPosASL[8139.61,3818.8,5.31145]; _veh setDir 90.4045; _veh setVectorUp [0,0.738564,0.674183]; _veh setVectorDir [0.999945,-0.00705886,0.00773295]; _veh enableSimulation false; _veh = "Land_PaperBox_01_small_closed_brown_IDAP_F" createVehicle position player; _veh setPosASL[8141.2,3815.91,5]; _veh setDir 85.0967; _veh setVectorUp [0,0,1]; _veh setVectorDir [0.99634,0.0854746,0]; _veh enableSimulation false; _veh = "Land_PaperBox_01_small_closed_brown_IDAP_F" createVehicle position player; _veh setPosASL[8143.28,3818.39,5]; _veh setDir 300.641; _veh setVectorUp [0,0,1]; _veh setVectorDir [-0.860377,0.509658,0]; _veh enableSimulation false; _veh = "Land_PaperBox_01_small_closed_brown_IDAP_F" createVehicle position player; _veh setPosASL[8142.32,3819.47,5]; _veh setDir 180.001; _veh setVectorUp [0,0,1]; _veh setVectorDir [-1.15315e-005,-1,0]; _veh enableSimulation false; _veh = "Land_PaperBox_01_small_closed_brown_IDAP_F" createVehicle position player; _veh setPosASL[8140.96,3819.42,5]; _veh setDir 246.166; _veh setVectorUp [0,0,1]; _veh setVectorDir [-0.91472,-0.404088,0]; _veh enableSimulation false; 

_colors = ["red","blue","yellow","green"]; 
_light = "Chemlight_";

tree_objects = [tree_tree];
tree_boxes = [];
tree_lights = []; 
_count = 0;
{
    if (str (typeOf _x) find "PortableHelipadLight" > -1) then {
        _lightPos = getPosASL _x;
		_x enableSimulation true;
		tree_objects pushBack _x;
		tree_chemLight = (_light + (_colors select _count)) createVehicle [0,0,0];
		tree_chemLight setPosASL _lightPos;
		[tree_chemLight,tree_tree] call KK_fnc_attachToRelative; 
		[_x,tree_tree] call KK_fnc_attachToRelative;
		tree_objects pushBack tree_chemLight;
		tree_lights pushBack _x; 
		tree_lights pushBack tree_chemLight;
		if(_count < 3) then {_count = _count + 1;}else{_cound = 0;}; 
    };
	if (str (typeOf _x) find "Land_PaperBox" > -1) then {
        tree_objects pushBack _x;
		tree_boxes pushBack _x;
		[_x,tree_tree] call KK_fnc_attachToRelative;		
		call tree_fnc_paint;
    };
	if (str (typeOf _x) find "Land_TreeBin" > -1) then { 
        tree_objects pushBack _x;
		tree_planter = _x;
		[_x,tree_tree] call KK_fnc_attachToRelative;
    };
} forEach nearestObjects [tree_tree, [], 100];


tree_tree setPos(player modelToWorld [0,4,7.8]);

[tree_tree,player] call KK_fnc_attachToRelative;

call tree_fnc_moveTree;

 

 

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...