Jump to content
Sign in to follow this  
djporternz

Syncing Modules in Eden

Recommended Posts

Okay, this is second nature to me in the 2D editor and everything works fine there and I can even import 2D edited missions with module sycing into Eden and have the links show up, but for the life of me I can't work out how to get modules to sync in Eden.

 

Specifically I'm trying to re-create a standard Artillery Support linked to a single mortar. I realise I'm probably just overlooking something extremely basic here, but if you could throw me a few crumbs it would be appreciated. Specifically I can't get the mortar to sync to the required modules.

Share this post


Link to post
Share on other sites

Solution found hidden behind the Right-click menu for the mortar: Connect.. -> Sync To...

Share this post


Link to post
Share on other sites

What about syncing a map object? In the 2D editor, you could show object IDs and sync triggers to buildings and such, but I can't find that button anymore, and nothing pops up when I open the sync menu. Am I missing something simple?

Share this post


Link to post
Share on other sites

I think in the second 'page' of 'Switching from 2D Editor' tutorial it's said that interaction with map objects is a discontinued feature.

Share this post


Link to post
Share on other sites

[...] it's said that interaction with map objects is a discontinued feature.

...wait, what?

:huh: :mellow:

 

One would have assumed that especially this, interaction with map objects, would be finally easier and more comprehensive... I mean, with a 3d editor, you might as well have a dummy simulation thing going, and everything you do gets 1) executed and 2) put into some autogenerated (and hidden; burried in the sqm file) init-script that will be executed before the mission starts.

 

Linking/syncing map objects? Pfff, that should be super easy.

What about:

  • destroying map/world objects like houses, streetlamps, or vegetation? (we still can't delete stuff, without having to reload the map afterwards, hu?)
  • selecting a building, and choose from a suitable interior-composition. Simple stuff. :)
  • maybe not related to map objects, but putting units into certain animations should be easy now; guess that too requires some kind of simulation, no?
  • and what not...

I mean... come on. :rolleyes:

Maybe some dev might wanna clarify what will be possible/what's planned for, or something?

Share this post


Link to post
Share on other sites

Maybe some dev might wanna clarify what will be possible/what's planned for, or something?

How about a... nope? :D Being a dev myself, it's hard to promise things when you can't predict the deliverance on a 'days accuracy'. 

 

But surely all of the features you've listed would make our lives much easier. BIS would finally have a solid full-featured level editor, just like all the other major AAA game engines.

 

How about making a thread with all suggestions (perhaps some of them expressed visually?)?

Share this post


Link to post
Share on other sites

So how do we set up a destroy the building mission if we can't see the object IDs or link a trigger to a building? Or start a mission with a destroyed building/tree? Every method I've seen requires the object ID.

Share this post


Link to post
Share on other sites

Any interaction with map objects is unreliable, and have been for some time. Each objects is identified by unique number; however, that number often change when terrain data are updated. This hasn't been a problem in previous projects, where terrains were not patched anyway for various reasons (e.g., lack of incremental patching on Steam, leading to large patch files in the era of not so fast internet). But updating a terrain is not an issue these days, and missions relying on object IDs could break after each patch. Imagine a scenario where player has to destroy a building in order to continue. When IDs change, the ID could now be pointing to a random bush kilometers away and the mission would be stuck.

The ideal solution would be to fix terrain processing technology, so IDs would remain unique no matter what. However, that would require major change in Terrain Builder, and it's not something Eden can affect in any way. In the end, we decided to not feature any map object interactions (i.e., attaching waypoints and syncing triggers on map objects, as well as showing their IDs), to avoid confusion and prevent potential problems with missions.

 

I recommend to use nearestObject with position and class name as parameters. When you're detecting a building of specific type on given position, it will work even after terrain update. Unless building's position changes as well, which is less likely though. This solution works only with objects that actually have a class name, which sadly excludes all vegetation.

 

I hope this answers your questions, even though it may not be the answer you hoped for.

  • Like 4

Share this post


Link to post
Share on other sites

I recommend to use nearestObject with position and class name as parameters. When you're detecting a building of specific type on given position, it will work even after terrain update. Unless building's position changes as well, which is less likely though.

Yep, somehow I just don't see how this is a problem though.

 

So we can't (or shouldn't) refer to map/world objects by id. But hey, that's fine. Nobody cares about those ids anyways; it's an implementation detail better left hidden (because it can change). This, frankly, is no new problem and it's easily solved by proxying such objects.

 

Thus, what we need are proxy map/world objects, that do the nearestObject stuff internally and which would translate to some (hidden) init-script burried in the sqm file (or what not...). Simply make such a proxy object snap to the nearest world object it can find by default, and maybe give us an option the further restrict/define the classes to look for. Id's can change, nobody will care or even notice. Problem solved, no need to change the implementation of the terrain or what not.  B) 

 

This solution works only with objects that actually have a class name, which sadly excludes all vegetation.

Yeah, too bad not all objects have proper classes defined. But even here a proxy might just work fine. It's not that nearestObject doesn't find such objects. It's just that typeOf _x returns an empty string. However, format["%1", _x] gives us the filename of the object, with which you can classify stuff (either by direct mapping, or regex, or what not...). Moreover it might not even be necessary to know anything about the class of a map/world object. Just have the proxy snap to the nearest object it finds, and be done with it.

 

Sure, this would probably restrict options we could do to such an object (e.g. for lights we should be able to turn em on or off, for gates/door we might want to open/close them, for buildings there should be a streamlined option to pick from interior compositions, ...); yet we might still be able to at least damage/destroy it, no? :ph34r:

 

EDIT: And if you save the object behind such a proxy (or rather a hash of it) too, then you can savely warn the user in case the proxy should find a different object - all of a sudden (due to map changes or what not...).

  • Like 2

Share this post


Link to post
Share on other sites

well, my English is poor, so may be I'm failing some Hint, but I tried to trigger an object (radio antenna) existing on he map using nearestobject, putting in init of a gamelogic something like this  tower1= nearestObject [3065.6,6189.7,0] (position logged from EDEN), and trigger activated by  "!alive tower1" don't work for me.....

sorry for my bad English again, but anyone can help me to understand where I'm wrong? 

Share this post


Link to post
Share on other sites

It is also impossible to make unit patrol into the buidings like before. That was a nice feature even if it was not very straitgh foward. Imagine if we could now see all the Position in a building in 3D.... 

 

Sometimes i think that EDEN was design to help standard players create mission.. instead of helping mission makers get more control on stuff while facilitating some stuff that took time.

Share this post


Link to post
Share on other sites

It is also impossible to make unit patrol into the buidings like before. That was a nice feature even if it was not very straitgh foward. Imagine if we could now see all the Position in a building in 3D.... 

 

Sometimes i think that EDEN was design to help standard players create mission.. instead of helping mission makers get more control on stuff while facilitating some stuff that took time.

 

You might want to check out larrow's awesome mod for that https://forums.bistudio.com/topic/188501-eden-building-postions-plugin/

Share this post


Link to post
Share on other sites

FYI, 

 

For those of you following this thread in the hopes of finding a solution to Show Object ID's with the 3d editor, hmarcbower shared with me an earlier post in a different thread by cobra4v320 have a look; 

 

https://forums.bistudio.com/topic/188926-3d-editor-show-object-ids/

 

we've tested it and it works. 

 

Theopolus AKA JESTER at Battleboys ArmA

 

Share this post


Link to post
Share on other sites

First of all, go to the "Debug Console" in the "Tools" menu you have in your Eden 3D editor.
Type in the following:

do3DENAction "ToggleMapIDs";

..and press the "LOCAL EXEC" button. This will show you all the object IDs to all default map objects, such as radiotowers, buildings, bridges, bushes, trees so on and so forth etc. etc. etc. Run it again to turn it off again.

Now, i'll type up an example on how to blow up a default radio tower on a map, and get a trigger to register this as part of your mission.

Step 1:
Find yourself a suitable target, in our case - a radio tower on the map by default. 

Step 2:
Place a "Game Logic" ontop or near it, from "Objects" in the "Logic Entities" selection (F5 (Systems) --> Logic Entities --> Objects --> Game Logic).

Step 3:
In that the "Game Logic" init field, type as an example:

Target1 = (getPos this nearestObject 224112);

// Target 1 is what the "Variable name" will be.
// 224112 is the object ID of that spesific radiotower/object, now visible on the map, from running the code at the top of this post in your debug console.

Hope it helps!

 

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×