Q: How can I create an action that will give the player some points and when it has over 100 points the player will be able to open a door?
A: Here's the code:

var points = 0; // zero points at game start
 
function open_over_100 () // call this function at the end of your main action
{
    while (points < 100) {wait (1);}
    key1 = 1; // opens the doors that need key1
}
 
action increase_points // attach this action to any model
{
    while (1)
    {
        if (vec_dist (my.x, player.x) < 200) // if the player comes close to this object, give him points
        {
            points += 10 * time;
        }
        wait (1);
    }
}
 
 

Q: How can I use your cash script in Aum9 to buy a gun?
A: Take a look at the function below:

function buy_me()
{
      wait (1);
      if (event_type != event_click || cash < my.skill1) {return;}
      cash -= my.skill1;
      snd_play (spentcash_snd, 70, 0);
      ent_remove (me);
}

To make it work you should change it this way:

string gun_mdl = <gun.mdl>;

function buy_me()
{
      wait (1);
      if (event_type != event_click || cash < my.skill1) {return;}
      cash -= my.skill1;
      snd_play (spentcash_snd, 70, 0);
      my.passable = on;
      my.invisible = on;
      ent_create(gun_mdl, my.pos, action_for_gun);
}

The action action_for_gun is an action similar to the other gun actions in the templates (weap_m16, etc).

 

Q: How can I put in video clip at the beginning of the game and into the loading of the second level?
A: Here's some code from one of my older projects; call the function when you need it:

function play_video ()
{
       if (movie_frame == 0)
       {
             play_moviefile "your_video.avi";
       }
       else
       {
             stop_movie;
       }
}
 
 

Q: Help! My player can't climb up the stairs!
A: The origin of your player is too low. Open Med, select the player: Edit -> Select all, check "Use frame range" and move it upwards.
 

Q: Is it possible to change the key_force to be different keys in the movement code?
A: Sure. Simply replace key_force.x with (key_w - key_s) and so on.
 

Q: When my model turns I want it to turn back with the same animation but reversed when I release the button.
A: Here's an example:

var sense; // 1 = normal animation, -1 = reversed animation

while (1)
{
    // add your movement code here
   ...................
   sense = key_cuu - key_cud; // use cursor keys for forward / backward movement
   ent_cycle("walk", my.skill10);
   my.skill10 += sense * init_speed * time;
   my.skill10 %= 100 // loop animation
   wait (1);
}

 

Q: Whenever I pick up my weapons, they are placed in a wrong position. What can I do?
A: Set skill1..3 for every weapon model - they control the position of the picked up weapon on x, y and z.

 

Q: How can I rotate a panel?
A: You can't rotate a panel, but you can define it as an entity - this way you will be able to rotate it by changing its roll angle:

function rotate_entity();

entity my_panel
{
     type = <panel.mdl>;
     layer = 10;
     view = camera;
     x = 25;
     y = 10;
     z = -10;
}

function rotate_entity()
{
    my_panel.visible = on;
    while (1)
    {
        my_panel.roll += 5 * time;
        wait (1);
    }
}
 
 

Q: By default the Game Studio fires a white and grey trail from the enemy weapon to the player. How do you change what the enemey fire looks like?
A: You will have to modify function particle_fadeout.