Jump to content

theend3r

Member
  • Content Count

    411
  • Joined

  • Last visited

  • Medals

Everything posted by theend3r

  1. I know how to execute basic animations (i.e. car doors) but I simply can't find the animation names for the new planes. I've tried animationNames, which provided the following animation source list: out of which "canopy_open" seems hopeful but does nothing with any of the following commands: animateDoor , animate or animateSource. Anyone have any ideas? Having an airport/carrier full of planes with open canopies doesn't look very immersive.
  2. I'm creating a simple ORBAT for my mision and everything works well except the game requires full path for some textures, which won't work for obvious reasons. Example from wiki (https://community.bistudio.com/wiki/ORBAT_Viewer): insignia = "\ca\missions_f\data\orbat\7thInfantry_ca.paa"; Works as expected with full path: insignia = "C:\Users\...\Mission%Name.Altis\GhostSkullL.paa"; Doesn't work: insignia = "GhostSkullL.paa"; //doesn't work but texture = "GhostSkullS.paa"; //works and doesn't require full path Full class: class Recon //the whole class stucture, insignia works, texture doesn't (2nd pic) { id = 4; idType = 0; side = "West"; size = "Squad"; type = "Recon"; commander = "Ghost"; commanderRank = "Lieutenant"; insignia = "GhostSkullL.paa"; texture = "GhostSkullS.paa"; text = "Ghost Unit"; textShort = "Ghost"; description = "'The Ghosts' are an elite recon operatives specialized in solo insertions deep behind enemy lines."; }; error: No path: Full path: How come the insignia (2048x2048) works but the texture (128x128) doesn't? I may get it to work with partial path in the Arma 3 folder when the mission is exported (although I do not know what path to set), but is there no way to shortcut Arma into the missions folder (e.g. like you can %appdata% in Windows)?
  3. theend3r

    Using agent as heli pilot

    Of course it does. It's not supposed to be SAFE but CARELESS. No need to disable any AI either. The gunner will still shoot unless you remove his ammo but the heli will not change its route.
  4. theend3r

    breaking a loop from outside

    The solution above works but if you really absolutely need it, you can do this with your original code: _type = param [0,"none"]; _roundTime = 60; if ((isNil {roundInProgres}) or (_type == "end")) then { roundInProgres = false; } if ((_type == "start") and (!roundInProgres)) then { roundInProgres = true; while (_roundTime >= 0) do { if ((_roundTime == 0) or (!roundInProgres)) exitWith { diag_log "round finished"; roundInProgres = false; }; sleep 1; _roundTime = _roundTime-1; }; }; Untested, just an idea.
  5. Again, just to make sure, does the car have damage disabled as well or is there a trigger for game over if it gets blown up or the driver dies? What I usually do is to make it Captive until player(s) gets close and then give player(s) (i.e. spawn another one somewhere and drive it / give another heli call in the case of helis) another chance. If the second one gets blow up as well then then either tell the player(s) to get out themselves or fail the mission. Making stuff immortal (the Bethesda way) is extremely boring. Forgetting to account for the possibility is even worse as you can find out, after an hour long mission, that you won but won't get to see the ending screen.
  6. Are they immortal or can you just shoot them yourself to complete the task? Asking out of curiosity.
  7. If you are talking about a var name of an object then you can do that with setVehicleVarName, otherwise, as Dedmen said, your question doesn't make much sense.
  8. theend3r

    Medals and skills

    Not that I know of. What you can do is display the information in player diary (createDiaryRecord) with a picture of the medal/feat, description of some bonus and use commands like e.g.: unit setUnitTrait ["camouflageCoef", 0.7]; unit setUnitTrait ["audibleCoef", 0.7]; unit setUnitTrait ["loadCoef",0.7]; unit setUnitTrait ["Engineer",true]; unit setUnitTrait ["medic",true]; unit setCustomAimCoef 0.5; unit setUnitRecoilCoefficient 0.6; // ...etc. to give the player some traits this way.
  9. No idea, sorry. I can't even check it now since I'm on my work laptop. Also it seems like the subtitle is not really needed. Also no need to have 2 identical endings.
  10. Unfortunately I don't think you can play the music simply by editing the class. Playing a music with playMusic after "plane1 addEventHandler ["Killed", {"PlaneDestroyed" call BIS_fnc_endMission;}];" might work, at least I know I got it to work somehow in one of my missions but I'm not sure where I have it in the pile of them. Text getting cut off... didn't happen to me. Do you use some very large text for that? Failure screens shouldn't really need that unless you're making a campaign where you can fail something and continue on. It's better to make a radio call in game after said event happens and explain to the player directly like that, like a call from HQ how you messed up and then show a simple game over screen.
  11. I used "frickin" to try to sound not too serious about that. Sorry, I'm not the best when it comes to communication. Added something about another potential problem to my previous post.
  12. You said that you use plane1 addEventHandler ["Killed", {"end1" call BIS_fnc_endMission;}]; where end1 is the class name of the debriefing that you are calling with BIS_fnc_endMission. In your case you'd do // in mission plane1 addEventHandler ["Killed", {"PlaneDestroyed" call BIS_fnc_endMission;}]; // in description.cfg class CfgDebriefing { class PlaneDestroyed { title = "The plane got destroyed!"; subtitle = ""; description = "The plane got shot down, mission failed."; }; }; But really, you would know this if you read the frickin wiki. Also note that using Killed EH may not be the best because it might get just damaged and land somewhere and your missions gets broken. It'd be better to check for damage.
  13. Switch may provide some performance improvement over if...else and make the code prettier but unless you're running this statement on every frame, it should not really be noticeable. If you need some more complicated logic, just do it separately, imo. What do you mean by unmaintainable? You could use "in" or even use it in a for loop to create a more complicated condition.
  14. I kinda intentionally don't go into detail because people will gain more by learning to read the wiki and the existing hundreds of threads than by getting stuff handed to them. But yes, you just put it into description.ext, change the title and call the class name with BIS_fnc_endMission.
  15. You can use simulation manager or freeze everything far from players manually by scripts so it gets ignored. The problem that prevented me from using this solution is, that it makes artillery wonky as it either won't work or you'll need to check for firing EH, unfreeze stuff in impact area and refreeze after which is... not ideal and makes the mission less organic unless you simulate enemy movement by moving some coordinates around and if you could do that then I guess you wouldn't be asking this. If you have no arty then use sim man or a simple script that checks the distance to the nearest player periodically and hides + disables sim.
  16. https://community.bistudio.com/wiki/Description.ext#CfgDebriefing E.g. from a random mission of mine: class CfgDebriefing { class End1 { title = "Mission Completed"; subtitle = ""; description = "The warhead is safe thanks to your efforts. Well done."; pictureBackground ="overviewPicture_ca.paa"; picture = __EVAL((__FILE__ select [0, count __FILE__ - 15]) + "GhostSkullS"); pictureColor[] = {0,0,0,1}; }; class Fail { title = "Mission Failed"; subtitle = ""; description = "You have left the area."; }; };
  17. Not if they have simulation disabled, afaik. Edit: So it seems they can take damage. In that case I apologize, your solution is indeed the correct one. Spawning by script is still preferable, though. I can't really check either way because I'm on a business trip 500km from home.
  18. Yeah, of course. Create an array of units that already activated it and add a condition that units that can activate it can't be in said array.
  19. theend3r

    Delete dismounted vehicle crews

    Why don't you delete them directly on GetOut? Honestly what you want is possible but depending on AI is a bad choice in my experience. It may be cheaper to just make them run somewhere (even better into the nearest forest/village) and check if anyone sees them along the way (I usually do it with line intersects to check if anyone can see them, e.g. for spawning enemies: !(lineIntersects [eyePos player, (AGLToASL spawn_point) vectorAdd [0,0,1], player])). If they left the vehicle more than, say, 1m ago (so you still get some running away inf.) and no player can see them then delete them where they are. You don't. You create their waypoints on GetOut EH. You can but why? Just delete them after they finish their WP with setWaypointStatements.
  20. zigzagtshirt's method, i.e. hiding them and disabling their sim until you need them (not moving them over, that's a waste) works but actually learning how to spawn them is far better in the long run. Something like: _group = createGroup east; for "_i" from 1 to (5 + (floor random 10)) do { _dude = _group createUnit ["O_V_Soldier_ghex_F", getMarkerPos spawn_marker_name, [], 0, "NONE"]; //code exported from virtual arsenal to give _dude equipment }; If you really don't want to use any scripts, using {_x hideObject true; _x enableSimulation false} forEach unit group this; In one of the group's units in the editor allows you to place (preferably cycled) patrol WPs as well and then just unhide them the same way. Try to learn the code way if possible, though, it'll make you missions 100x more awesome.
  21. Inaccurate. I posted something along the lines of just let "[" be the command and let '']" denote the end of input.
  22. Deleted. Shouldn't drink and talk about coding.
  23. Like wildbill2016 said, you need to add a handle (can be "null") to spawn directly in triggers. You don't need to do it when you run the code from a file/function (so putting the second code you posted into the endcine.sqf and execing it would work). Sqf is strange like that.
  24. theend3r

    Addaction with Condition

    What exactly is your question? Since, going by your code ( driver car1 == player ), you already know that you can add a condition directly. Ok, I won't be a smartass: car1 addAction["UNFLIP KART", "flipcar1.sqf", [], 7, true, true, "", "vectorUp car1 == [0,0,-1]"]; Btw it won't work since the vectorUp won't ever be [0,0,-1] but something like [0.002,-0.078,-0.94], so you should instead use vectorUp car1 select 2 < 0 . Why do you even attempt to write your own script (vectorUp in condition, not setVectorUp) when the first Google result soves it for you?
  25. theend3r

    Reviving dead ai

    I have it in my init.sqf file but honestly, if you don't even know how this works, you're better off not using it.
×