Jump to content

davidoss

Member
  • Content Count

    1834
  • Joined

  • Last visited

  • Medals

Community Reputation

550 Excellent

About davidoss

  • Rank
    Sergeant Major

Profile Information

  • Gender
    Not Telling

Recent Profile Visitors

3950 profile views
  1. https://community.bistudio.com/wiki/allDead https://community.bistudio.com/wiki/allDeadMen
  2. UPDATED due to new BIS commands
  3. Adds scary screams while falling down. usage: place scripts directory in your mission root directory add lines in: init.sqf if (hasInterface) then { 0 = [] spawn compile preprocessFileLineNumbers "scripts\lib_fallingscream\fallingscream.sqf"; }; description.ext class CfgSFX { class fall_scream { sound0[] = {"scripts\lib_fallingscream\sounds\scream_0.ogg", db-0, 1.0, 100, 0.2, 99, 99, 99}; sound1[] = {"scripts\lib_fallingscream\sounds\scream_1.ogg", db-0, 1.0, 100, 0.2, 99, 99, 99}; sound2[] = {"scripts\lib_fallingscream\sounds\scream_2.ogg", db-0, 1.0, 100, 0.2, 99, 99, 99}; sounds[] = {sound0,sound1,sound2}; empty[] = {"", 0, 0, 0, 0, 0, 0, 0}; }; }; class CfgVehicles { class player_fall_scream { sound = "fall_scream"; }; }; script overwiev: fallingscream.sqf /* by DaVidoSS falling screeams usage: place scripts directory in your mission root directory add lines in: init.sqf if (hasInterface) then { 0 = [] spawn compile preprocessFileLineNumbers "scripts\lib_fallingscream\fallingscream.sqf"; }; description.ext class CfgSFX { class fall_scream { sound0[] = {"scripts\lib_fallingscream\sounds\scream_0.ogg", db-0, 1.0, 100, 0.2, 99, 99, 99}; sound1[] = {"scripts\lib_fallingscream\sounds\scream_1.ogg", db-0, 1.0, 100, 0.2, 99, 99, 99}; sound2[] = {"scripts\lib_fallingscream\sounds\scream_2.ogg", db-0, 1.0, 100, 0.2, 99, 99, 99}; sounds[] = {sound0,sound1,sound2}; empty[] = {"", 0, 0, 0, 0, 0, 0, 0}; }; }; class CfgVehicles { class player_fall_scream { sound = "fall_scream"; }; }; */ if !(hasInterface) exitWith {}; waitUntil {!isNull player}; waitUntil {player == player}; player setVariable ["hasFallen",false]; player addEventHandler ["AnimChanged", { params [["_unit",objNull,[objNull]], ["_anim","",[""]]]; private _fallanims = [ toLower "AfalPercMstpSrasWpstDnon", toLower "AfalPercMstpSrasWrflDnon", toLower "AfalPercMstpSrasWlnrDnon", toLower "AfalPercMstpSnonWnonDnon", toLower "AfalPknlMstpSrasWpstDnon", toLower "AfalPknlMstpSrasWrflDnon", toLower "AfalPknlMstpSrasWlnrDnon", toLower "AfalPknlMstpSnonWnonDnon", toLower "AfalPpneMstpSrasWpstDnon", toLower "AfalPpneMstpSrasWrflDnon", toLower "AfalPpneMstpSnonWnonDnon" ]; if !(toLower _anim in _fallanims) exitWith {}; if (_unit getVariable "hasFallen") exitWith {}; private _hight = ((getPosATl _unit) # 2); if (_hight > 6) then { 0 = [_unit,_hight] spawn { params [["_unit",objNull,[objNull]], ["_hight",0,[0]],["_scream",objNull,[objNull]]]; sleep .3; private _hight2 = ((getPosATl _unit) # 2); if (_hight > _hight2) then { _scream = createSoundSource ["player_fall_scream", _unit, [], 0]; _scream attachTo [_unit, [0,0,-0.1], "head"]; _unit setVariable ["hasFallen",true]; waitUntil {sleep .05; !alive _unit || isTouchingGround _unit}; if (alive _unit) then {_unit setVariable ["hasFallen",false]}; sleep 1; if (!isNull _scream) then {deleteVehicle _scream}; _scream = objNull; }; }; }; }]; fall screams
  4. Trenches , digg cover for your self if you not able to find any.. usage: place scripts dirctory in your mission root directory add lines in: init.sqf if (hasInterface) then { 0 = [] spawn compile preprocessFileLineNumbers "scripts\lib_trenches\trenches.sqf"; player addEventHandler ["Respawn", { 0 = [] spawn compile preprocessFileLineNumbers "scripts\lib_trenches\trenches.sqf"; }]; }; description.ext class CfgSFX { class digging_sound { sound0[] = {"scripts\lib_trenches\sounds\ShovelDigging.ogg", db-0, 1.0, 100, 0.2, 99, 99, 99}; sounds[] = {sound0}; empty[] = {"", 0, 0, 0, 0, 0, 0, 0}; }; }; class CfgVehicles { class player_digging_sound { sound = "digging_sound"; }; }; script overwiev: trenches.sqf /* by DaVidoSS Digging trenches for cover usage: place scripts directory in your mission root directory add lines in: init.sqf if (hasInterface) then { 0 = [] spawn compile preprocessFileLineNumbers "scripts\lib_trenches\trenches.sqf"; player addEventHandler ["Respawn", { 0 = [] spawn compile preprocessFileLineNumbers "scripts\lib_trenches\trenches.sqf"; }]; }; description.ext class CfgSFX { class digging_sound { sound0[] = {"scripts\lib_trenches\sounds\ShovelDigging.ogg", db-0, 1.0, 100, 0.2, 99, 99, 99}; sounds[] = {sound0}; empty[] = {"", 0, 0, 0, 0, 0, 0, 0}; }; }; class CfgVehicles { class player_digging_sound { sound = "digging_sound"; }; }; */ if !(hasInterface) exitWith {}; waitUntil {!isNull player}; waitUntil {player == player}; player addAction [ "<t>Dig Trench </t><img size='1' image='\a3\ui_f\data\IGUI\Cfg\Actions\Obsolete\ui_action_turnin_ca'/>", { params [["_target",objNull,[objNull]],["_unit",objNull,[objNull]]]; (AGLToASL (_unit modelToWorldVisual [0,1.5,0])) params ["_vx","_vy","_vz"]; if !(isNull (objectParent _unit)) exitWith {0 = [[format ["<t size='.8'> %1</t>","Really? While driving?"],1,1,5]] spawn BIS_fnc_EXP_camp_SITREP}; if (surfaceIsWater (position _unit)) exitWith {0 = [[format ["<t size='.8'> %1</t>","Oh come on, you cant be that stupid!"],1,1,5]] spawn BIS_fnc_EXP_camp_SITREP}; if !(count (lineIntersectsObjs [(AGLToASL (_unit modelToWorldVisual [0,1.5,0])), [_vx,_vy,(_vz + 20)]]) == 0) exitWith {0 = [[format ["<t size='.8'> %1</t>","Open your eyes, no suitable space here!"],1,1,5]] spawn BIS_fnc_EXP_camp_SITREP}; if (!(isTouchingGround _unit ) || {((getPosATL _unit) select 2) > 0.2}) exitWith {0 = [[format ["<t size='.8'> %1</t>","Ok, but hit the ground first!"],1,1,5]] spawn BIS_fnc_EXP_camp_SITREP}; if (isOnRoad (ASLToAGL (getPosASL _unit))) exitWith {0 = [[format ["<t size='.8'> %1</t>","Sorry, solid ground here!"],1,1,5]] spawn BIS_fnc_EXP_camp_SITREP}; _unit setVariable ["digging",true,false]; _unit playMove "AinvPknlMstpSnonWnonDnon_medic_1"; //playSound3D [getMissionPath "scripts\lib_trenches\sounds\ShovelDigging.ogg", _unit, false, getPosASL _unit, 3, 1, 25];// in MP others cant hear the shovel - switched to soundsource private _diggsnd = createSoundSource ["player_digging_sound", _unit, [], 0]; waituntil { animationState _unit == "ainvpknlmstpsnonwnondnon_medic_1"}; sleep 4; private _trench = createVehicle ["Land_ShellCrater_02_small_F",_target modelToWorld [0,2,0], [], 0, "CAN_COLLIDE"]; deleteVehicle _diggsnd; _trench setDir (getDir _target - 90); private _radGrad = ([getPos _trench, getDir _target] call BIS_fnc_terrainGradAngle)/30; _trench setVectorUp (surfacenormal (getPosATL _trench)); private _posASL = getPosASL _trench; _trench setPosASL [_posASL select 0,_posASL select 1, ((_posASL select 2) + _radGrad)]; _unit setVariable ["digging",nil,false]; _unit setVariable ["mytrench",_trench,false]; 0 = [_trench, [ "<t>Remove Trench </t><img size='1' image='\a3\ui_f\data\IGUI\Cfg\Actions\Obsolete\ui_action_turnout_ca'/>", { params [["_target",objNull,[objNull]],["_unit",objNull,[objNull]]]; _unit setVariable ["digging",true,false]; _unit playMove "AinvPknlMstpSnonWnonDnon_medic_1"; //playSound3D ["A3\sounds_f\characters\human-sfx\01_medikit1.wss", _unit, false, getPosASL _unit, 3, 1, 25]; // in MP others cant hear the shovel - switched to soundsource private _diggsnd = createSoundSource ["player_digging_sound", _unit, [], 0]; waituntil { animationState _unit == "ainvpknlmstpsnonwnondnon_medic_1"}; sleep 4; deleteVehicle _target; deleteVehicle _diggsnd; _unit setVariable ["digging",nil,false]; },nil,0,true,true,"","(isNil {_this getVariable 'digging'})",3,false,"","" ] ] remoteExec ["addAction", [0,-2] select isDedicated,_trench]; },nil,0,false,true,"", "isNull (_this getVariable ['mytrench',objNull]) && {isNil {_this getVariable 'digging'}} && {((animationState _this) in [ 'amovpknlmstpsraswpstdnon', 'amovpknlmstpslowwpstdnon', 'amovppnemstpsraswpstdnon', 'amovpknlmstpsraswrfldnon', 'amovpknlmstpslowwrfldnon', 'amovppnemstpsraswrfldnon', 'amovpknlmstpsraswlnrdnon', 'amovpknlmstpsnonwnondnon', 'amovppnemstpsnonwnondnon' ])}", -1, false, "", ""]; 0 = [[format ["<t size='.8'> %1</t>","TRENCH Started"],1,1,5]] spawn BIS_fnc_EXP_camp_SITREP; Trenches
  5. _entityName = "Alexander"; this setName _entityName; this addAction ["Interact", "script.sqf", _entityName, 1.5,true,true,"","player distance this < 2"]; params [["_target",objNull,[objNull]], ["_caller",objNull,[objNull]], ["_actionId",-1,[0]], ["_arguments","",[""]]]; DialogOwner = _arguments; DialogOption = 1; _handle = createdialog "Interakce";
  6. davidoss

    GF Auto Loot Script - Mod

    I have no problem with. I posted it for GF as example of another point of view and performance. I could make my own release but the code has no development state of any kind because i have no time to support it
  7. https://community.bistudio.com/wiki/Dialog_Control If you have never done any i assume you have no idea how much work is to create it and script out such things.
  8. davidoss

    Vehicle detection via trigger

    Activation: none Activation type: Present ({_x inArea thisTrigger} count (vehicles select {_x isKindOf "LandVehicle"})) > 0 or Activation: Anyone Activation type: Present this && {({_x isKindOf "LandVehicle"} count thisList) > 0}
  9. Condition: this && {player in thisList} && {player getVariable ["ACE_isUnconscious",false]};
  10. davidoss

    VCom AI: Script Version

    description.ext class CfgFunctions { #include "vcom\cfgFunctions.hpp" }; class Extended_PreInit_EventHandlers { VCM_CBASettings = call compile preprocessFileLineNumbers "Vcom\Functions\VCM_CBASettings.sqf"; }; class CfgRemoteExec { // List of script functions allowed to be sent from client via remoteExec class Functions { mode = 2; jip = 1; class vcm_serverask { allowedTargets = 0;jip = 1; }; class VCM_PublicScript { allowedTargets = 0;jip = 1; }; class BIS_fnc_debugConsoleExec { allowedTargets = 0;jip = 1; }; class SpawnScript { allowedTargets = 0;jip = 1; }; class enableSimulationGlobal { allowedTargets = 0;jip = 1; }; class VCM_fnc_KnowAbout { allowedTargets = 0;jip = 1; }; }; }; init.sqf //Exec Vcom AI function [] execVM "Vcom\VcomInit.sqf"; //End of Vcom commands
  11. Yes me too but unfortunately the world isn't like we wish. Anyway just simple side _team gives you group side of the player everywhere, which makes me confused about your
  12. Really i do not understand what your problem are. Maybe this can help: _sideJoined = sideUnknown; _leader = leader _team; switch (getNumber (configFile >> "CfgVehicles" >> typeOf _leader >> "side")) do { case 0: {_sideJoined = east}; case 1: {_sideJoined = west}; case 2: {_sideJoined = independent}; case 3: {_sideJoined = civilian}; default {}; };
  13. Ah you want side no JIP. Does simple check side group are not enough? You can also check for config entry "side" to get proper unit side occupied by player
  14. use playerConnectedMEH https://community.bistudio.com/wiki/Arma_3:_Event_Handlers/addMissionEventHandler#PlayerConnected
  15. I do not knew any solution for this but if you look closer you will find that there are more stuff being missed in MP. and i found other problems with which has push me to create my own trade system
×