mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Ported the ACE2 spotting scope
This commit is contained in:
parent
e01ba64683
commit
993ee2d498
BIN
addons/apl/data/glass_house.rvmat
Normal file
BIN
addons/apl/data/glass_house.rvmat
Normal file
Binary file not shown.
BIN
addons/apl/data/metal4_weapons_vehicles_int_512_dt.paa
Normal file
BIN
addons/apl/data/metal4_weapons_vehicles_int_512_dt.paa
Normal file
Binary file not shown.
BIN
addons/apl/data/plastic.rvmat
Normal file
BIN
addons/apl/data/plastic.rvmat
Normal file
Binary file not shown.
BIN
addons/apl/data/plastic_512_dt.paa
Normal file
BIN
addons/apl/data/plastic_512_dt.paa
Normal file
Binary file not shown.
1
addons/spottingscope/$PBOPREFIX$
Normal file
1
addons/spottingscope/$PBOPREFIX$
Normal file
@ -0,0 +1 @@
|
|||||||
|
z\ace\addons\spottingscope
|
19
addons/spottingscope/CfgEventHandlers.hpp
Normal file
19
addons/spottingscope/CfgEventHandlers.hpp
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
class Extended_PreInit_EventHandlers {
|
||||||
|
class ADDON {
|
||||||
|
init = QUOTE( call COMPILE_FILE(XEH_preInit) );
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
class Extended_PostInit_EventHandlers {
|
||||||
|
class ADDON {
|
||||||
|
init = QUOTE( call COMPILE_FILE(XEH_postInit) );
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
class Extended_Init_EventHandlers {
|
||||||
|
class ACE_SpottingScopeObject {
|
||||||
|
class ADDON {
|
||||||
|
init = QUOTE(_this call DEFUNC(dragging,initObject));
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
129
addons/spottingscope/CfgVehicles.hpp
Normal file
129
addons/spottingscope/CfgVehicles.hpp
Normal file
@ -0,0 +1,129 @@
|
|||||||
|
|
||||||
|
class CfgVehicles {
|
||||||
|
class Man;
|
||||||
|
class CAManBase: Man {
|
||||||
|
class ACE_SelfActions {
|
||||||
|
class ACE_Equipment {
|
||||||
|
class GVAR(place) {
|
||||||
|
displayName = CSTRING(Placedown);
|
||||||
|
condition = QUOTE([ARR_2(_player,'ACE_SpottingScope')] call EFUNC(common,hasItem));
|
||||||
|
statement = QUOTE([ARR_2(_player,'ACE_SpottingScope')] call FUNC(place));
|
||||||
|
showDisabled = 0;
|
||||||
|
priority = 2;
|
||||||
|
icon = PATHTOF(UI\w_spottingscope_ca.paa);
|
||||||
|
exceptions[] = {"isNotInside"};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
class Item_Base_F;
|
||||||
|
class ACE_Item_SpottingScope: Item_Base_F {
|
||||||
|
author[] = {"Rocko", "Scubaman3D"};
|
||||||
|
scope = 2;
|
||||||
|
scopeCurator = 2;
|
||||||
|
displayName = CSTRING(DisplayName);
|
||||||
|
vehicleClass = "Items";
|
||||||
|
class TransportItems {
|
||||||
|
class ACE_SpottingScope {
|
||||||
|
name = "ACE_SpottingScope";
|
||||||
|
count = 1;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
class Box_NATO_Support_F;
|
||||||
|
class ACE_Box_Misc: Box_NATO_Support_F {
|
||||||
|
class TransportItems {
|
||||||
|
MACRO_ADDITEM(ACE_Item_SpottingScope,2);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
class LandVehicle;
|
||||||
|
class StaticWeapon: LandVehicle {
|
||||||
|
class Turrets;
|
||||||
|
};
|
||||||
|
class StaticATWeapon: StaticWeapon {
|
||||||
|
class Turrets: Turrets {
|
||||||
|
class MainTurret;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class ACE_SpottingScopeObject: StaticATWeapon {
|
||||||
|
XEH_ENABLED;
|
||||||
|
scope = 1;
|
||||||
|
side = 1;
|
||||||
|
typicalCargo[] = {"Soldier"};
|
||||||
|
displayName = CSTRING(DisplayName);
|
||||||
|
model = PATHTOF(data\spottingscope.p3d);
|
||||||
|
mapSize = 0.5;
|
||||||
|
transportSoldier = 0;
|
||||||
|
getInAction = "GetInLow";
|
||||||
|
getOutAction = "GetOutLow";
|
||||||
|
class Turrets: Turrets {
|
||||||
|
class MainTurret: MainTurret {
|
||||||
|
minTurn = -45;
|
||||||
|
maxTurn = 45;
|
||||||
|
initTurn = 0;
|
||||||
|
minElev = -10;
|
||||||
|
maxElev = 40;
|
||||||
|
initElev = 0;
|
||||||
|
|
||||||
|
weapons[] = {};
|
||||||
|
magazines[] = {};
|
||||||
|
gunnerOpticsColor[] = {1,1,1,1};
|
||||||
|
gunnerOpticsmodel = PATHTOF(data\m144_optic.p3d);
|
||||||
|
gunnerOpticsEffect[] = {"OpticsCHAbera1","OpticsBlur2"};
|
||||||
|
gunnerOutOpticsShowCursor = 0;
|
||||||
|
gunnerOpticsShowCursor = 0;
|
||||||
|
gunnerAction = "gunner_static_low01";
|
||||||
|
gunnerGetInAction = "GetInLow";
|
||||||
|
gunnerGetOutAction = "GetOutLow";
|
||||||
|
gunnerForceOptics = 0;
|
||||||
|
ejectDeadGunner = 0;
|
||||||
|
class ViewGunner {
|
||||||
|
initAngleX = 5;
|
||||||
|
minAngleX = -30;
|
||||||
|
maxAngleX = 30;
|
||||||
|
initAngleY = 0;
|
||||||
|
minAngleY = -100;
|
||||||
|
maxAngleY = 100;
|
||||||
|
initFov = 0.7;
|
||||||
|
minFov = 0.7;
|
||||||
|
maxFov = 0.7;
|
||||||
|
};
|
||||||
|
class ViewOptics {
|
||||||
|
initAngleX = 0;
|
||||||
|
minAngleX = -30;
|
||||||
|
maxAngleX = 30;
|
||||||
|
initAngleY = 0;
|
||||||
|
minAngleY = -100;
|
||||||
|
maxAngleY = 100;
|
||||||
|
initFov = 0.014812;
|
||||||
|
minFov = 0.014812;
|
||||||
|
maxFov = 0.014812;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
EGVAR(dragging,canDrag) = 1;
|
||||||
|
EGVAR(dragging,dragPosition[]) = {0,1,0};
|
||||||
|
EGVAR(dragging,dragDirection) = 0;
|
||||||
|
class ACE_Actions {
|
||||||
|
class ACE_MainActions {
|
||||||
|
selection = "osaveze";
|
||||||
|
distance = 5;
|
||||||
|
condition = "true";
|
||||||
|
class ACE_Pickup {
|
||||||
|
selection = "";
|
||||||
|
displayName = CSTRING(PickUp);
|
||||||
|
distance = 5;
|
||||||
|
condition = QUOTE((alive _target) && (count (crew _target) == 0));
|
||||||
|
statement = QUOTE([ARR_2(_target,_player)] call FUNC(pickup));
|
||||||
|
showDisabled = 0;
|
||||||
|
exceptions[] = {};
|
||||||
|
priority = 5;
|
||||||
|
icon = PATHTOF(UI\w_spottingscope_ca.paa);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
17
addons/spottingscope/CfgWeapons.hpp
Normal file
17
addons/spottingscope/CfgWeapons.hpp
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
|
||||||
|
class CfgWeapons {
|
||||||
|
class ACE_ItemCore;
|
||||||
|
class InventoryItem_Base_F;
|
||||||
|
|
||||||
|
class ACE_SpottingScope: ACE_ItemCore {
|
||||||
|
scope = 2;
|
||||||
|
displayName = CSTRING(DisplayName);
|
||||||
|
descriptionShort = "";
|
||||||
|
picture = PATHTOF(UI\w_spottingscope_ca.paa);
|
||||||
|
model = PATHTOF(data\w_spottingscope.p3d);
|
||||||
|
|
||||||
|
class ItemInfo: InventoryItem_Base_F {
|
||||||
|
mass = 40;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
10
addons/spottingscope/README.md
Normal file
10
addons/spottingscope/README.md
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
ace_spottingscope
|
||||||
|
===============
|
||||||
|
|
||||||
|
Adds a spotting scope.
|
||||||
|
|
||||||
|
## Maintainers
|
||||||
|
|
||||||
|
The people responsible for merging changes to this component or answering potential questions.
|
||||||
|
|
||||||
|
- [Ruthberg] (http://github.com/Ulteq)
|
BIN
addons/spottingscope/UI/w_spottingscope_ca.paa
Normal file
BIN
addons/spottingscope/UI/w_spottingscope_ca.paa
Normal file
Binary file not shown.
1
addons/spottingscope/XEH_postInit.sqf
Normal file
1
addons/spottingscope/XEH_postInit.sqf
Normal file
@ -0,0 +1 @@
|
|||||||
|
#include "script_component.hpp"
|
8
addons/spottingscope/XEH_preInit.sqf
Normal file
8
addons/spottingscope/XEH_preInit.sqf
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
#include "script_component.hpp"
|
||||||
|
|
||||||
|
ADDON = false;
|
||||||
|
|
||||||
|
PREP(pickup);
|
||||||
|
PREP(place);
|
||||||
|
|
||||||
|
ADDON = true;
|
16
addons/spottingscope/config.cpp
Normal file
16
addons/spottingscope/config.cpp
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
#include "script_component.hpp"
|
||||||
|
|
||||||
|
class CfgPatches {
|
||||||
|
class ADDON {
|
||||||
|
units[] = {"ACE_Item_SpottingScope"};
|
||||||
|
weapons[] = {"ACE_SpottingScope"};
|
||||||
|
requiredVersion = REQUIRED_VERSION;
|
||||||
|
requiredAddons[] = {"ace_apl", "ace_interaction"};
|
||||||
|
author[] = {"Rocko", "Scubaman3D", "Ruthberg"};
|
||||||
|
VERSION_CONFIG;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
#include "CfgEventHandlers.hpp"
|
||||||
|
#include "CfgVehicles.hpp"
|
||||||
|
#include "CfgWeapons.hpp"
|
BIN
addons/spottingscope/data/PSO_ring.paa
Normal file
BIN
addons/spottingscope/data/PSO_ring.paa
Normal file
Binary file not shown.
9
addons/spottingscope/data/ace_reticle.rvmat
Normal file
9
addons/spottingscope/data/ace_reticle.rvmat
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
ambient[] = {0, 0, 0, 1};
|
||||||
|
diffuse[] = {0, 0, 0, 1};
|
||||||
|
forcedDiffuse[] = {0, 0, 0, 0};
|
||||||
|
emmisive[] = {1, 1, 1, 1};
|
||||||
|
specular[] = {0, 0, 0, 1};
|
||||||
|
specularPower = 0;
|
||||||
|
renderFlags[] = {"NoZWrite"};
|
||||||
|
PixelShaderID = "Normal";
|
||||||
|
VertexShaderID = "Basic";
|
BIN
addons/spottingscope/data/ace_ssvzs.p3d
Normal file
BIN
addons/spottingscope/data/ace_ssvzs.p3d
Normal file
Binary file not shown.
BIN
addons/spottingscope/data/m144_ca.paa
Normal file
BIN
addons/spottingscope/data/m144_ca.paa
Normal file
Binary file not shown.
BIN
addons/spottingscope/data/m144_optic.p3d
Normal file
BIN
addons/spottingscope/data/m144_optic.p3d
Normal file
Binary file not shown.
49
addons/spottingscope/data/model.cfg
Normal file
49
addons/spottingscope/data/model.cfg
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
class CfgSkeletons
|
||||||
|
{
|
||||||
|
class Default {
|
||||||
|
isDiscrete = 1;
|
||||||
|
skeletonInherit = "";
|
||||||
|
skeletonBones[] = {};
|
||||||
|
};
|
||||||
|
class ace_spottingscope_skeleton: Default {
|
||||||
|
isDiscrete = 1;
|
||||||
|
skeletonInherit = "Default";
|
||||||
|
skeletonBones[] = {
|
||||||
|
"otocvez","",
|
||||||
|
"otochlaven","otocvez"
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class CfgModels {
|
||||||
|
class Default {
|
||||||
|
sectionsInherit = "";
|
||||||
|
sections[] = {};
|
||||||
|
skeletonName = "";
|
||||||
|
};
|
||||||
|
class spottingscope: Default {
|
||||||
|
skeletonName = "ace_spottingscope_skeleton";
|
||||||
|
sectionsInherit = "Default";
|
||||||
|
class animations {
|
||||||
|
class mainTurret {
|
||||||
|
type = "rotationY";
|
||||||
|
source = "mainTurret";
|
||||||
|
selection = "otocvez";
|
||||||
|
axis = "osaveze";
|
||||||
|
minValue = "rad -360";
|
||||||
|
maxValue = "rad +360";
|
||||||
|
angle0 = "rad -360";
|
||||||
|
angle1 = "rad +360";
|
||||||
|
};
|
||||||
|
class mainGun {
|
||||||
|
type = "rotationX";
|
||||||
|
source = "mainGun";
|
||||||
|
selection = "otochlaven";
|
||||||
|
axis = "osahlavne";
|
||||||
|
minValue = "rad -360";
|
||||||
|
maxValue = "rad +360";
|
||||||
|
angle0 = "rad -360";
|
||||||
|
angle1 = "rad +360";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
BIN
addons/spottingscope/data/optic_ssvzs.p3d
Normal file
BIN
addons/spottingscope/data/optic_ssvzs.p3d
Normal file
Binary file not shown.
BIN
addons/spottingscope/data/scopering.paa
Normal file
BIN
addons/spottingscope/data/scopering.paa
Normal file
Binary file not shown.
78
addons/spottingscope/data/sniper_peri.rvmat
Normal file
78
addons/spottingscope/data/sniper_peri.rvmat
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
ambient[] = {1.0, 1.0, 1.0, 1.0};
|
||||||
|
diffuse[] = {1.0, 1.0, 1.0, 1.0};
|
||||||
|
forcedDiffuse[] = {0.0, 0.0, 0.0, 0.0};
|
||||||
|
emmisive[] = {0.0, 0.0, 0.0, 1.0};
|
||||||
|
specular[] = {0.0, 0.0, 0.0, 0.0};
|
||||||
|
specularPower = 0.0;
|
||||||
|
PixelShaderID = "Super";
|
||||||
|
VertexShaderID = "Super";
|
||||||
|
class Stage1 {
|
||||||
|
texture = "z\ace\addons\spottingscope\data\sniper_peri_nohq.paa";
|
||||||
|
uvSource="tex";
|
||||||
|
class uvTransform {
|
||||||
|
aside[]={1,0,0};
|
||||||
|
up[]={0,1,0};
|
||||||
|
dir[]={0,0,0};
|
||||||
|
pos[]={0,0,0};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class Stage2 {
|
||||||
|
texture = "z\ace\addons\apl\data\metal4_weapons_vehicles_int_512_dt.paa";
|
||||||
|
uvSource = "tex";
|
||||||
|
class uvTransform {
|
||||||
|
aside[] = {6.0, 0.0, 0.0};
|
||||||
|
up[] = {0.0, 6.0, 0.0};
|
||||||
|
dir[] = {0.0, 0.0, 0.0};
|
||||||
|
pos[] = {0.0, 0.0, 0.0};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class Stage3 {
|
||||||
|
texture = "#(argb,8,8,3)color(0,0,0,0)";
|
||||||
|
uvSource = "tex";
|
||||||
|
class uvTransform {
|
||||||
|
aside[] = {1,0,0};
|
||||||
|
up[] = {0,1,0};
|
||||||
|
dir[] = {0,0,0};
|
||||||
|
pos[] = {0,0,0};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class Stage4 {
|
||||||
|
texture = "#(argb,8,8,3)color(0,1,1,1)";
|
||||||
|
uvSource = "tex";
|
||||||
|
class uvTransform {
|
||||||
|
aside[] = {1.0, 0.0, 0.0};
|
||||||
|
up[] = {0.0, 1.0, 0.0};
|
||||||
|
dir[] = {0.0, 0.0, 0.0};
|
||||||
|
pos[] = {0.0, 0.0, 0.0};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class Stage5 {
|
||||||
|
texture = "z\ace\addons\spottingscope\data\sniper_peri_smdi.paa";
|
||||||
|
uvSource="tex";
|
||||||
|
class uvTransform {
|
||||||
|
aside[]={1,0,0};
|
||||||
|
up[]={0,1,0};
|
||||||
|
dir[]={0,0,0};
|
||||||
|
pos[]={0,0,0};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class Stage6 {
|
||||||
|
texture = "#(ai,32,128,1)fresnel(1.58,0.01)";
|
||||||
|
uvSource = "tex";
|
||||||
|
class uvTransform {
|
||||||
|
aside[] = {1.0, 0.0, 0.0};
|
||||||
|
up[] = {0.0, 1.0, 0.0};
|
||||||
|
dir[] = {0.0, 0.0, 0.0};
|
||||||
|
pos[] = {0.0, 0.0, 0.0};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class Stage7 {
|
||||||
|
texture = "a3\data_f\env_land_co.paa";
|
||||||
|
uvSource = "tex";
|
||||||
|
class uvTransform {
|
||||||
|
aside[] = {1.0, 0.0, 0.0};
|
||||||
|
up[] = {0.0, 1.0, 0.0};
|
||||||
|
dir[] = {0.0, 0.0, 0.0};
|
||||||
|
pos[] = {0.0, 0.0, 0.0};
|
||||||
|
};
|
||||||
|
};
|
BIN
addons/spottingscope/data/sniper_peri_co.paa
Normal file
BIN
addons/spottingscope/data/sniper_peri_co.paa
Normal file
Binary file not shown.
BIN
addons/spottingscope/data/sniper_peri_nohq.paa
Normal file
BIN
addons/spottingscope/data/sniper_peri_nohq.paa
Normal file
Binary file not shown.
BIN
addons/spottingscope/data/sniper_peri_smdi.paa
Normal file
BIN
addons/spottingscope/data/sniper_peri_smdi.paa
Normal file
Binary file not shown.
78
addons/spottingscope/data/spot_scope.rvmat
Normal file
78
addons/spottingscope/data/spot_scope.rvmat
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
ambient[] = {1.0, 1.0, 1.0, 1.0};
|
||||||
|
diffuse[] = {1.0, 1.0, 1.0, 1.0};
|
||||||
|
forcedDiffuse[] = {0.0, 0.0, 0.0, 0.0};
|
||||||
|
emmisive[] = {0.0, 0.0, 0.0, 1.0};
|
||||||
|
specular[] = {0.0, 0.0, 0.0, 0.0};
|
||||||
|
specularPower = 0.0;
|
||||||
|
PixelShaderID = "Super";
|
||||||
|
VertexShaderID = "Super";
|
||||||
|
class Stage1 {
|
||||||
|
texture = "z\ace\addons\spottingscope\data\spot_scope_nohq.paa";
|
||||||
|
uvSource="tex";
|
||||||
|
class uvTransform {
|
||||||
|
aside[]={1,0,0};
|
||||||
|
up[]={0,1,0};
|
||||||
|
dir[]={0,0,0};
|
||||||
|
pos[]={0,0,0};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class Stage2 {
|
||||||
|
texture = "z\ace\addons\apl\data\plastic_512_dt.paa";
|
||||||
|
uvSource = "tex";
|
||||||
|
class uvTransform {
|
||||||
|
aside[] = {6.0, 0.0, 0.0};
|
||||||
|
up[] = {0.0, 6.0, 0.0};
|
||||||
|
dir[] = {0.0, 0.0, 0.0};
|
||||||
|
pos[] = {0.0, 0.0, 0.0};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class Stage3 {
|
||||||
|
texture = "#(argb,8,8,3)color(0,0,0,0)";
|
||||||
|
uvSource = "tex";
|
||||||
|
class uvTransform {
|
||||||
|
aside[] = {1,0,0};
|
||||||
|
up[] = {0,1,0};
|
||||||
|
dir[] = {0,0,0};
|
||||||
|
pos[] = {0,0,0};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class Stage4 {
|
||||||
|
texture = "#(argb,8,8,3)color(0,1,1,1)";
|
||||||
|
uvSource = "tex";
|
||||||
|
class uvTransform {
|
||||||
|
aside[] = {1.0, 0.0, 0.0};
|
||||||
|
up[] = {0.0, 1.0, 0.0};
|
||||||
|
dir[] = {0.0, 0.0, 0.0};
|
||||||
|
pos[] = {0.0, 0.0, 0.0};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class Stage5 {
|
||||||
|
texture = "z\ace\addons\spottingscope\data\spot_scope_smdi.paa";
|
||||||
|
uvSource="tex";
|
||||||
|
class uvTransform {
|
||||||
|
aside[]={1,0,0};
|
||||||
|
up[]={0,1,0};
|
||||||
|
dir[]={0,0,0};
|
||||||
|
pos[]={0,0,0};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class Stage6 {
|
||||||
|
texture = "#(ai,32,128,1)fresnel(1.58,0.01)";
|
||||||
|
uvSource = "tex";
|
||||||
|
class uvTransform {
|
||||||
|
aside[] = {1.0, 0.0, 0.0};
|
||||||
|
up[] = {0.0, 1.0, 0.0};
|
||||||
|
dir[] = {0.0, 0.0, 0.0};
|
||||||
|
pos[] = {0.0, 0.0, 0.0};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class Stage7 {
|
||||||
|
texture = "a3\data_f\env_land_co.paa";
|
||||||
|
uvSource = "tex";
|
||||||
|
class uvTransform {
|
||||||
|
aside[] = {1.0, 0.0, 0.0};
|
||||||
|
up[] = {0.0, 1.0, 0.0};
|
||||||
|
dir[] = {0.0, 0.0, 0.0};
|
||||||
|
pos[] = {0.0, 0.0, 0.0};
|
||||||
|
};
|
||||||
|
};
|
BIN
addons/spottingscope/data/spot_scope_co.paa
Normal file
BIN
addons/spottingscope/data/spot_scope_co.paa
Normal file
Binary file not shown.
BIN
addons/spottingscope/data/spot_scope_nohq.paa
Normal file
BIN
addons/spottingscope/data/spot_scope_nohq.paa
Normal file
Binary file not shown.
BIN
addons/spottingscope/data/spot_scope_smdi.paa
Normal file
BIN
addons/spottingscope/data/spot_scope_smdi.paa
Normal file
Binary file not shown.
79
addons/spottingscope/data/spot_scope_tripod.rvmat
Normal file
79
addons/spottingscope/data/spot_scope_tripod.rvmat
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
ambient[] = {1.0, 1.0, 1.0, 1.0};
|
||||||
|
diffuse[] = {1.0, 1.0, 1.0, 1.0};
|
||||||
|
forcedDiffuse[] = {0.0, 0.0, 0.0, 0.0};
|
||||||
|
emmisive[] = {0.0, 0.0, 0.0, 1.0};
|
||||||
|
specular[] = {0.0, 0.0, 0.0, 0.0};
|
||||||
|
specularPower = 0.0;
|
||||||
|
PixelShaderID = "Super";
|
||||||
|
VertexShaderID = "Super";
|
||||||
|
class Stage1 {
|
||||||
|
texture = "z\ace\addons\spottingscope\data\spot_scope_nohq.paa";
|
||||||
|
uvSource="tex";
|
||||||
|
class uvTransform {
|
||||||
|
aside[]={1,0,0};
|
||||||
|
up[]={0,1,0};
|
||||||
|
dir[]={0,0,0};
|
||||||
|
pos[]={0,0,0};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class Stage2 {
|
||||||
|
texture = "z\ace\addons\apl\data\metal4_weapons_vehicles_int_512_dt.paa";
|
||||||
|
uvSource = "tex";
|
||||||
|
class uvTransform {
|
||||||
|
aside[] = {6.0, 0.0, 0.0};
|
||||||
|
up[] = {0.0, 6.0, 0.0};
|
||||||
|
dir[] = {0.0, 0.0, 0.0};
|
||||||
|
pos[] = {0.0, 0.0, 0.0};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class Stage3 {
|
||||||
|
texture = "#(argb,8,8,3)color(0,0,0,0)";
|
||||||
|
uvSource = "tex";
|
||||||
|
class uvTransform {
|
||||||
|
aside[] = {1,0,0};
|
||||||
|
up[] = {0,1,0};
|
||||||
|
dir[] = {0,0,0};
|
||||||
|
pos[] = {0,0,0};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class Stage4 {
|
||||||
|
texture = "#(argb,8,8,3)color(0,1,1,1)";
|
||||||
|
uvSource = "tex";
|
||||||
|
class uvTransform {
|
||||||
|
aside[] = {1.0, 0.0, 0.0};
|
||||||
|
up[] = {0.0, 1.0, 0.0};
|
||||||
|
dir[] = {0.0, 0.0, 0.0};
|
||||||
|
pos[] = {0.0, 0.0, 0.0};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class Stage5 {
|
||||||
|
texture = "z\ace\addons\spottingscope\data\spot_scope_smdi.paa";
|
||||||
|
uvSource="tex";
|
||||||
|
class uvTransform {
|
||||||
|
aside[]={1,0,0};
|
||||||
|
up[]={0,1,0};
|
||||||
|
dir[]={0,0,0};
|
||||||
|
pos[]={0,0,0};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class Stage6 {
|
||||||
|
texture = "#(ai,32,128,1)fresnel(1.58,0.01)";
|
||||||
|
uvSource = "tex";
|
||||||
|
class uvTransform {
|
||||||
|
aside[] = {1.0, 0.0, 0.0};
|
||||||
|
up[] = {0.0, 1.0, 0.0};
|
||||||
|
dir[] = {0.0, 0.0, 0.0};
|
||||||
|
pos[] = {0.0, 0.0, 0.0};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
class Stage7 {
|
||||||
|
texture = "a3\data_f\env_land_co.paa";
|
||||||
|
uvSource = "tex";
|
||||||
|
class uvTransform {
|
||||||
|
aside[] = {1.0, 0.0, 0.0};
|
||||||
|
up[] = {0.0, 1.0, 0.0};
|
||||||
|
dir[] = {0.0, 0.0, 0.0};
|
||||||
|
pos[] = {0.0, 0.0, 0.0};
|
||||||
|
};
|
||||||
|
};
|
BIN
addons/spottingscope/data/spottingscope.p3d
Normal file
BIN
addons/spottingscope/data/spottingscope.p3d
Normal file
Binary file not shown.
BIN
addons/spottingscope/data/w_spottingscope.p3d
Normal file
BIN
addons/spottingscope/data/w_spottingscope.p3d
Normal file
Binary file not shown.
30
addons/spottingscope/functions/fnc_pickup.sqf
Normal file
30
addons/spottingscope/functions/fnc_pickup.sqf
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
/*
|
||||||
|
* Author: Rocko, Ruthberg
|
||||||
|
*
|
||||||
|
* Pick up spotting scope
|
||||||
|
*
|
||||||
|
* Arguments:
|
||||||
|
* 0: spotting scope <OBJECT>
|
||||||
|
* 1: unit <OBJECT>
|
||||||
|
*
|
||||||
|
* Return Value:
|
||||||
|
* Nothing
|
||||||
|
*
|
||||||
|
* Return value:
|
||||||
|
* None
|
||||||
|
*/
|
||||||
|
#include "script_component.hpp"
|
||||||
|
|
||||||
|
PARAMS_2(_spottingScope,_unit);
|
||||||
|
|
||||||
|
if ((_unit call CBA_fnc_getUnitAnim) select 0 == "stand") then {
|
||||||
|
_unit playMove "AmovPercMstpSrasWrflDnon_diary";
|
||||||
|
};
|
||||||
|
|
||||||
|
[{
|
||||||
|
PARAMS_2(_spottingScope,_unit);
|
||||||
|
|
||||||
|
_unit addItem "ACE_SpottingScope";
|
||||||
|
deleteVehicle _spottingScope;
|
||||||
|
|
||||||
|
}, [_spottingScope, _unit], 1, 0]call EFUNC(common,waitAndExecute);
|
41
addons/spottingscope/functions/fnc_place.sqf
Normal file
41
addons/spottingscope/functions/fnc_place.sqf
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
/*
|
||||||
|
* Author: Rocko, Ruthberg
|
||||||
|
*
|
||||||
|
* Place down spotting scope
|
||||||
|
*
|
||||||
|
* Arguments:
|
||||||
|
* 0: unit <OBJECT>
|
||||||
|
* 1: scope class <STRING>
|
||||||
|
*
|
||||||
|
* Return Value:
|
||||||
|
* Nothing
|
||||||
|
*
|
||||||
|
* Return value:
|
||||||
|
* None
|
||||||
|
*/
|
||||||
|
#include "script_component.hpp"
|
||||||
|
|
||||||
|
PARAMS_2(_unit,_scopeClass);
|
||||||
|
|
||||||
|
_unit removeItem _scopeClass;
|
||||||
|
|
||||||
|
if ((_unit call CBA_fnc_getUnitAnim) select 0 == "stand") then {
|
||||||
|
_unit playMove "AmovPercMstpSrasWrflDnon_diary";
|
||||||
|
};
|
||||||
|
|
||||||
|
[{
|
||||||
|
PARAMS_1(_unit);
|
||||||
|
|
||||||
|
private ["_direction", "_position", "_spottingScope"];
|
||||||
|
_direction = getDir _unit;
|
||||||
|
_position = (getPosASL _unit) vectorAdd [0.8 * sin(_direction), 0.8 * cos(_direction), 0.02];
|
||||||
|
|
||||||
|
_spottingScope = "ACE_SpottingScopeObject" createVehicle [0, 0, 0];
|
||||||
|
_spottingScope setDir _direction;
|
||||||
|
_spottingScope setPosASL _position;
|
||||||
|
if ((getPosATL _spottingScope select 2) - (getPos _spottingScope select 2) < 1E-5) then {
|
||||||
|
_spottingScope setVectorUp (surfaceNormal (position _spottingScope));
|
||||||
|
};
|
||||||
|
_unit reveal _spottingScope;
|
||||||
|
|
||||||
|
}, [_unit], 1, 0] call EFUNC(common,waitAndExecute);
|
1
addons/spottingscope/functions/script_component.hpp
Normal file
1
addons/spottingscope/functions/script_component.hpp
Normal file
@ -0,0 +1 @@
|
|||||||
|
#include "\z\ace\addons\spottingscope\script_component.hpp"
|
12
addons/spottingscope/script_component.hpp
Normal file
12
addons/spottingscope/script_component.hpp
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
#define COMPONENT spottingscope
|
||||||
|
#include "\z\ace\addons\main\script_mod.hpp"
|
||||||
|
|
||||||
|
#ifdef DEBUG_ENABLED_SPOTTINGSCOPE
|
||||||
|
#define DEBUG_MODE_FULL
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef DEBUG_SETTINGS_SPOTTINGSCOPE
|
||||||
|
#define DEBUG_SETTINGS DEBUG_SETTINGS_SPOTTINGSCOPE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "\z\ace\addons\main\script_macros.hpp"
|
38
addons/spottingscope/stringtable.xml
Normal file
38
addons/spottingscope/stringtable.xml
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project name="ACE">
|
||||||
|
<Package name="tripod">
|
||||||
|
<Key ID="STR_ACE_SpottingScope_DisplayName">
|
||||||
|
<English>Spotting Scope</English>
|
||||||
|
<German>Teleskop</German>
|
||||||
|
<Russian>Зрительная труба</Russian>
|
||||||
|
<Polish>Teleskop</Polish>
|
||||||
|
<Spanish>Spotting Scope</Spanish>
|
||||||
|
<French>Téléscope de visée</French>
|
||||||
|
<Czech>Zaměřovací Dalekohled</Czech>
|
||||||
|
<Italian>Spotting Scope</Italian>
|
||||||
|
<Hungarian>Megfigyelő távcső</Hungarian>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_SpottingScope_PickUp">
|
||||||
|
<English>Pick up Spotting Scope</English>
|
||||||
|
<German>Teleskop aufnehmen</German>
|
||||||
|
<Russian>Поднять зрительная трубу</Russian>
|
||||||
|
<Polish>Zabierz teleskop</Polish>
|
||||||
|
<Spanish>Pick up Spotting Scope</Spanish>
|
||||||
|
<French>Prendre téléscope de visée</French>
|
||||||
|
<Czech>Zvednout Zaměřovací dalekohled</Czech>
|
||||||
|
<Italian>Raccogli spottingscope</Italian>
|
||||||
|
<Hungarian>Mefgigy. távcső felvétele</Hungarian>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_SpottingScope_PlaceDown">
|
||||||
|
<English>Place Spotting Scope</English>
|
||||||
|
<German>Teleskop aufstellen</German>
|
||||||
|
<Russian>Установить зрительная трубу</Russian>
|
||||||
|
<Polish>Ustaw teleskop</Polish>
|
||||||
|
<Spanish>Place Spotting Scope</Spanish>
|
||||||
|
<French>Placer téléscope de visée</French>
|
||||||
|
<Czech>Položit Zaměřovací dalekohled</Czech>
|
||||||
|
<Italian>Posiziona spottingscope</Italian>
|
||||||
|
<Hungarian>Megfigy. távcső elhelyezése</Hungarian>
|
||||||
|
</Key>
|
||||||
|
</Package>
|
||||||
|
</Project>
|
Loading…
Reference in New Issue
Block a user