Multiplayer Scripting?
-
Necro-post. I’ve made some great progress in making multiplayer scripting practical, and I think bumping this thread would gather more attention than my other post that goes into more detail.
-
I had a short look at mission scripting (launching them via flhook).
The main remaining bug seems to be that missions are paused when somone leaves the server (they are not destroyed, they just won’t continue).Act_StateChange = SUCCEED is crashing my server.
A workaround could be actually using FAIL (as KJ mentioned) and patching out the window which pops up.
NO_STATE would actually work too but it won’t destroy the mission.The best way would prolly be to trigger a FLHook callback func when the Act_StateChange event is fired.
The mission ini will be read when you start the mission.
It seems that there’s a function @ ElapseTime which calls the events.
That’s all so far.
-
Crazy wrote:
…
The main remaining bug seems to be that missions are paused when somone leaves the server (they are not destroyed, they just won’t continue).Act_StateChange = SUCCEED is crashing my server.
…Unbeliveable.
Without special hook all ok.
It is for vanilla - right? -
Hello
I just thought about playing the story with more people… Because i can’t mod, i searched trough the internet and found this topic. I have an idea for the problem, you mentioned (if died, you have to restart, then the server makes too much missions “x times in a row”. I don’t know, whether it works, and i don’t know how much work it is. But i know, if it works and one mods it, much people will be thankful.Ok, i go trough the whole Story, and describe, what my idea is.
Ok, first you create a server, and make it joinable, or not, if you already started the storyline. This server (if joinable) must have the start with no plane and 500 credits, the same as the starting amount in the story. But the story hasn’t start jet. It starts if you type in the console the command “/start Story”, so you can wait for other people. But better is to make it in LAN, so a private session. More than 3 players aren’t that good for story. If you type “/start Story”, you’ll see the intro-scenes with the destruction of Freeport 7, then the scene, when Trent lands on Manhattan. Everyone sees it, and it isn’t that bad, if some people are slower than others. Than you do the same as in the Story, go to the Bar, talk to Juni, and so on. When you have to go to the orbit, you can start but you won’t fly into the orbit. If you press the Start-button, a window is opened where stands “waiting for players to undock”, with an “abort-button” under it. When all pressed the Start-Button, you will fly into the orbit. You can press the card away, when all pressed it away, you’ll fly into the space. Then the movies begin, now everybody has to have the same status. Otherwise the Donau will destroy 1 second after the other. You have to synchronize it. Then you destroy the 5 order-ships. After that, King talks to everyone of you. Then the story goes like it goes ever. You have to dock at the tradelane, and so on. In Story-Missions the movies and undocking of bases/planets goes like i described it. This way, it works. After finishing a Story-mission, it goes like in normal multiplayer. The first person who reaches the next level, decides when to go on to the next story. Everybody then has to finish what he/she does, and fly to the planet/station he/she is told. Then the next Story-Mission begins.
If one person gets a bad connection and is kicked from the server, the mission will be lost. The same is when ONE person is dead. The server will go in pause-mode and all players will see a “Mission failed”-window. Then they go to the last planet/base, all of them, not only the dead player. This avoids playing on different storys. If they played different storys, they could play singleplayer.Movies in the space are the original, so you won’t see any other player.
Hope to get an answer, with criticism, and the answer, whether this is possible or not. If it’s possible, questions to single aspects are good.
Greetings
SilvermanEDIT: I can also speak German, if you would prefer it.
-
I’ve wondered about how a co-op campaign would turn out as well. The main difficulty would be getting it to synchronize for all players. About this:
Silverman wrote:
If one person gets a bad connection and is kicked from the server, the mission will be lost. The same is when ONE person is dead. The server will go in pause-mode and all players will see a “Mission failed”-window. Then they go to the last planet/base, all of them, not only the dead player. This avoids playing on different storys. If they played different storys, they could play singleplayer.
Instead of the campaign mission failed, I’d suggest having the server kill all the other players if one of them dies during a campaign mission. This would create the same effect, but you won’t have to worry about the crash when you press respawn using the original “Mission Failed Dialog” because it just uses the standard Multiplayer Death Dialog. You might want to buff some NPCs in the missions as well to encourage teamwork, because even the hardest NPCs wouldn’t have been designed to be attacked by 3 players at once. One player is much more dangerous than a few NPCs, so add a few more players and the missions could become too easy.
-
To the first: I don’t understand, why all players should be killed. Is it easier to make? Or why?
To the second: Yes, we could also rewrite the storyline (without sarcasm). Seriously. Make another character or two.
We also could make more bots for each mission. But for example the Mission where you have to flee out of Liberty. I find, there are enough bots. I didn’t finish this mission earlier, am now trying to finish. There 2 characters would help a lot.
Greetings
Silverman -
I know it’s possible, and i played from Start to end, when not able to continue, with a Cheat. But I don’t want easier missions, that’s what i can create myself (just lower the Difficulty Scale). I want to play with other people the great story. So pls tell me whether this works or not.
Greetings
Silverman -
Silverman wrote:
To the first: I don’t understand, why all players should be killed. Is it easier to make? Or why?
To the second: Yes, we could also rewrite the storyline (without sarcasm). Seriously. Make another character or two.
We also could make more bots for each mission. But for example the Mission where you have to flee out of Liberty. I find, there are enough bots. I didn’t finish this mission earlier, am now trying to finish. There 2 characters would help a lot.
Greetings
SilvermanWell, the first one is that if you use the “Mission Failed” dialog from the SP Campaign in MP, pressing the respawn button would cause FL to crash. http://www.memes.no/88flak/forum/viewtopic.php?t=1575 But if you make the other players get blown up by the server when one of the players die, then the normal “You have died” dialog will show up instead and the players can respawn without a crash.
Difficulty could just be making the guns stronger instead of more bots, but then again as you said most missions in FL are difficult enough that you wouldn’t need to make them tougher.
Is it possible? Probably, but it’s likely it would be very hard to make it work because it’s trying to make complex scripting made for one person work for several people without problems.
-
Ok, understood.
Is it possible? Probably, but it’s likely it would be very hard to make it work because it’s trying to make complex scripting made for one person work for several people without problems.
It would be nice, if it could work. Maybe you would have to rewrite the storyline that it’s possible but i won’t do that without a word that it will be scripted then. Ok, if it’s possible, does anybody want to do that? I think, for example the Crossfire-Mod would be great for it. Just a thought of mine ^^
Greetings
Silverman -
At least it does not work if you use the original campain, even if you just paly with one player in mp.
-
hmm
do you think of the Osiris-Jump-Scenes?
Apart from them i couldn’t think of any other scene which would be impossible to create. You have to restile for example Omicron Minor, with a Jump Hole in Alaska, and Jumpholes to every Omicron Major-System.
Greetings
Silverman -
Silverman wrote:
hmm
do you think of the Osiris-Jump-Scenes?
Apart from them i couldn’t think of any other scene which would be impossible to create. You have to restile for example Omicron Minor, with a Jump Hole in Alaska, and Jumpholes to every Omicron Major-System.
Greetings
SilvermanDo you mean the way the Osiris teleports you around? Like after you blow up the Nomad Battleships in Frankfurt you dock on the Osiris and suddenly you’re in New York for the next mission? Or how you dock with the Osiris in Zone-21 in New York but put in Omicron Minor? I’d imagine that would work just fine.
-
Try it and you’ll see, not even the first mission works unmodified.
-
@Xalrok: ok…
@Quarks: That’s the problem, I don’t know how. I can’t script (well, i can, but it’s very bad and i use copy and paste for what i want to have) and i don’t know how do get these missions on a server.
And I don’t think of Unmodified, I would modify every mission (not as a script but normal text, you’d have to script) to make it work in multiplayer. I think that means creating a second (third fourth…) character, giving him/her exact mission details and so on. Or am i thinking wrong and it is quite more? If yes, tell me. It’s how i said I am a complete noob in that topic.
Greetings
Silverman -
Well, I don’t know too, amd I don’t think anybody here really knows as you might have read.
-
HeIIoween wrote:
Crazy wrote:
…
The main remaining bug seems to be that missions are paused when somone leaves the server (they are not destroyed, they just won’t continue).Act_StateChange = SUCCEED is crashing my server.
…Unbeliveable.
Without special hook all ok.
It is for vanilla - right?Act_StateChange = SUCCEED doesnt cause any problems for me, it just continues with the next mission.