mindstorm
-
Content Count
247 -
Joined
-
Last visited
-
Medals
Posts posted by mindstorm
-
-
Gnat;2442316']Suggest you are the exception to the rule. I don't see too many people here wanting to "tweak" addons to suit their mission.Except hacker ;)
You don't see them because it's not possible.... I cannot imagine people wouldn't like to edit existing vehicles. I'm sure everyone can agree for example that the current quad bike's accelerating is a laugh.
And about the "hacker" part:
As long as you wouldn't be able to overwrite existing classes a hacker could never change an existing vehicle with a script. And the good hackers can always hack stuff with memory editing...
-
Gnat;2441529']Sorry' date=' no disrespect but you seem to have missed the 10 years of a VERY success OFP/ARMA1/ARMA2/A2OA community with 10's of thousands of community made addons and missions .... much of that history without addon "auto-downloaders"That being said, yes, the game would benefit for a little extra usability for the gaming generation that can't/don't like to manage downloads and mod folders.
Unfortunately with thousands of DLC potentially becoming available ..... it could actually backfire and become a NIGHTMARE for some players.[/quote']
I didn't miss it's success.... I'm just saying that a-lot of mods would be easier accessible for the "masses" who simply don't want to take time into stalling it. I have tons of friends playing dayz and only a handful of them could actually install the first versions (without day-commander). Most of them had no clue how to do so... So yes it would be good for the community. And how could it backfire? If done correctly with a server browser which has a "show modded servers" checkbox it won't be a problem.
And even so. I mean a.t.m. I'm developing a Mission file which enables a race game... No modding done, so even now its possible to provide a complete different "experience" for users without them even being aware... Might as well include the whole package then, I'm sure it won't be a problem when a decent server-browser is implemented on the way.
And for the side-note. I highly doubt people downloading a 6.5GB would mind auto-downloading a couple of mods. The "big file download" thing isn't really a point of discussion if you ask me. Majority is on 10mbit+ these days, and if not they can subscribe to mods and download them overnight instead of in game when joining a server.
But we're getting off-topic. Again I'd like to be able to "edit" existing vehicles, wouldn't you like to simply add a turret on top of a offroad to make your mission a bit more unique? Wouldn't be really large files anyway.
-
Well I don't really see the problem with vehicle config files. Sound config works aswell so wouldn't be much effort to implement I suppose?
Also with steamworkshop in mind they should really start implementing auto-addon download. For a game which supports this much modding they are really running behind on auto-download. Look at for example NS2, it allowes you to subscribe on mods in the workshop. And if you join a server with addons/mods it auto-downloads them.
Much more friendly than the current system.
-
Thx for the answer.
Is there a specific reason BIS choose to do it this way? I don't see much harm in including a 30KB file inside a missing with a specific vehicle.
I'll wait some of you guy's answers before I'll post a feature request (or am I the only one wanting this?).
-
You could use skipTime.
It's local so you will have to use this same command for everyone. Also you will have to take JIP players in mind if your missions supports JIP players.
-
Well I want to make a Police version of the offroad but I cannot get it working. Maybe it's just my lack of understanding how to mod.
My vehicle.ccp (url is file, or inside spoiler):
#define true 1 #define false 0 #define private 0 #define protected 1 #define public 2 #define TEast 0 #define TWest 1 #define TGuerrila 2 #define TCivilian 3 #define TSideUnknown 4 #define TEnemy 5 #define TFriendly 6 #define TLogic 7 enum { DESTRUCTENGINE = 2, DESTRUCTDEFAULT = 6, DESTRUCTWRECK = 7, DESTRUCTTREE = 3, DESTRUCTTENT = 4, STABILIZEDINAXISX = 1, STABILIZEDINAXESXYZ = 4, STABILIZEDINAXISY = 2, STABILIZEDINAXESBOTH = 3, DESTRUCTNO = 0, STABILIZEDINAXESNONE = 0, DESTRUCTMAN = 5, DESTRUCTBUILDING = 1, }; class DefaultEventhandlers; // External class reference class CfgPatches { class A3_Soft_F_Offroad_01 { units[] = {"C_Offroad_01_F", "C_Offroad_01_PA_F", "C_Offroad_01_RP_F", "I_G_offroad", "c_offroad_01_armed", "I_G_offroad_armed"}; weapons[] = {}; requiredVersion = 0.1; requiredAddons[] = {"A3_Soft_F"}; }; }; class WeaponFireGun; // External class reference class WeaponCloudsGun; // External class reference class WeaponFireMGun; // External class reference class WeaponCloudsMGun; // External class reference class CfgVehicles { class LandVehicle; // External class reference class Car : LandVehicle { class HitPoints; // External class reference class NewTurret; // External class reference }; class Car_F : Car { class Turrets { class MainTurret : NewTurret { class ViewOptics; // External class reference }; }; class HitPoints { class HitLFWheel; // External class reference class HitLBWheel; // External class reference class HitRFWheel; // External class reference class HitRBWheel; // External class reference class HitBody; // External class reference class HitGlass1 {}; class HitGlass2; // External class reference }; class EventHandlers; // External class reference class AnimationSources; // External class reference }; class Offroad_Base : Car_F { mapSize = 6.12; _generalMacro = "Offroad_01_base_F"; displayName = "$STR_A3_CfgVehicles_Offroad_Base0"; nameSound = "veh_car"; class Library { libTextDesc = "$STR_A3_CfgVehicles_Offroad_Base_Library0"; }; model = "\A3\soft_f\offroad\offroad"; picture = "\A3\soft_f\offroad\Data\UI\offroad_base_CA.paa"; Icon = "\A3\soft_f\offroad\Data\UI\map_offroad_CA.paa"; accuracy = 0.25; // accuracy needed to recognize type of this target transportSoldier = 5; transportMaxBackpacks = 0; armor = 32; cost = 50000; class TransportItems { class _xx_FirstAidKit { name = "FirstAidKit"; count = 6; }; }; hiddenSelections[] = {"camo", "camo2"}; hiddenSelectionsTextures[] = {"\A3\soft_f\offroad\data\offroad_ext_co.paa", "\A3\soft_f\offroad\data\offroad_ext_co.paa"}; class AnimationSources : AnimationSources { class Doors { source = "user"; animPeriod = 1; initPhase = 0; }; class Proxy { source = "user"; animPeriod = 1; initPhase = 1; }; class Beacons { source = "user"; animPeriod = 1; initPhase = 0; }; class Destruct { source = "user"; animPeriod = 0; initPhase = 1; }; }; class HitPoints : HitPoints { class HitLFWheel : HitLFWheel { armor = 0.125; passThrough = false; }; class HitLF2Wheel : HitLBWheel { armor = 0.125; passThrough = false; }; class HitRFWheel : HitRFWheel { armor = 0.125; passThrough = false; }; class HitRF2Wheel : HitRBWheel { armor = 0.125; passThrough = false; }; class HitFuel { armor = 0.5; material = -1; name = "palivo"; visual = ""; passThrough = 0.2; }; class HitEngine { armor = 0.5; material = -1; name = "motor"; visual = ""; passThrough = 0.2; }; class HitBody : HitBody { visual = "camo"; passThrough = true; }; class HitGlass1 : HitGlass1 { armor = 0.25; }; class HitGlass2 : HitGlass2 { armor = 0.25; }; }; steerAheadSimul = 0.5; steerAheadPlan = 0.35; predictTurnPlan = 0.8; predictTurnSimul = 0.6; precision = 10; brakeDistance = 50; // vehicle movement precision turnCoef = 3.5; driverAction = "driver_offroad01"; cargoAction[] = {"passenger_low01", "passenger_flatground_leanleft", "passenger_flatground_leanright", "passenger_flatground_crosslegs", "passenger_flatground_leanleft"}; getInAction = "GetInLow"; getOutAction = "GetOutLow"; cargoGetInAction[] = {"GetInLow"}; cargoGetOutAction[] = {"GetOutLow"}; fireResistance = 5; wheelDestroyRadiusCoef = 0.75; soundGetIn[] = {"A3\Sounds_F\vehicles\soft\offroad\offroad-int-openclose.wav", db0, 1}; soundGetOut[] = {"A3\Sounds_F\vehicles\soft\offroad\offroad-int-openclose.wav", db0, 1, 40}; soundDammage[] = {"", 0.562341, 1}; soundEngineOnInt[] = {"A3\Sounds_F\vehicles\soft\offroad\landrover_int_start.wav", 1.0, 1.0}; soundEngineOnExt[] = {"A3\Sounds_F\vehicles\soft\offroad\landrover_ext_start.wav", 1.0, 1.0, 200}; soundEngineOffInt[] = {"A3\Sounds_F\vehicles\soft\offroad\landrover_int_stop.wav", 1.0, 1.0}; soundEngineOffExt[] = {"A3\Sounds_F\vehicles\soft\offroad\landrover_ext_stop.wav", 1.0, 1.0, 200}; class Sounds { class Idle_ext { sound[] = {"A3\Sounds_F\vehicles\soft\offroad\landrover_ext_idle.wav", db0, 1, 100}; frequency = "0.95 + ((rpm/ 3500) factor[(100/ 3500),(600/ 3500)])*0.15"; volume = "engineOn*camPos*(((rpm/ 3500) factor[(100/ 3500),(200/ 3500)]) * ((rpm/ 3500) factor[(530/ 3500),(380/ 3500)]))"; }; class Engine { sound[] = {"A3\Sounds_F\vehicles\soft\offroad\landrover_ext_rpm_2.wav", db0, 1, 200}; frequency = "0.9 + ((rpm/ 3500) factor[(380/ 3500),(840/ 3500)])*0.2"; volume = "engineOn*camPos*(((rpm/ 3500) factor[(380/ 3500),(530/ 3500)]) * ((rpm/ 3500) factor[(850/ 3500),(650/ 3500)]))"; }; class Engine1_ext { sound[] = {"A3\Sounds_F\vehicles\soft\offroad\landrover_ext_rpm_3.wav", db0, 1, 225}; frequency = "0.9 + ((rpm/ 3500) factor[(660/ 3500),(1130/ 3500)])*0.2"; volume = "engineOn*camPos*(((rpm/ 3500) factor[(650/ 3500),(840/ 3500)]) * ((rpm/ 3500) factor[(1130/ 3500),(940/ 3500)]))"; }; class Engine2_ext { sound[] = {"A3\Sounds_F\vehicles\soft\offroad\landrover_ext_rpm_4.wav", db0, 1, 250}; frequency = "0.9 + ((rpm/ 3500) factor[(930/ 3500),(1340/ 3500)])*0.2"; volume = "engineOn*camPos*(((rpm/ 3500) factor[(1000/ 3500),(1130/ 3500)]) * ((rpm/ 3500) factor[(1340/ 3500),(1200/ 3500)]))"; }; class Engine3_ext { sound[] = {"A3\Sounds_F\vehicles\soft\offroad\landrover_ext_rpm_6.wav", db0, 1, 275}; frequency = "0.95 + ((rpm/ 3500) factor[(1200/ 3500),(1620/ 3500)])*0.2"; volume = "engineOn*camPos*(((rpm/ 3500) factor[(1100/ 3500),(1300/ 3500)]) * ((rpm/ 3500) factor[(1600/ 3500),(1400/ 3500)]))"; }; class Engine4_ext { sound[] = {"A3\Sounds_F\vehicles\soft\offroad\landrover_ext_rpm_8.wav", db0, 1, 300}; frequency = "0.95 + ((rpm/ 3500) factor[(1400/ 3500),(2000/ 3500)]) *0.2"; volume = "engineOn*camPos*(((rpm/ 3500) factor[(1300/ 3500),(1600/ 3500)]) * ((rpm/ 3500) factor[(2000/ 3500),(1700/ 3500)]))"; }; class Engine5_ext { sound[] = {"A3\Sounds_F\vehicles\soft\offroad\landrover_ext_rpm_9.wav", db0, 1, 325}; frequency = "0.95 + ((rpm/ 3500) factor[(1700/ 3500),(2250/ 3500)])*0.2"; volume = "engineOn*camPos*(((rpm/ 3500) factor[(1600/ 3500),(2000/ 3500)]) * ((rpm/ 3500) factor[(2250/ 3500),(2050/ 3500)]))"; }; class Engine6_ext { sound[] = {"A3\Sounds_F\vehicles\soft\offroad\landrover_ext_rpm_11.wav", db0, 1, 350}; frequency = "0.95 + ((rpm/ 3500) factor[(2050/ 3500),(2600/ 3500)])*0.2"; volume = "engineOn*camPos*(((rpm/ 3500) factor[(1900/ 3500),(2250/ 3500)]) * ((rpm/ 3500) factor[(2600/ 3500),(2400/ 3500)]))"; }; class Engine7_ext { sound[] = {"A3\Sounds_F\vehicles\soft\offroad\landrover_ext_rpm_12.wav", db0, 1, 375}; frequency = "0.95 + ((rpm/ 3500) factor[(2400/ 3500),(3050/ 3500)])*0.2"; volume = "engineOn*camPos*(((rpm/ 3500) factor[(2300/ 3500),(2600/ 3500)]) * ((rpm/ 3500) factor[(3050/ 3500),(2650/ 3500)]))"; }; class Engine8_ext { sound[] = {"A3\Sounds_F\vehicles\soft\offroad\landrover_ext_rpm_14.wav", db0, 1, 400}; frequency = "0.95 + ((rpm/ 3500) factor[(2650/ 3500),(3500/ 3500)])*0.2"; volume = "engineOn*camPos*((rpm/ 3500) factor[(2400/ 3500),(3200/ 3500)])"; }; class IdleThrust { sound[] = {"A3\Sounds_F\vehicles\soft\offroad\landrover_ext_idle_exhaust.wav", db0, 1, 200}; frequency = "0.95 + ((rpm/ 3500) factor[(100/ 3500),(600/ 3500)])*0.15"; volume = "engineOn*camPos*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/ 3500) factor[(100/ 3500),(200/ 3500)]) * ((rpm/ 3500) factor[(530/ 3500),(380/ 3500)]))"; }; class EngineThrust { sound[] = {"A3\Sounds_F\vehicles\soft\offroad\landrover_ext_rpm_2_exhaust.wav", db0, 1, 250}; frequency = "0.9 + ((rpm/ 3500) factor[(380/ 3500),(840/ 3500)])*0.2"; volume = "engineOn*camPos*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/ 3500) factor[(380/ 3500),(530/ 3500)]) * ((rpm/ 3500) factor[(850/ 3500),(650/ 3500)]))"; }; class Engine1_Thrust_ext { sound[] = {"A3\Sounds_F\vehicles\soft\offroad\landrover_ext_rpm_3_exhaust.wav", db0, 1, 275}; frequency = "0.9 + ((rpm/ 3500) factor[(660/ 3500),(1130/ 3500)])*0.2"; volume = "engineOn*camPos*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/ 3500) factor[(650/ 3500),(840/ 3500)]) * ((rpm/ 3500) factor[(1130/ 3500),(940/ 3500)]))"; }; class Engine2_Thrust_ext { sound[] = {"A3\Sounds_F\vehicles\soft\offroad\landrover_ext_rpm_4_exhaust.wav", db0, 1, 300}; frequency = "0.9 + ((rpm/ 3500) factor[(930/ 3500),(1340/ 3500)])*0.2"; volume = "engineOn*camPos*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/ 3500) factor[(1000/ 3500),(1130/ 3500)]) * ((rpm/ 3500) factor[(1340/ 3500),(1200/ 3500)]))"; }; class Engine3_Thrust_ext { sound[] = {"A3\Sounds_F\vehicles\soft\offroad\landrover_ext_rpm_6_exhaust.wav", db0, 1, 325}; frequency = "0.95 + ((rpm/ 3500) factor[(1200/ 3500),(1620/ 3500)])*0.2"; volume = "engineOn*camPos*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/ 3500) factor[(1100/ 3500),(1300/ 3500)]) * ((rpm/ 3500) factor[(1600/ 3500),(1400/ 3500)]))"; }; class Engine4_Thrust_ext { sound[] = {"A3\Sounds_F\vehicles\soft\offroad\landrover_ext_rpm_8_exhaust.wav", db0, 1, 350}; frequency = "0.95 + ((rpm/ 3500) factor[(1400/ 3500),(2000/ 3500)]) *0.2"; volume = "engineOn*camPos*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/ 3500) factor[(1300/ 3500),(1600/ 3500)]) * ((rpm/ 3500) factor[(2000/ 3500),(1700/ 3500)]))"; }; class Engine5_Thrust_ext { sound[] = {"A3\Sounds_F\vehicles\soft\offroad\landrover_ext_rpm_9_exhaust.wav", db0, 1, 375}; frequency = "0.95 + ((rpm/ 3500) factor[(1700/ 3500),(2250/ 3500)])*0.2"; volume = "engineOn*camPos*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/ 3500) factor[(1600/ 3500),(2000/ 3500)]) * ((rpm/ 3500) factor[(2250/ 3500),(2050/ 3500)]))"; }; class Engine6_Thrust_ext { sound[] = {"A3\Sounds_F\vehicles\soft\offroad\landrover_ext_rpm_11_exhaust.wav", db0, 1, 400}; frequency = "0.95 + ((rpm/ 3500) factor[(2050/ 3500),(2600/ 3500)])*0.2"; volume = "engineOn*camPos*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/ 3500) factor[(1900/ 3500),(2250/ 3500)]) * ((rpm/ 3500) factor[(2600/ 3500),(2400/ 3500)]))"; }; class Engine7_Thrust_ext { sound[] = {"A3\Sounds_F\vehicles\soft\offroad\landrover_ext_rpm_12_exhaust.wav", db0, 1, 425}; frequency = "0.95 + ((rpm/ 3500) factor[(2400/ 3500),(3050/ 3500)])*0.2"; volume = "engineOn*camPos*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/ 3500) factor[(2300/ 3500),(2600/ 3500)]) * ((rpm/ 3500) factor[(3050/ 3500),(2650/ 3500)]))"; }; class Engine8_Thrust_ext { sound[] = {"A3\Sounds_F\vehicles\soft\offroad\landrover_ext_rpm_14_exhaust.wav", db0, 1, 450}; frequency = "0.95 + ((rpm/ 3500) factor[(2650/ 3500),(3500/ 3500)])*0.2"; volume = "engineOn*camPos*(0.4+(0.6*(thrust factor[0.1,1])))*((rpm/ 3500) factor[(2400/ 3500),(3200/ 3500)])"; }; class Idle_int { sound[] = {"A3\Sounds_F\vehicles\soft\offroad\landrover_int_idle.wav", db-10, 1}; frequency = "0.95 + ((rpm/ 3500) factor[(100/ 3500),(600/ 3500)])*0.15"; volume = "engineOn*(1-camPos)*(((rpm/ 3500) factor[(100/ 3500),(200/ 3500)]) * ((rpm/ 3500) factor[(530/ 3500),(380/ 3500)]))"; }; class Engine_int { sound[] = {"A3\Sounds_F\vehicles\soft\offroad\landrover_int_rpm_2.wav", 0.1, 1}; frequency = "0.9 + ((rpm/ 3500) factor[(380/ 3500),(840/ 3500)])*0.2"; volume = "engineOn*(1-camPos)*(((rpm/ 3500) factor[(380/ 3500),(530/ 3500)]) * ((rpm/ 3500) factor[(850/ 3500),(650/ 3500)]))"; }; class Engine1_int { sound[] = {"A3\Sounds_F\vehicles\soft\offroad\landrover_int_rpm_3.wav", 0.1, 1}; frequency = "0.9 + ((rpm/ 3500) factor[(660/ 3500),(1130/ 3500)])*0.2"; volume = "engineOn*(1-camPos)*(((rpm/ 3500) factor[(650/ 3500),(840/ 3500)]) * ((rpm/ 3500) factor[(1130/ 3500),(940/ 3500)]))"; }; class Engine2_int { sound[] = {"A3\Sounds_F\vehicles\soft\offroad\landrover_int_rpm_4.wav", 0.1, 1}; frequency = "0.9 + ((rpm/ 3500) factor[(930/ 3500),(1340/ 3500)])*0.2"; volume = "engineOn*(1-camPos)*(((rpm/ 3500) factor[(1000/ 3500),(1130/ 3500)]) * ((rpm/ 3500) factor[(1340/ 3500),(1200/ 3500)]))"; }; class Engine3_int { sound[] = {"A3\Sounds_F\vehicles\soft\offroad\landrover_int_rpm_6.wav", 0.1, 1}; frequency = "0.95 + ((rpm/ 3500) factor[(1200/ 3500),(1620/ 3500)])*0.2"; volume = "engineOn*(1-camPos)*(((rpm/ 3500) factor[(1100/ 3500),(1300/ 3500)]) * ((rpm/ 3500) factor[(1600/ 3500),(1400/ 3500)]))"; }; class Engine4_int { sound[] = {"A3\Sounds_F\vehicles\soft\offroad\landrover_int_rpm_8.wav", 0.1, 1}; frequency = "0.95 + ((rpm/ 3500) factor[(1400/ 3500),(2000/ 3500)]) *0.2"; volume = "engineOn*(1-camPos)*(((rpm/ 3500) factor[(1300/ 3500),(1600/ 3500)]) * ((rpm/ 3500) factor[(2000/ 3500),(1700/ 3500)]))"; }; class Engine5_int { sound[] = {"A3\Sounds_F\vehicles\soft\offroad\landrover_int_rpm_9.wav", 0.1, 1}; frequency = "0.95 + ((rpm/ 3500) factor[(1700/ 3500),(2250/ 3500)])*0.2"; volume = "engineOn*(1-camPos)*(((rpm/ 3500) factor[(1600/ 3500),(2000/ 3500)]) * ((rpm/ 3500) factor[(2250/ 3500),(2050/ 3500)]))"; }; class Engine6_int { sound[] = {"A3\Sounds_F\vehicles\soft\offroad\landrover_int_rpm_11.wav", 0.1, 1}; frequency = "0.95 + ((rpm/ 3500) factor[(2050/ 3500),(2600/ 3500)])*0.2"; volume = "engineOn*(1-camPos)*(((rpm/ 3500) factor[(1900/ 3500),(2250/ 3500)]) * ((rpm/ 3500) factor[(2600/ 3500),(2400/ 3500)]))"; }; class Engine7_int { sound[] = {"A3\Sounds_F\vehicles\soft\offroad\landrover_int_rpm_12.wav", 0.1, 1}; frequency = "0.95 + ((rpm/ 3500) factor[(2400/ 3500),(3050/ 3500)])*0.2"; volume = "engineOn*(1-camPos)*(((rpm/ 3500) factor[(2300/ 3500),(2600/ 3500)]) * ((rpm/ 3500) factor[(3050/ 3500),(2650/ 3500)]))"; }; class Engine8_int { sound[] = {"A3\Sounds_F\vehicles\soft\offroad\landrover_int_rpm_14.wav", 0.1, 1}; frequency = "0.95 + ((rpm/ 3500) factor[(2650/ 3500),(3500/ 3500)])*0.2"; volume = "engineOn*(1-camPos)*((rpm/ 3500) factor[(2400/ 3500),(3200/ 3500)])"; }; class IdleThrust_int { sound[] = {"A3\Sounds_F\vehicles\soft\offroad\landrover_int_idle_exhaust.wav", db0, 1}; frequency = "0.95 + ((rpm/ 3500) factor[(100/ 3500),(600/ 3500)])*0.15"; volume = "engineOn*(1-camPos)*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/ 3500) factor[(100/ 3500),(200/ 3500)]) * ((rpm/ 3500) factor[(530/ 3500),(380/ 3500)]))"; }; class EngineThrust_int { sound[] = {"A3\Sounds_F\vehicles\soft\offroad\landrover_int_rpm_2_exhaust.wav", db0, 1}; frequency = "0.9 + ((rpm/ 3500) factor[(380/ 3500),(840/ 3500)])*0.2"; volume = "engineOn*(1-camPos)*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/ 3500) factor[(380/ 3500),(530/ 3500)]) * ((rpm/ 3500) factor[(850/ 3500),(650/ 3500)]))"; }; class Engine1_Thrust_int { sound[] = {"A3\Sounds_F\vehicles\soft\offroad\landrover_int_rpm_3_exhaust.wav", db0, 1}; frequency = "0.9 + ((rpm/ 3500) factor[(660/ 3500),(1130/ 3500)])*0.2"; volume = "engineOn*(1-camPos)*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/ 3500) factor[(650/ 3500),(840/ 3500)]) * ((rpm/ 3500) factor[(1130/ 3500),(940/ 3500)]))"; }; class Engine2_Thrust_int { sound[] = {"A3\Sounds_F\vehicles\soft\offroad\landrover_int_rpm_4_exhaust.wav", db0, 1}; frequency = "0.9 + ((rpm/ 3500) factor[(930/ 3500),(1340/ 3500)])*0.2"; volume = "engineOn*(1-camPos)*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/ 3500) factor[(1000/ 3500),(1130/ 3500)]) * ((rpm/ 3500) factor[(1340/ 3500),(1200/ 3500)]))"; }; class Engine3_Thrust_int { sound[] = {"A3\Sounds_F\vehicles\soft\offroad\landrover_int_rpm_6_exhaust.wav", db0, 1}; frequency = "0.95 + ((rpm/ 3500) factor[(1200/ 3500),(1620/ 3500)])*0.2"; volume = "engineOn*(1-camPos)*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/ 3500) factor[(1100/ 3500),(1300/ 3500)]) * ((rpm/ 3500) factor[(1600/ 3500),(1400/ 3500)]))"; }; class Engine4_Thrust_int { sound[] = {"A3\Sounds_F\vehicles\soft\offroad\landrover_int_rpm_8_exhaust.wav", db0, 1}; frequency = "0.95 + ((rpm/ 3500) factor[(1400/ 3500),(2000/ 3500)]) *0.2"; volume = "engineOn*(1-camPos)*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/ 3500) factor[(1300/ 3500),(1600/ 3500)]) * ((rpm/ 3500) factor[(2000/ 3500),(1700/ 3500)]))"; }; class Engine5_Thrust_int { sound[] = {"A3\Sounds_F\vehicles\soft\offroad\landrover_int_rpm_9_exhaust.wav", db0, 1}; frequency = "0.95 + ((rpm/ 3500) factor[(1700/ 3500),(2250/ 3500)])*0.2"; volume = "engineOn*(1-camPos)*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/ 3500) factor[(1600/ 3500),(2000/ 3500)]) * ((rpm/ 3500) factor[(2250/ 3500),(2050/ 3500)]))"; }; class Engine6_Thrust_int { sound[] = {"A3\Sounds_F\vehicles\soft\offroad\landrover_int_rpm_11_exhaust.wav", db0, 1}; frequency = "0.95 + ((rpm/ 3500) factor[(2050/ 3500),(2600/ 3500)])*0.2"; volume = "engineOn*(1-camPos)*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/ 3500) factor[(1900/ 3500),(2250/ 3500)]) * ((rpm/ 3500) factor[(2600/ 3500),(2400/ 3500)]))"; }; class Engine7_Thrust_int { sound[] = {"A3\Sounds_F\vehicles\soft\offroad\landrover_int_rpm_12_exhaust.wav", db0, 1}; frequency = "0.95 + ((rpm/ 3500) factor[(2400/ 3500),(3050/ 3500)])*0.2"; volume = "engineOn*(1-camPos)*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/ 3500) factor[(2300/ 3500),(2600/ 3500)]) * ((rpm/ 3500) factor[(3050/ 3500),(2650/ 3500)]))"; }; class Engine8_Thrust_int { sound[] = {"A3\Sounds_F\vehicles\soft\offroad\landrover_int_rpm_14_exhaust.wav", db0, 1}; frequency = "0.95 + ((rpm/ 3500) factor[(2650/ 3500),(3500/ 3500)])*0.2"; volume = "engineOn*(1-camPos)*(0.4+(0.6*(thrust factor[0.1,1])))*((rpm/ 3500) factor[(2400/ 3500),(3200/ 3500)])"; }; class Movement { sound = "soundEnviron"; frequency = "1"; volume = "0"; }; class TiresRockOut { sound[] = {"A3\Sounds_F\vehicles\soft\tires\ext_tires_rock_final_2.wav", 0.1, 1.0, 120}; frequency = "1"; volume = "camPos*rock*(speed factor[2, 20])"; }; class TiresSandOut { sound[] = {"A3\Sounds_F\vehicles\soft\tires\ext-tires-sand1.wav", 0.1, 1.0, 120}; frequency = "1"; volume = "camPos*sand*(speed factor[2, 20])"; }; class TiresGrassOut { sound[] = {"A3\Sounds_F\vehicles\soft\tires\ext_tires_road_final_1.wav", 0.1, 1.0, 120}; frequency = "1"; volume = "camPos*grass*(speed factor[2, 20])"; }; class TiresMudOut { sound[] = {"A3\Sounds_F\vehicles\soft\tires\ext-tires-mud2.wav", 0.1, 1.0, 120}; frequency = "1"; volume = "camPos*mud*(speed factor[2, 20])"; }; class TiresGravelOut { sound[] = {"A3\Sounds_F\vehicles\soft\tires\ext_tires_rock_final_2.wav", db-10, 1.0, 120}; frequency = "1"; volume = "camPos*gravel*(speed factor[2, 20])"; }; class TiresAsphaltOut { sound[] = {"A3\Sounds_F\vehicles\soft\tires\ext_tires_road_final_1.wav", 0.281838, 1.0, 120}; frequency = "1"; volume = "camPos*asphalt*(speed factor[2, 20])"; }; class NoiseOut { sound[] = {"A3\Sounds_F\vehicles\soft\noises\noise_soft_ext_1.wav", 0.1, 1.0, 120}; frequency = "1"; volume = "camPos*(damper0 max 0.02)*(speed factor[0, 8])"; }; class TiresRockIn { sound[] = {"A3\Sounds_F\vehicles\soft\tires\int_tires_rock_final_2.wav", 0.0177828, 1.0}; frequency = "1"; volume = "(1-camPos)*rock*(speed factor[2, 20])"; }; class TiresSandIn { sound[] = {"A3\Sounds_F\vehicles\soft\tires\int-tires-sand2.wav", 0.0177828, 1.0}; frequency = "1"; volume = "(1-camPos)*sand*(speed factor[2, 20])"; }; class TiresGrassIn { sound[] = {"A3\Sounds_F\vehicles\soft\tires\int_tires_road_final_1.wav", 0.0177828, 1.0}; frequency = "1"; volume = "(1-camPos)*grass*(speed factor[2, 20])"; }; class TiresMudIn { sound[] = {"A3\Sounds_F\vehicles\soft\tires\int-tires-mud2.wav", 0.0177828, 1.0}; frequency = "1"; volume = "(1-camPos)*mud*(speed factor[2, 20])"; }; class TiresGravelIn { sound[] = {"A3\Sounds_F\vehicles\soft\tires\int_tires_rock_final_2.wav", db-37, 1.0}; frequency = "1"; volume = "(1-camPos)*gravel*(speed factor[2, 20])"; }; class TiresAsphaltIn { sound[] = {"A3\Sounds_F\vehicles\soft\tires\int_tires_road_final_1.wav", 0.0177828, 1.0}; frequency = "1"; volume = "(1-camPos)*asphalt*(speed factor[2, 20])"; }; class NoiseIn { sound[] = {"A3\Sounds_F\vehicles\soft\noises\noise_soft_int_1.wav", 0.0177828, 1.0}; frequency = "1"; volume = "(damper0 max 0.03)*(speed factor[0, 8])*(1-camPos)"; }; class breaking_ext_road { sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_04.wav", db0, 1, 100}; frequency = 1; volume = "engineOn*camPos*(LongSlipDrive Factor[-0.15, -0.3])*(Speed Factor[2, 10])"; }; class acceleration_ext_road { sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_02.wav", db0, 1, 100}; frequency = 1; volume = "engineOn*camPos*(LongSlipDrive Factor[0.15, 0.3])*(Speed Factor[10, 0])"; }; class turn_left_ext_road { sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_02.wav", db0, 1, 100}; frequency = 1; volume = "engineOn*camPos*(latSlipDrive Factor[0.15, 0.3])*(Speed Factor[0, 10])"; }; class turn_right_ext_road { sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_02.wav", db0, 1, 100}; frequency = 1; volume = "engineOn*camPos*(latSlipDrive Factor[-0.15, -0.3])*(Speed Factor[0, 10])"; }; class breaking_ext_dirt { sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_04.wav", db0, 1, 100}; frequency = 1; volume = "engineOn*camPos*(LongSlipDrive Factor[-0.15, -0.3])*(Speed Factor[2, 10])"; }; class acceleration_ext_dirt { sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_02.wav", db0, 1, 100}; frequency = 1; volume = "engineOn*camPos*(LongSlipDrive Factor[0.15, 0.3])*(Speed Factor[10, 0])"; }; class turn_left_ext_dirt { sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_02.wav", db0, 1, 100}; frequency = 1; volume = "engineOn*camPos*(latSlipDrive Factor[0.15, 0.3])*(Speed Factor[0, 10])"; }; class turn_right_ext_dirt { sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_02.wav", db0, 1, 100}; frequency = 1; volume = "engineOn*camPos*(latSlipDrive Factor[-0.15, -0.3])*(Speed Factor[0, 10])"; }; class breaking_int_road { sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_04_int.wav", db0, 1}; frequency = 1; volume = "engineOn*(1-camPos)*(LongSlipDrive Factor[-0.15, -0.3])*(Speed Factor[2, 6])"; }; class acceleration_int_road { sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_02_int.wav", db0, 1}; frequency = 1; volume = "engineOn*(1-camPos)*(LongSlipDrive Factor[0.15, 0.3])*(Speed Factor[10, 0])"; }; class turn_left_int_road { sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_02_int.wav", db0, 1}; frequency = 1; volume = "engineOn*(1-camPos)*(latSlipDrive Factor[0.15, 0.3])*(Speed Factor[0, 10])"; }; class turn_right_int_road { sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_02_int.wav", db0, 1}; frequency = 1; volume = "engineOn*(1-camPos)*(latSlipDrive Factor[-0.15, -0.3])*(Speed Factor[0, 10])"; }; class breaking_int_dirt { sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_04_int.wav", db0, 1}; frequency = 1; volume = "engineOn*(1-camPos)*(LongSlipDrive Factor[-0.15, -0.3])*(Speed Factor[2, 6])"; }; class acceleration_int_dirt { sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_02_int.wav", db0, 1}; frequency = 1; volume = "engineOn*(1-camPos)*(LongSlipDrive Factor[0.15, 0.3])*(Speed Factor[10, 0])"; }; class turn_left_int_dirt { sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_02_int.wav", db0, 1}; frequency = 1; volume = "engineOn*(1-camPos)*(latSlipDrive Factor[0.15, 0.3])*(Speed Factor[0, 10])"; }; class turn_right_int_dirt { sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_02_int.wav", db0, 1}; frequency = 1; volume = "engineOn*(1-camPos)*(latSlipDrive Factor[-0.15, -0.3])*(Speed Factor[0, 10])"; }; }; class RenderTargets { class LeftMirror { renderTarget = "rendertarget0"; class CameraView1 { pointPosition = "PIP0_pos"; pointDirection = "PIP0_dir"; renderQuality = 2; renderVisionMode = 0; fov = 0.7; }; }; class IntMirror { renderTarget = "rendertarget1"; class CameraView1 { pointPosition = "PIP1_pos"; pointDirection = "PIP1_dir"; renderQuality = 2; renderVisionMode = 0; fov = 0.7; }; }; }; driverLeftHandAnimName = "drivewheel"; driverRightHandAnimName = "drivewheel"; thrustDelay = 0.1; brakeIdleSpeed = 0.78; maxSpeed = 160; // max speed on level road, km/h fuelCapacity = 45; wheelCircumference = 2.805; antiRollbarForceCoef = 0; antiRollbarForceLimit = 40; antiRollbarSpeedMin = 2; antiRollbarSpeedMax = 50; idleRpm = 900; redRpm = 3500; class complexGearbox { GearboxRatios[] = {"R1", -5.367, "N", 0, "D1", 5.367, "D2", 3.67, "D3", 2.238, "D4", 1.00, "D5", 0.8}; TransmissionRatios[] = {"High", 5.0}; gearBoxMode = "auto"; moveOffGear = 1; driveString = "D"; neutralString = "N"; reverseString = "R"; gearUpMaxCoef = 0.8; gearDownMaxCoef = 0.5; gearUpMinCoef = 0.45; gearDownMinCoef = 0.15; transmissionDelay = 1; }; simulation = "carx"; dampersBumpCoef = 3.0; differentialType = "rear_limited"; frontRearSplit = 0.5; frontBias = 1.5; rearBias = 1.5; centreBias = 1.3; clutchStrength = 200.0; enginePower = 100; maxOmega = 900; peakTorque = 900; dampingRateFullThrottle = 0.1; dampingRateZeroThrottleClutchEngaged = 0.35; dampingRateZeroThrottleClutchDisengaged = 0.35; torqueCurve[] = {{0.0, 0.0}, {0.25, 0.65}, {0.3, 0.8}, {0.5, 0.95}, {0.7, 1.0}, {0.8, 0.9}, {0.9, 0.8}, {1.0, 0.5}}; changeGearMinEffectivity[] = {0.95, 0.15, 0.95, 0.95, 0.95, 0.95, 0.95, 0.95}; switchTime = 0.05; latency = 0.2; class Wheels { class LF { boneName = "wheel_1_1_damper"; steering = 1; side = "left"; center = "wheel_1_1_axis"; boundary = "wheel_1_1_bound"; width = 0.5; mass = 30; MOI = 2.8; dampingRate = 0.5; maxBrakeTorque = 6000; maxHandBrakeTorque = 6000; suspTravelDirection[] = {0, -1, 0}; suspForceAppPointOffset = "wheel_1_1_axis"; tireForceAppPointOffset = "wheel_1_1_axis"; maxCompression = 0.3; mMaxDroop = 0.1; sprungMass = 300; springStrength = 50000; springDamperRate = 3400; longitudinalStiffnessPerUnitGravity = 10000; latStiffX = 25; latStiffY = 180; frictionVsSlipGraph[] = {{0, 1}, {0.5, 1.0}, {1, 1}}; }; class LR : LF { boneName = "wheel_1_2_damper"; steering = 0; center = "wheel_1_2_axis"; boundary = "wheel_1_2_bound"; suspForceAppPointOffset = "wheel_1_2_axis"; tireForceAppPointOffset = "wheel_1_2_axis"; maxHandBrakeTorque = 0; frictionVsSlipGraph[] = {{0, 1}, {0.5, 0.75}, {1, 0.5}}; }; class RF : LF { boneName = "wheel_2_1_damper"; center = "wheel_2_1_axis"; boundary = "wheel_2_1_bound"; suspForceAppPointOffset = "wheel_2_1_axis"; tireForceAppPointOffset = "wheel_2_1_axis"; steering = 1; side = "right"; frictionVsSlipGraph[] = {{0, 1}, {0.5, 1.0}, {1, 1}}; }; class RR : RF { boneName = "wheel_2_2_damper"; steering = 0; center = "wheel_2_2_axis"; boundary = "wheel_2_2_bound"; suspForceAppPointOffset = "wheel_2_2_axis"; tireForceAppPointOffset = "wheel_2_2_axis"; maxHandBrakeTorque = 0; frictionVsSlipGraph[] = {{0, 1}, {0.5, 0.75}, {1, 0.5}}; }; }; class Exhausts { class Exhaust1 { position = "exhaust1_pos"; direction = "exhaust1_dir"; effect = "ExhaustEffectOffroad"; }; class Exhaust2 { position = "exhaust2_pos"; direction = "exhaust2_dir"; effect = "ExhaustEffectOffroad"; }; }; class Damage { tex[] = {}; mat[] = {"A3\soft_F\Offroad\Data\offroad_ext.rvmat", "A3\soft_F\Offroad\Data\offroad_ext_damage.rvmat", "A3\soft_F\Offroad\Data\offroad_ext_destruct.rvmat", "A3\soft_F\Offroad\Data\Offroad_int_base.rvmat", "A3\soft_F\Offroad\Data\Offroad_int_base_damage.rvmat", "A3\soft_F\Offroad\Data\Offroad_int_base_destruct.rvmat", "A3\soft_F\Offroad\Data\Offroad_int_board.rvmat", "A3\soft_F\Offroad\Data\Offroad_int_board_damage.rvmat", "A3\soft_F\Offroad\Data\Offroad_int_board_destruct.rvmat", "A3\soft_F\Offroad\Data\Offroad_ext_plastic.rvmat", "A3\soft_F\Offroad\Data\Offroad_ext_damage.rvmat", "A3\soft_F\Offroad\Data\Offroad_ext_destruct.rvmat", "A3\data_f\glass_veh.rvmat", "A3\data_f\Glass_veh_damage.rvmat", "A3\data_f\Glass_veh_damage.rvmat", "A3\data_f\glass_veh_int.rvmat", "A3\data_f\Glass_veh_damage.rvmat", "A3\data_f\Glass_veh_damage.rvmat"}; }; class Reflectors { class Left { color[] = {0.75, 0.75, 0.85}; ambient[] = {0.0005, 0.0005, 0.0005}; position = "L svetlo"; direction = "konec L svetla"; hitpoint = "L svetlo"; selection = "L svetlo"; size = 1; innerAngle = 35; outerAngle = 180; coneFadeCoef = 40; intensity = 400; useFlare = 0; dayLight = 0; flareSize = 0.75; class Attenuation { start = 1; constant = 2.0; linear = 0.0; quadratic = 15.0; }; }; class Right : Left { position = "P svetlo"; direction = "konec P svetla"; hitpoint = "P svetlo"; selection = "P svetlo"; }; class Right2 : Right { position = "R_light_flare"; useFlare = 1; }; class Left2 : Left { position = "L_light_flare"; useFlare = 1; }; }; aggregateReflectors[] = {{"Left", "Right", "Left2", "Right2"}}; }; class DYN_OffRoad_Police : Offroad_Base { displayname = "Police car"; _generalMacro = "C_Offroad_01_F"; scope = public; side = TCivilian; faction = CIV_F; accuracy = 1.25; // accuracy needed to recognize type of this target class Turrets {}; class EventHandlers : EventHandlers { init = "(_this select 0) animate [""HidePolice"", 0];(_this select 0) setObjectTexture [0,""\A3\soft_F\Offroad_01\Data\Offroad01_ext_BASE02_CO.paa""];(_this select 0) setObjectTexture [1,""\A3\soft_F\Offroad_01\Data\Offroad01_ext_BASE03_CO.paa""]; (_this select 0) execVM ""dynrace\vehicles\scripts.sqf"""; }; }; };
I then added this file to the description.ext:
#include "dynrace\vehicles\cfgVehicles.cpp"
Folder structure is fine, not errors when loading. When I try to create the vehicle now all I get is:
Cannot create non-ai vehicle DYN_OffRoad_Police,
As far as I can tell everything is correct. Or do I have to create an "Addon" for this in order to make it work (which would be rather strange in my opinion). All I'm trying to achieve is make a faster version of an existing vehicle with some lights. I know the lights can be done ingame but the increased speed cannot.
-
I hate to bump but I'd really like to get an answer on this one.
Also Is there way to find out IDC's of current display? I'd like to "hide" the stance display if possible.
-
I created a button and I'd like to use this button for a couple of actions.
class BtnAction : MyButton { idc = 5000; text = "Vote"; onButtonClick = ""; x = 0.1; y = 0.1; w = 0.20; h = 0.04; };
So the idea is I have a list of action and I want to create an button for each action. The thing is that my script will be used by others so the amount of actions can vary. Is there a way (script) to create multiple buttons on a display with a different "setting" so you can distinguish them upon the buttonclick?
So I sorta want this:
_actions = [["Spawn unit","call fncSpawnUnit;"], ["Spawn vehicle","call fncSpawnVehicle"], ["",""]]; _i = 0; { (findDisplay 46) createDisplay "BtnAction"; _theCreatedButton = ???? _pos = ctrlPosition _theCreatedButton; _newPos = [_pos select 0, (_pos select 1 + (_pos select 3 + 0.02) * _i), _pos select 2, _pos select 3]; _theCreatedButton ctrlSetPosition _newPos; ctrlSetText [_theCreatedButton, _x select 0]; _theCreatedButton ctrlAddEventHandler ["onButtonClick",_x select 1]; _i = _i +1; } foreach _actions;
There's probably more then one thing wrong with this code but if anyone could help me in the right direction I would really appreciate that. I used this tutorial for reference but it's really outdated (at least that's the general idea I get out of it).
Also another question, what is the IDC of the MAP? I'd like to create the display on top of the map (you get the idea). This way I don't have to open/close the display each time the map is opened/closed (at least that is how I think it works).
-
-
To check if all of them are inside the trigger area (in a vehicle or not)
_spotFriendlies setTriggerStatements ["{vehicle _x in thisList}foreach EOS_Players","",""];
And to check if one of them is in it:
_spotFriendlies setTriggerStatements ["{vehicle _x in thisList} count EOS_Players > 0","",""];
-
If it's actually UNITS entering the statement you had should work:
_spotFriendlies setTriggerStatements ["{_x in thisList}foreach EOS_Players","",""];
If the units are actually inside a vehicle it won't because thisList will contain a (or more) vehicles. Also the var player is only set localy if a isDedicated = false.
So if you also want the trigger to check for units inside vehicles you would also have to check the cargo of each thisList item.
I can fix the script, i'm not sure tho wheter it should fire if every unit is inside the trigger area or if one of them (or more) is inside it.
-
So I was going to use the function onMapSingleClick in one of my missions.
I was wondering tho (and tried to search but couldn't find anything on it). It basically works the same as onEachFrame, but that was replaced (or well superseeded) by addMissionEventHandler ["Draw3D",~.
The reason for this was that this way if script makers create a script using it it wouldn't be overwritten by a custom mission using it.
Does anyone know of there's a similar thing for onMapSingleClick? And does anyone know any other addMissionEventHandler bindings, the wiki has some rather bad documentation about it.
-
Thx for the help! I'll go and try my luck again this evening.
-
I am at a los. I can't seem to figure out how the positioning of this function works.
I want a piece of text at the spot where hints are. I previously used hints to output a timer but since they gave it a sound that's not really an option anymore.
What I have (but is not working).
_text = "<t align='right' size='1'>Test</t>"; [_text, safezoneX + 0.1 * safezoneW, safezoneY + safezoneW - 0.3, 1, 0] spawn BIS_fnc_dynamicText;
Also can anyone enlighten me about the 6th parameter:
_this select 6: (Optional) Resource layer
Can I just use a random number there so another spawn of BIS_fnc_dynamicText won't destroy the first handle?
-
So I was wondering. If I use this:
VehicleGroup = VehicleGroup + _AVehicle; publicVariable "VehicleGroup ";
Does this send the whole vehicle array over the network or just something like the netId? And if I use that array on a client will it actually enumerate the vehicles or like a copy of them.
For example:
//Server VehicleGroup = VehicleGroup + _AVehicle; publicVariable "VehicleGroup "; //Client { if(_x == MYVEHICLE) then //MYVEHICLE is just a symbolic meaning { _x setPos [0,0,0]; } } foreach VehicleGroup ;
Will the actual vehicle pos be set on the client (if that's where the vehicle is local ofcourse), or not because it's a publicVariabled var.
To get an idea why I ask the question:
Will above work or should I go with an implementation like this:
VehicleGroup = VehicleGroup + (netId _AVehicle); publicVariable "VehicleGroup ";
And then do a local lookup based on the netId on the clients (which then has some overhead because of the lookup).
Second question:
What if I use setVariable like this:
player setVariable ["currentVehicle", _vehicle];
Is that actually efficient? And if I use getVariable do I actually have the vehicle or like a copy of it?
-
it would be this in the vehicle init:
[this, "marker_name", 1] execVM "marker_units.sqf";
-
You would have to create an list of admins which can lock and unlock vehicles.
a simple google searched reveilid this:
http://forums.bistudio.com/showthread.php?115307-Lock-and-unlock-multiple-things
-
you don't need the then behind the do.
Your waiuntil does the same as my function with the difference that your's checks if the player is IN a vehicle where mine checks if it's in the specified vehicle.
And waituntil is a bigger performance hit (atleast that's whay I read somewhere I believe) that's why I check each second.
-
In your situation I would use a case:
_testsp == floor(random 5); switch (_testsp) do { case 0: { box setPos [ getPos Destroyer select 0, getPos Destroyer select 1, (getPos Destroyer select 2) -29]; box setDir 0; }; case 1: { box setPos [ getPos Osprey select 0, getPos Osprey select 1, (getPos Osprey select 2) -7.5]; box setDir 45; }; //etc };
Also random creates a number witch can also be 0.1, or 2.34343 so you should use floor as I did.
floor(random 5) = 0,1,2,3,4
-
hmm.
You could try the killed eventhandler.
Delete the unitgearHandle part.
In the mission init.sqf:
player execVM "removegear.sqf"; player addEventHandler ["KILLED", { [] spawn { // Wait for respawn. waitUntil { alive player }; // Wait until the unit has its equipment reset after the respawn. waitUntil { (count (weapons player)) > 0 }; player execVM "removegear.sqf"; }; }];
-
Unfortunatly you cannot remove those predefined action. If you want a player to remain inside a vehicle for a period of time you could script it.
playerMustStayInVehicle = true; while { playerMustStayInVehicle } do { if(vehicle player != thevehicle) { player moveInDriver thevehicle; }; sleep 1; };
And you can set to false when the check should stop.
-
make a new file and call it removegear.sqf
removegear.sqf
removeAllWeapons _this; removeAllAssignedItems _this; removeAllContainers _this; _this addUniform "U_B_HeliPilotCoveralls"; _this addWeapon "ItemMap"; _this addWeapon "ItemCompass"; _this addWeapon "ItemRadio"; _this addWeapon "ItemWatch"; _this addWeapon "ItemGPS"; _this addItem "FirstAidKit"; _this addItem "FirstAidKit"; _this addHeadgear "H_CrewHelmetHeli_B"; _this addVest "V_TacVest_oli"; _this addMagazine ["16Rnd_9x21_Mag", 16]; _this addMagazine ["16Rnd_9x21_Mag", 16]; _this addMagazine ["16Rnd_9x21_Mag", 16]; _this addMagazine ["16Rnd_9x21_Mag", 16]; _this addMagazine ["16Rnd_9x21_Mag", 16]; _this addWeapon "hgun_P07_snds_F";
and annother script called unitgearHandle.sqf
unitgearHandle.sqf
_player = _this; waitUntil { (alive player) }; _player execVM "removegear.sqf"; while { true } do { //Waits till player dies waitUntil { !(alive player) }; //Player died, wait till he's back alive waitUntil { (alive player) }; _player execVM "removegear.sqf"; };
Then in the missions init.sqf (this makes sure everyone joining will have this script executed). Now you don't need anything anymore in the unit's init field.
player execVM "unitgearHandle.sqf";
-
You can either save the loadout at intervals so you respawn with the same gear you had when you died:
Or you use a script like this:
while { true } do { //Waits till player dies waitUntil { !(alive player) }; //Player died, wait till he's back alive waitUntil { (alive player) }; //Insert your gear script here: };
-
Not sure if you could use attachTo but you could do this
vehicle init:
while {alive this} do { "mymarker" setMarkerPos getPos this; "mymarker" setMarkerDir getDir this; sleep 1; //Decrease if you want it to be more smooth };
Alerting the offroad, cannot get it to work
in ARMA 3 - ADDONS - CONFIGS & SCRIPTING
Posted