Jump to content

Grimes

ED Beta Testers
  • Posts

    9617
  • Joined

  • Last visited

  • Days Won

    11

About Grimes

  • Birthday 09/08/1985

Personal Information

  • Location
    Black Mesa

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Nope. Once AI get into "airbase mode" they will rely solely on built in game logic to determine their formation and flight behavior. In the case of departures if the AI are set as take-off from runway they will take-off in pairs. If they ramp start they will taxi to the runway in flight order and take off in singles. For landings they will arrive at the base in whichever formation is set then enter a landing pattern. They will land in pairs as long as the runway is wide enough, though there are circumstances where then 2nd unit in formation might fail at getting into formation, at which point they will break off and land on their own.
  2. Just like spawning anything, you use mist.dynAdd and mist.dynAddStatic. Both of which will fill in any data they can and pass that to coalition.addGroup and coalition.addStaticObject. https://wiki.hoggitworld.com/view/MIST_dynAddStatic See the example on there and change the type to "SKP-11"
  3. Most of the entries can exist within assorted lua name spaces. For example coalition.side and coalition.service are just two tables within coalition that contain the enums that identify red and blue, and enums for ATC, tankers, etc. In this specific instance the enum values can literally be found in the AI.Option.Air.val.REACTION_ON_THREAT table. As you made note that the names aren't the same and AAA fire evade is missing. The former is mostly a localization thing. The name doesn't matter because the number value is what is used by the AI. ED have decided to reword/rephrase assorted parts of the mission editor, but the functionality remains the same. Also note it is "reaction on threat" in the enum but is named "reaction to threat" in the editor, the same thing is happening there. As for why AAA fire evade is missing from the table, the sad fact is that not everything gets added to the AI or other tables when it exists in the game. Thus someone has to realize that the options exist and document it.
  4. https://www.khanacademy.org/math/linear-algebra/vectors-and-spaces might help. Its been 20 years since I've done any math related to this stuff. I just find code that seems to work and constantly re-use it.
  5. No action or event. It just checks every second if a specific bomb type is in that specific zone. If the zone is to small it might not get detected due to timing.
  6. The old bug of Group.getByName returning dead groups is back in addition to isExist() also returning true on the dead group. I updated mist to adjust for this bug.
  7. It is limitation programmed into the mission editor that doesn't reflect how the game actually handles things. There is no great way around it. You can use the scripting engine to spawn an infinite number of aircraft throughout the mission runtime, but that is a little complex for some. However it gives you control of specifying to re-use a specific parking spot or to rely on the automatic assignment. If it is a multiplayer mission you can use "takeoff from runway" which, when the mission is run in MP, will place the units at the nearest parking spot to the runway.
  8. 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
  9. 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.
  10. 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.
  11. 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.
  12. 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.
×
×
  • Create New...