Jump to content

gokitty1199

Member
  • Content Count

    311
  • Joined

  • Last visited

  • Medals

Everything posted by gokitty1199

  1. gokitty1199

    Movable control

    an example of drawLine3D, that command should do exactly what you want onEachFrame { { _distance = round (_x distance player); if (_distance < 801 && _x != player) then { _color = [0,0,0,1]; _side = side _x; switch (_side) do { case WEST: {_color = [0,0,1,1]}; case EAST: {_color = [1,0,0,1]}; case INDEPENDENT: {_color = [0,1,0,1]}; case CIVILIAN: {_color = [0.4,0,1,1]}; }; _distance = round (_x distance player); _posID = _x modelToWorldVisual [0,0,0]; _posBase = eyePos _x; _posTL1 = [(_posBase select 0) - 0.35, _posBase select 1, (_posBase select 2) - 4.9]; _posBL1 = [(_posBase select 0) - 0.35, _posBase select 1, (_posBase select 2) - 6.5]; _posTR1 = [(_posBase select 0) + 0.35, _posBase select 1, (_posBase select 2) - 4.9]; _posBR1 = [(_posBase select 0) + 0.35, _posBase select 1, (_posBase select 2) - 6.5]; _posTL2 = [_posBase select 0, (_posBase select 1) - 0.35, (_posBase select 2) - 4.9]; _posBL2 = [_posBase select 0, (_posBase select 1) - 0.35, (_posBase select 2) - 6.5]; _posTR2 = [_posBase select 0, (_posBase select 1) + 0.35, (_posBase select 2) - 4.9]; _posBR2 = [_posBase select 0, (_posBase select 1) + 0.35, (_posBase select 2) - 6.5]; if (_distance < 101) then { drawIcon3D ["", _color, _posID, 0, 00, 45, format ["%1: %2m", name _x, _distance], 0, 0.023]; } else {drawIcon3D ["", _color, _posID, 0, 00, 45, format ["*%1m",_distance], 0, 0.023]}; drawLine3D [_posTL1, _posTR1, _color]; drawLine3D [_posTL1, _posBL1, _color]; drawLine3D [_posTR1, _posBR1, _color]; drawLine3D [_posBL1, _posBR1, _color]; drawLine3D [_posTL2, _posTR2, _color]; drawLine3D [_posTL2, _posBL2, _color]; drawLine3D [_posTR2, _posBR2, _color]; drawLine3D [_posBL2, _posBR2, _color]; }; } forEach allUnits; };
  2. bump i edited the first post with another question for whatever reason once i change the path of the sound for the 408 rifle it turns it into a normal fast shooting semi auto similar to the MX for example and the bolt moves very fast as well once you fire for the animation and i cannot figure out what is causing this, i want the rifle to act normal. heres the config class arifle_BUF_LRR_Airsoft : srifle_LRR_F { magazines[] = {"BUF_LRR_Airsoft_mag"}; displayName = "BUF_Airsoft_Bolt_LRR"; class Single: Mode_SemiAuto {//when i remove this class it functions just like normal sounds[] = {Semi}; class Semi { begin1[] = {"sub\boltShot", db0, 1,500}; soundBegin[] = {"begin1",1}; }; }; };
  3. for whatever reason once i change the path of the sound for the 408 rifle it turns it into a normal fast shooting semi auto similar to the MX for example and the bolt moves very fast as well once you fire for the animation and i cannot figure out what is causing this, i want the rifle to act normal. heres the config class arifle_BUF_LRR_Airsoft : srifle_LRR_F { magazines[] = {"BUF_LRR_Airsoft_mag"}; displayName = "BUF_Airsoft_Bolt_LRR"; class Single: Mode_SemiAuto {//when i remove this class it functions just like normal sounds[] = {Semi}; class Semi { begin1[] = {"sub\boltShot", db0, 1,500}; soundBegin[] = {"begin1",1}; }; }; }; also is there a way to change the burn time of a tracer so it doesnt burn out so quickly? first question was below but instead of creating a new topic im just replacing this one, ignore the below. im struggling with the config to get a sound i recorded to play when the rifle shoots, its silent with no sound at all playing currently. this is my most recent config and heres a screenshot of the folder setup. I have been trying for a hour or so just on sound with no luck. the pew file is a .wss using the converter in the arma 3 tools https://gyazo.com/d755a16ce9759bda7d3f728562de0c4a https://gyazo.com/7214a43d3e4cbb267fb1f7a0f4a504c5 https://gyazo.com/08fa685b23b9d6c6bdba22dd35898749 class cfgWeapons { class Rifle_Base_F; class arifle_MX_Black_F; class arifle_MX_Airsoft : arifle_MX_Black_F { magazines[] = {"30Rnd_65x39_airsoft_mag"}; sound[] = {"\ca\Weapons\Data\Sound\AGS30_shot1", 10, 1}; displayName = "Airsoft MX"; baseWeapon = "weapon class name"; initSpeed = -1; class Single: Mode_SemiAuto { soundBegin[] = {"begin1",1}; begin1[] = {"AirsoftTest\sub\pew",10,1,500}; }; }; };
  4. thanks for the guide in the right direction, got it working now from referencing this wiki page https://community.bistudio.com/wiki/Arma_3_Weapon_Config_Guidelines#Muzzle_accessories current config result(recorded this sound as a test but its quite entertaining)
  5. such as this .cpp. not mine but was using to see if it would work without being loaded as an addon, is there a way i can incorporate this to work without making it an addon for missions? i tried loading it from the description.ext without luck and i would like to make a few custom setups with ammo to alter their speed and hit impact without making an addon for that. class CfgPatches { class subz { units[] = {}; weapons[] = {}; requiredVersion = 1.00; requiredAddons[] = {"A3_Weapons_F"}; author = "Berlioz"; fileName = "subz.pbo"; }; }; class cfgAmmo { class B_65x39_Caseless; class B_65x39_Sub : B_65x39_Caseless { typicalSpeed = 300; visibleFireTime = 0; //this is extremely cheaty "subsonic" ammo that is totally silent. visibleFire = 0; hit = 12; caliber = 1; audibleFire = 0; }; }; class cfgMagazines { class 30Rnd_65x39_caseless_mag; class 30Rnd_65x39_subsonic_mag : 30Rnd_65x39_caseless_mag { displayName = "30Rnd 6.5x39mm SS"; descriptionShort = "Subsonic"; ammo = "B_65x39_Sub"; mass = 6; initSpeed = 290; count = 30; }; }; class cfgWeapons { class Rifle_Base_F; class arifle_MX_Black_F; class arifle_MX_Stealth : arifle_MX_Black_F { magazines[] = {"30Rnd_65x39_subsonic_mag"}; displayName = "Stealthy MX"; baseWeapon = "weapon class name"; initSpeed = -1; }; };
  6. gokitty1199

    nearObjects for weapons

    sorry excuse my c++ habits good sir
  7. gokitty1199

    nearObjects for weapons

    hes right. use 100000
  8. gokitty1199

    nearObjects for weapons

    should get you in the ballpark, gets all the weapons around the player and stores their actual names in _wepList. do not use this often and please keep it under 99999 as it is very resource intensive. if you want to change the type that it searches for then just remove it from the if statement such as "MissleLauncher _wepList = []; _wepScan = nearestObjects [player, [ "GroundWeaponHolder", "GroundWeaponHolder_Scripted", "Library_WeaponHolder", "WeaponHolder", "WeaponHolder_Single_F", "WeaponHolder_Single_limited_item_F", "WeaponHolder_Single_limited_magazine_F", "WeaponHolder_Single_limited_weapon_F", "WeaponHolderSimulated", "WeaponHolderSimulated_Scripted"], 99999]; { _tmp = weaponsItemsCargo _x; _class = ((_tmp select 0) select 0); _obj = (_class call BIS_fnc_itemType) select 1; if (_obj isEqualTo "AssaultRifle" || _obj isEqualTo "SniperRifle" || _obj isEqualTo "HandGun" || _obj isEqualTo "MachineGun"|| _obj isEqualTo "MissleLauncher") then { _name = getText (configFile >> "cfgWeapons" >> _class >> "displayname"); _wepList pushBack _name; }; } forEach _wepScan;
  9. this may be of help, it what i made to show markers of group members when the player opens the map. _color = ([side player, true] call BIS_fnc_sideColor); _name = name player; _group = units group player; _marks = [];//create a multidimensional array storing the players name and a reference to the player/unit { _data = []; _name = name _x;//get the name of the player _mark = createMarkerLocal [_name, position _x];//create a marker on the map for that player _name setMarkerShapeLocal "ICON"; _name setMarkerTypeLocal "mil_dot"; _name setMarkerTextLocal _name;//set the marker text to the units name _name setMarkerPosLocal position _x;//and position it to the player that it is on _name setMarkerColorLocal _color; _data pushback _name; _data pushback _x; _marks pushback _data;//pushes the name and the reference to the player/unit to the array marks } forEach _group; while {!isNull (findDisplay 12)} do {//runs a loop while the map is open, then reads the marker(_markName is actually the marker(bad naming on my part) gets a reference to the player/unit - {//in _markPlayer and sets the markers position to that player. it does this for each unit _markName = _x select 0; _markPlayer = _x select 1; _markName setMarkerPosLocal position _markPlayer; } forEach _marks; sleep 0.1; }; inside the loop you could simply have your check such as if player is this then createMarker and set the markers shape/color and such.
  10. gokitty1199

    Function MP Compatible?

    use remoteExec, not bis_fnc_mp. the playVideo command is local so it needs to be remoteExec for others to see if
  11. this should make it so if one of the units health is below 50, he is removed from the group and runs towards a waypoint called retreatMarker { if (_x getDammage < 0.5) then { _x joinSilent grpNull; _wp = (group _x) addWaypoint [getMarkerPos "retreatMarker", 0]; _wp setWaypointType "MOVE"; }; } forEach (group player);
  12. create a global variable and assign it to 0, run this when the player loads into the mission such as in the initPlayerLocal area. then check if the player has a database, if he does then assign the value to the flight time variable, somewhat like this for example timeSpentInHeli = 0; //do your check and call either depending on if the player has a DB if (_hasDB) then { loadClientData = clientOwner; publicVariableServer "loadClientData"; } else { createClientData = clientOwner; publicVariableServer "createClientData"; }; //on the server just read from the database and use publicVariableClient with the id that is passed to the servers public event handler //on the client just have the public event handler to assign the variables as needed "assignVariables" addPublicVariableEventHandler { (_this select 1) params ["_fTime", "_otherCrap"]; timeSpentInHeli = _fTime; }; then to increment the flight time, since you already have a way to trigger if the player is in the heli, just run a simple loop on a delay of a second, make a control variable that will cause the loop to end when the client exits the heli and turns back to true when he enters the heli. sorry im short on time and cant help much atm until later tonight inHeliFnc = { while {isInHeli} do { timeSpentInHeli = timeSpentInHeli + 1; sleep 1; }; };
  13. are you trying to get those markers to appear on the map? can you share the script and explain how you want it to work.
  14. i have not read the replies after this post, but a simple way to explain it is like this. SP, you are the server, any script that runs PERIOD runs on your machine, you know everything. MP(hosted through arma 3) you are the server, any script that runs PERIOD runs on your machine, you know everything again, so one thing may work differently for you than it does for example your friend who joined the server. DEDICATED, its the same as if you join a random wasteland server, you are just another client because the server running the mission handles its own data separately from you and deals with critical information that you dont want clients to deal with generally. in this case the server is what you would think of, just a server and your just a client playing on it unlike MP.
  15. you probably need to modify the script that we cant see
  16. gokitty1199

    Take damage - Lose Vest

    i noticed with the hitpart EH, in the area that is covered by most of the vests it just triggers the spine, couldnt get body hits
  17. gokitty1199

    Take damage - Lose Vest

    fixed. used the hitPart event handler to see what the part of the body was actually called and the chest area is spine1/spine3(couldnt find spine2 if it exists) but its tested and working player addEventHandler ["HitPart", { (_this select 0) params ["_unit", "_shooter", "_bullet", "_pos", "_vel", "_hitLoc"]; if ((vest _unit) != "") then { { if (_x == "spine1" || _x == "spine2" || _x == "spine3" && 20 > random 100) then { removeVest _unit; }; } forEach _hitLoc; }; }];
  18. gokitty1199

    Take damage - Lose Vest

    ah. yea you can but you would need to modify the script to work along side it because as of right now it works with any vest. change if (_x == "HitChest" && 20 > random 100) to if (_x == "HitChest") and see if it works, remember its a random chance that it will remove the vest
  19. gokitty1199

    Take damage - Lose Vest

    do you mean like get all the vests that are in the game? what are you trying to do with the array
  20. gokitty1199

    Respawn Ticket System?

    well id suggest using cfgFunctions and sorting the event handler, but making it simple just put it in a separate .sqf file and use execVM to run it. put the execVM in initPlayerLocal
  21. something seems off with your trigger, like its not working like its suppose to period. try just selecting server only in the trigger to run it on the server
  22. for the end mission use BIS_fnc_endMissionServer like haz said and dont remoteExec it.
×