ok.. vergesst was ich gepostet habe..
Ich erstelle eine Patrone, sobald die linke Maustaste gedrückt wurde.
Hier der codepart dazu:
[...]
vec_for_vertex(my_vertex.x, my, 155);
[...]
if(my.skill5 == 1 && my.skill93 == 0 && my.skill94 != 0)
{
bulget[bulnumb] = ent_create("bullet.mdl", my_vertex.x, flybullet);
set(bulget[bulnumb], PASSABLE);
vec_set(bulget[bulnumb].pan, my.pan);
bulnumb += 1;
if(bulnumb > 2900)
{
bulnumb = 0;
}
debugvar_1 = bulnumb;
my.skill94 -= 1;
wait(1);
my.skill93 = 1;
}
else if(my.skill5 == 0 && my.skill93 == 1)
{
my.skill93 = 0;
}
[...]
Das erstellt die Patrone, weißt die richtung des Spielers zu und lässt die aktion abfahren:
action flybullet()
{
//my.z += 5;
wait(1);
//c_setminmax(my);
my.lightrange = 10;
c_move(my, vector(40*time_step, 0,0), NULL, GLIDE | IGNORE_PASSABLE);
while(1)
{
if(you)
{
if(you.skill90 == 1 && my.client_id != dplay_id)
{
if((you.skill96==0) && (you.skill97>0))
{
you.skill97 -= 200;
break;
}
}
else
{
c_move(my, vector(40*time_step, 0,0), NULL, GLIDE | IGNORE_PASSABLE);
c_scan(my.x, my.pan, vector(360, 0, 10), IGNORE_ME);
}
}
else
{
c_move(my, vector(40*time_step, 0,0), NULL, GLIDE | IGNORE_PASSABLE);
c_scan(my.x, my.pan, vector(360, 0, 20), IGNORE_ME);
}
if(my.x > 735 || my.x < -745 || my.y > 115 || my.y < -1385)
{
break;
}
wait(1);
}
my.lightrange = 60;
ExploA2();
ExploB2();
ExploC2();
ExploD2();
killflare2();
ent_remove(my);
}
The problem ist nun folgendes:
Ich kann mich selbst abschießen... o.O"
Wie kann ich das unterbinden.. ich will nur gegner treffen können.
D.h.
Nicht mich. Und niemanden aus dem Team.
Ein weiteres Problem ist auf folgendem Screenshot zu erkennen:
Eigentlich sollte da nur 1 patrone sein...
Starte ich nur den Server.. kommt auch nur 1 patrone.
Sobald aber ein Client dazukommt, fängt das an mit spinnen und erstellt das alles mehrfach...
Hat wer ideen? ^_^