F: Wie kann ich eine Action erstellen, die dem Spieler Punkte gibt und wenn er über 100 Punkte hat, kann er eine Tür öffnen?
A: Hier ist der Code: (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);
}
}

F: Wie kann ich das Geld-Skript auf Aum 9 benutzen, um eine Waffe zu kaufen?
A: Sehen Sie sich diese Funktion an:

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);
}

Damit es funktioniert, ändern Sie sie wie folgt:

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);
}

Die Action action_for_gun ist so ähnlich wie die anderen Gun Actions in den Templates (weap_m16, etc.)

F: Wie kann ich ein Video zum Spielstart und zum Beginn von Level 2 einbauen?
A: Hier ist eines meiner älteren Projekte; rufen Sie die Funktion an geeigneter Stelle auf:

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

F: Hilfe! Mein Spieler kommt keine Stufen hoch!
A: Das Zentrum des Spielermodels ist zu niedrig. Öffnen Sie Med, selektieren Sie den Spieler mit Edit -> Select All, klicken Sie "Use Frame Range" an und bewegen Sie ihn nach oben.

F: Ist es möglich, key_force auf andere Tasten zu legen?
A: Sicher. Ersetzen Sie einfach key_force.x mit "(key_w - key_s)" etc.

F: Wenn mein Model sich dreht, möchte ich, daß es sich mit derselben Animation zurückdreht, wenn man den Knopf losläßt, aber rückwärts abgespielt.
A: Ein Beispiel:

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);
}

F: Wenn ich eine Waffe aufhebe, ist sie in der falschen Position. Was soll ich tun?
A: Setzen Sie skill1..3 für jedes Waffenmodel - sie kontrollieren die Position der Waffe auf dem Bildschirm, wenn sie aufgehoben wurde.

F: Wie kann ich ein Panel drehen?
A: Sie können kein Panel drehen, aber Sie können es als Entity definieren - auf diese Weise können Sie es durch Ändern des Roll Wertes drehen:

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);
}
}

F: Im Gamestudio ist ein weißgrauer Strahl voreingestellt, der aus der Waffe kommt. Wie ändere ich das?
A: Modifizieren Sie die Funktion particle_fadeout.