Hallo.
Ich habe ein seltsames Problem mit einer meiner Actionen. Ich wollte über einem Objekt einen roten Pfeil(MDL) auftauchen lassen und einen schwarzen balken mit einer Info oben links auf dem Bildschirm einblenden, sobald der Player in der Nähe des Objektes ist. (als wie z.B. bei Monster Hunter in den Dörfern)
Das wäre der eigentlich gut funktionierende Code:
function show_blackbar()
{
black_bar_pan.flags |= SHOW;
//include some text later
wait(1);
}
function hide_blackbar()
{
black_bar_pan.flags &= ~ SHOW;
//include some text later
wait(1);
}
action red_pointer()
{
var sound_played=0;
set(my,PASSABLE | TRANSLUCENT | LIGHT | INVISIBLE);
while(1)
{
my.pan += 8*time_step;
//player is near?-> make me visible
if(vec_dist (my.x, player.x) < 70)
{
if(sound2_pld !=1) //play soundeffect only once
{ snd_play(click_wav, sound_volume, 0); sound_played =1;}
reset(my,INVISIBLE); // make me visible
show_blackbar(); // show the black bar
wait(1);
}
else //player isn`t near
{
set(my,INVISIBLE); //make me invisible
hide_blackbar(); // hide the black bar
sound_played =0; // next time the soundeffect can be played again
wait(1);
}
wait(1);
}
}
Diese action habe ich dann dem Pfeil-Model im WED zugewiesen. Und im Test funktionierte auch alles wie es soll. Doch wenn ich nun weitere Pfeile mit dieser Action in mein Level kopiere, funktionieren diese zwar auch ALLERDINGS wird der schwarze Balken nur noch bei dem zuletzt hineinkopierten Pfeil ein- und ausgeblendet. Die anderen machen sich zwar auch sichtbar und unsichtbar, ignorieren aber vollkommen den Befehl zum an und ausschalten des schwarzen Balkens. Aber warum?? es ist doch ein und die selbe action?? lösche ich nun den letzten Pfeil aus dem Level, so blendet nun der davor eingefügte Pfeil(und auch nur der) den Balken ein und aus.