Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
HXCpr0n

Vertical Lighting sequences

Recommended Posts

Hello folks.

I've been trying to figure out how to do vertical light sequences like you see in many of the realm667 wads. I know how to do ordinary light sequences for sectors and transfer brightness levels, but I'm not sure how to actually do them within a sector and transfer them vertically. I'm guessing you'd need to have your brightness in a dummy sector and you just move the dummy sector's floor and ceiling (I gave it a height of 8) up with a script and make it restart. I've tried it but it didn't seem to work for me. Is there an alternate way of doing this?

could somebody possibly point me to a function on the zdoomwiki or explain how it's done? Thanks.

Share this post


Link to post

I did something like this similar recently but maybe this will give you some ideas.

1'st Method Sector Effect 1 (Light Phased)

http://download1874.mediafire.com/wzfabpyx95hg/1qrpsgc8vqrrt2k/lighttest.wad

I've have not used this method myself the test is just a small part from another wad (CEMP) that was relevant to your problem but it is very effective if you want to avoid using scripts.

2'nd Method Scripts

Creates a vertical light sequence that starts at the bottom and moves up. The reference sector tags are all transfer brightness control sectors, essentially you are creating an animated frame sequence with a start frame and end frame the initial frame is configured on the map by setting all light values of the transfer brightness control sectors to the state of the end frame. I'll probably end up making the whole idea more flexible and faster to get working by using array's and loops sometime.

script 4 open
{
Light_RaiseByValue(72, 48);
Light_LowerByValue(73, 8);
Light_LowerByValue(74, 8);
Light_LowerByValue(75, 8);
Light_LowerByValue(76, 8);
Light_LowerByValue(77, 8);
Light_LowerByValue(78, 8);
Delay(10);

Light_LowerByValue(72, 8);
Light_RaiseByValue(73, 48);
Light_LowerByValue(74, 8);
Light_LowerByValue(75, 8);
Light_LowerByValue(76, 8);
Light_LowerByValue(77, 8);
Light_LowerByValue(78, 8);
Delay(10);

Light_LowerByValue(72, 8);
Light_LowerByValue(73, 8);
Light_RaiseByValue(74, 48);
Light_LowerByValue(75, 8);
Light_LowerByValue(76, 8);
Light_LowerByValue(77, 8);
Light_LowerByValue(78, 8);
Delay(10);

Light_LowerByValue(72, 8);
Light_LowerByValue(73, 8);
Light_LowerByValue(74, 8);
Light_RaiseByValue(75, 48);
Light_LowerByValue(76, 8);
Light_LowerByValue(77, 8);
Light_LowerByValue(78, 8);
Delay(10);

Light_LowerByValue(72, 8);
Light_LowerByValue(73, 8);
Light_LowerByValue(74, 8);
Light_LowerByValue(75, 8);
Light_RaiseByValue(76, 48);
Light_LowerByValue(77, 8);
Light_LowerByValue(78, 8);
Delay(10);

Light_LowerByValue(72, 8);
Light_LowerByValue(73, 8);
Light_LowerByValue(74, 8);
Light_LowerByValue(75, 8);
Light_LowerByValue(76, 8);
Light_RaiseByValue(77, 48);
Light_LowerByValue(78, 8);
Delay(10);

Light_LowerByValue(72, 8);
Light_LowerByValue(73, 8);
Light_LowerByValue(74, 8);
Light_LowerByValue(75, 8);
Light_LowerByValue(76, 8);
Light_LowerByValue(77, 8);
Light_RaiseByValue(78, 48);
Delay(10);
Restart;
}

Share this post


Link to post
Pottus said:

I did something like this similar recently but maybe this will give you some ideas.

1'st Method Sector Effect 1 (Light Phased)

http://download1874.mediafire.com/wzfabpyx95hg/1qrpsgc8vqrrt2k/lighttest.wad

I've have not used this method myself the test is just a small part from another wad (CEMP) that was relevant to your problem but it is very effective if you want to avoid using scripts.

2'nd Method Scripts

Creates a vertical light sequence that starts at the bottom and moves up. The reference sector tags are all transfer brightness control sectors, essentially you are creating an animated frame sequence with a start frame and end frame the initial frame is configured on the map by setting all light values of the transfer brightness control sectors to the state of the end frame. I'll probably end up making the whole idea more flexible and faster to get working by using array's and loops sometime.

script 4 open
{
Light_RaiseByValue(72, 48);
Light_LowerByValue(73, 8);
Light_LowerByValue(74, 8);
Light_LowerByValue(75, 8);
Light_LowerByValue(76, 8);
Light_LowerByValue(77, 8);
Light_LowerByValue(78, 8);
Delay(10);

Light_LowerByValue(72, 8);
Light_RaiseByValue(73, 48);
Light_LowerByValue(74, 8);
Light_LowerByValue(75, 8);
Light_LowerByValue(76, 8);
Light_LowerByValue(77, 8);
Light_LowerByValue(78, 8);
Delay(10);

Light_LowerByValue(72, 8);
Light_LowerByValue(73, 8);
Light_RaiseByValue(74, 48);
Light_LowerByValue(75, 8);
Light_LowerByValue(76, 8);
Light_LowerByValue(77, 8);
Light_LowerByValue(78, 8);
Delay(10);

Light_LowerByValue(72, 8);
Light_LowerByValue(73, 8);
Light_LowerByValue(74, 8);
Light_RaiseByValue(75, 48);
Light_LowerByValue(76, 8);
Light_LowerByValue(77, 8);
Light_LowerByValue(78, 8);
Delay(10);

Light_LowerByValue(72, 8);
Light_LowerByValue(73, 8);
Light_LowerByValue(74, 8);
Light_LowerByValue(75, 8);
Light_RaiseByValue(76, 48);
Light_LowerByValue(77, 8);
Light_LowerByValue(78, 8);
Delay(10);

Light_LowerByValue(72, 8);
Light_LowerByValue(73, 8);
Light_LowerByValue(74, 8);
Light_LowerByValue(75, 8);
Light_LowerByValue(76, 8);
Light_RaiseByValue(77, 48);
Light_LowerByValue(78, 8);
Delay(10);

Light_LowerByValue(72, 8);
Light_LowerByValue(73, 8);
Light_LowerByValue(74, 8);
Light_LowerByValue(75, 8);
Light_LowerByValue(76, 8);
Light_LowerByValue(77, 8);
Light_RaiseByValue(78, 48);
Delay(10);
Restart;
}


Thanks Pottus, this seems to make more sense to me. However I still can't get the desired effect with that script, it just seems like makes the whole sector flash up and slowly fade rather than the an actual sequence. I used the proper dummy sectors with the transfer brightness action.

I'm just going to try method 1 and see how that works.

Share this post


Link to post

The second method is just an example of creating a sequence of frames, your really only limited by creativity here the actual sequence I have posted may or may not be what you want if it's not then you would have to script your own sequence it's just a reference example to get some ideas from.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×