Well, I need it modified. I think. Since I'm useless at cogging... I need it to be only openable by space bar interaction (open key) but open and closable by switch.
I.E. Open - hand / switch
Close - switch.
You get the idea?
# Jedi Knight Cog Script
#
# h0_swingdoors2.cog
#
# By Heinz Högel 5/98 for free use in add-on levels
#
# This script controls one or two winged rotating doors. To start open/close
# action, activate one out of two possibly linked switches or send a user0
# message to this cog.
#
# Parameters:
#
# Door0
# Door1 - IDs of door things (one is optional).
#
# Switch0
# Switch1 - Surfaces with switches on. These switches can activate opening
# and closing of the door wings. They are both displayed as activated
# as long as the doors are moving and then return to deactivated state.
# Both are optional (without them you have to send a user0 message to this
# cog to open/close the doors).
#
# Time - How long a complete door swing should last (in seconds). Should be positive
# on startup.
#
# AutoCloseDelay - If greater than 0.0, delay in seconds for automatic re-closing of doors.
#
#
# This file is was not made and is not supported by LucasArts Entertainment Co.
# (C) 1997 LucasArts Entertainment Co. All Rights Reserved
symbols
message activated
message arrived
message user0
message timer
thing Door0=-1 linkid=1
thing Door1=-1 nolink // nolink necessary to avoid double arrived messages!!!
surface Switch0=-1 linkid=0
surface Switch1=-1 linkid=0
flex Time=4.0
flex AutoCloseDelay=0.0
int Rotating=0 local
end
## Code Section
code
activated:
if (GetSenderID() != 0) return; // Allow only switches to send activated message
user0:
delayed:
if (Rotating) return; // Rotation already in progress
Rotating = 1;
if (Switch0 >= 0)
SetWallCel(Switch0, 1); // Display first switch as activated
if (Switch1 >= 0)
SetWallCel(Switch1, 0); // Display second switch as activated
if (Door0 >= 0)
RotatePivot(Door0, 1, Time); // Swing (rotate) first door
if (Door1 >= 0)
RotatePivot(Door1, 1, Time); // Swing (rotate) second door
return;
arrived:
if (!Rotating) return; // Rotation already finished
Time = -Time; // Negate time for invers rotation
if (Switch0 >= 0)
SetWallCel(Switch0, 0); // Display first switch as deactivated
if (Switch1 >= 0)
SetWallCel(Switch1, 0); // Display first switch as deactivated
Rotating = 0;
if (AutoCloseDelay > 0.0 && Time < 0)
SetTimer(AutoCloseDelay); // Prepare delayed automatic closing
return;
timer:
call delayed; // Delayed closing
return;
end
------------------
"Yo! Yo! Yo! Yo-yo!"
I.E. Open - hand / switch
Close - switch.
You get the idea?
# Jedi Knight Cog Script
#
# h0_swingdoors2.cog
#
# By Heinz Högel 5/98 for free use in add-on levels
#
# This script controls one or two winged rotating doors. To start open/close
# action, activate one out of two possibly linked switches or send a user0
# message to this cog.
#
# Parameters:
#
# Door0
# Door1 - IDs of door things (one is optional).
#
# Switch0
# Switch1 - Surfaces with switches on. These switches can activate opening
# and closing of the door wings. They are both displayed as activated
# as long as the doors are moving and then return to deactivated state.
# Both are optional (without them you have to send a user0 message to this
# cog to open/close the doors).
#
# Time - How long a complete door swing should last (in seconds). Should be positive
# on startup.
#
# AutoCloseDelay - If greater than 0.0, delay in seconds for automatic re-closing of doors.
#
#
# This file is was not made and is not supported by LucasArts Entertainment Co.
# (C) 1997 LucasArts Entertainment Co. All Rights Reserved
symbols
message activated
message arrived
message user0
message timer
thing Door0=-1 linkid=1
thing Door1=-1 nolink // nolink necessary to avoid double arrived messages!!!
surface Switch0=-1 linkid=0
surface Switch1=-1 linkid=0
flex Time=4.0
flex AutoCloseDelay=0.0
int Rotating=0 local
end
## Code Section
code
activated:
if (GetSenderID() != 0) return; // Allow only switches to send activated message
user0:
delayed:
if (Rotating) return; // Rotation already in progress
Rotating = 1;
if (Switch0 >= 0)
SetWallCel(Switch0, 1); // Display first switch as activated
if (Switch1 >= 0)
SetWallCel(Switch1, 0); // Display second switch as activated
if (Door0 >= 0)
RotatePivot(Door0, 1, Time); // Swing (rotate) first door
if (Door1 >= 0)
RotatePivot(Door1, 1, Time); // Swing (rotate) second door
return;
arrived:
if (!Rotating) return; // Rotation already finished
Time = -Time; // Negate time for invers rotation
if (Switch0 >= 0)
SetWallCel(Switch0, 0); // Display first switch as deactivated
if (Switch1 >= 0)
SetWallCel(Switch1, 0); // Display first switch as deactivated
Rotating = 0;
if (AutoCloseDelay > 0.0 && Time < 0)
SetTimer(AutoCloseDelay); // Prepare delayed automatic closing
return;
timer:
call delayed; // Delayed closing
return;
end
------------------
"Yo! Yo! Yo! Yo-yo!"
We're three million years into deep space. Where the smeg did I get a traffic cone?
<font face="Verdana, Arial" size="2">Originally posted by Avenger:
I'm more worried about the waffle intake. That's a lot of waffles.</font>
I'm more worried about the waffle intake. That's a lot of waffles.</font>