also:
Du hast irgendwo die function run_weapons? hier sollte unter anderem if(mouse_left) stehen, dann wird bei mir der Schuss ausgelöst und unter anderem auch meine eigens geschriebene function sprite_machen. Du kannst ja einfach die funktion so übernehmen und deinen schuss so lassen wie er ist, denn der funktioniert doch?
Code:
function run_weapons()
{[...]
if (mouse_left && (my.ammo > 0))
{
snd_play(pistol_s, 50,100);
sprite_machen();
my.ammo -=1;
[...animation]
}
function sprite_machen()
{
vec_set(temp.x,camera.x);
vec_set(temp2,vector(20000,0,0));
vec_rotate(temp2,camera.pan);
vec_add(temp2,camera.x);
Trace_mode = ignore_me + ignore_passable+ignore_passents;
trace(temp,temp2);
ent_create("bulhole.tga",target,bullet_hole);
}
action bullet_hole
{
vec_to_angle(my.pan, NORMAL);
my.scale_x = .3; //grösse
my.scale_y = .3;
my.scale_z = .3;
my.passable = on;
my.oriented = on;
my.flare = on;
my.overlay = on;
my.alpha = 80;
my.transparent = on;
sleep(10); // nach 10 sekunden löschen
while (my.alpha > 0)
{
my.alpha -= 1*TIME;
wait(1);
}
ent_remove(me);
}
ich habe nicht sonderlich viel kommentiert aber wenn du willst kann ich dir erklären wie er funktioniert
