Jump to content

Damaging particles...


BArielNMtz

Recommended Posts

I would like to ask what exactly are you attempting? I can find no single opcode to get a particle's position. But there may be a way to work out your problem if we know why you need a particle to injure or damage. For example; if particle is attached to an object or actor then I could go from there.

well..

for examplee i attach a FLAMETHROWER particle to a hotring.. and when i press TAB it creates the FLAMETHROWER thing.. but i want to injure any ped..car..etc which passes through it...

how can i do that??

for example i was surfing around the master spark script and i found out that is just a mixture of particles and i cant figure out how can i do damage with it...

tnx 4 reAding..

Link to comment
Share on other sites

well..

for examplee i attach a FLAMETHROWER particle to a hotring.. and when i press TAB it creates the FLAMETHROWER thing.. but i want to injure any ped..car..etc which passes through it...

how can i do that??

for example i was surfing around the master spark script and i found out that is just a mixture of particles and i cant figure out how can i do damage with it...

tnx 4 reAding..

So basically you want to do fire damage. Create fire in front of your hotring using this;

Assume 12@ is your hotring racer. 5.0 is the distance from your car.

00AA: store_car 12@ position_to 3@ 4@ 5@ 
6@ = Car.Angle(12@)
02F6: $TEMPVAR_FLOAT_1 = cosine 6@ 
02F7: $TEMPVAR_FLOAT_2 = sine 6@ 
$TEMPVAR_FLOAT_1 *= 5.0  //distance
$TEMPVAR_FLOAT_1 *= 5.0  //distance
0059: 3@ -= $TEMPVAR_FLOAT_1 
0059: 4@ += $TEMPVAR_FLOAT_2 
02CF: 14@ = create_fire_at 3@ 4@ 5@ propagation 0 size 1  //Size will make it bigger propagation is true or false

This remains untested but if the flames appear too close try increasing the distance. Propagation makes smaller fires around the primary. There are a few unknowns working with fires let me know if there are any problems.

Link to comment
Share on other sites

So basically you want to do fire damage. Create fire in front of your hotring using this;

Assume 12@ is your hotring racer. 5.0 is the distance from your car.

// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007

{$VERSION 3.1.0027}
{$CLEO .cs}

//-------------MAIN---------------
0247: load_model #BULLET 
038B: load_requested_models 
03A4: name_thread \'HYPERBULLET\' 

:HYPERBULLET_26
0001: wait 0 ms 
00D6: if 
0256:   player $PLAYER_CHAR defined 
03EE:   player $PLAYER_CHAR controllable 
004D: jump_if_false @HYPERBULLET_26 
00D6: if and
0AB0:   key_pressed 72 
0AB0:   key_pressed 66 
004D: jump_if_false @HYPERBULLET_26 

:HYPERBULLET_70
0001: wait 50 ms 
00D6: if 
0248:   model #BULLET available 
004D: jump_if_false @HYPERBULLET_70 
04C4: store_coords_to 1@ 2@ 3@ from_actor $PLAYER_ACTOR with_offset 0.0 3.0 0.0 
00A5: 0@ = create_car #BULLET at 1@ 2@ 3@ 
099A: set_car 0@ collision_detection 1 
0229: set_car 0@ primary_color_to 0 secondary_color_to 6 
0175: set_car 0@ Z_angle_to 90.0 
00AD: set_car 0@ max_speed_to 100000.0 
02AC: set_car 0@ immunities BP 1 FP 1 EP 1 CP 1 MP 1 
053F: set_car 0@ tires_vulnerability 0 
041E: set_radio_station -1 

:HYPERBULLET_205
0001: wait 0 ms 
00D6: if and
00DF:   actor $PLAYER_ACTOR driving 
00E1:   player 0 pressed_key 17 
004D: jump_if_false @HYPERBULLET_205
00AA: store_car 12@ position_to 3@ 4@ 5@ 
6@ = Car.Angle(12@)
02F6: $TEMPVAR_FLOAT_1 = cosine 6@ 
02F7: $TEMPVAR_FLOAT_2 = sine 6@ 
$TEMPVAR_FLOAT_1 *= 5.0  //distance
$TEMPVAR_FLOAT_1 *= 5.0  //distance
0059: 3@ -= $TEMPVAR_FLOAT_1 
0059: 4@ += $TEMPVAR_FLOAT_2 
02CF: 14@ = create_fire_at 3@ 4@ 5@ propagation 0 size 1  //Size will make it bigger propagation is true or false
jump @HYPERBULLET_205

and game freezes when i press FIRE key...

Edited by bnm9417
Link to comment
Share on other sites

// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007

{$VERSION 3.1.0027}
{$CLEO .cs}

//-------------MAIN---------------
0247: load_model #BULLET 
038B: load_requested_models 
03A4: name_thread \'HYPERBULLET\' 

:HYPERBULLET_26
0001: wait 0 ms 
00D6: if 
0256:   player $PLAYER_CHAR defined 
03EE:   player $PLAYER_CHAR controllable 
004D: jump_if_false @HYPERBULLET_26 
00D6: if and
0AB0:   key_pressed 72 
0AB0:   key_pressed 66 
004D: jump_if_false @HYPERBULLET_26 

:HYPERBULLET_70
0001: wait 50 ms 
00D6: if 
0248:   model #BULLET available 
004D: jump_if_false @HYPERBULLET_70 
04C4: store_coords_to 1@ 2@ 3@ from_actor $PLAYER_ACTOR with_offset 0.0 3.0 0.0 
00A5: 0@ = create_car #BULLET at 1@ 2@ 3@ 
099A: set_car 0@ collision_detection 1 
0229: set_car 0@ primary_color_to 0 secondary_color_to 6 
0175: set_car 0@ Z_angle_to 90.0 
00AD: set_car 0@ max_speed_to 100000.0 
02AC: set_car 0@ immunities BP 1 FP 1 EP 1 CP 1 MP 1 
053F: set_car 0@ tires_vulnerability 0 
041E: set_radio_station -1 

:HYPERBULLET_205
0001: wait 0 ms 
00D6: if and
00DF:   actor $PLAYER_ACTOR driving 
00E1:   player 0 pressed_key 17 
004D: jump_if_false @HYPERBULLET_205
00AA: store_car 12@ position_to 3@ 4@ 5@ 
6@ = Car.Angle(12@)
02F6: $TEMPVAR_FLOAT_1 = cosine 6@ 
02F7: $TEMPVAR_FLOAT_2 = sine 6@ 
$TEMPVAR_FLOAT_1 *= 5.0  //distance
$TEMPVAR_FLOAT_1 *= 5.0  //distance
0059: 3@ -= $TEMPVAR_FLOAT_1 
0059: 4@ += $TEMPVAR_FLOAT_2 
02CF: 14@ = create_fire_at 3@ 4@ 5@ propagation 0 size 1  //Size will make it bigger propagation is true or false
jump @HYPERBULLET_205

and game freezes when i press FIRE key...

You need to change this to reflect the variable used to create YOUR car, 12@ was used as an example.

00AA: store_car 12@ position_to 3@ 4@ 5@ 
6@ = Car.Angle(12@)

Since you used 0@ as the car it should read:

00AA: store_car 0@ position_to 3@ 4@ 5@ 
6@ = Car.Angle(0@)

Link to comment
Share on other sites

  • 2 weeks later...

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...