Q:
I use your cutcam.wdl from Aum6 but I'd like to be able to look
around while the camera follows the path. Can you help?
A:
Click here to download the modified cutcam.wdl file.
Q: I
use the 3rd Person movement code from the Aum37's faq.
It works great, but I'd like the camera to pan around the player when the
mouse is moved to the left or right. Can
you help me?
A: Click here to download
the modified moveps2.wdl file.
Q:
In Aum6 there's a car demo script. How can I remove
the damage code to make it invincible?
A:
Comment a single line:
action
my_car
{
...............
// my.event
= increase_damage; // comment this line
...............
}
Q:
I started to create a game. When the player changes
the level I want to play a cutscene movie, then a level1.wav file, load
the second level and then play the level2.wav file. How
can I
do that?
A:
Use the code below:
sound
level1_wav = <level1.wav>;
sound level2_wav = <level2.wav>;
string
level2_wmb = <level2.wmb>;
action level_12 // attach this action to the entity that changes from level1
to level2
{
var shandle;
while (vec_dist (my.x, player.x) > 50) {wait (1);} // wait until
the player has come close enough
shandle = media_play ("cutscene1.avi", null, 50); //
now play the cut scene movie
while (media_playing(shandle) != null) {wait (1);} // wait until
it is finished
shandle = snd_play (level1_wav, 50, 0); // start playing the first
wave file
while (snd_playing(shandle) != null) {wait (1);} // wait until
the wave is played
my = null; // keep the function running even after level_load
level_load (level2_wmb); // load the second level
wait (3); // wait until the level is loaded
snd_play (level2_wav, 50, 0); // now play the new sound
}
Q:
How can I attach a weapon to the player in 1st person mode if I can't
use a "entity" definition?
A: Paste the code below at the end
of your script file. The method works great for 1st and 3rd person cameras
too.
string gun_mdl = <gun.mdl>;
function move_weapon();
starter player_gets_weapon()
{
while (player == null) {wait (1);}
ent_create (gun_mdl, player.x, move_weapon);
}
function move_weapon()
{
my.passable = on;
while (1)
{
my.x = player.x + 5 * cos(player.pan) + 10 *
sin(player.pan); // 5 quants in front of the player
my.y = player.y + 5 * sin(player.pan) - 10 *
cos(player.pan); // and 10 quants sideway (to the right)
my.z = player.z + 40; // the height of the gun
is set 40 quants above player's origin
my.pan = player.pan;
my.tilt = player.tilt;
wait (1);
}
}

Q:
When we shoot between the enemy legs we will hit the enemy instead
of the ground. Can you help, please?
A:
The new A6 engine allows you to set the "polygon" flag for
your enemies. Make sure to use physics entities for the
bullets and you will get polygon-based collision detection.
Q:
How could I create a splash screen? The player would have to press
the "Space" key in order to continue to the game.
A: Use the code below:
bmap splash_pcx = <splash.pcx>;
panel splash_pan
{
bmap = splash_pcx;
pos_x = 0;
pos_y = 0;
layer = 1;
flags = overlay, refresh;
}
starter show_splash()
{
freeze_mode = 1; // stop all the entities in the level
splash_pan.visible = on; // show the splash screen
while (key_space == 0) {wait (1);} // wait until the "space" key
is pressed
while (key_space == 1) {wait (1);} // wait until the "space" key
is released
splash_pan.visible = off;
freeze_mode = 0; // resume the gameplay
}

Q:
I was wondering how I can use the multidimensional
arrays in A6.3.
A: Multidimensional arrays are
an experimental feature at the moment; they aren't included
in the current (A6.3) release.
Q: How
I can make a part of a house
transparent, so that I can see the Soldiers inside it?
A: Create the roof as a separate
wmb entity and attach it the action transparent_roof. Move
the mouse over the roof to make it transparent.
function set_transparency()
{
if (event_type == event_touch)
{
my.alpha = 60; // show the soldiers
}
if (event_type == event_release)
{
my.alpha = 100;
}
}
action transparent_roof
{
my.transparent = on;
my.alpha = 100;
my.enable_touch = on;
my.enable_release = on;
my.event = set_transparency;
}
