Jump to content

Zombie path mod


lordneg

Recommended Posts

Is there a mod that will stop zombie pathing and have them just attack, blocks that are between you and them. or maybe hit doors, or windows then walls. It sucks .IMO, the zombies will have a set path and it can be exploited. thnks :)

Link to comment
Share on other sites

This is inside the game engine itself, I believe. Modifying it would require writing a mod in C#, disabling EAC, and all players would need the mod, unless I am mistaken. There are some VERY talented authors in this community that might be able to do this, but I do not know of a mod that does what you're asking for.

 

I have watched many times as a zed would walk into a cactus or one of my helicopters and instead of turning 90deg, walking a block or two, then resuming their path, they start attacking. It is silly, considering the fact that they have the brains to bring exploding guys on horde night and can see you on top of a building and path to you from the ground, but cannot walk around an object. This IS alpha though, and I guess it'll change at some point.

Link to comment
Share on other sites

You can make some basic modifications to the Zombie AI through the UtilityAI file in the xml config folder.

 

For example.

 

            <action name="MeleeAttackBlock" weight="3">
                <task class="AttackTargetBlock" action_index="0"/>
                
                <consideration class="PathBlocked"/>
                <consideration class="TargetType" type="Block"/>
                <consideration class="TargetDistance" flip_y="true" min="2" max="4"/>
            </action>

 

That's the xml values for zombies attacking blocks.  You can change things like the min and max numbers to increase how many blocks they will go through to get to you.

 

In addition, there are additional values in entityclasses you can adjust

 

From ZombieTemplateMale

 

    <property name="AIFeralSense" value="1.5"/>
    <property name="AINoiseSeekDist" value="8"/>
    <property name="AIPathCostScale" value=".15, .4"/>
    <!-- ApproachAndAttackTarget class=class,chaseTimeMax (go home) -->
    <!-- SetNearestEntityAsTarget class=class, hear dist, see dist (checked left to right)(0 dist uses entity default, neg no sense scale) -->
    <property name="AITask" value="
    BreakBlock|
    DestroyArea|
    Territorial|
    ApproachDistraction|
    ApproachAndAttackTarget class=EntityPlayer,0,EntityBandit,0,EntityEnemyAnimal,0,EntityAnimal|
    ApproachSpot|
    Look|
    Wander|
    "/>
    <property name="AITarget" value="
    SetAsTargetIfHurt class=EntityPlayer,EntityBandit,EntityEnemyAnimal|
    BlockingTargetTask|
    SetNearestCorpseAsTarget flags=edible|
    SetNearestEntityAsTarget class=EntityPlayer,0,0,EntityBandit,0,-10|
    "/>

 

AIPathCostScale is how they determine if they should take a straight path to you or if they should just destroy blocks in a straight line to you.  You can modify those values to change the zombie behavior.

 

More complex changes would require changes to the source code that @The_Great_Sephiroth mentioned.

Link to comment
Share on other sites

3 minutes ago, BFT2020 said:

You can make some basic modifications to the Zombie AI through the UtilityAI file in the xml config folder.

 

For example.

 

            <action name="MeleeAttackBlock" weight="3">
                <task class="AttackTargetBlock" action_index="0"/>
                
                <consideration class="PathBlocked"/>
                <consideration class="TargetType" type="Block"/>
                <consideration class="TargetDistance" flip_y="true" min="2" max="4"/>
            </action>

 

That's the xml values for zombies attacking blocks.  You can change things like the min and max numbers to increase how many blocks they will go through to get to you.

 

In addition, there are additional values in entityclasses you can adjust

 

From ZombieTemplateMale

 

    <property name="AIFeralSense" value="1.5"/>
    <property name="AINoiseSeekDist" value="8"/>
    <property name="AIPathCostScale" value=".15, .4"/>
    <!-- ApproachAndAttackTarget class=class,chaseTimeMax (go home) -->
    <!-- SetNearestEntityAsTarget class=class, hear dist, see dist (checked left to right)(0 dist uses entity default, neg no sense scale) -->
    <property name="AITask" value="
    BreakBlock|
    DestroyArea|
    Territorial|
    ApproachDistraction|
    ApproachAndAttackTarget class=EntityPlayer,0,EntityBandit,0,EntityEnemyAnimal,0,EntityAnimal|
    ApproachSpot|
    Look|
    Wander|
    "/>
    <property name="AITarget" value="
    SetAsTargetIfHurt class=EntityPlayer,EntityBandit,EntityEnemyAnimal|
    BlockingTargetTask|
    SetNearestCorpseAsTarget flags=edible|
    SetNearestEntityAsTarget class=EntityPlayer,0,0,EntityBandit,0,-10|
    "/>

 

AIPathCostScale is how they determine if they should take a straight path to you or if they should just destroy blocks in a straight line to you.  You can modify those values to change the zombie behavior.

 

More complex changes would require changes to the source code that @The_Great_Sephiroth mentioned.

unfortunately I don't understand 99% of this. but it seems like it is doable. 

Link to comment
Share on other sites

2 hours ago, BFT2020 said:

 

Here, I will link you to the gateway drug we call xpath modding  😏

 

 

Gateway drug my behind! Link us to some good C++ tutorials, like Neon Helium's OpenGL stuff, or Boost! Yeah, even I am still confused by the XML mess. Things I believe should work logically, don't actually work.

 

Thanks for the info on the AI though, I may tweak that if I can find a way to make them only attack player blocks unless scripted to bust through something.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...