F:
Der Artikel über “intelligente Musik” aus Aum38 hat
mir sehr gefallen; wie bekomme ich es hin, dass die Musik von sanft zu
spannend und zurück wechselt, wann immer ich mich der Entity nähere
bzw. mich entferne?
A:
Klicken Sie hier um das modifizierte Skript herunterzuladen.
F: Ich
brauche Code für eine Entity, die wartet bis der Spieler nahe herankommt,
sich dann zu ihm umdreht, ein Geräusch abspielt und dann 3 Entities
erzeugt. Können Sie mir helfen?
A: Klicken Sie hier für
ein eigenständiges Skript.
F:
Der Artikel über “editierbare Texte” aus Aum38 gefiel
mir; ich habe mich allerdings gefragt, ob ich den Code auch verwenden
könnte, um Zahlen anzeigen zu lassen.
A: Klicken Sie hier für
das modifizierte Skript; es zeigt alle 2 Sekunden eine
zufällige Zahl zwischen 0 und 10.000 an.

F:
Ich nutze das Skript für das Rennspiel, das im Aum entwickelt wurde.
Wie kann ich den Wagen des Spielers Funken sprühen lassen, wenn
er vor eine Wand fährt?
A:
Hier gibt es das modifizierte carai4 Projekt.
F:
Ich nutze das Zugangscode-Skript aus Aum33; wie kann ich den Code für die
Tür ändern, um zu erreichen, dass sie nach oben aufgeht?
A: Klicken Sie hier für
die modifizierte access.wdl Datei.
F:
Ich habe noch nicht herausgefunden, wie ich meine Models einbinde, wenn
ich Milkshapes A5 Export nutze. Können Sie mir helfen?
A: Schauen wir uns ein
typisches qc Skript an:
//
header: not used entries (just let them be)
$final 0
$pad 0.0
$eye 0.0 0.0 0.0
$flags 0
// skin size and name
$skinwidth 512
$skinheight 256
$skin soldier.pcx
// animation frames
$sequence stand 1 5
$sequence walk 6 31
$sequence run 32 61
Ignorieren wir den Header – als nächstes stehen Breite und Höhe des Skins (in Pixeln) und der Name der Skin. Dieses Model hat 3 Animationen: stand, walk und run und Sie können die entsprechenden Frames erkennen; fügen Sie weitere Sequenzen ein, falls nötig. Kopieren Sie die gelben Zeilen in eine Textdatei und nennen Sie diese mymodel.qc (zum Beispiel). Stellen Sie sicher, dass das exportierte Model den gleichen Namen trägt (hier also mymodel.mdl). Der Skin könnte etwas seltsam aussehen, aber Sie können den Skin im MED erneut laden und alles wird funktionieren.
F: Ich
brauche ein Skript, das eine Entity alle paar Sekunden sichtbar und wieder
unsichtbar macht. Wenn man auf die Entity schießt und sie ist sichtbar,
soll der Spieler Punkte bekommen. Können Sie mir bitte helfen?
A: Hier ist ein Stück Code, der
das Gewünschte tut:
var my_score = 0;
function you_hit_me()
{
my_score += 10;
}
action my_entity
{
my.enable_impact = on; // sensitive to impact with other entitites
(any weapon that fires rockets or bullets)
my.event = you_hit_me;
while (1)
{
my.invisible = on;
my.passable = on;
sleep (3); // invisible for 3 seconds
my.invisible = off;
my.passable = off;
sleep (3); // visible for 3 seconds
}
}
panel score_pan
{
layer = 10;
pos_x = 10;
pos_y = 10;
digits = 7, 15, 3, _a4font, 1, my_score;
flags = overlay, refresh, visible;
}
F:
Ich benötige ein einfaches Skript zum Levelwechsel, wenn ich auf eine
Entity trete und dann möchte ich einen Film als Zwischensequenz abspielen.
Wie geht das?
A: Mit diesem Skript:
string level2_wmb = <level2.wmb>;
action level_changer
{
while (vec_dist (my.x, player.x) > 100) {wait (1);} // wait
until the player has come close enough
my = null; // keep the function running even after level_load
level_load (level2_wmb);
wait (3); // wait until the level is loaded
media_play ("cutscene.avi", null, 100); // now play the
movie
}
F: Ich
möchte gern ein Kampfspiel schreiben, bei dem zwei Leute sich mit Schwertern
bekämpfen. Es wäre genial, wenn Funken sprühen würden,
wenn sie Schwerter kollidieren. Ist es mit der Physikengine oder einer anderen
Technik möglich zu ermitteln, wo genau die Kollision stattfand, so dass
ich sehen kann, welche Teile der Models kollidierten?
A: Die einfachste Methode wäre
es, für die Schwerter separate Models zu verwenden. Stellen
Sie für diese “my.enable_impact = on” und prüfen
Sie auf Kollision, indem Sie z.B. überprüfen, ob “you.skill35
== bestimmter_Wert”, wobei nur die Schwerter diesen Wert in
Skill35 stehen haben und sich so erkennen können. Bei Acknex
Unlimited finden Sie ein Skript, das Waffen an Charakteren ausrichtet.