Jump to content

Grimes

ED Beta Testers
  • Posts

    9607
  • Joined

  • Last visited

  • Days Won

    11

Everything posted by Grimes

  1. How is this different from every single map, except for the Channel, that has released in DCS? Every other map has been added to. Either through the bounds of the map increasing with added populated areas or areas within those bounds getting populated. Even without stating a map is "early access" it is a foregone conclusion that maps will have additions of some sort. Sometimes those designs are part of the sales pitch, sometimes not. Case in point, literally the last patch and Syria. At no point in time UGRA stated that Muwaffaq Salti or the other bases in Jordan would be added. I think plenty thought it would be nice to have those bases, but few thought ill will over their up to recent exclusion. Nothing was stopping you from saying "This is what the map will have on EA release, and this is what the final map will have." It just screams of "wrote one bullet point, can't have just one bullet point, how can I reword the status quo to add a 2nd?" So let me help you. Given time spent on developing the technology to conditionally add higher detail areas based on user ownership on Normandy 2.0, we decided to experiment with our map sales model. We decided to do this because of the concern that additional maps have a cost in money and disk drive space which may guide purchasing decisions. The more people that have a map the more content will likely get created for it. Making it cheaper adds an incentive to make content on the map. (IFF store is setup to buy the full map at same cost with individual purchases) If you decide that you like the map you can purchase the whole thing at the same total cost as buying the full map at release price. You can buy it at your own pace!
  2. Patterns are not something I find to be all that fun. I assume you are wanting to use it as a command of sorts where a player enters it via chat or F10 mark and it uses the inputs to call a function? I use this to get each word added to a table, then I use the table itself to manipulate or check the data. commands[1] is the command being issued and commands[2] could be an optional value, if it doesn't exist then use some default value. local commands = {} for w in string.gmatch(event.text, "%w+") do table.insert(commands, w) end I suppose you could make a pattern for each of the 3 cases and use if string.match(obj, pattern1) or string.match(obj, pattern2) or string.match(obj, pattern3) then print("good") end
  3. The server API has finer detail on it via the onPlayerChangeSlot callback. The net functions are accessible in the server API and mission scripting, which you can use net.get_player_list and net.get_slot to get the slot, and therefore seat the players are in. You'd have to constantly be calling it unfortunately to get up to date information. The slot id is the unit id for a given unit with a _x to define the seat a player is in. For example in a F-15E, F-14, and AH-64 it would be unitId_2 for the WSO/CPG. unitId_3 and unitId_4 would be left gunner and right gunner in the Huey. There is no information currently on who initiated a given action. For stats in slmod I attribute it to everyone in the aircraft.
  4. Its related to how events are used. This specific event will not be addressed, I hope they create a new one, but alas scripting priorities seem to exist in peaks and valleys and we seem to be in Kansas. It is not a new issue. I believe I've explained it in some of the other threads, so I will be brief. All of the events are used by the game to tell other parts of the game something happened. You can think of most events as a "global" event that occurs for every single player in the mission. shot, dead, crash, birth, etc. There are some events that are "local" to your game and only occur when you do something. Other clients, and the server, don't get told about it via the events. Your friend should have the player_enter_unit event in their debrief.log while you won't see it. The fact that some are local was not clearly indicated.
  5. Try the latest version of development branch: https://github.com/mrSkortch/MissionScriptingTools/tree/development If you were using that function to teleport the group, rather than clone or respawn, then it wasn't inheriting all of the possible variables for the group. If you were cloning or respawning it should have been respecting the hiddentOnMFD value in the editor. There is no specific option built into the function to set that hiddenOnMFD. It wouldn't take much to add one, but at the same time I should probably make a function that generates the group table without actually spawning the group. That way you can get the table, add what might be needed, and then spawn the group yourself.
  6. IT IS A WIKI! They have disabled account creation because it is often a target of spam, but accounts can still be done by someone with admin access on it. All you have to do is ask. People make comments about this or that being missing*, very few of them actually ask for an account to contribute to the greater good, and even fewer actually make edits. * 95% of the time it is generalities of things missing and not specific examples. If someone links to a wiki page when asking a question or I myself am doing something with scripting and notice the page could use more details then I try to fix it.
  7. Me being weird I don't like using world.searchObjects for getting a list of objects in an area, especially if that area is larger than a few km radius. However that mostly stems from the very noticeable hitch that can occur when searching for world objects over a densely populated area if the search area is large enough. The other way would be to iterate a table of known units, see if they exist, and get the distance from a given point. Depending on your needs you can vary the speed. For example the bubble script on Grayflag has a curated list of units and weapons that it tracks. Objects get added and removed via event handler. It only runs getPosition on each object every few seconds, which means its not ultra precise, but it is precise enough. Each bubble, think of it like a trigger zone typically around sams, will check its distance against the known object list. Depending on that distance it'll reschedule the check to occur slower or faster because the point is to allow a sam to "exist" in the mission by only spawning it in when aircraft are near. Anyway if the bubble is spawning in a short range sam and the nearest unit is 100km away it doesn't exactly need to update at a faster rate just to know the nearest unit is now 99.4 km away. But no I haven't benchmarked it. I suppose it is a question of the distances involved and what information you care about. world.searchObjects on units will return all units, you'd have to sort for coalition and category if that mattered. Whereas if you only want to know which of 10 helicopters are in a zone it'll probably be faster to check the distance with a for loop and adding them to an table of in zone units.
  8. Which buildings do this? They should only remain dead until you exit the mission.
  9. mist.teleportInZone("carrierGroup" , "newZone" , false , 1 , { offsetRoute = true} ) Should do the trick. It'll teleport to the zone with the name "newZone". The radius is 1 so basically it'll be exactly on the center of the zone. It passes a table with the value offsetRoute = true which means it will grab the route from the mission, including any tasks assigned, and will offset the position of the points. If WP2 is straight east from WP 1 for 50km then it'll be offset 50km east from newZone. It doesn't check for any terrain issues, that'll be on you to make sure the offset waypoints are on land all a sudden.
  10. Teleport should keep the unitId value for each unit, that is the main thing that matters when "teleporting" a ship or other objects that people spawn on. Just know that anyone on the ship when it spawns somewhere else will probably fall into the water. Unknown what'll happen to any static objects you have on the deck.
  11. The embarking task appears to have a "From Start" checkbox. Assuming the groups are placed in the editor it does work with late activation. I would need to test it when spawning AI with scripting to see if the task still works with dynamically spawned AI units.
  12. The annoying feature of datalink being locked to the group now no longer exists thanks to the datalink setting. Granted you'd have to set them up one by one if you were to limit aircraft to one per group. Carrier recovery is weird as is anyway due to it occasionally being bugged and it always assumes that aircraft in a group are recovering together. Each player should still be able to do their own comms with the boat and you should still get correct grades if all contact the boat, do a case 1 as a group, and talk to the LSO.
  13. Ran it 100 times and got the following outputs. Left is the number and right is how many times it got selected. nullJust showing to indicate that it is kind of random and the first selected item was always different for me. You could try increasing the range, random 0-100 with the flag ranges appropriately scaled might yield sufficiently random results. In the past the lua version of math.random had a tendency to randomly choose the first and last possible value much less often. Keep in mind I'm talking about running math.random 10000 times and see what the results were. Which doesn't quite jive with what you were experiencing here.
  14. It is a global setting. The only thing you can effect an aircraft's GPS systems is with the KA-50's ABRIS and honestly I have no idea if that is still a feature.
  15. Somewhere in the terrain files, probably in the AirfieldsTaxiways folder, defines all of the parking spots at each airbase. Parking availability is dependent on the length, width, and height of the parking spot and of the aircraft selected. There is a https://wiki.hoggitworld.com/view/DCS_func_getParking function but it doesn't return the dimensions and the "term type" returned isn't exactly reliable to know the size of parking.
  16. The condition wouldn't become true because the flag is back to 0 and therefor "off." I guess the question is if you want to know a flag has been true. If so then you could set an additional flag, or increase its value by 1, each time that the flag you care about was set. set flag 1 true and flag increase "flag1WasSet" by 1. Alternatively you can use scripting to exploit it further... do script: flagWasSet = timer.getTime() Would give the precise time the flag was set, you can then use that value for whatever purposes you want.
  17. You can change ROE or alarm state, then toggle whatever you set back to default. Problem being they won't engage anything else until triggered to do so.
  18. This setting applies to engaging airborne targets.
  19. For the Apache FCR you should be able to use getDrawArgumentValue. https://wiki.hoggitworld.com/view/DCS_func_getDrawArgumentValue Although it might have weird results because people can have an FCR be forced onto the aircraft as part of the livery, but if it wasn't setup in the miz to have an FCR it would be non functional. Likewise it might change when the FCR gets added to the loadouts.
  20. As long as you are using pushTask and also not pushing a new mission task to the unit it *should* return to its orbit point once all pushed tasks it has is complete. If it was setTask then that task will overwrite any other task it has and I would expect the AI to return to base if they weren't given any other tasks. If you were giving it a new mission task then I would append a waypoint with the orbit task to the original orbit points so that it is part of the route.
  21. Link unit would be the unitId of the carrier, not the groupId. Also the groupid and unitId of the static object should be unique, which you could comment out and allow DCS to figure it out for you or I'm sure there is some function in moose that would give you an unused id for either. Might also be a good idea to wait a tick or two before spawning the statics on the spawned ship. I'd have to look through my test code to see if I had made something to verify it works on spawned ships, pretty sure I did, but it wouldn't have used moose, so I can't help on that part of it.
  22. if var then if type(var) == "string" then -- do string things elseif type(var) == "table" then -- do table things end else -- its nil end Check for its existence and the type.
  23. You need to check for its existence first. It is inconsistent in returning in MP, but it can return. In SP it is much more consistent.
×
×
  • Create New...