|
|
|
Directory: Technical >> Script Lib >> Basics >> Consoles.
How to Manage your Consoles:
On the airport level, as soon as you go into the building on the left there is a console.
By using it, we get some text. Now, open the file 'airport1_level_logic.bsl' in AIRPORT in IGMD file.
Find the following function:
func void level_4a(void)
{
dprint set_text_4a
text_console level_4a
console_reset 7
}
This function controls the text console. This function makes the console do the following:
- Show the Text (line: text_console level_4a)
- Reset (line: console_reset 7)
However, you do not want the console to show the boring text and instead give you the hypo each
time you use it. So, change the function to the following:
func void level_4a(void)
{
give_powerup hypo
console_reset 7
}
This makes the console an ultimate Hypo-In-Pocket generator!
If you delete the console_reset 7 line,
you will get a one-time hypo-giver.
To deactivate a console use the function:
console_deactivate [console number]
Alarm Consoles:
For an ai2 to run and pull a certain alarm, type in the following line:
ai2_doalarm [character] [console number]
You have to search the original IGMD files for the console numbers.
This basically forces a striker to go to the console and turn it on if not stopped.
For an alarm console to make the alarming noise, you need to start it and to stop
it. The sleep command 'pauses' your script action for some amount of milliseconds.
sound_ambient_start alarm_loop
sleep 900
sound_ambient_stop alarm_loop
Make sure, this is plugged into the right console. Lets look at what the previous block of
code does:
- Start the Sound Alarm Loop ambiently,
- Wait 900 milliseconds,
- Stop the Sound Alarm Loop.
Example:
Now change our console function to the following (eq means EQUAL TO, NE means NOT EQUAL TO):
func void level_4a(void)
{
if (give_counter eq 0)
{
give_powerup cell
}
if (give_counter eq 1)
{
give_powerup ammo
}
if (give_counter eq 2)
{
give_powerup hypo
}
give_counter=give_counter+1
if (give_counter ne 3)
{
console_reset 7
}
}
This would do the following:
- The first time, you get a cell.
- The second time, you get an ammo.
- The third time, you get a hypo and the console does not reset.
Suppose you wanted to cycle the console to give you a green ammo clip, a red ammo clip and a hypo.
Then you would change the last part of my code to:
if (give_counter eq 3)
{
give_counter=0
}
and after add the reseting line:
console_reset 7
You can do many more console hookups then previously shown.
|
|
|