Skip to content

Commit

Permalink
Lightpoints (#455)
Browse files Browse the repository at this point in the history
* Fixes #453

Lightpoints should be created locally when remoteExecuted for every player.
  • Loading branch information
xAndreei authored and Jason2605 committed Jun 4, 2018
1 parent 6fe427d commit 672ed52
Show file tree
Hide file tree
Showing 2 changed files with 124 additions and 151 deletions.
172 changes: 75 additions & 97 deletions Altis_Life.Altis/core/cop/fn_copLights.sqf
Expand Up @@ -2,130 +2,108 @@
File: fn_copLights.sqf
Author: mindstorm, modified by Adanteh
Link: http://forums.bistudio.com/showthread.php?157474-Offroad-Police-sirens-lights-and-underglow
Description:
Adds the light effect to cop vehicles, specifically the offroad.
*/
Private ["_vehicle","_lightRed","_lightBlue","_lightleft","_lightright","_leftRed"];
_vehicle = _this select 0;

if (isNil "_vehicle" || isNull _vehicle || !(_vehicle getVariable "lights")) exitWith {};
_lightRed = [20, 0.1, 0.1];
_lightBlue = [0.1, 0.1, 20];
params [
["_vehicle", objNull, [objNull]],
["_lightTime", 0.22, [0]]
];

if (isNil "_vehicle" || {isNull _vehicle || {!(_vehicle getVariable "lights")}}) exitWith {};
private _lightRed = [20, 0.1, 0.1];
private _lightBlue = [0.1, 0.1, 20];

_lightleft = "#lightpoint" createVehicle getPos _vehicle;
private _lightLeft = "#lightpoint" createVehicleLocal getPos _vehicle;
sleep 0.2;
_lightleft setLightColor _lightRed;
_lightleft setLightBrightness 0.2;
_lightleft setLightAmbient [0.1,0.1,1];
_lightLeft setLightColor _lightRed;
_lightLeft setLightBrightness 0.2;
_lightLeft setLightAmbient [0.1,0.1,1];

switch (typeOf _vehicle) do
{
case "C_Offroad_01_F":
{
_lightleft lightAttachObject [_vehicle, [-0.37, 0.0, 0.56]];
private _offset = switch (typeOf _vehicle) do {
case "C_Offroad_01_F": {
[-0.37, 0.0, 0.56];
};

case "B_MRAP_01_F":
{
_lightleft lightAttachObject [_vehicle, [-0.37, -1.9, 0.7]];
case "B_MRAP_01_F": {
[-0.37, -1.9, 0.7];
};

case "C_SUV_01_F":
{
_lightleft lightAttachObject [_vehicle, [-0.37,-1.2,0.42]];
case "C_SUV_01_F": {
[-0.37,-1.2,0.42];
};

case "C_Hatchback_01_sport_F":
{
_lightleft lightAttachObject [_vehicle, [-0.35,-0.2,0.25]];
case "C_Hatchback_01_sport_F": {
[-0.35,-0.2,0.25];
};

case "B_Heli_Light_01_F":
{
_lightleft lightAttachObject [_vehicle,[-0.37, 0.0, -0.80]];
case "B_Heli_Light_01_F": {
[-0.37, 0.0, -0.80];
};
case "B_Heli_Transport_01_F": {
[-0.5, 0.0, 0.81];
};

case "B_Heli_Transport_01_F":
{
_lightleft lightAttachObject [_vehicle, [-0.5, 0.0, 0.81]];
};
};

_lightleft setLightAttenuation [0.181, 0, 1000, 130];
_lightleft setLightIntensity 10;
_lightleft setLightFlareSize 0.38;
_lightleft setLightFlareMaxDistance 150;
_lightleft setLightUseFlare true;
_lightLeft lightAttachObject [_vehicle, _offset]];

_lightLeft setLightAttenuation [0.181, 0, 1000, 130];
_lightLeft setLightIntensity 10;
_lightLeft setLightFlareSize 0.38;
_lightLeft setLightFlareMaxDistance 150;
_lightLeft setLightUseFlare true;

_lightright = "#lightpoint" createVehicle getPos _vehicle;
private _lightRight = "#lightpoint" createVehicleLocal getPos _vehicle;
sleep 0.2;
_lightright setLightColor _lightBlue;
_lightright setLightBrightness 0.2;
_lightright setLightAmbient [0.1,0.1,1];
_lightRight setLightColor _lightBlue;
_lightRight setLightBrightness 0.2;
_lightRight setLightAmbient [0.1,0.1,1];

switch (typeOf _vehicle) do
{
case "C_Offroad_01_F":
{
_lightright lightAttachObject [_vehicle, [0.37, 0.0, 0.56]];
_offset = switch (typeOf _vehicle) do {
case "C_Offroad_01_F": {
[0.37, 0.0, 0.56];
};

case "B_MRAP_01_F":
{
_lightright lightAttachObject [_vehicle, [0.37, -1.9, 0.7]];
case "B_MRAP_01_F": {
[_vehicle, [0.37, -1.9, 0.7];
};

case "C_SUV_01_F":
{
_lightright lightAttachObject [_vehicle, [0.37,-1.2,0.42]];
case "C_SUV_01_F": {
[0.37,-1.2,0.42];
};

case "C_Hatchback_01_sport_F":
{
_lightright lightAttachObject [_vehicle, [0.35,-0.2,0.25]];
case "C_Hatchback_01_sport_F": {
[0.35,-0.2,0.25];
};

case "B_Heli_Light_01_F":
{
_lightright lightAttachObject [_vehicle,[0.37, 0.0, -0.80]];
case "B_Heli_Light_01_F": {
[0.37, 0.0, -0.80];
};
case "B_Heli_Transport_01_F": {
[0.5, 0.0, 0.81];
};

case "B_Heli_Transport_01_F":
{
_lightright lightAttachObject [_vehicle, [0.5, 0.0, 0.81]];
};
};

_lightright setLightAttenuation [0.181, 0, 1000, 130];
_lightright setLightIntensity 10;
_lightright setLightFlareSize 0.38;
_lightright setLightFlareMaxDistance 150;
_lightright setLightUseFlare true;
_lightRight lightAttachObject [_vehicle, _offset];

//ARE YOU ALL HAPPY?!?!?!?!?!?!?!?!?%#?@WGD?TGD?BN?ZDHBFD?GA
_lightleft setLightDayLight true;
_lightright setLightDayLight true;
_lightRight setLightAttenuation [0.181, 0, 1000, 130];
_lightRight setLightIntensity 10;
_lightRight setLightFlareSize 0.38;
_lightRight setLightFlareMaxDistance 150;
_lightRight setLightUseFlare true;

_leftRed = true;
while{ (alive _vehicle)} do
{
if (!(_vehicle getVariable "lights")) exitWith {};
if (_leftRed) then
{
_leftRed = false;
_lightright setLightBrightness 0.0;
_lightLeft setLightDayLight true;
_lightRight setLightDayLight true;

private _leftRed = true;
while {alive _vehicle} do {
if !(_vehicle getVariable "lights") exitWith {};
if (_leftRed) then {
_lightRight setLightBrightness 0.0;
sleep 0.05;
_lightleft setLightBrightness 6;
}
else
{
_leftRed = true;
_lightleft setLightBrightness 0.0;
_lightLeft setLightBrightness 6;
} else {
_lightLeft setLightBrightness 0.0;
sleep 0.05;
_lightright setLightBrightness 6;
_lightRight setLightBrightness 6;
};
sleep (_this select 1);
_leftRed = !_leftRed;
sleep _lightTime;
};
deleteVehicle _lightleft;
deleteVehicle _lightright;

deleteVehicle _lightLeft;
deleteVehicle _lightRight;
103 changes: 49 additions & 54 deletions Altis_Life.Altis/core/medical/fn_medicLights.sqf
Expand Up @@ -6,76 +6,71 @@
Description:
Adds the light effect to cop vehicles, specifically the offroad.
*/
Private ["_vehicle","_lightRed","_lightBlue","_lightleft","_lightright","_leftRed"];
_vehicle = _this select 0;

if (isNil "_vehicle" || isNull _vehicle || !(_vehicle getVariable "lights")) exitWith {};
_lightRed = [0.1, 0.1, 20];
_lightBlue = [0.1, 0.1, 20];
params [
["_vehicle", objNull, [objNull]],
["_lightTime", 0.22, [0]]
];

_lightleft = "#lightpoint" createVehicle getPos _vehicle;
if (isNil "_vehicle" || {isNull _vehicle || {!(_vehicle getVariable "lights")}}) exitWith {};

private _lightRed = [0.1, 0.1, 20];
private _lightBlue = [0.1, 0.1, 20];

_lightLeft = "#lightpoint" createVehicleLocal getPos _vehicle;
sleep 0.2;
_lightleft setLightColor _lightRed;
_lightleft setLightBrightness 0.2;
_lightleft setLightAmbient [0.1,0.1,1];
_lightLeft setLightColor _lightRed;
_lightLeft setLightBrightness 0.2;
_lightLeft setLightAmbient [0.1,0.1,1];

switch (typeOf _vehicle) do
{
case "C_Offroad_01_F":
{
_lightleft lightAttachObject [_vehicle, [-0.37, 0.0, 0.56]];
switch (typeOf _vehicle) do {
case "C_Offroad_01_F": {
_lightLeft lightAttachObject [_vehicle, [-0.37, 0.0, 0.56]];
};
};

_lightleft setLightAttenuation [0.181, 0, 1000, 130];
_lightleft setLightIntensity 10;
_lightleft setLightFlareSize 0.38;
_lightleft setLightFlareMaxDistance 150;
_lightleft setLightUseFlare true;
_lightLeft setLightAttenuation [0.181, 0, 1000, 130];
_lightLeft setLightIntensity 10;
_lightLeft setLightFlareSize 0.38;
_lightLeft setLightFlareMaxDistance 150;
_lightLeft setLightUseFlare true;

_lightright = "#lightpoint" createVehicle getPos _vehicle;
_lightRight = "#lightpoint" createVehicleLocal getPos _vehicle;
sleep 0.2;
_lightright setLightColor _lightBlue;
_lightright setLightBrightness 0.2;
_lightright setLightAmbient [0.1,0.1,1];
_lightRight setLightColor _lightBlue;
_lightRight setLightBrightness 0.2;
_lightRight setLightAmbient [0.1,0.1,1];

switch (typeOf _vehicle) do
{
case "C_Offroad_01_F":
{
_lightright lightAttachObject [_vehicle, [0.37, 0.0, 0.56]];
switch (typeOf _vehicle) do {
case "C_Offroad_01_F": {
_lightRight lightAttachObject [_vehicle, [0.37, 0.0, 0.56]];
};
};

_lightright setLightAttenuation [0.181, 0, 1000, 130];
_lightright setLightIntensity 10;
_lightright setLightFlareSize 0.38;
_lightright setLightFlareMaxDistance 150;
_lightright setLightUseFlare true;
_lightRight setLightAttenuation [0.181, 0, 1000, 130];
_lightRight setLightIntensity 10;
_lightRight setLightFlareSize 0.38;
_lightRight setLightFlareMaxDistance 150;
_lightRight setLightUseFlare true;

//ARE YOU ALL HAPPY?!?!?!?!?!?!?!?!?%#?@WGD?TGD?BN?ZDHBFD?GA
_lightleft setLightDayLight true;
_lightright setLightDayLight true;
_lightLeft setLightDayLight true;
_lightRight setLightDayLight true;

_leftRed = true;
while{ (alive _vehicle)} do
{
if (!(_vehicle getVariable "lights")) exitWith {};
if (_leftRed) then
{
_leftRed = false;
_lightright setLightBrightness 0.0;
private _leftRed = true;
while {alive _vehicle} do {
if !(_vehicle getVariable "lights") exitWith {};
if (_leftRed) then {
_lightRight setLightBrightness 0.0;
sleep 0.05;
_lightleft setLightBrightness 6;
}
else
{
_leftRed = true;
_lightleft setLightBrightness 0.0;
_lightLeft setLightBrightness 6;
} else {
_lightLeft setLightBrightness 0.0;
sleep 0.05;
_lightright setLightBrightness 6;
_lightRight setLightBrightness 6;
};
sleep (_this select 1);
_leftRed = !_leftRed;
sleep _lightTime;
};
deleteVehicle _lightleft;
deleteVehicle _lightright;

deleteVehicle _lightLeft;
deleteVehicle _lightRight;

1 comment on commit 672ed52

@federick90
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

when I try to activate them with shift + L they do not work

Please sign in to comment.