[Released] Use zombie guts to hide from zombies like "The Walking Dead"

Sandbird

Valued Member!
I was watching "The Walking Dead" the other day and i liked that famous trick they do that they smear themselves with zombie parts to hide from zombies and thought of making a mod just like that.
I added a lot of stuff to it, and its almost complete.

Basically you gut some zombies and use their parts to 'smear' yourself with zombie parts. While you have them on you, zombies wont notice you, unless you fire your weapon or clean yourself. If you fire your weapon, then you can easily get the 'zombie camo' back if you hide from them. You still 'wear' the z parts so the zombies still think you are one of them if they lose you (get out of combat).

You can remove the guts by using water bottles to clean yourself, or swim in water (pond, sea), or use a well.

Rain can also remove your camo. If rain starts you have a few seconds to find cover. (get inside a building). Otherwise your camo will get 'washed away'.

Also while under the effect, the player will make zombie noises at random intervals to imitate them better
tongue.png
(male/female zombie sounds, based on player's model).

Here is a small demo:


Open to suggestions, ideas etc
 
Script released: http://epochmod.com/forum/index.php...dead-hide-from-zombies-like-the-walking-dead/

!!! Update !!!

The only thing you need to do is redownload the files and redo step 3.
People that use blood loss instead of humanity, check the red letters further down the 1st thread.

config.sqf includes everything in there now.


Post there any problems....This script should work for any dayz version...but i havent tested it. So let me know if you have any problems.
 
Last edited:
Update

- Changed config.sqf (removed wells from the DZ_waterSources array...now all wells are recognized from the walkamongstthedead.sqf)
- Changed walkamongstthedead.sqf (added all wells and ponds detection. Look at any well or a pond and use scroll to get the option to remove camo)
- Touching water wont remove camo now, only swimming.
 
As long as you have zombie parts inside the game...then it should work.
Do you have any errors in the server log when the server doesnt start ?
 
I got the server to start up, but it doesnt seem to be working.

No option to harvest zombie parts, and the item "ItemZombieParts" can't even be manually added to my inventory via database (isnt there when i log in). Maybe Epoch does some things different.

usually i thought for actions i'd need to do something with the fn_selfactions file to get the scroll wheel option to select harvest zombie parts.

Does seem like a cool script though.


edit:
seems to give you option to wash zombie guts off when right clicking on waterbottle. but still dont know how to actually get the zombie guts.
 
Last edited:
I got the server to start up, but it doesnt seem to be working.

No option to harvest zombie parts, and the item "ItemZombieParts" can't even be manually added to my inventory via database (isnt there when i log in). Maybe Epoch does some things different.

usually i thought for actions i'd need to do something with the fn_selfactions file to get the scroll wheel option to select harvest zombie parts.

Does seem like a cool script though.


edit:
seems to give you option to wash zombie guts off when right clicking on waterbottle. but still dont know how to actually get the zombie guts.

Sorry for the delay...i've been having DDOS problems on the server today...and was trying to sort it out.
Yes you need to add the "Gut Zombies" action in your fn_self_actions.sqf....and you need to have an ItemKnife on you as well.

To add it go here: http://epochmod.com/forum/index.php?/topic/9065-fn-selfactionsqf/#entry62434

Search for _player_butcher.
And copy/paste anything related to that in your fn_self_actions.sqf.
This will give you the option to Gut zombies.
If you dont have epoch....replace these values bellow:

localize "STR_EPOCH_ACTIONS_GUTZOM" ->> "Gut Zombie"
localize "str_actions_self_04" ->> "Gather Meat"

notice...localize and the quotes on the replace....you have to do it exactly like this.

Also add s_player_butcher = -1; in your variables.sqf to be safe :)
 
Thanks.
Was trying to join your server this morning to test this, was wondering why it wasn't connecting.


looking for that fn_selfActions you linked to, i found i needed to replace

Code:
//Harvested
   if (!alive _cursorTarget and _isAnimal and _hasKnife and !_isHarvested and _canDo) then {
     if (s_player_butcher < 0) then {
       s_player_butcher = player addAction [localize "str_actions_self_04", "\z\addons\dayz_code\actions\gather_meat.sqf",_cursorTarget, 3, true, true, "", ""];
     };
   } else {
     player removeAction s_player_butcher;
     s_player_butcher = -1;
   };

With

Code:
// Human Gut animal or zombie
  if (_player_butcher) then {
  if (s_player_butcher < 0) then {
  if(_isZombie) then {
  s_player_butcher = player addAction [localize "STR_EPOCH_ACTIONS_GUTZOM", "\z\addons\dayz_code\actions\gather_zparts.sqf",_cursorTarget, 0, true, true, "", ""];
  } else {
  s_player_butcher = player addAction [localize "str_actions_self_04", "\z\addons\dayz_code\actions\gather_meat.sqf",_cursorTarget, 3, true, true, "", ""];
  };
  };
  } else {
  player removeAction s_player_butcher;
  s_player_butcher = -1;
  };

DayZ Vanilla doesn't have that gather_zparts, so i got it from the epoch dayz_code, but it has alot of epoch references so it might not work without being fully converted. so i dont know.

So i take it, when you said replace the localize parts, you want me to do it like?:


Code:
// Human Gut animal or zombie
  if (_player_butcher) then {
  if (s_player_butcher < 0) then {
  if(_isZombie) then {
  s_player_butcher = player addAction [localize "str_actions_self_04", "\z\addons\dayz_code\actions\gather_meat.sqf",_cursorTarget, 0, true, true, "", ""];
  } else {
  s_player_butcher = player addAction [localize "str_actions_self_04", "\z\addons\dayz_code\actions\gather_meat.sqf",_cursorTarget, 3, true, true, "", ""];
  };
  };
  } else {
  player removeAction s_player_butcher;
  s_player_butcher = -1;
  };[
/code]

notice how i only replaced
"STR_EPOCH_ACTIONS_GUTZOM", "\z\addons\dayz_code\actions\gather_zparts.sqf

with
"str_actions_self_04", "\z\addons\dayz_code\actions\gather_meat.sqf

as i think you stated, right?

i also added this before all that, not sure if it'll help or break it, couldn't find it in the original code

Code:
  // Gut animal/zed
     if((_isAnimal or _isZombie) and _hasKnife) then {
       _isHarvested = _cursorTarget getVariable["meatHarvested",false];
       if (!_isHarvested) then {
         _player_butcher = true;
       };
     };


edit:

yeah still not working. this method even removes the option to gut from animals.
i'll mess with it more later on after work.

i probably need to merge the above code with the original
if (!alive _cursorTarget and _isAnimal and _hasKnife and !_isHarvested and _canDo) then {

in dayz vanilla, or find a way to get vanilla to listen to the above code.
 
Last edited:
oh noes thats a bit messed up :p
hmm its gonna be hard to do this like this without knowing what you are editing...can you copy paste your original chunk of code so i edit it for you ?
Is it this one ?
Code:
//Harvested
   if (!alive _cursorTarget and _isAnimal and _hasKnife and !_isHarvested and _canDo) then {
     if (s_player_butcher < 0) then {
       s_player_butcher = player addAction [localize "str_actions_self_04", "\z\addons\dayz_code\actions\gather_meat.sqf",_cursorTarget, 3, true, true, "", ""];
     };
   } else {
     player removeAction s_player_butcher;
     s_player_butcher = -1;
   };

you have str_actions_self_04? i thought that was an epoch thing. Thats the translation values ..for instead of writing :
Code:
s_player_butcher = player addAction ["Gather meat", "\z\addons\dayz_code\actions\gather_meat.sqf",_cursorTarget, 3,
 
Here:
Code:
//Harvest Zombie
    //        _isZombie = cursorTarget isKindOf "zZombie_base";
   if (_isZombie) then {
     if (s_player_butcherZ < 0) then {
       s_player_butcherZ = player addAction ["Gut Zombie", "\z\addons\dayz_code\actions\gather_zparts.sqf",_cursorTarget, 0, true, true, "", ""];
     };
   } else {
     player removeAction s_player_butcherZ;
     s_player_butcherZ = -1;
   };

If you have a variables.sqf then set :
s_player_butcherZ = -1;
Just search
Code:
= -1;
inside the variables.sqf to see where to put it.
If you dont have a variables.sqf then add it above my comment //Harvest Zombie

I left the // _isZombie.... in case you dont have that value either.

This should do it...dont replace your gather meat function...just add this under it
 
\z\addons\dayz_code\actions\gather_zparts.sqf doesnt exist in vanilla dayz.

Will someone how need to convert that file to work in dayz :(

but the above code does make the option appear. just need to convert that file.

thanks for help so far

so maybe i can try to fix it up my self by comparing the differences in gather_meat. which is also diff than the gather meat epoch version
http://pastebin.com/cuhi9UAu
 
Last edited:
\z\addons\dayz_code\actions\gather_zparts.sqf doesnt exist in vanilla dayz.

Will someone how need to convert that file to work in dayz :(

but the above code does make the option appear. just need to convert that file.

thanks for help so far

so maybe i can try to fix it up my self by comparing the differences in gather_meat. which is also diff than the gather meat epoch version
http://pastebin.com/cuhi9UAu

Well this is the gather_zparts.sqf

http://pastebin.com/5W5QdNfa

The only problem is that you probably wont have that special icon of zombie parts in your client, to harvest it in the first place.
Give it a try....you might have it you might not.
Save the file above in your mission folder at : dayz_code\actions\gather_zparts.sqf
and change the code i posted earlier from :
Code:
s_player_butcherZ = player addAction ["Gut Zombie", "\z\addons\dayz_code\actions\gather_zparts.sqf",_cursorTarget, 0, true, true, "", ""];
to
Code:
s_player_butcherZ = player addAction ["Gut Zombie", "dayz_code\actions\gather_zparts.sqf",_cursorTarget, 0, true, true, "", ""];

If you have the zombie parts icon you should see it in your inventory.

If you dont....then we could do it like this. Since you dont have the zombie parts item, them maybe we can "Smear zombie guts" after you've killed a zombie and look at its dead body.

So you could change my previously posted script to this:

Code:
//Harvest Zombie
    //        _isZombie = cursorTarget isKindOf "zZombie_base";
   if (_isZombie) then {
     if (s_player_butcherZ < 0) then {
       s_player_butcherZ = player addAction ["Smear Zombie parts on you", "custom\walkamongstthedead\smear_guts.sqf",_cursorTarget, 0, true, true, "", ""];
     };
   } else {
     player removeAction s_player_butcherZ;
     s_player_butcherZ = -1;
   };

and change my smear_guts.sqf to this:

Code:
private ["_txt","_smQTY","_c"];


if (dayz_combat == 1) exitWith {
    _txt = "You need to hide and get out of combat first.";
    cutText [_txt, "PLAIN DOWN"];
};

if (hasGutsOnHim) exitWith {
    _txt = "You are already covered in zombie guts.";
    cutText [_txt, "PLAIN DOWN"];
};

    r_interrupt = false;
    player playActionNow "Medic";
    for [{_c=0}, {_c < 2}, {_c=_c+1}] do
    {
        sleep 0.5;
    };
   
    [player,"gut",0,false,10] call dayz_zombieSpeak;
    sleep 10;
   
    sand_USEDGUTS = true;
    hasGutsOnHim = true;
    sand_washed =  false;
    cutText ["You smeared the zombie parts on you.", "PLAIN DOWN"];
   
    r_interrupt = false;
    player switchMove "";
    player playActionNow "stop";
    sleep 2;
};

This way you'll be 'applying' the zombie camo after you killed a zombie...and no parts need to do the effect.
 
The Zombieparts have to exist in a config file, cfgmagazines or something. There the icon has to be defined.
 
I think you should add a small, random chance to get infected. Something like what Krixes did with self blood bag. I may end up doing it myself but right now i'm busy working on other things :)
 
I think you should add a small, random chance to get infected. Something like what Krixes did with self blood bag. I may end up doing it myself but right now i'm busy working on other things :)
Tried that...but due to the frequency of applying guts on you...you have a 100% chance during a day to get infected.
Some admins have the option the effect to wear of, so its really hard to come up with an algorithm based on time/frequency of use etc to satisfy them all...so i didnt add it in the end

Love this! Mind if I include it in my epoch repack?
Yes, make sure you get the latest version from the epoch forum.
 
Tried that...but due to the frequency of applying guts on you...you have a 100% chance during a day to get infected.
Some admins have the option the effect to wear of, so its really hard to come up with an algorithm based on time/frequency of use etc to satisfy them all...so i didnt add it in the end


Yes, make sure you get the latest version from the epoch forum.
Thanks!
 
I think you should add a small, random chance to get infected. Something like what Krixes did with self blood bag. I may end up doing it myself but right now i'm busy working on other things :)
Couldn't we start chance at 0.01 then increase chance over time, or just have a chance when first applying guts?

Just some thoughts :p
 
Back
Top