F:
Könnten Sie mir bitte demonstrieren, wie ich eine Egoperspektive
mit Ihrem Schwertkampf Code aus AUM12 kombiniere?
A: Klicken Sie hier, um das modifizierte
Skript herunterzuladen.

F:
Ich würde gern einen Sound, der in einer Schleife läuft,
zu einem der Roboter-Skripte hinzufügen. Wie kann ich das
anstellen?
A: Hier ist der Code für
die modifizierte robot2 Action; die neuen Codezeilen sind rot
markiert.
sound patrol_wav = <patrol.wav>;
ACTION robot2
{
ent_playloop (my, patrol_wav, 200);
MY._FORCE = 2;
MY._FIREMODE = DAMAGE_SHOOT+FIRE_PARTICLE+HIT_FLASH+0.05;
MY._HITMODE = HIT_GIB;//HIT_EXPLO;
MY._WALKSOUND = _SOUND_ROBOT;
anim_init();
drop_shadow(); // attach shadow to robot
actor_fight();
// if(MY.FLAG4 == ON) { patrol(); }
// create(<arrow.pcx>,MY.POS,_ROBOT_TEST_WATCHER); // used
to activate watcher drone
}
F:
Wie kann ich ein Panel implementieren, das je nach Pan des Spielers
ein- und ausgeblendet wird? Ich möchte gern einen Lens Flare
Effekt simulieren.
A: Benutzen Sie diesen Code.

bmap flarepan_tga = <flarepan.tga>;
panel flare_pan
{
pos_x = 0;
pos_y = 0;
bmap = flarepan_tga;
flags = overlay, refresh, transparent, visible;
}
starter show_flare()
{
while (player == null) {wait (1);}
while (1)
{
if (player.pan < 180)
{
temp.x = 360 - player.pan;
}
else
{
temp.x = player.pan;
}
player.pan %= 360;
flare_pan.alpha = temp.x * temp.x / 1500; //
play with "1500"
wait (1);
}
}
F: Ich
konnte ein Problem auf eine .sav-Datei zurückführen, die erzeugt
wird, wenn ich mein Projekt starte. Lösche ich sie, funktioniert
alles. Was kann ich tun, um das abzustellen?
A: Öffnen Sie menu.wdl und
fügen Sie folgende Codezeile zur save_status() Funktion hinzu:
function save_status()
{
return;
ifdef old_a52;
save_info(INFO_NAME,0);
ifelse;
game_save(app_name,0,SV_INFO+SV_STRINGS+SV_BMAPS);
endif;
}
F:
Woran liegt es, wenn ein Text Objekt nicht in voller Länge
angezeigt wird? Die Anzeige des Strings stoppt einfach, obwohl
noch genug Platz wäre, ihn zu zeigen.
A: Das war ein Bug in einer
der frühen A6 Versionen. Laden Sie das neueste Update runter
und es wird funktionieren.
F:
Wie kann man ein Panel definieren, dass nur unter bestimmten
Umständen erscheint? Zum Beispiel ein Panel, das erscheint,
wenn die Gesundheit des Spielers voll ist.
A: Verwenden Sie diesen Code:
bmap full_pcx = <fullhealth.pcx>;
panel full_pan
{
pos_x = 0;
pos_y = 0;
bmap = full_pcx;
flags = overlay, refresh;
}
starter show_panel()
{
while (player == null) {wait (1);}
while (1)
{
if (player._health == 100)
{
full_pan.visible =
on;
}
else
{
full_pan.visible =
off;
}
wait (1);
}
}
F: Ich
frage mich, ob es einen Weg gibt, meinen Charakter sanft vom letzten
Frame des Walk Zyklus in das erste Frame des Stand Zyklus zu überführen.
A: Gibt es, mit diesem Code Beispiel:
.................................................
while(my.skill20 < 100)
{
ent_cycle("walk", my.skill20);
ent_blend("stand", 0, my.skill20);
my.skill20 += 10 * time;
wait(1);
}
................................................
F: Haben Sie Tipps, wie meine Panels
bei jeder Auflösung dieselbe Größe behalten?
A: Dieses Feature ist bislang nur in
der A6 Beta Version verfügbar. Schauen Sie sich den Code unten an, um
zu sehen wie es funktionieren wird.
bmap ammo_pcx = <ammo.pcx>;
panel ammo_pan
{
pos_x = 0;
pos_y = 0;
bmap = ammo_pcx;
flags = overlay, refresh, visible;
}
starter adjust_panel()
{
while (1)
{
if (video_mode == 6) // 640 x 480 pixels?
{
ammo_pan.scale_x =
1;
ammo_pan.scale_y =
1;
}
if (video_mode == 7) // 800 x 600 pixels?
{
ammo_pan.scale_x =
800 / 640;
ammo_pan.scale_y =
600 / 480;
}
if (video_mode == 8) // 1024 x 768 pixels?
{
ammo_pan.scale_x =
1024 / 640;
ammo_pan.scale_y =
768 / 480;
}
wait (1);
}
}
F: Wie
kann ich die Kamera von einem Pfad auf die normale Egoperspektive umschalten?
A: Verwenden Sie zwei verschiedene
Views: camera und second_camera. Definieren Sie second_camera für
den Pfad und camera für die Egoperspektive.
function main()
{
....................
camera.visible = off;
second_camera.visible = on; // show second_camera on the path
}
function switch_cameras()
{
second_camera.visible = off;
camera.visible = on; // show the 1st person view
}
on_s = switch_cameras;