Well i will still try...
First you should backup war.wdl
Next create a new wdl called blood.wdl
Next, copy the blood script that was posted a few pages back. I have posted a modified script at the bottom of this post.
Next, open your main script and where you see the lines toward the top ot the page called, include <war.wdl>;, add your blood script directly above war.wdl. It should look like this...
include <blood.wdl>;
include <war.wdl>;
Next, open war.wdl and find the line called function fight_event. then select function fight_event all the way down until you have hilighted the word "return".delete that and paste my fight_event..... (your fight_event should look like this when you are done)
function fight_event()
{
if((EVENT_TYPE == EVENT_SCAN && indicator == _EXPLODE)
|| (EVENT_TYPE == EVENT_SHOOT && indicator == _GUNFIRE))
{
MY._SIGNAL = _DETECTED; // by shooting, player gives away his position
effect(bloodburstspezial,13,TARGET,nullvector);
ent_create (bloodspri, TARGET, bloodiest);
TRACE_MODE = IGNORE_ME + IGNORE_YOU + IGNORE_PASSABLE + IGNORE_MODELS + IGNORE_SPRITES + IGNORE_MAPS + ACTIVATE_SHOOT;
TRACE (gun_muzzle,gun_target);
create(bloodspri, TARGET, bloodiest2);
if (indicator == _EXPLODE)
{ // reduce damage according to distance
damage *= max(0,(range - RESULT))/range;
}
if(MY._ARMOR <= 0)
{
MY._HEALTH -= damage;
}
else
{
MY._ARMOR -= damage;
}
return;
}
Then you are done! Sorry if it sonds a little cryptic, this is the first tutorial i have ever written. Btw, here is the blood script i am not sure if it will work for A6 but you might as well give it a try....
bmap blood = <blood1.tga>;
Function bloodburst_spec_fun()
{
my.alpha -=random(0 *time);
if(my.alpha < 0)
{
my.lifespan = 0;
}
}
Function bloodburstspezial()
{
my.bmap = blood;
my.vel_x = random( 11.270 ) - (11.270 /2);
my.vel_y = random( 11.270 ) - (11.270 /2);
my.vel_z = random( 11.270 );
my.size = random(3.150 );
my.move =1 ;
my.flare=on;
my.alpha = 50 ;
my.transparent = 1 ;
my.gravity =4.331 ;
my.bright =0 ;
my.function = bloodburst_spec_fun;
my.flare =1 ;
}
Function bloodburst()
{
while(1)
{
effect(bloodburstspezial,13 *time,my.x,nullvector);
wait(1 );
}
}
action bloodburst_action
{
my.invisible = on;
My.passable = on;
bloodburst();
}
string bloodspri = <blood2.tga>; // strings can be defined in "" or <>
entity* blood1;
entity* blood2;
function bloody
{
me=blood1;
}
function bloodiest
{
my.oriented=on;
my.overlay=on;
my.facing=off;
my.passable=on;
my.scale_x = random(0.33);
my.scale_y = random(0.33);
vec_set(temp, my.x);
temp.z -= 3000;
trace_mode = ignore_me+ignore_sprites+ignore_you+ignore_models;
result = trace(my.x, temp);
vec_set(my.x, target); // set MY at target position
vec_to_angle(my.pan,normal);
my.roll=random(360);
}
function bloodiest2
{
vec_to_angle(my.pan,normal);
my.oriented=on;
my.overlay=on;
my.scale_x = random(0.33);
my.scale_y = random(0.33);
my.facing=off;
my.roll=random(360);
my.passable=on;
}
Last edited by exile; 07/21/05 04:41.