Modding, Mission Design, and Coding > The FRED Workshop

Messages being sent from Command, despite being sent from an in-field ship?

<< < (2/3) > >>

zonination:

--- Quote from: SilverAngelX on April 01, 2021, 07:54:23 am ---You could try to make that message event dependent on the arrival of said ship to make sure that the engine knows it's there before it tries to send the message.
--- End quote ---

MY GOD. THIS HAS BEEN HAUNTING MY NIGHTMARES AND IT FINALLY WORKED.

For the record, here's what I did:

* I had to un-chain the events.
* I had to make the SEXP of the Ace arrival trigger an event, not the other way around. (Noted: The events should be dependent on wing arrivals.)
* I had to time the events (since it was a chain, after all), to tie in the previous order of events. (Cest la vie.)
I can finally continue with my awful mission. But why do chains not work? I have a freighter (the Menes) that works in a previous chain, and is communicating just fine with the Ace.

Oh well. I de-linked the dependency and I'm much more happy with the results.


--- Quote from: MitoPL on April 01, 2021, 09:15:01 am ---I have met a similar curiosity some time ago. Turns out that if you use send-message-list and one of the ships that are supposed to send messages has not yet arrived when the SEXP is triggered, even if they are in mission when their message itself is being played, the message will act like they were never there (therefore its sender will default to Command). Maybe you could verify if that isn't the case somehow.

--- End quote ---

The mission is already timed such that the wing/ship arrives before the send-message-list (or at the same time). I don't understand why de-chaining it worked, but it did.

For the record, the way I have it: the Ace warps in, and then the send-message-list starts.

0rph3u5:
Workaround for an immediate fix could be to use a string variable for sender's ID in the SEXP, with the a # added in the default value for any message to be send before the ship arrives and the variable switching over to remove the # when the ship present (or alternatively add it when the ship is dead or departed) - see attachment.

zonination:

--- Quote from: 0rph3u5 on April 01, 2021, 09:32:00 am ---Workaround for an immediate fix could be to use a string variable for sender's ID in the SEXP, with the a # added in the default value for any message to be send before the ship arrives and the variable switching over to remove the # when the ship present (or alternatively add it when the ship is dead or departed) - see attachment.

--- End quote ---

I'll file that away in my brain for further FREDding hacks. Thank you!

SilverAngelX:

--- Quote from: zonination on April 01, 2021, 09:30:20 am ---The mission is already timed such that the wing/ship arrives before the send-message-list (or at the same time). I don't understand why de-chaining it worked, but it did.

--- End quote ---
You have to be careful with timing your messages to be executed at the same time as an arrival if they don't actually have that arrival as a condition. It could then happen that the event is executed before the arrival (albeit only a few milliseconds) and then the message will got to Command. For that reason I've made it a habit to always add one or two seconds delay between an arrival and an associated message. Even if the arrival is the condition of the event I usually add a few seconds delay, because for lore reasons I find it more natural to give an arrivee a few moments to get a look at the area before they send a message.


--- Quote from: MitoPL on April 01, 2021, 09:15:01 am ---I have met a similar curiosity some time ago. Turns out that if you use send-message-list and one of the ships that are supposed to send messages has not yet arrived when the SEXP is triggered, even if they are in mission when their message itself is being played, the message will act like they were never there (therefore its sender will default to Command). Maybe you could verify if that isn't the case somehow.

--- End quote ---
That was my problem too. The ship arrived during the message list but wasn't there at the start of the event. So it appears the message-list SEXP checks if all required ships are present for all messages at the start of the event and not for each message when it is due.

zonination:

--- Quote from: SilverAngelX on April 01, 2021, 02:38:49 pm ---
--- Quote from: zonination on April 01, 2021, 09:30:20 am ---The mission is already timed such that the wing/ship arrives before the send-message-list (or at the same time). I don't understand why de-chaining it worked, but it did.

--- End quote ---
You have to be careful with timing your messages to be executed at the same time as an arrival if they don't actually have that arrival as a condition. It could then happen that the event is executed before the arrival (albeit only a few milliseconds) and then the message will got to Command. For that reason I've made it a habit to always add one or two seconds delay between an arrival and an associated message. Even if the arrival is the condition of the event I usually add a few seconds delay, because for lore reasons I find it more natural to give an arrivee a few moments to get a look at the area before they send a message.

--- End quote ---

Hey question... in this SEXP (among others) I had triggered Gamma's arrival to ReliefArrives. They had 3000ms to saddle up and start talking.

So... why didn't they? Why did I have to do it in reverse: slave an event to Gamma wing's arrival instead?

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version