For direct access use https://forums.oldunreal.com
It's been quite a while since oldunreal had an overhaul, but we are moving to another server which require some updates and changes. The biggest change is the migration of our old reliable YaBB forum to phpBB. This system expects you to login with your username and old password known from YaBB.
If you experience any problems there is also the usual "password forgotten" function. Don't forget to clear your browser cache!
If you have any further concerns feel free to contact me: Smirftsch@oldunreal.com

SINGLE PLAYER TranslatorEvent Bug

To find and remove the bugs we needed every bug known in current 226. You can still review them here.
Post Reply
User avatar
TCP_Wolf
Administrator
Posts: 1078
Joined: Sun Mar 03, 2002 12:04 pm
Contact:

SINGLE PLAYER TranslatorEvent Bug

Post by TCP_Wolf »

Have you ever noticed than when re-loading a saved game, some or all of the messages given over the translator work no more?

The reason is, that there is a re-trigger delay, and unfortunately, it is based on Level.TimeSeconds - which is NOT stored inside the savegame.

Code: Select all

      if ( ReTriggerDelay > 0 )
      {
            if ( Level.TimeSeconds - TriggerTime < ReTriggerDelay )
                  return;
            TriggerTime = Level.TimeSeconds;
      }

Solution:

Correct solution would be, to store Level.TimeSeconds in the savegame as well, but really that is unnecessary....

The simple solution is, on loading simply set all the variable "TriggerTime" of ALL TranslatorEvent actors to "0".

:-)
-=]HONESTY PAYS[=-
User avatar
Bane
OldUnreal Member
Posts: 493
Joined: Sun Mar 03, 2002 6:32 pm

Re: SINGLE PLAYER TranslatorEvent Bug

Post by Bane »

And couldn't that be done automatically by making the variable transient, so it doesn't even get saved in the first place?
Author of Hide and Seek mod, and the NALIBALL mod

Hide and Seek can be downloaded from:
http://HideNSeek.5u.com
User avatar
TCP_Wolf
Administrator
Posts: 1078
Joined: Sun Mar 03, 2002 12:04 pm
Contact:

Re: SINGLE PLAYER TranslatorEvent Bug

Post by TCP_Wolf »

Unlike for coop, scripted variables are not marked "travel" in a sense for "savegames" - or at least not that I can see anywhere in script.

Smirftsch may try to just look in the code where savegames/loadgames are handled to see and ignore this specific variable, but if that is more hassle than the effort is worth (because I imagine the safe-routine of Unreal simply saves ALL variables) then my solution should be good enough... otherwise, you would be perfectly right!

Eh what... I just said "saves all variables" but then why isn't "Level.TimeInSeconds" saved? Good question... I wouldn't know if it is... however, it appears that "mylevel" is recreated when loading takes places, at least the level you are in suddenly is named "saveX" (where X is the savegame number) instead of ...... also, pre/postbeginplay etc etc do not appear to be rerun on load....
Last edited by TCP_Wolf on Mon May 15, 2006 6:01 pm, edited 1 time in total.
-=]HONESTY PAYS[=-
User avatar
Bane
OldUnreal Member
Posts: 493
Joined: Sun Mar 03, 2002 6:32 pm

Re: SINGLE PLAYER TranslatorEvent Bug

Post by Bane »

transient, not travel. From my understanding, all it means is that the variable isn't saved when you do a savegame.

According to the UScript language reference...
transient: Advanced. Declares that the variable is for temporary use, and isn’t part of the object’s persistent state. Transient variables are not saved to disk. Transient variables are initialized to zero when an actor is loaded.

(Well I think thats what I'm saying it does at least. If it isn't saved to disk then it definitely isn't saved...)
Assuming that it does mean that the variable isn't saved to disk when you make a save game, then on reload it would be reset to 0, because no value would be loaded.
Author of Hide and Seek mod, and the NALIBALL mod

Hide and Seek can be downloaded from:
http://HideNSeek.5u.com
User avatar
TCP_Wolf
Administrator
Posts: 1078
Joined: Sun Mar 03, 2002 12:04 pm
Contact:

Re: SINGLE PLAYER TranslatorEvent Bug

Post by TCP_Wolf »

Ah I always wondered what transient is for. Well if that is so then yes, put on "transient" and it's fixed.

I don't suppose you could relead a savegame with 227 then if it was created with an older version but who cares ;D nice find
-=]HONESTY PAYS[=-
User avatar
TCP_Wolf
Administrator
Posts: 1078
Joined: Sun Mar 03, 2002 12:04 pm
Contact:

Re: SINGLE PLAYER TranslatorEvent Bug

Post by TCP_Wolf »

relead
Should have been "reload"... great thing I still can't edit my own posts even after "updating my session" - except where I am mod.... >:(
-=]HONESTY PAYS[=-
User avatar
Smirftsch
Administrator
Posts: 8999
Joined: Wed Apr 29, 1998 10:00 pm
Location: NaPali
Contact:

Re: SINGLE PLAYER TranslatorEvent Bug

Post by Smirftsch »

so can now anyone of you send me the proper fix for including into 227 ? :P
Sometimes you have to lose a fight to win the war.
User avatar
TCP_Wolf
Administrator
Posts: 1078
Joined: Sun Mar 03, 2002 12:04 pm
Contact:

Re: SINGLE PLAYER TranslatorEvent Bug

Post by TCP_Wolf »

Open the file

UnrealShare -> Classes -> TranslatorEvent.uc

change the line

var float TriggerTime;

to

var transient float TriggerTime;
-=]HONESTY PAYS[=-
User avatar
Smirftsch
Administrator
Posts: 8999
Joined: Wed Apr 29, 1998 10:00 pm
Location: NaPali
Contact:

Re: SINGLE PLAYER TranslatorEvent Bug

Post by Smirftsch »

done
Sometimes you have to lose a fight to win the war.
Post Reply

Return to “Report Bugs in Unreal 226 versions”