Jump to content
Sign in to follow this  
NeMeSiS

Zmod (Crappy Zombie Mod)

Recommended Posts

I would like to anounce that i am looking for some Zombie mod i can participate on.

I can do some scripting, and little config editing.

I was working on my own zombie mod, but soon i lost interest because i realized it's impossible to make it a perfect zombie mod (my idea of perfection is little twisted and maybe too demanding), but i don't like to leave things unfinished, and recently i found a little motivation again to try and finish this - maybe it could make some people happy smile_o.gif

But, since my twisted idea of perfection, i need someone to tell me how should i make the zombies, how should they behave, what features to add, etc. - i can't make up these things myself, because then i start judging how could i implement which feature and how much perfect the implementation could be and since there are some limits in ArmA i would inevitably lost my motivation again :-)

So i need someone to tell me "its ok, it doesnt need to be perfect, we just need it to work and we will be happy with this and that, so lets do it this way even that your stupid brain wouldnt be satisfied with the result".

So, PM me, if you think you could use my help, OR if you think you could help me (i am talking about zombie related ideas, not about psychiatric help wink_o.gif ).

Share this post


Link to post
Share on other sites

Low spec zombies, read the readme.

EDIT: TO ENABLE RESURECTION: Make a unit and name it Zombiedummy to enable resurrection, otherwise its disabled.

180 zombies and my FPS barely dropped, however when looking at all the zombies at the same time my FPS dropped noticably because my x1600XT has trouble with 180 zombiemodels at the same time, but i cant fix the models tounge2.gif .

Specs: x2 4200+, 1,5gb ram, x1600XT.

Seriously: This is barely worth releasing but i cant be bothered do work on it anymore and it does what you guys asked for, if you have an afternoon off and are bored then feel free to add more models to the config and rerelease it. (Just keep it compitable to the other zombie mod, preferably add _LOW at the end of the classname)

Share this post


Link to post
Share on other sites
No like i said: Its the .sqf scripts, they are faster *but* instead of lowering the fps they halt the engine until done calculating which is the 'lag' everyone is experiencing. Apparently .sqf isnt that useful for CPU heavy stuff like zombies.

sqf requires less CPU load to do the same work and I think the engine functions stop anything else. OPF and Arma engine execute functions not parallel, e.g. that's why you have a "this" global variable on creating units

as SQF does more function calls per second, it is easier to create load on the engine.

you just need to enter a sleep command in big loops

I took a look into the last version script some weeks before and if I remember right there is only one global sleep and then some nested loop going through all units without sleep. That's why the lag is coming so regular and getting bigger and bigger with more units.

If you remove the overall sleep and instead enter a very small sleeps within any loop scripts should run fine. You should do this also at sqs. Or better avoid sqs as it is creating more overall strain on the engine.

QuietMan

Share this post


Link to post
Share on other sites

Ive been working on a mission recently and ive noticed that the zombies will walk right on through the walls even though ive put walls surronding them a fence to keep them in and sandbags and also a huge chain fence. I dont know how they keep getting out but i will post some pictures of it some time today

Share this post


Link to post
Share on other sites
No like i said: Its the .sqf scripts, they are faster *but* instead of lowering the fps they halt the engine until done calculating which is the 'lag' everyone is experiencing. Apparently .sqf isnt that useful for CPU heavy stuff like zombies.

sqf requires less CPU load to do the same work and I think the engine functions stop anything else. OPF and Arma engine execute functions not parallel, e.g. that's why you have a "this" global variable on creating units

as SQF does more function calls per second, it is easier to create load on the engine.

you just need to enter a sleep command in big loops

I took a look into the last version script some weeks before and if I remember right there is only one global sleep and then some nested loop going through all units without sleep. That's why the lag is coming so regular and getting bigger and bigger with more units.

If you remove the overall sleep and instead enter a very small sleeps within any loop scripts should run fine. You should do this also at sqs. Or better avoid sqs as it is creating more overall strain on the engine.

QuietMan

IIRC (not going to check the script, reading .sqf takes too much of my time) all zombies are handled by one script instead of 1 script for every zombie, i think, combined with .sqf (not sure about only functions doing that), but i guess that whatever it needs to calculate, it needs to do too much at the same time which just completely locks up the game untill its done, after that it runs fine, then it hangs again, etc etc.

I really, really cant be arsed to work on anything like this so i wont even try to test it. Im far from a perfectionist, if it works its fine, no need to make it any better. tounge2.gif

Quote[/b] ]Ive been working on a mission recently and ive noticed that the zombies will walk right on through the walls even though ive put walls surronding them a fence to keep them in and sandbags and also a huge chain fence. I dont know how they keep getting out but i will post some pictures of it some time today

Its an ArmA problem, IIRC, units ignore all collision detection if they are within +-2 meters of their waypoint. (At least in OFP, dunno about ArmA)

Share this post


Link to post
Share on other sites

Hey ofp your low spec zombies dont attack civilians. Also the ressurection doesn't work, when the people die their bodies just dissapear but they don't come back as zombies.

Share this post


Link to post
Share on other sites
Hey ofp your low spec zombies dont attack civilians. Also the ressurection doesn't work, when the people die their bodies just dissapear but they don't come back as zombies.

1. Indeed, group the civilians to an east officer and type 'deletevehicle this' in the officers init (Only works if the officer has a higher rank then the zombies, and dont worry, the officer wont show up, this is basic mission editing knowledge anyway). I could use another type of targetting method but it would cost much more performance which isnt worth it as its so easy to work around this.

2. Seems like i forgot to save the last line in the readme:

Make a unit and name it Zombiedummy to enable resurection, otherwise its disabled.

Share this post


Link to post
Share on other sites

I haven't tried the new release, but it's on my things to do. Thanks for making it, ofpforum!

notworthy.gif

Share this post


Link to post
Share on other sites
Thanks for making it, ofpforum!

Seriously, i didnt just do it, i made it months ago, all i did was adding a '_LOW' here and there, removed some 'if's' and put it on rapidshare.

Its not really a specific low spec version, it just happens to run faster. tounge2.gif

Share this post


Link to post
Share on other sites

example how an zombie script could look like:

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

_group = group _zombie;

_zombie SetBehaviour "CARELESS";

_zombie setunitpos "UP";

_group SetSpeedMode "FULL";

_zombie setskill ["Courage",1.0];

_friends=-1;

_enemies=-1;

switch (side _zombie) do {

case west:

{ _friends=0; _enemies=3; };

case east:

{ _friends=1; _enemies=4; };

case resistance:

{ _friends=2; _enemies=5; };

};

_civTarget = objNull;

while {(alive _zombie) && (_zombie in (PW_AllTroops select _friends))} do

{

_target = _zombie findNearestEnemy _zombie;

while{ isNull _target } do

{

sleep 5;

_target = _zombie findNearestEnemy _zombie;

if ( (isNull _target) && (0 < count (PW_AllTroops select 6)) ) then

{

if ( isNull _civtarget ) then

{

_civTarget = (PW_AllTroops select 6) select (floor (random (count (PW_AllTroops select 6))));

};

_target = _civtarget;

};

};

if ( (_zombie distance _target) < 12 ) then

{

if ( (_zombie distance _target) < 4 ) then

{

_zombie switchmove "AwopPercMstpSgthWnonDnon_end";

sleep 1;

} else

{

_zombie playmove "AmovPercMrunSnonWnonDf_AmovPercMstpSnonWnonDnon_gthEnd";

sleep 1;

};

if ( (vehicle _target) != _target ) then

{

(vehicle _target) setDammage (getDammage (vehicle _target) + 0.01);

} else

{

_target setDammage (getDammage _target + 0.1);

};

};

_zombie doMove (position _target );

if ( (_zombie distance _target) > 100 ) then

{

sleep 3;

};

sleep 1;

};

the script has to be started for each zombie

PW_AllTroops is an array contains sub arrays of all units and their enemies:

[West, East, Res, East+Res, West+Res, West+East, Civ]

Regards,

QuietMan

Share this post


Link to post
Share on other sites

I registered in these forums for the sole purpose of saying thanks to to OP and the others that have made this mod. The new Zombies work a charm. The Zombies before gave me a bit of trouble as they werent aggressive enough. The Nem_Zombies_Low are hungry and will chase you for miles lol. Anyways, thanks for the time spent working on this. Im not sure they are ready for the mission I have in mind but I must admit they really crack me up watching them chase civillians around in the editor.

Also, I wanted to mention that the civilians mod that lets you put civilians on the east or west works great in combination with the zombies. cheers.

Share this post


Link to post
Share on other sites

I much prefer the old zombies, reason being the gameplays much smoother and they actually all attack and don't stand around being shot, so thankyou for releasing them again notworthy.gif

Share this post


Link to post
Share on other sites

yea, i prefer these aswell

any chance of walking ones?

as there can be a horde of them, running isn't necessary

had a ton of fun with these already, cheers

Share this post


Link to post
Share on other sites

It seems to me the "new old" zombies bunch up more than the standard ones. Anybody else think it looks that way? It's not a show-stopper, of course, but a minor inconvenience. And it could be happening with both zombie versions.

Anyway, I still prefer them over the standard. I barely notice any slowdown now.

Share this post


Link to post
Share on other sites

I cant find the link to the old zombies can someone post it please i had it before but i made some errors in the config with out saving a back up and ended up screwing it up can some one help me please!!!

and can you add the things you need to add to it again to make them attack and respawn

Share this post


Link to post
Share on other sites

*EDIT*

I'll post a .sqs to use in missions so we can spawn zombies... once I figure it out.

Share this post


Link to post
Share on other sites

Okay, here's a spawn script. It works for up to three spawns using markers labelled "zspawn1" "zspawn2" and "zspawn3." It uses the Low requirement zombies.

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

; ** ArmA Script File

; *****************************************************

#create

~0.3

_grp = createGroup Resistance;

unit = _grp createUnit ["NeM_Zombie_1_Low", getMarkerPos "zspawn1", ["One","Two","Three","Four"], 50, "FORM"];

[unit] join _grp;

unit = _grp createUnit ["NeM_Zombie_1_Low", getMarkerPos "zspawn2", ["One2","Two2","Three2","Four2"], 50, "FORM"];

[unit] join _grp;

unit = _grp createUnit ["NeM_Zombie_1_Low", getMarkerPos "zspawn3", ["One3","Two3","Three3","Four3"], 50, "FORM"];

[unit] join _grp;

;unit move position player;

~0.1

goto "wait"

#wait

;waits 10

~10

goto "create"

exit

For whatever reason, the zombies will eventually stop spawning. I'm not sure why this happens, but it's still better than no spawns. (I haven't timed how long the spawns work for, but I think it's a good ten minutes.)

Share this post


Link to post
Share on other sites
reason, the zombies will eventually stop spawning. I'm not sure why this happens, but it's still better than no spawns. (I haven't timed how long the spawns work for, but I think it's a good ten minutes.)

Max grooup coujrent is 144.

Share this post


Link to post
Share on other sites
reason, the zombies will eventually stop spawning. I'm not sure why this happens, but it's still better than no spawns. (I haven't timed how long the spawns work for, but I think it's a good ten minutes.)

Max grooup coujrent is 144.

So I have to find a way to clear the dead zombies out of the groups... or are you saying it simply cannot be done?

Share this post


Link to post
Share on other sites
reason, the zombies will eventually stop spawning. I'm not sure why this happens, but it's still better than no spawns. (I haven't timed how long the spawns work for, but I think it's a good ten minutes.)

Max grooup coujrent is 144.

So I have to find a way to clear the dead zombies out of the groups... or are you saying it simply cannot be done?

Well i dont know what happens if you keep recreating a group with the same name like you do, but you could just use a dummygroup and spawn them all into that group. (You can have an unlimited amount of groupmembers, or at least alot more the then amount of groups).

Problem then is that when 1 zombie spots someone all his groupmembers will also know about that target.

I guess the best solution is to keep it to +-6 units per group, i guess you could find the nearest zombie using nearestobject, count the amount of groupmembers, if its less then 6, join that z, if its 6 or more, join grpnull.

On the other hand, maybe you reached the max amount of groupmembers per group. (I guess you could hint format the amount of groupmembers to see it the group is filling up)

EDIT: In the mission editing section you can find more help i think.

Share this post


Link to post
Share on other sites

Can someone repost links to both:

- good old simple zombies

- latest beta with infection ability and such

Share this post


Link to post
Share on other sites

http://www.armedassault.info/index.p....temid=2

That link is for the Low Resolution Zombies and if you want them to respawn then you need to name a unit Zombiedummy or the units that have been killed by the zombies will just disappear. And about the infection i believe 5133p39 is working on that we are just waiting for a release. Im really not too sure though ive lost track of this subject

Share this post


Link to post
Share on other sites
Okay, here's a spawn script. It works for up to three spawns using markers labelled "zspawn1" "zspawn2" and "zspawn3." It uses the Low requirement zombies.

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

; ** ArmA Script File

; *****************************************************

#create

~0.3

_grp = createGroup Resistance;

unit = _grp createUnit ["NeM_Zombie_1_Low", getMarkerPos "zspawn1", ["One","Two","Three","Four"], 50, "FORM"];

[unit] join _grp;

unit = _grp createUnit ["NeM_Zombie_1_Low", getMarkerPos "zspawn2", ["One2","Two2","Three2","Four2"], 50, "FORM"];

[unit] join _grp;

unit = _grp createUnit ["NeM_Zombie_1_Low", getMarkerPos "zspawn3", ["One3","Two3","Three3","Four3"], 50, "FORM"];

[unit] join _grp;

;unit move position player;

~0.1

goto "wait"

#wait

;waits 10

~10

goto "create"

exit

For whatever reason, the zombies will eventually stop spawning. I'm not sure why this happens, but it's still better than no spawns. (I haven't timed how long the spawns work for, but I think it's a good ten minutes.)

Kamikaze189 How do you get the script to activate im very bad with getting scripts to work im guessing i have to set up a marker and in the init line put exec spawnscript.sqs huh.gif and would i have to do that for each marker

Share this post


Link to post
Share on other sites
.......And about the infection i believe 5133p39 is working on that we are just waiting for a release......

Oh, well, i thought i made it clear last time i was posting here, but maybe not.

I put the whole infection thing on hold, because it's probably impossible to implement it as i would want it... not that i am giving up the whole thing, but for now there are more important things to do.

Here is the latest pre-alpha version of the Zombie addon i am working on together with Benxcore:

Zombie addon

Sample mission for regular Sahrani island

The very same sample mission, but for SaraLite island (the demo island) - you can get the demo island at Armaholic

...it should work in MP, although i haven't tested it yet (i think that if there are any bugs, they will be in the test mission which i put together in a hurry, instead of in the Zombie addon itself).

Read the briefing, and do not expect that you will successfully finish the mission (in case it will be 100% working), because i think i made it too hard.

Do not forget to try different strategies - Zombies will go after you only if they knew about you (i know, its rather tricky in ArmA, but it works, sort of), so apart from the usual "Rambo the Zombie slayer" you can also play "Mr. Porcelain's Hide and Seek".

Just don't shoot when you don't have to, and give your Mr. Porcelain some silenced weapon, it helps.

...now i think there actually may be a bug - i just realized, i forgot to review some of the scripts after i wrote them - when playing in MP, make sure some player takes the first slot (actually i'm not sure whether its the first slot, but its the only lieutenant there is).

Share this post


Link to post
Share on other sites
For whatever reason, the zombies will eventually stop spawning.

You can have only 144 groups per side, and the game doesn't automaticaly delete the groups when all group's units died.

Long story short:

1. You spawn 144 groups of zomies

2. You kill them all

3. You can't create any more groups, because there already are 144 of them

You need to delete the empty (killed) groups on your own.

Or you can try adding "killed" event handler to each spawned zombie, to run some script which will add its group (if no living units in it) to some array of empty groups, to reuse those groups later when you reach the 144 limit (you can tell simply by checking "isNull _grp" right after the "_grp = createGroup Resistance", if its null, then you have reached the limit - no new groups will be created and you have to delete old empty ones, or reuse them)

edit : also note, that when deleting groups, you can't do it right from the killed unit's event handler script right after the unit is killed - the group has to be emtpy for you to be able to delete it, and it takes about 10 seconds until game itself realize all the group units are dead and removes them from the group.

So, before you can delete any group, you have to wait until (count units _grp == 0) is true.

Share this post


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

×