Jump to content
Sign in to follow this  
NeMeSiS

Zmod (Crappy Zombie Mod)

Recommended Posts

Finally a zombie mod where all you do is drag , drop n play. No more teadious scripting...jolly good job!

Share this post


Link to post
Share on other sites

Love how this works. Feels like ARMA's fan-based contributions are a year or two ahead. smile_o.gif

I might suggest that the slow zombies have more health - I kind of liked how in the earlier beta (0.3 I think), I had a battle where 2 units of WWII guys (rustic rifles and such) one unit of spec ops, and another of those 'pulse rifle' marines were almost always nearly or entirely wiped out by a real horde of zombies, as they flanked, they absorbed lots of shots and even explosives.

Maybe that's a bit extreme, but right now the slow guys seem too easy to kill. The fast are still nice and vicious, but the slow ones (And this may be as I was fighting in relatively open terrain, not cities) seem too easy.

Share this post


Link to post
Share on other sites

hi all i have found one soft for extract a zombie pbo

i want enhanced a attack systém of the zombies because when a zombies attack i backward and at 20m at a zombies i get a dammage.

i want add one logic or when a zombies attack if im - 3m i get a dammage but if i backward at +3m a zombies attack but i d'ont get a damage for this i use a distance check.

if (side _human!=civilian) and ((_zombie distance _human) < 3) then

but i have one error on game its

error: type booléen, if waiting

whats a probléme? banghead.gifhelp.gif

Share this post


Link to post
Share on other sites

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">? _human distance _zombie <= (_zombietargetdistance+0.3): _human setDammage (getDammage _human + _zombiedamage + (random _zombiedamage))

From the first version of the zombies..

You also need this

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">? _human isKindOf "Tank": _zombietargetdistance = 5; _zombiedamage = 0.075

? _human isKindOf "Car": _zombietargetdistance = 3.5; _zombiedamage = 0.1

? _human isKindOf "Man": _zombietargetdistance = 2.0; _zombiedamage = 0.20

I cant remember how charonos did it and i cannot write in .sqf, but this comes directly from the old .sqs version on my HD.

EDIT: Btw, would there be interest for a low-spec version for mass zombie assaults? The targetting system wouldnt be very refined but it would be much easier for your PC. (And in .sqs, .sqf is nice and fast but when used too much you get the annoying halts because .sqf's stop the entire game when something happens, while .sqs's just lower the FPS, which makes .sqf preferable for few zombie encounters and .sqs for when you want to overrun the world with hundreds of zombies.)

Lower LODs for the zombies to ease the GFX a bit would also be nice, but ive no idea how to do something like that.

Share this post


Link to post
Share on other sites

huh.gifbiggrin_o.gif

? _human distance _zombie <= (_zombietargetdistance+0.3): _human setDammage (getDammage _human + _zombiedamage + (random _zombiedamage))

but if i write one command line with _ a comand line has = at one function no?

_zombietargetdistance=?

after only i use this if i understand a arma logic?

Share this post


Link to post
Share on other sites
huh.gif  biggrin_o.gif

? _human distance _zombie <= (_zombietargetdistance+0.3): _human setDammage (getDammage _human + _zombiedamage + (random _zombiedamage))

but if i write one command line with _ a comand line has = at one function no?

_zombietargetdistance=?

after only i use this if i understand a arma logic?

Im sorry but i really dont understand what you just said. Could you post the entire script you want to change? Ill see if i can add what you want.. tounge2.gif

Share this post


Link to post
Share on other sites

yes man biggrin_o.gif thank to you for me helping the original script has:

_zombie=_this select 0;

_human=_this select 1;

_zombiedamage=0.29;

_zombie dowatch getpos _human;

_zombie lookAt _human;

_zombieclass=typeOf _zombie;

_maxspeed=getNumber (configFile >> "CfgVehicles" >> _zombieclass >> "maxSpeed");

if (_maxspeed<4) then

{

_zombiedamage=0.44;

};

if (_zombie in NEM_ZOMBIEATT) exitwith {};

NEM_ZOMBIEATT=NEM_ZOMBIEATT+[_zombie];

// dostop _zombie;

// sleep random 1;

_zombie switchmove "";

sleep 0.5;

if (not(alive _zombie)) exitwith {};

_kl=floor (random (count NEM_ZOMSNDS));

_zombie say (NEM_ZOMSNDS select _kl);

_zombie switchmove "AwopPercMstpSgthWnonDnon_end";

sleep 0.8;

if (not(alive _zombie)) exitwith {};

if (side _human!=civilian) then

{

_human setDammage (getDammage _human + _zombiedamage)

}

else

{

_human setDammage (getDammage _human + (_zombiedamage*1.5))

};

sleep 1;

if (not(alive _zombie)) exitwith {};

_zombie switchmove "";

NEM_ZOMBIEATT=NEM_ZOMBIEATT-[_zombie];

and my light modification

_zombie=_this select 0;

_human=_this select 1;

_zombiedamage=0.29;

_zombie dowatch getpos _human;

_zombie lookAt _human;

_zombieclass=typeOf _zombie;

_maxspeed=getNumber (configFile >> "CfgVehicles" >> _zombieclass >> "maxSpeed");

if (_maxspeed<4) then

{

_zombiedamage=0.44;

};

if (_zombie in NEM_ZOMBIEATT) exitwith {};

NEM_ZOMBIEATT=NEM_ZOMBIEATT+[_zombie];

// dostop _zombie;

// sleep random 1;

_zombie switchmove "";

sleep 0.5;

if (not(alive _zombie)) exitwith {};

_kl=floor (random (count NEM_ZOMSNDS));

_zombie say (NEM_ZOMSNDS select _kl);

_zombie switchmove "AwopPercMstpSgthWnonDnon_end";

sleep 0.8;

if (not(alive _zombie)) exitwith {};

if (side _human!=civilian) and ((_zombie distance _human) < 3) then

{

_human setDammage (getDammage _human + _zombiedamage)

}

else

{

_human setDammage (getDammage _human + (_zombiedamage*1.5))

};

sleep 1;

if (not(alive _zombie)) exitwith {};

_zombie switchmove "";

NEM_ZOMBIEATT=NEM_ZOMBIEATT-[_zombie];

my eror has just on line

if (side _human!=civilian) and ((_zombie distance _human) < 3) then

thanks you very much wink_o.gif

Share this post


Link to post
Share on other sites

Ok to be honest i suck at .sqf, i cannot test it right now but i guess that something like

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">sleep 0.8;

if (not(alive _zombie)) exitwith {};

if (side _human!=civilian) then

{

if ((_zombie distance _human) < 3) then

{

_human setDammage (getDammage _human + _zombiedamage);

}

else

{

hint "DEBUG:no damage, _human too far away";

}

}

else

{

if ((_zombie distance _human) < 3) then

{

_human setDammage (getDammage _human + (_zombiedamage*1.5));

}

else

{

hint "DEBUG:no damage, _human too far away";

}

};

sleep 1;

if (not(alive _zombie)) exitwith {};

_zombie switchmove "";

NEM_ZOMBIEATT=NEM_ZOMBIEATT-[_zombie];

Will work. (Im not sure what to do with the else stuff, i guess you can remove the DEBUG hints, not sure so i just left them there.. tounge2.gif

(maybe this helps (Read the 'nested if statements' part. smile_o.gif )

Share this post


Link to post
Share on other sites

yeahhh man you has a best biggrin_o.gif its this im strong for a sqs script but i d'ont understand a sqf script huh.gif

thank you very much now a zombies attack has réalistic yay.gif

Share this post


Link to post
Share on other sites

i have a new probléme tounge2.gif  i have add an new exploding bodies

effects its an original script by y2k3 and ffurr for ofp

i have a probléme with a blood model p3d

i need found a p3d of arma blood i have found in misc blody_.paa but i don't known a p3d name whats its name?

Share this post


Link to post
Share on other sites

The exploding bodies addon from Y2K3 used some kind of extra addon for the bloody bones etc which were flying around.

I dont know anything about modelling so you may want to ask the author of ffur/Y2K3, but i guess you would need to port that OFP addon to ArmA. (I really dont know how)

Share this post


Link to post
Share on other sites

I am too working on a zombie mod.

Maybe we can cooperate? or at least exchange information/ideas?

My zombies (actually, for historical reasons and because i like it, i call them "yomies") should be plug&play, and 100% MP compatible.

Here is a short readme with basic info about my zombies. I am updating the file regularly, when i add new features.

Currently i have a problem, which can be solved, i am sure of it, but i lack the required knowledge so it will probably cost me great amount of time,

so i am asking for help:

To make the addon 100% MP compatible, i choose to replace the method of playing attack animation and setDamaging the target, by a special "zombie weapon" with which the zombies would attack their targets automatically and it would make sure the weapon animation will be played on all computers in MP without any additional scripting.

The weapon is based on the hand grenade class, and the zombies are using it well, but they can't hit the target (especially when it is right in front of them).

The problem is that the projectile they are throwing, is released on too much high ballistic curve like if they wanted to hit a target 60 meters away,

so the projectile is being thrown over the target unit's head and won't even scratch it.

Have anyone tried to make such close-range weapon with any more success?

Share this post


Link to post
Share on other sites

charonos tried the same and im not sure if its implented in the last version, but 'class NEM_Fist : GrenadeHand' which he made is still there in the config.

Guess you can either PM him (havent seen him in a while here) or take a look at the config for inspiration. wink_o.gif

Share this post


Link to post
Share on other sites
so the projectile is being thrown over the target unit's head and won't even scratch it.

Have anyone tried to make such close-range weapon with any more success?

no

but have you looked at guided weapons?

I don't know if this works with grenades, but you could try to give it the ability to "follow" target with high/unlimited change of direction, practicaly an 100% hit weapon.

QuietMan

Share this post


Link to post
Share on other sites
charonos tried the same and im not sure if its implented in the last version, but 'class NEM_Fist : GrenadeHand' which he made is still there in the config.

Guess you can either PM him (havent seen him in a while here) or take a look at the config for inspiration. wink_o.gif

Well, i cant find a functional link to download this thing, so i can't look at it sad_o.gif

Share this post


Link to post
Share on other sites
charonos tried the same and im not sure if its implented in the last version, but 'class NEM_Fist : GrenadeHand' which he made is still there in the config.

Guess you can either PM him (havent seen him in a while here) or take a look at the config for inspiration. wink_o.gif

Well, i cant find a functional link to download this thing, so i can't look at it sad_o.gif

The link i posted is a bit weird, you have to scroll down alot to actually see the post/link/stuff.. tounge2.gif

(If it still doesnt work, PM me)

Share this post


Link to post
Share on other sites
so the projectile is being thrown over the target unit's head and won't even scratch it.

Have anyone tried to make such close-range weapon with any more success?

no

but have you looked at guided weapons?

I don't know if this works with grenades, but you could try to give it the ability to "follow" target with high/unlimited change of direction, practicaly an 100% hit weapon.

QuietMan

I would need to make something like an RPG soldier who performs the throwing animation when firing his RPG - and i don't know how to do that in the config.cpp.

Share this post


Link to post
Share on other sites

@5133p39: Your project sounds great! Good to use FSM and other inbuildt features instead of heavy scripting.

Share this post


Link to post
Share on other sites

I made some progress on the zombie stroke attack weapon.

I managed to create a weapon derived from grenade class, which is automatically playing the desired animation when fired (no wonders there, it uses the same principle as the standard BIS grenade throw).

The timeToLive of the projectile is set to 0.01, because there is no point of having it around - AI still can't hit the target when it goes prone.

...this allows for playing the attack animation even in MP environment without any scripting.

Now, to damage the targeted unit, "fired" event handler is attached to the zombie class in the config.cpp.

The event handler will get the assignedTarget, check the distance between the target and the zombie, and eventually do some setDamage on the target to simulate the hit.

Of course, the event handler code has to be run on the server only, to prevent applying setDamage multiple times because normally it would be run on every machine).

...so, this too works in MP.

I have only one problem with this: it just works, but it's not perfect.

To make it perfect, i need to get rid of the "fired" event handler, i need the damage to be a result of the projectile hitting the target instead of scripting.

A bullet projectile would do the job - AI wouldn't have problems hitting its target with a bullet, but when using weapons based on the rifle/machinegun class i am unable to make it so the attack animation would be played.

Is there a way to do this?

Also, when using rifles, the unit has to be holding some weapon which can have no visible model, but it needs to have the muzzle points defined, otherwise the unit will shoot bullets from its chest and seems to be unable to aim or even fire.

The other way is to make the "shotStroke" simulation to work, but i have absolutely no clue how.

Maybe the "shotStroke" is missing some hardcoded code to make it work, or maybe it needs some unknown additional config variables, i don't know.

any ideas?

Share this post


Link to post
Share on other sites
The other way is to make the "shotStroke" simulation to work, but i have absolutely no clue how.

Maybe the "shotStroke" is missing some hardcoded code to make it work, or maybe it needs some unknown additional config variables, i don't know.

I know that there is some residue stuff left in the main config.bin about strokefist/gun (IIRC in cfgactions) but the 'weapons' themselves seem to be missing.

If you still have OFP installed it may be worth to try copy and paste the stroke weapons into ArmA, the hardcoded part may still be there. (Why would BI completely remove it?)

Maybe you can give the 'grenade' some area damage, i cant remember if you can influence the 'drop rate' of the bullet but if you can then you may let the grenade fall very fast so it falls more or less in front of the zombie, and because of the area damage it would hit the target anyway.

(Sorry for the vague descriptions, im a bit tired after studying too long.. tounge2.gif )

Share this post


Link to post
Share on other sites
The other way is to make the "shotStroke" simulation to work, but i have absolutely no clue how.

Maybe the "shotStroke" is missing some hardcoded code to make it work, or maybe it needs some unknown additional config variables, i don't know.

I know that there is some residue stuff left in the main config.bin about strokefist/gun (IIRC in cfgactions) but the 'weapons' themselves seem to be missing.

If you still have OFP installed it may be worth to try copy and paste the stroke weapons into ArmA, the hardcoded part may still be there. (Why would BI completely remove it?)

Maybe you can give the 'grenade' some area damage, i cant remember if you can influence the 'drop rate' of the bullet but if you can then you may let the grenade fall very fast so it falls more or less in front of the zombie, and because of the area damage it would hit the target anyway.

(Sorry for the vague descriptions, im a bit tired after studying too long.. tounge2.gif )

Hmmm, as i think about it again, i think i will use the current method,

because i need to run a script after the attack anyway - to provide the "infect" ability.

If the strokeFist would work, then i would have to attach "damaged" or "hit" eventhandler on every non-resistance unit, to check whether it was damaged by a zombie and run the "infectTarget" code.

As the things are now, i can run the "infectTarget" script right from the "damageTarget" function and i don't even need to check who did the damage, because i know it was a zombie.

So it seems like a reasonable tradeof - additional eventhandler, and the potential overhead of another script used to attach this eventhandler vs. using the damageTarget function.

I think i'll leave it as it is then.

So, it looks like my todo list is getting smaller.

I need to add only a simple function to move existing spawn area, then the infection ability with an antidote (which won't cure the infection, but only temporarily postpones the mutation), and the basic template will be ready.

Then we can start creating missions!

(btw. i know i am stealing ideas here, but its for everyones benefit - after i release the results, you can do whatever you want with it)

Share this post


Link to post
Share on other sites

I got an idea that might improve the zombie feeling in this awesome mod..

Is it possible to make the player call the zombies "romeo lima foxtrot" instead of "man" like in this vid

RLF means reanimated lifeform..

wink_o.gif

Share this post


Link to post
Share on other sites
I got an idea that might improve the zombie feeling in this awesome mod..

Is it possible to make the player call the zombies "romeo lima foxtrot" instead of "man" like in this vid

RLF means reanimated lifeform..

wink_o.gif

Thats a strange remix from one of the special features from DotD2004? tounge2.gif

They also call it a zombie there BTW wink_o.gif

Im not entirely sure if its possible to use multiple sounds (at the same time) for 1 object, but i doubt it, have to look into it some time.

Share this post


Link to post
Share on other sites

I am here to anounce another little progress, AND, as allways, possible problems smile_o.gif

I implemented the zombie's ability to infect other units (player or AI).

When a unit is hit by zombie, random value is checked, and eventually the unit gets infected.

It takes five minutes before a unit will be transformed into a zombie.

If the infected unit is AI, then there is no indication of infection - so if you are escorting some civlians to safety, and one of them is infected, you have no way of knowing that until he becomes a zombie.

If the infected unit is a player, then after some time (as the transformation end is closing), he will start hearing occasional strange music, which is being played louder and longer as the end of transformation is closing. Again, only the infected player will hear this, so it's up to him to let his team know about it (and risk that they will kill him before the transformation ends ;-) ), or wait and hope he finds the antidote (which i haven't created yet :-)) ).

Right now, the transformation is done by creating new zombie unit and removing the original one.

If its a player who got infected, then he is teamSwitched into this new zombie unit - and that's the problem, i am not sure whether this will work in MP (actually i think it won't).

The other ways of doing that would be:

1. to create a new zombie unit, join the player into its group, and kill the player - when used with group respawn, it will work, but its a little awkward, it looks unnatural.

2. somehow change the player's side to Resistance (which is the zombie's side), and use setFace/setIdentity (i hope this works in MP) to make him look like a zombie.

But how to change the side to Resistance??

The only way i know of, is to join the player into group of some existing Resistance unit.

But the zombies still see such unit as a target (because the nearTargets i am using returns almost anything, including some buildings).

Of course i can filter out that with condition "(side group _target != resistance) && (_target isKindOf "Man") && ...", but since the zombies are using a "real weapon" to strike, when they will get near such player, they will use the weapon to fire at him and they can eventually hurt him - which i can also filter out, but that's another condition, and i don't like that (i like the simple, already-in-engine solutions, also it looks weird seeing other zombies to attack player zombie - it also gives away who is player and who is AI).

I need something like "player setSide Resistance", but such command doesn't exist sad_o.gif

Ideas?

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

×