[ACS] Conversations in ACS: Freezing in place

Discuss all aspects related to modding Zandronum here.
Post Reply
MCFreak
 
Posts: 35
Joined: Tue Nov 19, 2013 12:22 am

[ACS] Conversations in ACS: Freezing in place

#1

Post by MCFreak » Thu Aug 02, 2018 1:47 am

I made a conversation system in ACS, but I'm having a problem freezing the player in place during the conversation. The past few tests have been mind wrecking: Either all players would freeze, or no players would freeze - or there would be a weird mix of in-between where the conversant doesn't get frozen but the rest do, and many more, but i cannot remember them all. At first I was using a clientside script as the originator - it gets activated by a interactive execute always linedef - from there it would request a puke for a NET script - the only problem is it taddle tales to everyone the first time it executes, and it executes for the amount of connected players, so everyone gets frozen, but when it requests again to release the conversant, it executes only once, and it releases him, but not the rest (because they weren't supposed to be frozen in the first place).

The rest was at least solved fine and dandy, and i went from using a StrifeDummyItem as an inventory flag to a clientside CVar, which seems to work better.
I won't post the code, because frankly, in my frustration and 3000 changes to it, there is no base on the necessary parts.

This has become extremely frustrating and I am running out of ways to try and solve this. Thank you for the help in advance!
Spoiler: (Open)
P. S. - The reason I made a conversation system in the first place was because the current advanced dialogue system works fine in singleplayer, but for whatever reason does not allow for a conversation in multiplayer. It just exits out of it as if I've said goodbye. The only working conversation system I've seen work on multiplayer is the old strife binary dialogue system on the hexen map format.

User avatar
Empyre
Zandrone
Posts: 1316
Joined: Sun Jul 08, 2012 6:41 am
Location: Garland, TX, USA

[ACS] Re: Conversations in ACS: Freezing in place

#2

Post by Empyre » Thu Aug 02, 2018 9:40 pm

How are you specifying who gets frozen? If the script freezes the activator, only one player should get frozen.
"For the world is hollow, and I have touched the sky."

MCFreak
 
Posts: 35
Joined: Tue Nov 19, 2013 12:22 am

[ACS] Re: Conversations in ACS: Freezing in place

#3

Post by MCFreak » Sun Aug 05, 2018 1:01 am

Specifying with SetPlayerProperty(0, 0 or 1 depending on exit/enter ,PROP_TOTALLYFROZEN); - Let me clarify: only the first time interaction when someone unique (different player) interacts will freeze everyone. So player 1 would interact, the NET script tells to EVERYONE (even though it shouldn't) to freeze, player 1 exits the conversation, the NET script tells only player 1. If player 1 were to do it again, it wouldn't happen again, but with player 2, 3, 4, it would happen all over again in the same sequence like the just-described-Player 1.

I don't understand why it freezes everyone even though it's specified only to freeze the ACTIVATOR. Maybe the activator just gets lost in the process, but judging by the fact that the script executes for the amount of players (AND SPECTATORS AFTERWARDS), maybe it switches through the players and sets them as activators..?
And yet it's still the strangest thing! Why would it do that at the first activation, when it doesn't do that when the converser exits out of a conversation?

User avatar
Empyre
Zandrone
Posts: 1316
Joined: Sun Jul 08, 2012 6:41 am
Location: Garland, TX, USA

[ACS] Re: Conversations in ACS: Freezing in place

#4

Post by Empyre » Sun Aug 05, 2018 6:24 am

I have done the same thing to freeze a player while he is viewing a camera, and never had that problem. Maybe making the script clientside is messing things up.
"For the world is hollow, and I have touched the sky."

MCFreak
 
Posts: 35
Joined: Tue Nov 19, 2013 12:22 am

[ACS] Re: Conversations in ACS: Freezing in place

#5

Post by MCFreak » Sun Aug 05, 2018 1:50 pm

Perhaps, but I can't think of a better way to have a smoothly controlled menu. Again, I'd use the damn universal dialogue system, but for whatever reason it doesn't work online in 3.0. Not even the damn binary system which USED to work.

There's no option, i have to make the script clientsided, or else the menu does not work. I think I'll just go back to the universal dialogue system even though it doesn't work on multiplayer. Thanks for the help anyway.

Lollipop
Zandrone
Posts: 1123
Joined: Tue Jul 24, 2012 10:34 am
Location: Denmark

[ACS] Re: Conversations in ACS: Freezing in place

#6

Post by Lollipop » Sun Aug 05, 2018 2:19 pm

You use a serverside script to freeze the player and initiate the clientside script with the playernumber as argument. The clientside script will then terminate if the playernumber isn't the one of the console player.
At least that is how I remember it, I don't remember exactly how to pull this trick. A feature for a server to run a clientside script for a specific player with a callback guarantee would be cool for this purpose, though.
I did a menu in this sort of fashion before, although activated by linedef but whatever, but I don't have it on this machine and I'm not going to boot up my other computer just to find the file.

I hope this helps but I haven't done Doom modding for real in around half a year so take it with a grain of suspicion. ;)

MCFreak
 
Posts: 35
Joined: Tue Nov 19, 2013 12:22 am

[ACS] Re: Conversations in ACS: Freezing in place

#7

Post by MCFreak » Sat Aug 11, 2018 12:56 am

I tried this possibility as well, but because again, the NET script taddle tales to everyone, everyone gets unfrozen, so people in a conversation will still get unfrozen - DESPITE THE FACT THAT IT'S SET ONLY TO FREEZE/UNFREEZE THE DAMN FUCKING ACTIVATOR.

Thanks for the suggestion though, I tested it again, avast, to no avail.

MCFreak
 
Posts: 35
Joined: Tue Nov 19, 2013 12:22 am

[ACS] Re: Conversations in ACS: Freezing in place

#8

Post by MCFreak » Sat Aug 11, 2018 1:10 am

Feels like I've tried everything to this point now, I don't know how else I would do it because this is a really weird technicality the NET script does.
I give up. Please fix the strife dialogue systems to again work in multiplayer. Please.

User avatar
Empyre
Zandrone
Posts: 1316
Joined: Sun Jul 08, 2012 6:41 am
Location: Garland, TX, USA

[ACS] Re: Conversations in ACS: Freezing in place

#9

Post by Empyre » Sat Aug 11, 2018 4:00 pm

On the top of the page is a link to the Tracker. That is where you should report bugs and/or request features so the devs will see it, but check first to see whether it has already been reported/requested.
"For the world is hollow, and I have touched the sky."

Post Reply