Jump to content

Dj Rolnik

Member
  • Content Count

    143
  • Joined

  • Last visited

  • Medals

Everything posted by Dj Rolnik

  1. Hey guys, I am coming to ask for help with what seems to me like a relatively simple thing, yet I cannot figure this out. I would like to have the AI unit run a script which will make it go prone and stay in place on command. The problem is I cannot seem to get the unit to do what the script says. I beleive it's something to do with the "this select" command and since I cannot figure it out I would be grateful if someone could tell me how to get it to work. What I have so far in the Civ unit init: this addAction ["Get on the ground!", {execVM "Civ_ground.sqf"}]; I can approach the unit and order it to get on the ground, but as I stated, it does not want to do it. In the Civ_ground.sqf I have this: _civ = _this select 0; _civ setunitPos "DOWN"; _civ setBehaviour "CARELESS"; _civ disableAI "MOVE"; Thanks a lot for your help! Adam
  2. Hey beno, Thanks for your response. I will test this out, but I assume this creates a trigger once the mission has been started, so would have to be put somewhere in the init.sqf. Do you think there is a different way to make the editor-placed triggers do the same thing? Thanks!
  3. Hey guys, I need to reactivate this topic as I have come across a critical error that I cannot figure out without your help. The script in general works as intended, but only to a certain extent in SP. Whenever I enter the server with a friend it works flawlessly for me (my character does scream out using his voice + the civ reacts to the commands), but for my friend it only produces the gesture and sound. Seems like civs do not follow his orders at all. I believe it may be due to the _civ variable somehow being local for me as the host only, and not assigned to him, but I am not sure about that. I would really appreciate any help in getting the script to work for all players in the server. This is what I have in initPlayerLocal.sqf. Maybe I should create some separate function scripts for that, I don't know. I am really stumped.. if (side player == blufor) then { player addAction ["Get down!", {cursortarget call CivDown}]; player addAction ["Get out!", {cursortarget call CivGoAway}]; }; acim_fnc_playActionNow = { _unit = _this select 0; _gesture = _this select 1; _unit playActionNow _gesture; }; CivDown = { _civ =_this; _side = side _this; if (( _side == Civilian) && (_civ isKindOf "Man") && (alive _civ)) then { _random = 6; _randomResult = floor(random _random); switch (_randomResult) do { case 0: {[player, "get_down_on_the_ground"] call CBA_fnc_globalSay3d;}; case 1: {[player, "get_down"] call CBA_fnc_globalSay3d;}; case 2: {[player, "freeze"] call CBA_fnc_globalSay3d;}; case 3: {[player, "freeze_2"] call CBA_fnc_globalSay3d;}; case 4: {[player, "stop"] call CBA_fnc_globalSay3d;}; case 5: {[player, "stop_right_there"] call CBA_fnc_globalSay3d;}; }; [player, "gestureGo"] call acim_fnc_playActionNow; sleep 1; if (player distance _civ < 40) then { _civ disableAI "MOVE"; sleep 0.3; _civ setUnitPos "DOWN"; _civ setBehaviour "CARELESS";} }; }; CivGoAway = { _civ =_this; _side = side _this; if (( _side == Civilian) && (_civ isKindOf "Man") && (alive _civ)) then { _random = 6; _randomResult = floor(random _random); switch (_randomResult) do { case 0: {[player, "move_it"] call CBA_fnc_globalSay3d;}; case 1: {[player, "go"] call CBA_fnc_globalSay3d;}; case 2: {[player, "move"] call CBA_fnc_globalSay3d;}; case 3: {[player, "get_the_hell_outta_here"] call CBA_fnc_globalSay3d;}; case 4: {[player, "move_your_ass"] call CBA_fnc_globalSay3d;}; case 5: {[player, "off_you_go"] call CBA_fnc_globalSay3d;}; }; [player, "gestureGo"] call acim_fnc_playActionNow; sleep 1; if (player distance _civ < 40) then { _civ enableAI "MOVE"; sleep 0.3; _civ setUnitPos "UP"; _civ setBehaviour "COMBAT"; _civ move (waypoint_trigger call BIS_fnc_randomPosTrigger);} }; }; Thank you, Adam
  4. Ah yes! Now it's working just as I needed it to! Thank you very much for your help guys. Below is the final code that I have if anyone's interested. player addAction ["Get on the ground!", {cursortarget call CivDown}]; acim_fnc_playActionNow = { _unit = _this select 0; _gesture = _this select 1; _unit playActionNow _gesture; }; CivDown = { _civ =_this; _side = side _this; if ( _side == Civilian) then { player say3D "getdown"; [player, "gestureGo"] call acim_fnc_playActionNow; sleep 1; _civ setunitPos "DOWN"; _civ setBehaviour "CARELESS"; _civ disableAI "MOVE";} }; Thanks again! Adam
  5. Thank you guys for your help. Unfortunately I keep getting this error message no matter what I do.. 'cursortarget call |#|CivDown' Error Undefined variable in expression: civdown I put the "player addAction" either in mission init or in player init but neither works. Am I missing something @froggyluv?
  6. Thanks for a quick response @JohnKalo! Yep, that should do the trick. But what if I have a multitude of civilians and naming all of them is going to be super time consuming and would require separate scripts for all of them. Alternatively, would it be possible to have this kind of action work across all civilians that appear in the game, even the ones spawned during the game by Zeus? That would probably be much more difficult tho :( Thanks! Adam
  7. Hey everyone, I was recently thinking of some kind of ending cinematic to my mission. What I thought about was: 1. Wait until we're all done with the flow of the mission. Usually when the mission is done we gather up in a group to do a quick photo and a small debriefing, so we're technically still in the scenario. 2. When Zeus decides so, the mission would be switched to a cutscene. 3. If possible, a script would grab all the players who survived and put them in predefined places, for example next to some kind of building which was the last objective. 4. Those players would then play certain animations (lying on the ground, sitting, resting after a mission, waving, whatever stuff there is to choose from). 5. During those animations the camera would move a tiny bit here and there and probably show some kind of jet formation flying by. 6. Mission officially ends with the "Mission Complete" screen, some music plays in the background and bang, we're done. Do you think this is possible by any means? I think I would be able to figure out how to teleport the alive players to specific places and have them switchMove to animations, but not sure how to make the camera moving effect as well as how to make it work just after the mission, so to make it seem relatively smooth. If I recall correctly, there is an option in the Editor to choose Scenario, Intro and Outro so I think there's gotta be a way to make them transition between each other and achieve the aforementioned effect but I have no clue how to do that. https://community.bistudio.com/wiki/Eden_Editor:_Scenario_Phases I will be grateful for any kind of help in that regard. Thanks! Adam
  8. Hey guys, I am working on a winter misssion and was thinking if there is a way to simulate lower temperatures inducing pain unless the player is near some objects such as working vehicles, fires, inside buildings etc. As far as I'm aware, Arma does not handle lower temperatures (i.e. changing temperatures at all, to something like below zero) which would help us in sniping scenarios, where temperature does matter, but that's besides the point. If it's possible to create something like small amount of pain (ACE3 Medical) induced to the player whenever he's not around a certain type of object or potentially a specific-size-marker for a long time, that would only go away when the player is near a fireplace or in a building, that would be splendid! If someone knows a way to do it, I will be very grateful. Thanks! Adam
  9. Dj Rolnik

    Zeus control group to player

    Okay, right after posting this I figured I can literally Ctrl+1 each unit/group and then jump to it pressing 1.. This will work, but if there's any other way to do that, please give me a shout! Thanks!
  10. Hey guys, I am preparing for "filming" a cinematic mission and was thinking if there is option for Zeus to use some kind of Ctrl groups to quickly jump between players. For example, if one uses the built-in spectator mode, he may switch between available units with the left and right arrow keys. Since I will be using the Zeus interface, is there any option to do the same within Zeus? Thanks a lot for your help! Adam
  11. Dj Rolnik

    New York City

    Wow that is super awesome! I am glad that this map is still being worked on. Can't wait for some updates on it as I currently have a scenario prepared for that map. Now I am considering holding off with it until the map is updated. Can you at least roughly estimate when you would like to have it done by? Thanks and good luck! Adam
  12. Dj Rolnik

    New York City

    @Djoutlowd There is a special eden editor module for this. You can navigate to Modules and type in "Hide" to find a special module. You can then place it on top of an object(s) and change its size and shape in order to remove some terrain items. Have you considered that?
  13. Dj Rolnik

    Randomized mine spawner

    The issue has been resolved with the help of @davidoss who was extremely kind to spend some of his time on it with me - live, coding together :) The solution is this: 1. Create a file in the mission root directory called functions.sqf add this code to it fnc_spawnMines = { private _markers = ["marker_0", "marker_1", "marker_2", "marker_3", "marker_4", "marker_5", "marker_6", "marker_7", "marker_8"]; private _mines = ["APERSMine_Range_Ammo", "APERSBoundingMine_Range_Ammo","ATMine_Range_Ammo","SLAMDirectionalMine_Wire_Ammo","APERSTripMine_Wire_Ammo"]; private _randomdistance = floor (random [2,4,6]); { minesarray pushback (createVehicle [ selectRandom _mines, getMarkerPos _x, [], _randomdistance, "NONE" ]); } foreach _markers; }; fnc_removeMines = { {if (!isNull _x) then {deleteVehicle _x}} forEach minesarray; }; 2. Add this code to the player's or any desired object's init field: this addaction ["spawn mines",{null = [] remoteExec ["fnc_spawnMines",2,false]}]; this addaction ["remove mines",{null = [] remoteExec ["fnc_removeMines",2,false]}]; 3. Add this code to init.sqf: if (isServer) then { [] call compile preprocessFileLineNumbers "functions.sqf"; minesarray = []; }; Thanks everyone who posted their suggestions and thanks again for your time @davidoss !!
  14. Hey guys, I am working on a training site for my group which will feature, among other things, an explosive specialist/mine defusal training. In order to do so I would like to create a kind of a course which has to be finished without the mines exploding. The help that I'm looking for concerns a script, obviously. I would like to have the option to spawn random(?) mines and explosives in random(?) areas within the designated course. Let's say it will be a fenced-out passage through a few buildings + a bit of grassy terrain. I would like to have the option to spawn, respawn randomly or at the very least restart the placed explosives within that course with probably a simple addAction command that would be attached to some object at the beginning of the course. I can handle the addAction button but I am almost completely unaware how to write the script which would respawn the explosives if the participant died and wanted to retry the course. That respawn option would also be used by the next person in the queue who would want to complete the course. I appreciate your help a lot. Cheers! Adam
  15. Dj Rolnik

    Randomized mine spawner

    Bumping the topic. Is there anyone who could help me figure out the mine spawner and the ability to delete the created mines afterwards? Thanks in advance, Adam
  16. Dj Rolnik

    Randomized mine spawner

    Hey, Thanks for the solution - works like a charm. However, as things are in Arma, there is always something that will go wrong. While the sole spawning works just as it should, I am now unable to remove the spawned mines with the line I pasted above. I believe the thing with mines is that they are somewhat interactive objects which change their state? Basically running the deleteVehicle command does nothing (no error as well). Plus, I cannot add the planted mines as editable Objects to Zeus. I also cannot add mines planted by players. I can, however, create mines as Zeus and remove them as I please. Is there any way to delete the mines spawned this way? Cheers for your help guys! Adam
  17. Dj Rolnik

    Randomized mine spawner

    Hey guys, thanks a lot for all your suggestions. I think I found out that @code34's suggestion works almost fine for what I need. Unfortunately there is a problem. It seems that whenever I spawn the mines, all of the markers spawn the same type of mine. It is chosen randomly, yes, but once it's chosen, it spawns the same mine for all markers at once. This is how it looks right now: private _markers = ["marker_0", "marker_1", "marker_2", "marker_3", "marker_4", "marker_5", "marker_6", "marker_7", "marker_8"]; private _randomtypeofmine = selectRandom ["APERSMine_Range_Ammo", "APERSBoundingMine_Range_Ammo"]; private _randomdistance = 5; { _mine = createVehicle [_randomtypeofmine, getMarkerPos "marker_0", ["marker_1","marker_2","marker_3","marker_4","marker_5","marker_6","marker_7","marker_8"], _randomdistance, "NONE"]; }foreach _markers; I also managed to remove mines with this line triggered for each marker. Probably could be done easier, but seems to be working. { deleteVehicle _x; } forEach nearestObjects [getMarkerPos "marker_0",["APERSMine_Range_Ammo", "APERSBoundingMine_Range_Ammo"],15]; If you can advise on how to randomise those fields, I will be grateful. Thanks again for your help, Adam
  18. Dj Rolnik

    Randomized mine spawner

    Hey George, Thanks a lot. I will take a look at those two and see if I can rework those a bit to my needs. If in the meantime anyone has any more suggestions as to how it could be done, I would be grateful : ) Cheers! Adam
  19. Dj Rolnik

    Zeus hearing players' local chat

    Hey, Instead of placing a real soldier and assigning a Zeus module to him, you can place a Virtual Entity and assign the Zeus to it instead. The Virtual Entity is basically an invisible floating head and when connected to the Zeus, it can use the radio, get close to the soldiers and hear them talk. Be aware though, that you will also be heard if you speak directly next to the players, which may be useful as a hint that you may want to provide to your soldiers, but may also interrupt them if they hear something they shouldn't have. Cheers!
  20. Hello there, I am looking for a solution that would allow me to create markers which would be visible only to specific players. The idea is that a 2-man recon team picks up two maps (one for each of them) and this makes the markers appear to those players. I know how to make the markers appear upon picking up the object (setMarkerAlpha) but am unsure how to make those markers visible only to the person who picked up the map. Ok, just after posting this I figured that there may be something more than SetMarkerAlpha and indeed there is: https://community.bistudio.com/wiki/setMarkerAlphaLocal I will try it on my own then but if you think this is not the right solution, or there is a different way of doing this, please give me a shout. Thanks a lot, Adam
  21. Hey all, I am relatively new to the forums so please cut me some slack if I do something wrong :) Apologies if this has been answered already, but I have not been able to find it anywhere on he interwebs.. I am working on a mission where a team accompanied by a hacker moves into a building where the hacker hacks into a data terminal. With the help of some YouTube videos I managed to come up with a script for hacking the terminal and failing the hack (intended). However, I would like to allow the hacker to have the ability to input a previously found code to unlock the access to the terminal - obviously, without the code the terminal would have to remain unresponsive. The problem I see here is twofold: a) how to give the player the addaction to input digits by himself which would then trigger the automatic hacking script b) how to make the hack addaction appear only after the code has been found To add to it, I would like the hacker to be the only player who can do that procedure and the only player seeing the hints appearing during the procedure - I managed to get the hacking part to appear only for the hacker. This is the intended flow (green are bits I got working): 1. The terminal is inactive/non interactive/not working 2. The team finds the code on a nearby tablet - the terminal becomes interactive 3. The hacker uses an action on the terminal and inputs the code manually - In case of the hacker using a wrong code, the terminal hints the player with "Incorrect code", shuts down and triggers an alarm 4. The terminal accepts the code 5. The terminal starts the automatic hacking script when the hacker uses the "Hack" action 6. The terminal recognizes the login is unathorized and shuts down triggering an alarm This is the script that I have so far: The terminal itself has this in its init: if (isPlayer hacker) then { this addAction ["Hack", "DataTerminal.sqf"]}; DataTerminal.sqf _object = _this select 0; _caller = _this select 1; _id = _this select 2; _object removeaction _id; [_object,3] call BIS_fnc_dataTerminalAnimate; if (name z == name z) then {hint "Logging into the system..."}; sleep 10; if (name z == name z) then {hint "Hacking in progress: 0%"}; sleep 2; if (name z == name z) then {hint "Hacking in progress: 1%"}; sleep 0.5; if (name z == name z) then {hint "Hacking in progress: 2%"}; sleep 0.5; if (name z == name z) then {hint "Hacking in progress: 3%"}; sleep 0.5; if (name z == name z) then {hint "Hacking in progress: 4%"}; sleep 0.5; if (name z == name z) then {hint "Hacking in progress: 5%"}; sleep 0.5; if (name z == name z) then {hint "Hacking in progress: 6%"}; sleep 0.5; if (name z == name z) then {hint "Hacking in progress: 7%"}; sleep 0.5; if (name z == name z) then {hint "Hacking in progress: 8%"}; sleep 0.5; if (name z == name z) then {hint "Hacking in progress: 9%"}; sleep 0.5; if (name z == name z) then {hint "Hacking in progress: 10%"}; sleep 0.5; if (name z == name z) then {hint "Unauthorized login detected..."}; sleep 2.5; if (name z == name z) then {hint "Shutting down..."}; [_object,0] call BIS_fnc_dataTerminalAnimate; deleteVehicle box1; in the above example, box1 is just an invisible helipad which acts as a criteria for a trigger launching an alarm sound. Thanks a lot for your help in advance. I appreciate this may be a bit mind boggling (if possible to acheive even) but I do appreciate anyone who takes a minute and thinks he may be able to provide any help. Cheers, Adam
  22. Hey all, I am currently preparing a mission which will feature a background music and ambient sounds. I would like to make sure that all the players hear it in case any of them had the music settings turned down to 0%. Is there any way to force audio volume settings on the players via a script or some addon so that I would be sure they can hear the music? Cheers, Adam
  23. Hello everyone, Apologies if this has been answered already but I have not seen the answer to my question specifically with Zeus in mind. Is there any possibility to disable the Ace medical entirely and stick to the default Arma medical system WITHOUT disabling a few of the Ace Zeus options which are mainly responsible for controlling AI, such as, Global AI skill level? Right now the only solution that I found was to remove the medical pbos and it does work indeed, but it also removes a few of the Zeus options which, one would assume, should not really be connected to the medical system. Thank you very much! Adam
  24. Dj Rolnik

    Zeus hearing players' local chat

    Topic closed. One can actually do the exact same thing when playing as a Headless Virtual Zeus.
  25. Hey all, I have an issue with the town population not showing for all players. I logged into a mission with a friend (host) and he could see the popup with the town name and population while I could not. Apart from that everything works flawlessly so far. I looked a bit into the init and tried to modify some things but could not find the appropriate one. Should I rerun the script globally via the in-game debug console or modify something in the init? Any suugestions are very welcome! Thanks, Adam
×