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

Carrying over Map Information?

The section related to UnrealScript and modding. This board is for coders to discuss and exchange experiences or ask questions.
User avatar
Tronovision
OldUnreal Member
Posts: 160
Joined: Fri May 04, 2007 10:58 pm

Carrying over Map Information?

Post by Tronovision »

I was not sure if this should have been posted under UScript or UEd, however it likely involves both, so here we go:

Is it possible to carry information about the state of triggers, events, etc. from one map to the next? For example, lets say you have to back to the previous level to access a passage that was inaccessable at the time (e.g. rocks were blocking it), however after a siezmic event (in the current level) the passage is now passable (i.e. the rocks have moved).
I realize that you could also acheive this effect by creating duplicate maps with these changes made (i.e. map 1a - rocks in the way --> map 2 --> map 1b - rocks not in way), but in some situations it may be much more efficient to use the same maps but with altered states and events. Anyone know if/how this can be done?

Cheers!
User avatar
Chaos13
OldUnreal Member
Posts: 951
Joined: Sat Feb 16, 2008 10:24 am

Re: Carrying over Map Information?

Post by Chaos13 »

It is possible by using a configuration object. For example:
There is object PassageRocker in package MyPassageRocker:

Code: Select all

class PassageRocker extends Actor config(PassageRocker);
var config bool bMoveRock;

event PostBeginPlay()
{
local Actor A;
super.PostBeginPlay();
if (Left(String(Name),InStr(String(Name),".")~="MyPassageLevelName")
if (bMoveRock)
{
foreach AllActors(class'Actor',A,'TagOfMyRock')
A.Destroy();
bMoveRock=False;
SaveConfig();
}
Destroy();
}
The trigger should be like in same package and look like:

Code: Select all

class PRTrigger extends Triggers;
event Touch(actor Other)
{
local PassageRocker Temp;
if (Other.IsA('PlayerPawn'))
{
Temp=Spawn(class'PassageRocker');
Temp.bMoveRock=True;
Temp.SaveConfig();
Temp.Destroy();
}
}
havent tested, written code quickly in-the-forum editing box, not checked for working, but should work.

Please do not name your actors like this and use the code directly :P you need to make big modifications to it.
Last edited by Chaos13 on Thu Jul 31, 2008 6:15 pm, edited 1 time in total.
Skydev = Chaos13 = Dimension4
User avatar
Tronovision
OldUnreal Member
Posts: 160
Joined: Fri May 04, 2007 10:58 pm

Re: Carrying over Map Information?

Post by Tronovision »

Thanks! Is it the "SaveConfig()" command that temporarily holds the information? Cheers!
User avatar
Chaos13
OldUnreal Member
Posts: 951
Joined: Sat Feb 16, 2008 10:24 am

Re: Carrying over Map Information?

Post by Chaos13 »

[glow=yellow,2,300]Warning: it must be var CONFIG bool bMoveRock;[/glow]

Well, its quite more complicated. The ini configuration is being modified and saved by the trigger. To save the configuration you need to do SaveConfig(); Configuration is loaded when actor is spawned. Configuration is saved in ini file, so it is not affected by server restarts \ map switches \ etc.
Skydev = Chaos13 = Dimension4
User avatar
Tronovision
OldUnreal Member
Posts: 160
Joined: Fri May 04, 2007 10:58 pm

Re: Carrying over Map Information?

Post by Tronovision »

I see... This would make it easy to cheat by editing the ini file, would it not? I don't suppose that you could have this information stored in a savegame file (which may be a bit more cryptic and harder to manipulate than an ini configuration file)... No worries if it cannot, but just wondering though.
User avatar
Chaos13
OldUnreal Member
Posts: 951
Joined: Sat Feb 16, 2008 10:24 am

Re: Carrying over Map Information?

Post by Chaos13 »

You can cheat by ghosting then btw.
Skydev = Chaos13 = Dimension4
User avatar
GreatEmerald
OldUnreal Member
Posts: 5347
Joined: Mon May 21, 2007 2:30 pm

Re: Carrying over Map Information?

Post by GreatEmerald »

You can do it the UBeta way - make the player appear in another place back to map 1, directly above a trigger. The trigger will do what you want, open the passage for the player and close the doors to the map 2.
User avatar
Tronovision
OldUnreal Member
Posts: 160
Joined: Fri May 04, 2007 10:58 pm

Re: Carrying over Map Information?

Post by Tronovision »

You can cheat by ghosting then btw.
Ya, you'r right. If people want to cheat, they will! ::)

I'll try building a map to see if I can get this to work. Cheers!

GreatEmerald:
Also a good suggestion, thanks!
User avatar
Chaos13
OldUnreal Member
Posts: 951
Joined: Sat Feb 16, 2008 10:24 am

Re: Carrying over Map Information?

Post by Chaos13 »

GreatEmerald grant me great idea... You can create special teleporter class with special Accept() \ Touch() functions that will do what you want :P however you can cheat by typing open MapName#teleportertag (in online gameplay too :-X)
Skydev = Chaos13 = Dimension4

Return to “UScript Board”