1 registered members (monarch),
1,259
guests, and 5
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
Re: Laserweapon
[Re: Mageron]
#225862
09/06/08 12:57
09/06/08 12:57
|
Joined: Jun 2008
Posts: 428
Rasch
Senior Member
|
Senior Member
Joined: Jun 2008
Posts: 428
|
Hi! Check this thread > Click here <
|
|
|
Re: Laserweapon
[Re: Mageron]
#228261
09/18/08 12:13
09/18/08 12:13
|
Joined: Aug 2008
Posts: 43 Germany, Baden-Württemberg
Mageron
OP
Newbie
|
OP
Newbie
Joined: Aug 2008
Posts: 43
Germany, Baden-Württemberg
|
ok, dass war alles irgendie nicht so. Also hab ich angefangen, es selbst zu probieren. Das Geschoss sollen zum Fadenkreuz fliegen, fällt aber zu Boden. Wieso? Hier der code: VAR sicht_dist[3] = -100,0,15;
VAR sicht_ang[3];
VAR Wackel;
VIEW Sicht
{
layer = 1;
pos_x = 0;
pos_y = 0;
size_x = 800;
size_y = 600;
offset_x = 0;
offset_y = 0;
arc = 45;
aspect = 1;
flags = visible;
}
ACTION Plasmageschoss
{
my.red = 155;
my.blue = 255;
my.green = 155;
my.push = -1;
Ziel.x = 1500 + mouse_pos.x;
Ziel.y = 1500 + mouse_pos.y;
Ziel.z = 0;
vec_for_screen(Ziel.x,Sicht);
vec_sub(Ziel.x,my.x);
vec_to_angle(my.pan,Ziel.x);
WHILE(1)
{
Plasmageschoss_v.x = -20 * time;
move_mode = ignore_passable + ignore_passents + ignore_sprites;
ent_move(Plasmageschoss_v.x,nullvector);
my.enable_block = on;
my.enable_entity = on;
my.event = Event_Geschoss;
effect(effect_explo3,100,my.x,nullvector);
WAIT(1);
}
}
Last edited by Mageron; 09/24/08 17:31.
|
|
|
Re: Laserweapon
[Re: Mageron]
#229120
09/24/08 17:32
09/24/08 17:32
|
Joined: Aug 2008
Posts: 43 Germany, Baden-Württemberg
Mageron
OP
Newbie
|
OP
Newbie
Joined: Aug 2008
Posts: 43
Germany, Baden-Württemberg
|
ok, dass war alles irgendie nicht so. Also hab ich angefangen, es selbst zu probieren. Das Geschoss sollen zum Fadenkreuz fliegen, fällt aber zu Boden. Wieso? Hier der code: VAR sicht_dist[3] = -100,0,15;
VAR sicht_ang[3];
VAR Wackel;
VIEW Sicht
{
layer = 1;
pos_x = 0;
pos_y = 0;
size_x = 800;
size_y = 600;
offset_x = 0;
offset_y = 0;
arc = 45;
aspect = 1;
flags = visible;
}
ACTION Plasmageschoss
{
my.red = 155;
my.blue = 255;
my.green = 155;
my.push = -1;
Ziel.x = 1500 + mouse_pos.x;
Ziel.y = 1500 + mouse_pos.y;
Ziel.z = 0;
vec_for_screen(Ziel.x,Sicht);
vec_sub(Ziel.x,my.x);
vec_to_angle(my.pan,Ziel.x);
WHILE(1)
{
Plasmageschoss_v.x = -20 * time;
move_mode = ignore_passable + ignore_passents + ignore_sprites;
ent_move(Plasmageschoss_v.x,nullvector);
my.enable_block = on;
my.enable_entity = on;
my.event = Event_Geschoss;
effect(effect_explo3,100,my.x,nullvector);
WAIT(1);
}
}
|
|
|
Re: Laserweapon
[Re: Mageron]
#248289
01/25/09 20:07
01/25/09 20:07
|
Joined: Aug 2008
Posts: 43 Germany, Baden-Württemberg
Mageron
OP
Newbie
|
OP
Newbie
Joined: Aug 2008
Posts: 43
Germany, Baden-Württemberg
|
Ja, ich mal wieder. Bin mittlerweile viel weiter, die Geschosse bereiten mir aber immernoch Kummer: FUNCTION Waffe()
{
Bolter = me;
WHILE(1)
{
bone_angle.pan = (screen_size.x / 2 - mouse_pos.x ) / 10;
bone_angle.tilt = (screen_size.y / 2 - mouse_pos.y) / 10;
ent_bonereset(my,"Bone1");
ent_bonerotate(my,"Bone1",bone_angle);
my.pan = player.pan; my.tilt = player.tilt; my.x = player.x; my.y = player.y;my.z = player.z + 130;
my.visible = on;
my.passable = on;
WAIT(1);
}
}
ACTION Bolt
{
my.pan = (screen_size.x - mouse_pos.x ) / 10;
my.tilt =(screen_size.y / 2 - mouse_pos.y) / 10;
my.push = 1;
Geschoss = me;
WHILE(1)
{
Bewegung.x = 15 * time_step; Bewegung.y = 0;
my.scale_x = 0.1; my.scale_y = 0.1; my.scale_z = 0.1;
c_move(me,Bewegung,nullvector,ignore_passable | IGNORE_MODELS);
WAIT(1);
}
}
FUNCTION schiessen()
{
WHILE(key_pressed(280) == on)
{
Abschuss.x = Bolter.x; Abschuss.y = Bolter.y; Abschuss.z = Bolter.z;
mouse3D.x = mouse_pos.x;
mouse3D.y = 0;
mouse3D.z = 15000 + mouse_pos.y;
vec_for_screen(mouse3D,Sicht);
c_trace(player.x,mouse3D.x,IGNORE_ME | IGNORE_PASSABLE | ACTIVATE_SHOOT | use_box);
ent_create("rocket.mdl",Abschuss.x,Bolt);
WAIT(1);
}
IF(key_pressed(57) == on)
{
mouse3D.x = mouse_pos.x;
mouse3D.y = 0;
mouse3D.z = 15000 + mouse_pos.y;
vec_for_screen(mouse3D,Sicht);
c_trace(player.x,mouse3D.x,IGNORE_ME | ACTIVATE_SONAR | use_box);
WAIT(1);
}
}
Die Geschosse fliegen wild herum, sollen aber von der Mündung zum FAdenkreuz fliegen. Danke für die Hilfe
|
|
|
Re: Laserweapon
[Re: Mageron]
#260401
04/10/09 14:49
04/10/09 14:49
|
Joined: Aug 2008
Posts: 43 Germany, Baden-Württemberg
Mageron
OP
Newbie
|
OP
Newbie
Joined: Aug 2008
Posts: 43
Germany, Baden-Württemberg
|
So, neuer Versuch: Habe folgende Schussfunktion: IF(mouse_left == 1)
{
VAR temp[3];
temp.x = mouse_pos.x;
temp.y = mouse_pos.y;
temp.z = 100000;
vec_for_screen(temp,Sicht);
c_trace(my.x,temp,ignore_me | ignore_you | USE_POLYGON | Activate_Shoot | Get_Hitvertex);
ent_create("Schussloch.tga",target,Schussloch);
snd_play(Bolter_schuss,50,0);
effect(funkenspezial,300,target,nullvector);
WAIT(1);
} Die Partikel entstehen aber im Punkt 0,0,0? Warum das? I'll start a new try. I have following code(s.u.) The particles starts at 0,0,0. Why?
|
|
|
Re: Laserweapon
[Re: Mageron]
#260404
04/10/09 14:59
04/10/09 14:59
|
Joined: Jul 2002
Posts: 4,436 Germany, Luebeck
Xarthor
Expert
|
Expert
Joined: Jul 2002
Posts: 4,436
Germany, Luebeck
|
The last component of the effect instruction is the vel vector, which is the initial direction of the particles. I don't know your particle function "funkenspezial" but if they have the move flag etc. they might just move to the nullvector which is (0,0,0). Not sure though. What you can do: set temp to the difference between the target and the temp vektor and use it as vel vector.
IF(mouse_left == 1)
{
VAR temp[3];
temp.x = mouse_pos.x;
temp.y = mouse_pos.y;
temp.z = 100000;
vec_for_screen(temp,Sicht);
c_trace(my.x,temp,ignore_me | ignore_you | USE_POLYGON | Activate_Shoot | Get_Hitvertex);
ent_create("Schussloch.tga",target,Schussloch);
snd_play(Bolter_schuss,50,0);
vec_diff(temp.x,target.x,temp.x);
effect(funkenspezial,300,target,temp);
WAIT(1);
}
not tested!
|
|
|
Re: Laserweapon
[Re: Xarthor]
#260476
04/11/09 09:22
04/11/09 09:22
|
Joined: Aug 2008
Posts: 43 Germany, Baden-Württemberg
Mageron
OP
Newbie
|
OP
Newbie
Joined: Aug 2008
Posts: 43
Germany, Baden-Württemberg
|
So, der Tipp hat leider nicht funktioniert. Habe nun selbst eine Lösung gefunden: mouse3D.x = mouse_pos.x;
mouse3D.y = mouse_pos.y;
mouse3D.z = 100000;
vec_for_screen(mouse3D,Sicht);
vec_for_vertex(Muendung,my,2869);
c_trace(Muendung,mouse3D,ignore_me | ignore_you | USE_POLYGON | Activate_Shoot | Get_Hitvertex);
vec_diff(Ziel,Ziel,target);
ent_create("Schussloch.tga",target,Schussloch);
snd_play(Bolter_schuss,50,0);
effect(funkenspezial,300,target,nullvector); Leider ist eine große Distanz zwischen dem Fadenkreuz (Panel an der Mausposition) und dem Partikelursprung. Also will ich es jetzt ohne Fadenkreuz, aber mit Laserpointer machen. Wie mach ich es aber, dass der Laserpointer mit mir mitgeht und auf die Position zeigt? Bisher klappt das: CTION Laserpointer
{
vec_for_vertex(Muendung,Mensch,2869);
WHILE(1)
{
vec_sub(Ziel,mouse3D);
vec_diff(distanz,Ziel,mouse3D);
my.passable = on;
my.transparent = on;
my.alpha = 10;
vec_to_angle(my.pan,mouse3D);
my.scale_x = distanz;
my.scale_y = 0.1;
my.scale_z = 0.1;
vec_set(my.x,Mensch.x);
WAIT(1);
}
} Aber derStrahl geht durch den Kopf des Players und durch ihn durch.
|
|
|
|