I'm not sure how the replay feature works, but I assume that it just records events and actions and replays it on a copy of the map from the bnet servers.
Which means that all our triggers run as normal.
That's what I assume.
And if that's true, there should be some way to detect that we're in a replay and do things differently.
I've tried the return values from GameIsSpeedLocked(), GameIsSeedLocked() and GameIsOnline(), but they are all the same as when playing in the arcade.
Basically what I want to do is show additional information in replay mode for the viewer, but not show it to the player while in the game.
I used to do something simillar to what Funkyusername is saying. use the player settings in the editor to create a designated "observer" player which is set to computer only. give this player full map vission and display relevent dialog stuff to that player.
In the replay viewer you can set the camera to be that players vesion and you get to see the dialogs.
As a side note: I wish there was a way to step through the code on a replay or use the actions in one replay on a modified version of the map for the purpose of debugging. That way if a player sends you a replay where a bug happens you can use the replay to reproduce the bug and find out what the cause is. But alas I don't think there is a way to do that. For a while I used the above method but it cannot work with extension mods and created a messy lobby which would sometimes confuse people. and some people arereally dumb.
Rollback Post to RevisionRollBack
To post a comment, please login or register a new account.
Hi,
I'm not sure how the replay feature works, but I assume that it just records events and actions and replays it on a copy of the map from the bnet servers. Which means that all our triggers run as normal.
That's what I assume.
And if that's true, there should be some way to detect that we're in a replay and do things differently.
I've tried the return values from GameIsSpeedLocked(), GameIsSeedLocked() and GameIsOnline(), but they are all the same as when playing in the arcade.
Basically what I want to do is show additional information in replay mode for the viewer, but not show it to the player while in the game.
Any thoughts?
show it to all players and then hide it to all human players. then it will be visisble in replay
PlayerType(1) returns 1 (c_playerTypeUser, as opposed to c_playerTypeNone) in replays as well.
PlayerGroupActive() contains all players in the replay.
What is it I dont understand?
How do you get a group containing human players?
I used to do something simillar to what Funkyusername is saying. use the player settings in the editor to create a designated "observer" player which is set to computer only. give this player full map vission and display relevent dialog stuff to that player.
In the replay viewer you can set the camera to be that players vesion and you get to see the dialogs.
As a side note: I wish there was a way to step through the code on a replay or use the actions in one replay on a modified version of the map for the purpose of debugging. That way if a player sends you a replay where a bug happens you can use the replay to reproduce the bug and find out what the cause is. But alas I don't think there is a way to do that. For a while I used the above method but it cannot work with extension mods and created a messy lobby which would sometimes confuse people. and some people arereally dumb.