Jump to content

DCS: World Scripting Engine


Recommended Posts

  • Replies 148
  • Created
  • Last Reply

Top Posters In This Topic

Could this scripting engine be used to pause a server if nobody is connected and resume when somebody enters ?

 

This function is available in Servman, and actually the only one we'd need.

Since Servman is not updated for 1.2.1, this could be a nice alternative.

 

No. Who knows- maybe in the future.

Intelligent discourse can only begin with the honest admission of your own fallibility.

Member of the Virtual Tactical Air Group: http://vtacticalairgroup.com/

Lua scripts and mods:

MIssion Scripting Tools (Mist): http://forums.eagle.ru/showthread.php?t=98616

Slmod version 7.0 for DCS: World: http://forums.eagle.ru/showthread.php?t=80979

Now includes remote server administration tools for kicking, banning, loading missions, etc.

Link to comment
Share on other sites

Thanks for the quick answer! So it might be imlemented in the future then?

 

Sure, it might be. ED has stated a "real time command module for runtime mission modification is under development" (http://www.thebattlesim.com/index.php?scr=list&end_pos=44&lang=en&page=2, "Mission Creation and Editing"). It's said that for a quite a while though, and that's for their military side, not commercial. But it does seem that ED has the desire for developing some method to truly spawn units- so hopefully, someday, they are able to act on this desire.

 

However, I would note that runtime spawned units do NOT mesh at all with the game's code very well. There is lots of code (that I know of, on the Lua side, at least) that is dependent on the fact that all units that will ever be active are specified in the mission file. So it would probably be a major investment of development time to do something like this.


Edited by Speed

Intelligent discourse can only begin with the honest admission of your own fallibility.

Member of the Virtual Tactical Air Group: http://vtacticalairgroup.com/

Lua scripts and mods:

MIssion Scripting Tools (Mist): http://forums.eagle.ru/showthread.php?t=98616

Slmod version 7.0 for DCS: World: http://forums.eagle.ru/showthread.php?t=80979

Now includes remote server administration tools for kicking, banning, loading missions, etc.

Link to comment
Share on other sites

  • 2 weeks later...
Scripting Engine can be used to perform the same actions the Trigger System and AI Tasking System developed for: group activation

 

There is no description of trigger.action for activating groups in the Eagle Dynamics wiki.

How can I activate groups through the Lua-script?

Крайняя версия MSF 1.0.1 (для 1.2.6.): http://forums.eagle.ru/attachment.php?attachmentid=89817&d=1382379803

 

Новая версия MSF 1.0.2 beta: http://forums.eagle.ru/attachment.php?attachmentid=93422&d=1390584292

 

Миссия для тестирования возможностей MSF 1.0.2: http://forums.eagle.ru/attachment.php?attachmentid=91514&d=1386954362

----

Руководство по MSF (не полная версия для MSF 1.0.2): http://forums.eagle.ru/attachment.php?attachmentid=92959&d=1389558825

Link to comment
Share on other sites

This is a nice feature. So in the future we can see a community website like the OFP/ARMA OFPEC with all kind of script examples and finished scripts we can use by just copy and paste?

 

That would be fantastic. That helped me alot with learning how to edit scripts and make fun missions i would not be able to do on myself.

Go in close, and when you think you are too close, go in closer.

Link to comment
Share on other sites

With aircraft we can change their flight plan to send em to any spot on the map. Ground units currently lack this capability.

 

I suppose that it's done by combining the "Switch waypoint" task with a Vec3... maybe sobstituting a particoular waypoint Vec3 attributes and then commanding the controller of the flights to move to that waypoint?

 

Anyway... can you please give me an hint about how to got that, if not too early? :)

ChromiumDis.png

Author of DSMC, mod to enable scenario persistency and save updated miz file

Stable version & site: https://dsmcfordcs.wordpress.com/

Openbeta: https://github.com/Chromium18/DSMC

 

The thing is, helicopters are different from planes. An airplane by it's nature wants to fly, and if not interfered with too strongly by unusual events or by a deliberately incompetent pilot, it will fly. A helicopter does not want to fly. It is maintained in the air by a variety of forces in opposition to each other, and if there is any disturbance in this delicate balance the helicopter stops flying; immediately and disastrously.

Link to comment
Share on other sites

sorry for double post, but i can't get answer on russian part of forum.

 

my question is about adding event's handlers. The way of adding custom event handlers doesn't work.

 

for test: i added simple script in the test mission:

 

function testEventHandler(event)
trigger.action.outText("raised event: " .. event.id, 10);
end;

world.addEventHandler(testEventHandler);

trigger.action.outText("event handler added!", 10);

 

this script must show text message on any event raised during the mission, but as i said, it doesn't work.

 

i don't know, maybe it's bug or i do something wrong?

Could somebody help me?

Крайняя версия MSF 1.0.1 (для 1.2.6.): http://forums.eagle.ru/attachment.php?attachmentid=89817&d=1382379803

 

Новая версия MSF 1.0.2 beta: http://forums.eagle.ru/attachment.php?attachmentid=93422&d=1390584292

 

Миссия для тестирования возможностей MSF 1.0.2: http://forums.eagle.ru/attachment.php?attachmentid=91514&d=1386954362

----

Руководство по MSF (не полная версия для MSF 1.0.2): http://forums.eagle.ru/attachment.php?attachmentid=92959&d=1389558825

Link to comment
Share on other sites

Woops, didn't notice the new posts from the last couple of days.

 

There is no description of trigger.action for activating groups in the Eagle Dynamics wiki.

How can I activate groups through the Lua-script?

 

Currently we cannot do it. The only decent work-around is to add a simple trigger like "flag x is true, activate group" and then use the scripting engine to set that flag true.

 

This is a nice feature. So in the future we can see a community website like the OFP/ARMA OFPEC with all kind of script examples and finished scripts we can use by just copy and paste?

 

That would be fantastic. That helped me alot with learning how to edit scripts and make fun missions i would not be able to do on myself.

 

That's the goal. Speed and I have a sizable library of functions already created, but we'd like to put a few more very important features + documentation in there before release.

 

I suppose that it's done by combining the "Switch waypoint" task with a Vec3... maybe sobstituting a particoular waypoint Vec3 attributes and then commanding the controller of the flights to move to that waypoint?

 

Anyway... can you please give me an hint about how to got that, if not too early?

 

Switch waypoint is only useful for pre-existing waypoints. The best solution is to assign the flight a new mission task with the WP at the Vec3 position. Below is an example of pushing a bombing task. Giving a new flight plan (mission task) is quite similar.

 

 

-- New bombing task using pushTask

function makeVec2(Vec3)
return {x = Vec3.x, y = Vec3.z}
end

do
local f15s = Group.getByName('f-15s'):getController()
local target = makeVec2(Unit.getByName('target'):getPosition().p)
local task = { 
		id = 'Bombing', 
		params = {
			attackQtyLimit = false,
			attackQty = 1,
			expend = "Auto",
			altitude = 8000,
			groupAttack = true,
			point = target,
			direction = 0,
			directionEnabled = true,
			altitudeEnabled = false,
			weaponType = 1073741822,											
		}, 
}
f15s:pushTask(task)
end
-- Works!

 

 

 

my question is about adding event's handlers. The way of adding custom event handlers doesn't work.

 

I haven't used event handlers yet, your best bet for an answer to your question is Speed as he is more knowledgeable in that area than I am.

The right man in the wrong place makes all the difference in the world.

Current Projects:  Grayflag ServerScripting Wiki

Useful Links: Mission Scripting Tools MIST-(GitHub) MIST-(Thread)

 SLMOD, Wiki wishlist, Mission Editing Wiki!, Mission Building Forum

Link to comment
Share on other sites

In your script the F-15s will bomb exactly to the "target" unit position, are they? really interesting :).

 

Another question, that could lead in modify my editing workflow: is there a way to know if a unit is visible in the f10 "fog of war" map?

 

reason: simulated on call CAS by AI or heli support.

 

Idea:

-enemy unit appear on the map -> a script activate flag "a"

-flag "a" call in the SLmod POS option "callin" and a text message "unit identified, call support" by inbuild trigger system

-player activate SLmod POS option "callin", activating flag "b"

-flag "b" run a script like the one you just posted, that lead air support (or "Heli support") to the coordinate of the enemy unit.

 

By-side, if the enemy unit will come invisible, the POS option will disappear (by SLmod scripting system).

 

The only difficulties I see is about:

1-the ability to use the fog-of-war "hide/visibile" state of a unit as condition;

2-the possibility to link the ability in point "1" to a group instead of a unit;

 

Till now, I'm also thinking about that the possibility to manually insert coordinates to lead a script function like yours will also do the trick (maybe in a more customizable way for ground controller).

ChromiumDis.png

Author of DSMC, mod to enable scenario persistency and save updated miz file

Stable version & site: https://dsmcfordcs.wordpress.com/

Openbeta: https://github.com/Chromium18/DSMC

 

The thing is, helicopters are different from planes. An airplane by it's nature wants to fly, and if not interfered with too strongly by unusual events or by a deliberately incompetent pilot, it will fly. A helicopter does not want to fly. It is maintained in the air by a variety of forces in opposition to each other, and if there is any disturbance in this delicate balance the helicopter stops flying; immediately and disastrously.

Link to comment
Share on other sites

I'm not sure what the rules for being revealed by the Fog of War are. Also I don't think we have access to that sort of information via scripting.

The right man in the wrong place makes all the difference in the world.

Current Projects:  Grayflag ServerScripting Wiki

Useful Links: Mission Scripting Tools MIST-(GitHub) MIST-(Thread)

 SLMOD, Wiki wishlist, Mission Editing Wiki!, Mission Building Forum

Link to comment
Share on other sites

my question is about adding event's handlers. The way of adding custom event handlers doesn't work.

 

I haven't used event handlers yet, your best bet for an answer to your question is Speed as he is more knowledgeable in that area than I am.

 

Hi,

 

i've found reason of problems with event handlers.

 

you have a mistake in the documentation (over there: http://en.wiki.eagle.ru/wiki/Simulator_Scripting_Engine/DCS:_World_1.2.1/Part_1#world).

 

function EventHandler(Event event)
  ...
end

 

is a handler of simulator event.

 

function world.addEventHandler(EventHandler handler)

 

adds event handler.

handler

- event handler. Must have prototype of EventHandler.

 

Pay attention on last expression:

event handler. Must have prototype of EventHandler.

 

it's not right!!!

 

let's look code in the file EventHandler.lua

 

world.eventHandlers = {}

 

function world.addEventHandler(handler)

world.eventHandlers[handler] = handler

end

 

function world.removeEventHandler(handler)

world.eventHandlers[handler] = nil

end

 

function world.onEvent(event)

for index, handler in pairs(world.eventHandlers) do

handler:onEvent(event) -- It is very strange way to call function, isn't it? ))))

end

end

 

as we can see, handler is not function, handler is a table!!!

The fact is, that handler gotta be table with method onEvent, and onEvent must have prototype of EventHandler!

 

I've tested my theory - it works pretty well!!!

 

here is an example: http://forums.eagle.ru/attachment.php?attachmentid=72562&d=1351529870

 

I've already asked to correct documentation in russian part of forum.

 

I'm sorry for my english. I hope, you could understand my idea.


Edited by BAntDit

Крайняя версия MSF 1.0.1 (для 1.2.6.): http://forums.eagle.ru/attachment.php?attachmentid=89817&d=1382379803

 

Новая версия MSF 1.0.2 beta: http://forums.eagle.ru/attachment.php?attachmentid=93422&d=1390584292

 

Миссия для тестирования возможностей MSF 1.0.2: http://forums.eagle.ru/attachment.php?attachmentid=91514&d=1386954362

----

Руководство по MSF (не полная версия для MSF 1.0.2): http://forums.eagle.ru/attachment.php?attachmentid=92959&d=1389558825

Link to comment
Share on other sites

I'm not sure what the rules for being revealed by the Fog of War are. Also I don't think we have access to that sort of information via scripting.

 

Than it could be more interesting trying to get something by a "secondary way", like a function where user insert L/L (decimal) or MSGR coordinates by chat to command the controller to do a particoular pre-defined task on that point.

 

-------------------

 

Example:

 

at the start of the mission a script command similar to SLmod.chat_cmd is run to ensure that when user type a keyword plus coordinates FLAG 9 is activated.

 

A pair of AH-1 are holding on an LZ (let's say that that's not a FARP, but a particoulad holding point.. on the ground or in orbit). They resume "breaking" the land or the orbit tesk by stop condition (let's say "IS USER" flag 10).

 

Than, by chat, user type the command + coordinates and activate flag 9. In the trigger system, flag 9 activate a script that add a CAS task located on a new added waypoint on the user coordinates. After 5 seconds, Flag 10 is activated also.

 

The AH-1 should start move to their new waypoint and initiate CAS task there.

 

-----------------

 

PS:

I'm just giving ideas.. about what I could find useful in this ME conditions, where Ground units are easily controllable while air units are not. ;). This is not a "I want" list or something similar: I know the amazing effort you are doing for us :)


Edited by chromium

ChromiumDis.png

Author of DSMC, mod to enable scenario persistency and save updated miz file

Stable version & site: https://dsmcfordcs.wordpress.com/

Openbeta: https://github.com/Chromium18/DSMC

 

The thing is, helicopters are different from planes. An airplane by it's nature wants to fly, and if not interfered with too strongly by unusual events or by a deliberately incompetent pilot, it will fly. A helicopter does not want to fly. It is maintained in the air by a variety of forces in opposition to each other, and if there is any disturbance in this delicate balance the helicopter stops flying; immediately and disastrously.

Link to comment
Share on other sites

  • ED Team

Is it possible to use this to set a trigger zone to only be effected by say ground units, so if an aircraft of the same faction flies through the zone it wont trip the trigger?

 

I was making a mission where a certain area needed to be held for a certain by ground units but it was triggered based on the unit being in that zone, any air units that fly through that zone also trigger that, but I dont want them to. SO I was hoping you could make a trigger zone just for ground units.

64Sig.png
Forum RulesMy YouTube • My Discord - NineLine#0440• **How to Report a Bug**

1146563203_makefg(6).png.82dab0a01be3a361522f3fff75916ba4.png  80141746_makefg(1).png.6fa028f2fe35222644e87c786da1fabb.png  28661714_makefg(2).png.b3816386a8f83b0cceab6cb43ae2477e.png  389390805_makefg(3).png.bca83a238dd2aaf235ea3ce2873b55bc.png  216757889_makefg(4).png.35cb826069cdae5c1a164a94deaff377.png  1359338181_makefg(5).png.e6135dea01fa097e5d841ee5fb3c2dc5.png

Link to comment
Share on other sites

Is it possible to use this to set a trigger zone to only be effected by say ground units, so if an aircraft of the same faction flies through the zone it wont trip the trigger?

 

I was making a mission where a certain area needed to be held for a certain by ground units but it was triggered based on the unit being in that zone, any air units that fly through that zone also trigger that, but I dont want them to. SO I was hoping you could make a trigger zone just for ground units.

 

Yes. I've been porting Slmod code over to the mission scripting environment so that some of the Slmod functionalities carry over there. This is one of them. Grimes and I are working on this together, in fact, it's been a bit on hold since I had to take this trip (I am in the process of moving out of Austin, so you know how it goes...), but we hope to get back to it soon.

 

Basically, here's the way you do it:

 

Use env.mission to make a database of units. env.mission contains all the data you need- such as unit name, unit type, etc.

 

Use Unit.getByName to get the Unit objects of these units. Use Object.getPosition to get their position, and use the .p component to get their map position.

 

Anyway, once we're done with the scripting library, it will have this functionality.

Intelligent discourse can only begin with the honest admission of your own fallibility.

Member of the Virtual Tactical Air Group: http://vtacticalairgroup.com/

Lua scripts and mods:

MIssion Scripting Tools (Mist): http://forums.eagle.ru/showthread.php?t=98616

Slmod version 7.0 for DCS: World: http://forums.eagle.ru/showthread.php?t=80979

Now includes remote server administration tools for kicking, banning, loading missions, etc.

Link to comment
Share on other sites

Hi,

 

i've found reason of problems with event handlers.

 

you have a mistake in the documentation (over there: http://en.wiki.eagle.ru/wiki/Simulator_Scripting_Engine/DCS:_World_1.2.1/Part_1#world).

 

 

 

Pay attention on last expression:

 

 

it's not right!!!

 

let's look code in the file EventHandler.lua

 

 

 

as we can see, handler is not function, handler is a table!!!

The fact is, that handler gotta be table with method onEvent, and onEvent must have prototype of EventHandler!

 

I've tested my theory - it works pretty well!!!

 

here is an example: http://forums.eagle.ru/attachment.php?attachmentid=72562&d=1351529870

 

I've already asked to correct documentation in russian part of forum.

 

I'm sorry for my english. I hope, you could understand my idea.

 

Yes, you're right, the documentation was never fixed for this. I'll get around to it when I get a chance.

 

The reason Saint (Святой) or I never fixed the documentation on this was because I had mentioned the awkward implementation and he had mentioned he would change how event handlers worked. So there was no point to fixing it until the final implementation, but I guess Saint was never able to get around to it. He is incredibly busy :)

 

Though Saint doesn't like it :D, an alternate method for handling events is like this:

 

do
    local old_onEvent = world.onEvent

    world.onEvent = function(event)
   
        <your new code>

        return old_onEvent(event)
    end
end


Edited by Speed

Intelligent discourse can only begin with the honest admission of your own fallibility.

Member of the Virtual Tactical Air Group: http://vtacticalairgroup.com/

Lua scripts and mods:

MIssion Scripting Tools (Mist): http://forums.eagle.ru/showthread.php?t=98616

Slmod version 7.0 for DCS: World: http://forums.eagle.ru/showthread.php?t=80979

Now includes remote server administration tools for kicking, banning, loading missions, etc.

Link to comment
Share on other sites

Will map objects be able to be set as mission goals with this new scripting as well? Such as a bridge?

 

Yes. When a map object dies, it generates a unit dead event. You can query the location of the map object with Object.getPosition (even AFTER it dies), and compare its run time id with the run time ids of the other active objects in the mission, as well as compare its position with the positions of static objects harvested from env.mission. Thus, you are able to determine if a map object died, and where it died at. It's rather complicated, but the scripting library Grimes and I are working on has this functionality already created for you.

 

An easier way to do it exists though- at least across the same patch, it appears that map object run time ids do not change. If you're looking for a specific map object to die, you can always harvest its run time id by killing it and then looking in debrief.log- debrief.log lists the run time id of destroyed objects. Now, in your mission, you can just make an event handler that does some action when that specific run time id is killed.


Edited by Speed

Intelligent discourse can only begin with the honest admission of your own fallibility.

Member of the Virtual Tactical Air Group: http://vtacticalairgroup.com/

Lua scripts and mods:

MIssion Scripting Tools (Mist): http://forums.eagle.ru/showthread.php?t=98616

Slmod version 7.0 for DCS: World: http://forums.eagle.ru/showthread.php?t=80979

Now includes remote server administration tools for kicking, banning, loading missions, etc.

Link to comment
Share on other sites

  • ED Team
Yes. When a map object dies, it generates a unit dead event. You can query the location of the map object with Object.getPosition (even AFTER it dies), and compare its run time id with the run time ids of the other active objects in the mission, as well as compare its position with the positions of static objects harvested from env.mission. Thus, you are able to determine if a map object died, and where it died at. It's rather complicated, but the scripting library Grimes and I are working on has this functionality already created for you.

 

An easier way to do it exists though- at least across the same patch, it appears that map object run time ids do not change. If you're looking for a specific map object to die, you can always harvest its run time id by killing it and then looking in debrief.log- debrief.log lists the run time id of destroyed objects. Now, in your mission, you can just make an event handler that does some action when that specific run time id is killed.

 

Excellent, will have to try playing with that when I get home. Thanks!!

64Sig.png
Forum RulesMy YouTube • My Discord - NineLine#0440• **How to Report a Bug**

1146563203_makefg(6).png.82dab0a01be3a361522f3fff75916ba4.png  80141746_makefg(1).png.6fa028f2fe35222644e87c786da1fabb.png  28661714_makefg(2).png.b3816386a8f83b0cceab6cb43ae2477e.png  389390805_makefg(3).png.bca83a238dd2aaf235ea3ce2873b55bc.png  216757889_makefg(4).png.35cb826069cdae5c1a164a94deaff377.png  1359338181_makefg(5).png.e6135dea01fa097e5d841ee5fb3c2dc5.png

Link to comment
Share on other sites

Is there a way to shut off the engines of an aircraft using the scripting engine?

 

Generally, I want to know how I can shut off the engines of a helo that has landed using the new "Land" action task.

Nice plane on that gun...

OS764 P930@4 MBUD3R M6GB G5870 SSDX25 CAntec1200 HTMHW

Link to comment
Share on other sites

While we can control where AI aircraft go and what sort of tasks they are allowed to do, we have no control over AI sub actions like engine shutdown.

 

The land action is there for AI helicopters to "drop-off, pickup" troops. Without it we had to set an orbit command with very low speed and low altitude to get AI helicopters to hover in position. It might be possible to get the fuel load just right so that after a few moments the AI will shut itself down cause it ran out of fuel.

The right man in the wrong place makes all the difference in the world.

Current Projects:  Grayflag ServerScripting Wiki

Useful Links: Mission Scripting Tools MIST-(GitHub) MIST-(Thread)

 SLMOD, Wiki wishlist, Mission Editing Wiki!, Mission Building Forum

Link to comment
Share on other sites

Interresting post, i've to learn more about le lua language :music_whistling:

 

With scripting, is it possible to send warning when a player (from blue coallition) shoot a unit of his coalition (friendly fire) ?

[sIGPIC][/sIGPIC]

 

Intel I7-960 / 12Gb Corsair DDR3 Ram / Asus GTX980 Ti Strix / Asus PB287Q / TIR 5+Clip Pro Logitech G13/ TM Warthog N°01295 / Saitek Combat Rudder Pedals / Win Seven 64bits/ TM Cougar MFDs (Vers. 1) / 1 Syncmaster 206BW running Helios

Link to comment
Share on other sites

I see. Thanks for the answer. I've used the "orbit" hack a few times in my missions, so this was really a nice addition. I'm thinking of two ways to hack an engine shut down:

 

1. Is it possible to set the fuel of an aircraft either with scripting or GUI?

2. Is it possible to enable engine failure either with scripting or GUI?

 

Lost

Nice plane on that gun...

OS764 P930@4 MBUD3R M6GB G5870 SSDX25 CAntec1200 HTMHW

Link to comment
Share on other sites

With scripting, is it possible to send warning when a player (from blue coallition) shoot a unit of his coalition (friendly fire) ?

 

I think it is possible as *I think* something like that is in SLMOD and quite a bit of the stuff in SLMOD also works with the scripting engine.

 

1. Is it possible to set the fuel of an aircraft either with scripting or GUI?

2. Is it possible to enable engine failure either with scripting or GUI?

 

The scripting engine can't spawn in units dynamically, everything must be placed in the editor beforehand. To set fuel in an aircraft, select the aircrafts payload tab. By default all aircraft start at 100% fuel.

 

2. No we can't induce failures on AI aircraft with either the editor or scripting engine.

The right man in the wrong place makes all the difference in the world.

Current Projects:  Grayflag ServerScripting Wiki

Useful Links: Mission Scripting Tools MIST-(GitHub) MIST-(Thread)

 SLMOD, Wiki wishlist, Mission Editing Wiki!, Mission Building Forum

Link to comment
Share on other sites

I think it is possible as *I think* something like that is in SLMOD and quite a bit of the stuff in SLMOD also works with the scripting engine.

 

Wow that could be very immersive (by i can't understand why it has not been implemented before).

 

i tried to understand the structur of the scripting code to implement. I have to learn about the language (have study C 10year ago and didn't practice for a long time).

 

Someting like that should be good ?

do

myCustomEvent = {}

 

function myCustomEvent:onEvent(blue_on_blue)

blue_on_blue = {

id = S_EVENT_HIT

initiator = BLUE

target = BLUE

}

trigger.action.outSoundForCoalition(BLUE, soundFile)

trigger.action.outText("BLUE ON BLUE! BLUE ON BLUE!", 20)

end

end

[sIGPIC][/sIGPIC]

 

Intel I7-960 / 12Gb Corsair DDR3 Ram / Asus GTX980 Ti Strix / Asus PB287Q / TIR 5+Clip Pro Logitech G13/ TM Warthog N°01295 / Saitek Combat Rudder Pedals / Win Seven 64bits/ TM Cougar MFDs (Vers. 1) / 1 Syncmaster 206BW running Helios

Link to comment
Share on other sites

I've got one problem after dcs world update 1.2.2:

 

I can not get units of aircrafts in multiplayer game, if they are assigned in mission editor as Client.

 

function Unit.getByName(string name) always return nil, even if unit is under control of player.

Крайняя версия MSF 1.0.1 (для 1.2.6.): http://forums.eagle.ru/attachment.php?attachmentid=89817&d=1382379803

 

Новая версия MSF 1.0.2 beta: http://forums.eagle.ru/attachment.php?attachmentid=93422&d=1390584292

 

Миссия для тестирования возможностей MSF 1.0.2: http://forums.eagle.ru/attachment.php?attachmentid=91514&d=1386954362

----

Руководство по MSF (не полная версия для MSF 1.0.2): http://forums.eagle.ru/attachment.php?attachmentid=92959&d=1389558825

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...