There seems to be a bug in the link event.
It always executes the whole external event sheet even thought the number of events is limited in the link event. (see example)
By the way, how is the “only events x to y” supposed to work? Does it only include events from the top level of the hierarchy? Or could one also enter something like “1.1 to 1.4”?
LinkEventBug.zip (1.7 KB)
Yes, but I think the feature (to select the events to include) should be removed as I don’t think it’s a good practise to use it (can easily be the root of many problems if you forget to update the events numbers).
That’s true. I think it would be better to link to a group event instead of line numbers. That way one doesn’t have to keep track of the line numbers and as a side effect it would be clear on first sight what the code block belongs to.
Yeah, link to an event group would be a cleaner solution. Of course it would be less powerful too, but this way you avoid the problem of updating events numbers actively
Or just allow to link to full scenes / external events (because we can’t make sure that group’s names are unique).
Link to groups instead of line numbers is a great idea in my opinion. To make sure group names are unique is totally up to the user and what would be the point to name two different groups exactly the same anyway
I don’t think groups with the same name in the same event would be often the case.
But even if it the case, to avoid groups with the same name, when we choose groups to link to, GDevelop could pick and display all the groups from the specific event so we can choose from a list, in case there is two groups with exactly the same name, even the less experienced users should realize "hey, I need unique group names to make this work because I don’t know which one to choose from the list "
But even if there is no list and we need to type in the group name manually I think it obvious we need unique group name to make this work
Completely removing the option to trigger only specific parts of a linked event would be a huge loss.
Make something limited only to avoid less experienced users getting problems makes no sense to me
In my opinion, I think it can enforce people to better organize their external events. If they want to only include some events, that means they should divide their external events into multiple external events, thus improving their game’s modularity.
This is true, but it depends on the complexity/size of the events, for example, in programming it’s classic to have a module to do common math operations, you don’t have a module to do “add”, and another to do “subtract” (in a GD game, you could have an external event with the logic to apply some status conditions to the player, as poison, sleep, paralysis, etc.)
Of course you do not have a single module to do player mechanics and AI mechanics, and you should divide the “code” in external events, this way it depends on complexity.
I’ll try to come up with an implementation of this.
If the external event contains groups with the same name, what do you think GDevelop should do ?
- Display a warning and ignore the link OR
- display a warning and link to the first correctly named group OR
- link to all the correctly named groups (keeping the order).
There’s also the group events as sub-events : I think they should be dismissed for now.
Personally, I think the user should be forced to name the group with an unique name at first place (at the moment of creating it, if there is another group in the external event with the same name), it’s not cool to have three groups named “Player” in the same external event, plus you won’t have problems with the linking.
Of course it isn’t very possible, for example there could be saved projects with repeated group names, and it’s some aggresive(?) anyway…
So, I vote for 2 (display warning, and use the first group).
Absolutely, and what a super sub-event by the way!
I think the best thing would be to add a combobox to the link dialog where you can pick a group event by name. If there are multiple events with the same name display all of them. When the game dev is unable to distinguish them in the list he will rename the events in the external event sheet by himself. I don’t think a warning is needed.
I think subevents shoud be ignored. They cause too much confusion.