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.