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;