Jump to content

billyeatworld

Member
  • Content Count

    13
  • Joined

  • Last visited

  • Medals

Everything posted by billyeatworld

  1. Playing with the idea of making vehicles invisible but unfortunately hideObject does not work as the vehicle is no longer simulated. Have also tried setTextureGlobal on all textures to "" which seems to hide everything except wheels, rotorblades, vehicle interiors etc. Any other ideas?
  2. Hi guys, I’ve run into an interesting issue where allowDamage doesn’t seem to entirely work in multiplayer when used on map objects. Ive got a mission where players need to destroy a transmitter tower using an addaction placed explosive, but to prevent it being bombed by pilots I’ve disabled damage until the addaction is triggered. Mostly it works but occasionally some things will still destroy the tower. Crashing a heli into it for example. Also as far as the server is concerned the object is still considered to be alive, and so won’t satisfy a (!alive _tower) condition. Do I need to remoteexec allowDamage on all clients? I thought allowDamage was global?
  3. Stupid question probably guys, but how do I stop a function being called when compiled in CFGFunctions? EDIT: I think I'm just misunderstanding how preinit = 1 works?
  4. Hi guys! Apparently according to the Wiki, BIS_fnc_replaceWithSimpleObject is "not very clean - should not be used for many objects and definitely not in MP games." This function actually works perfectly for what I'm trying to achieve (replacing a vehicle with a simple object of the same type in same position, direction etc). Is there a better alternative? I've actually tested BIS_fnc_replaceWithSimpleObject in multiplayer and it works fine, although it takes ages for the model to respond to commands like setDir on the client. Thanks!
  5. Sorry I should have been clearer... (thanks again for your replies by the way) My current system: Vehicle placed in editor > Replaced on mission start by simple object. Script then waits until the simple object is deleted > “Activate Vehicle” Addaction (created on the player on respawn) checks for simple objects with cursorObject > player can then activate the action, which deletes the simple object vehicle player is looking at > the script continues and the actual non simple object vehicle is then created > script waits until vehicle is !alive and then loops, respawning another simple object at the original pos and dir Previously rather than creating the simple object at all I just had the simulation disabled on the vehicle until the player entered. I’m not sure which system is better performance wise. I thought about using dynamic simulation, but the big issue is that 30+ of the vehicles are parked at a central base in close proximity to the players. Obviously this is where the FPS starts to chug the most.
  6. Thanks mate. For context I’ve actually built a dynamic PVE scenario, kind of a cross between Invade And Annex and Old Man / Contact campaign. Almost nothing is directly placed in the editor. The initial player vehicles are placed and then immediately deleted on mission start and respawned as simple objects, which players can then “activate”. Invade and Annex has a very similar system. Obviously simple objects have many disadvantages; wondering if there is much performance benefit to be had using them initially over just disabling simulation? There’s probably 40+ respawning player vehicles in the mission.
  7. Hey guys! So basically I've got a bit of an issue with a sector control mission I've been making. It's a fairly standard framework for sector control. Currently running it on a dedicated server. If only one player is on the server when one team's tickets are depleted, the mission ends and resets as normal, but when there are multiple players the mission ends, but doesn't reset. Players are sent back to the role screen as usual, but then on respawn are sent back into the old mission again; tickets and capture points do not reset either. Also, the server is not set to persistent. The mission resets if no human players are spawned in. Any ideas? Here is a link to my mission on dropbox.... https://www.dropbox.com/sh/rjvr8ng8719ujzy/AAAXPA1TpRdvHuJfymsztJwQa?dl=0 Thanks, Billy.
  8. Hey guys! So I have a really annoying problem that I've tried for hours to solve to no avail. Anyway, I'm trying to create an addaction with dynamic variable names on all players in multiplayer and then have it remove itself either when activated or later on in the script. The action will be to call an extraction heli, which is why I needed to add it to the players rather than the heli itself, because of the radius limitations. It seems to work perfectly on the host and on all clients as long as they join at the same time, but as soon as the first JIP player joins, the action can't be removed anymore. It's probably a simple fix but I just can't get my head around it. Here's just a simple example of how i'd like it to work. I was originally using the JIP remoteExec options rather than recreating the action on a loop but I thought it best to try and solve this problem first before getting into that. Any ideas? if (!isServer) exitWith {}; _var = "1"; call compile format [" while {true} do { [[], { testAction_%1 = player addaction [""<t color='#ff9900'>Test Action</t>"", { {player removeAction testAction_%1} remoteExec [""call"", 0]; hint ""this is a test action""; } , _this, 99, false, false, """", """"]; player setVariable [""action_Id_%1"", testAction_%1, true]; publicVariable ""testAction_%1""; }] remoteExec [""call"", 0]; sleep 10; {player removeAction testAction_%1} remoteExec [""call"", 0]; }; ", _var];
  9. billyeatworld

    Need help on scripting

    My description.ext at the very least usually looks something like... respawn = 3; respawnDelay = 30; respawnOnStart = 1; The base respawn should just be a marker called "respawn_west". I don't use the respawn position editor modules. Or for example in your init.sqf file you can add respawn points to your own custom named markers using the syntax... [<SIDE>, <MARKER NAME>] call BIS_fnc_addRespawnPosition; Here's an example of how I've set up the respawn points in one of my missions... [WEST, "base_infantry","Infantry Base"] call BIS_fnc_addRespawnPosition; [WEST, "base_air","Air Base"] call BIS_fnc_addRespawnPosition; [WEST, "base_naval","Naval Base"] call BIS_fnc_addRespawnPosition; [WEST, "base_armor","Armor Base"] call BIS_fnc_addRespawnPosition; [WEST, "base_paradrop","Paradrop Muster"] call BIS_fnc_addRespawnPosition;
  10. billyeatworld

    respawn on start

    Could it be respawnDialog = 0; that is your issue? Default should be 1. My description.ext settings are pretty much the same apart from that my respawn on start works no problems.
  11. Hey david. I'm pretty sure you're on the right track about delaying the player death. There's no way that I can think of to avoid the respawn screen appearing.
  12. billyeatworld

    Need help on scripting

    As for keeping loadouts this is the way I normally handle that... In a text editor, create a file called onPlayerKilled.sqf ... and a file called onPlayerRespawn.sqf Place both files into your mission directory. In onPlayerKilled.sqf paste in... player setVariable["Saved_Loadout",getUnitLoadout player]; In onPlayerRespawn.sqf paste in... removeAllWeapons player; removeGoggles player; removeHeadgear player; removeVest player; removeUniform player; removeAllAssignedItems player; clearAllItemsFromBackpack player; removeBackpack player; player setUnitLoadout(player getVariable["Saved_Loadout",[]]); This will be kind of buggy if you're using the in built Arma 3 revive though because when you go down you go into an ambient animation without your primary weapon, therefore when you die you technically don't have a primary weapon. When you respawn you'll respawn without it. If you want players to respawn with a preset loadout though, then rather than onPlayerKilled.sqf you can paste the same code into a file called initPlayerLocal.sqf. This will just save the loadout when you initially join the game rather than each time you get killed.
  13. billyeatworld

    Need help on scripting

    Hey man! Pretty sure this is the function you need. [<target>,<position>] call BIS_fnc_addRespawnPosition; <target> can be namespace, side, object or group. <position> can be a position, an object or a marker name (as string). In your case you want <target> to be the side and <position> to be an object (the player you want to respawn on). So... [WEST, yourSoldierVarName] call BIS_fnc_addRespawnPosition; Or if you want the leader of a particular group... [WEST, leader (yourGroupVarName)] call BIS_fnc_addRespawnPosition;
×