Jump to content

Buta

Members
  • Posts

    23
  • Joined

  • Last visited

1 Follower

About Buta

  • Birthday 09/09/1999

Personal Information

  • Flight Simulators
    DCS, MSFS, XPlane
  • Location
    Beijing
  • Interests
    Mission scripting, livery making
  • Occupation
    Student

Recent Profile Visitors

307 profile views
  1. I'm open to using scripts, but every time I use the script "controller:setTask()" to create a "Land" task, no matter how I set it, even if I use the same table structure as in the "mission" file, it will ultimately cause the game to crash. Thanks for your answer. It has provided me with some inspiration. The workaround I mentioned above actually achieved a similar effect, but the drawback is that the AI can't stay on the ground waiting from the beginning. An urge makes it have to randomly move or rotate a certain distance, which is not good. The uncertain movement will make it impossible to place static objects or units around it to create some "pre - battle preparation" scenarios. I hope there can be a way, or ED can create an option to make it not execute the waypoints so urgently after the engine starts or after a hot spawn.
  2. Unlike the "Uncontrolled", this option is to make an AI helicopter start its engine but not yet proceed to its waypoint. Just stay still, on the ground. It's easy for planes to put obstacles to block AI from taxiing. For an AI helicopter, it will try to take off and proceed to the waypoint right after its engine is running. This option is very useful when creating a scenario that from mission start, a group of helos preparing, loading & embarking while their rotors are still spinning, taking off right after some conditions are met. I know there is a way to spawn them in air and let them land right after. But I think letting them land from the beginning looks better and it's easy for creators to put static objects or units around them. It will be better to have optional setting to open the cargo doors like "LAND - COMBAT LANDING".
  3. I've figured out a workaround: right after the helicopter spawns, use the trigger "Set Internal Cargo On Unit" as quickly as possible to add some weight to it. The weight shouldn't be too large, but it needs to exceed the takeoff load. In ME, set WP1 very close to WP0 and set the "Perform Task - Land" action to the position where you want it to wait on the ground, along with setting the "On land" duration. Then the helicopter will stay on the ground with its engine running and wait. It might even keep its cargo door open. If you want to end the waiting state and take off, just set the takeoff condition in the "Condition" section and remember to remove the extra weight. By the way, the extra weight may prevent the helicopter from performing the "Embarking" task properly.
  4. In this era of rampant wars, I really doubt if I can live to see that day.
  5. You mean pay twice? Did customers cause all those troubles?
  6. I know that AI helos in the Player group will just stay on the ground until the player takes off. But how can I get a whole AI group of helos to wait until certain conditions are met, and then take off? Especially wait on ground after cold start. I know I can make them spawn in air then land and wait, but...it doesn't look...smooth...so... I've given these a shot, and none of them seem to work: 1) I set the option - Prefer Take Off/Land Vertically to false, and then put an obstacle on the taxiway. 2) I set Embarking at way point 0, trying to make it wait for the troops. If anyone's got any ideas, I'd be really thankful if they'd share 'em.
  7. Why not only did they not fix it, but they also block down our workaround!?
  8. Thank you very much for using your precious vacation time to answer questions! Last week, I tried and found that net.dostring_in('mission',... ) can be used to call functions that are not available in Mission scripting in the mission environment, such as trigger functions in ME (those 'a_*' series of functions). For example, if I want to "dynamically" show pictures to several player units, I can use the following method: -- assume I have defined 'imgPath', 'unitID' local cmdString = string.format('a_out_picture_u(%d, "%s", %d, %s, %d, "%d", "%d", %d, "%d")',unitID, imgPath,1,'false',0,1,1,30,0) net.dostring_in('mission',cmdString) If used in this way, there will indeed be a large number of net.dostring_in() in the script. So sad that this has been changed just after I found them out XD.
  9. If a beginner wants to get started with DCS mission scripting, how should they learn it? I've used the APIs mentioned at https://www.digitalcombatsimulator.com/en/support/faq/scripting_engine/ and created several missions like dynamic helicopter logistics and custom dynamic campaigns for MP servers. I don't have any other "teachers" currently. Now I want to learn about "net", especially the "net.dostring_in()", but I find it very difficult to find relevant documents. I’ve checked Hoggit’s documentation (which has been incredibly helpful!), but noticed the "net" section hasn’t been updated in some time. Guessing or testing trial-and-error has slowed my progress, and I’d really value concrete guidance. Thanks for your help.
  10. How can I know what those "server", "mission", "scripting", "gui", "export", "config", "zone" mean and what they can do? I hope the answer won't be "guessing", "trying" and "testing". Is there a doc to explain this api?
  11. There is an available way. Maybe you have already knew that. You can use net.dostring_in() with a trigger function a_out_picture_*() a_out_picture_*() is what trigger actions in ME belike in script env. You can find doc for all trigger actions descriptions at "[DCS install folder]/DCS World OpenBeta/Doc/DCS User Manual EN.pdf" at Trigger Actions section. e.g. --[[ I'm gonna use: a_out_picture_u(unitID:number, filePath:string, showTime:number, clearview:boolean, startDelayTime:number, horzAlignment:string, vertAlignment:string, size:number, size_units:string) -- args may not correct. You can find all trigger functions and available args(by guess) by creating them in ME and check them in "mission" file in .miz. ]] local picPath = 'imgs/' -- in .miz -> imgs folder for example. local unit = Unit.getByName('testUnit-1-1') if not unit then trigger.action.outText('unit not found.') --Debug info. return end -- You can create multiple triggers in ME to see what those args and numbers means. -- This will display a picture named "testImg" for 10 seconds at the center of the screen with 30% of pic's original size,with no delay for a specific unit. local cmdString = string.format('a_out_picture_u(%d, "%s", %d, %s, %d, "%d", "%d", %d, "%d")',unit:getID(), picPath..'testImg.png',10,'false',0,1,1,30,0) net.dostring_in('mission',cmdString) I have tested it in my multi - player mission and it works as expected. You can show a pic for a unit(AC or Ground unit). For ground unit, you need to take control of this unit in order to see the pic. *You can create multiple triggers in ME to see what those function names, args and numbers belike. But there is not too much useful functions :P.
  12. Bump This still exsit in current version. So it's designed to do that?
×
×
  • Create New...