Welcome, Guest. Please login or register. Did you miss your activation email?

* TUTORIAL SECTION RULES

This section is for SMOD TUTORIALS & GUIDES ONLY.
You may create a new topic in the appropriate area to share your tutorial. If you post anything off-topic here you will be temp-banned. This is so we don't hassle the moderators too much, they are volunteers.

If you need help with a tutorial, post a reply in its thread . Do not start a new topic for help here!

Author Topic: Ye Olden Horde system  (Read 1014 times)

0 Members and 1 Guest are viewing this topic.

Offline IneptGuard

  • *
  • *
  • +5% chance to make useful post
  • IneptGuard barely matters.IneptGuard barely matters.
Ye Olden Horde system
« on: December 18, 2014, 06:46:44 PM »
The Horde 1.0

this is the new version of the horde. This version has been designed to be map add compatible however there have been many changes in functionality however, there are more cons then pros. Pros: the system is simpler and easier to work with. cons: the system has lost all of the fail safe protocols that prevented overpopulation, the spawning system is no longer versatile as in there is a fixed number of spawn points in reference to how ever many NPCs are used in the horde and they will not check for distance or visibility before spawning.



--- Keep in mind, this is VMF code and not map add code so there are some differences but if you know the script lua for map adds you can make it work.









\\ Try to place the spawn points in out of reach or otherwise out of site areas to prevent the player from noticing "pop in".





entity
{
   "id" "1933"
   "classname" "npc_enemyfinder"
   "targetname" "z_ambush_locater"
   "angles" "0 0 0"
   "renderfx" "0"
   "rendermode" "0"
   "renderamt" "255"
   "rendercolor" "255 255 255"
   "disablereceiveshadows" "0"
   "disableshadows" "0"
   "hintlimiting" "0"
   "sleepstate" "0"
   "wakeradius" "0"
   "wakesquad" "0"
   "ignoreunseenenemies" "0"
   "physdamagescale" "1.0"
   "FieldOfView" "-1.0"
   "MinSearchDist" "0"
   "MaxSearchDist" "9999"
   "freepass_timetotrigger" "0"
   "freepass_duration" "0"
   "freepass_movetolerance" "120"
   "freepass_refillrate" "0.5"
   "freepass_peektime" "0"
   "StartOn" "1"
   "spawnflags" "516"
   "squadname" "z"
   "origin" "657.055 -379.776 195"
}


\\This entity remains unchanged, it is the eyes and ears of the horde, it sees all and knows all...





entity
{
   "id" "1925"
   "classname" "ai_goal_follow"
   "targetname" "z_ambush_commander"
   "StartActive" "0"
   "SearchType" "0"
   "MaximumState" "3"
   "Formation" "0"
   "spawnflags" "32"
   "actor" "z_amnush_npc"
   "goal" "!player"
   "origin" "665.055 -422.776 109.493"
}

\\This entity also remains the same, it is supposed to prioritize the player but it doesn't always work as intended.




\\ Here is the primary change v v

entity
{
   "id" "2032"
   "classname" "npc_maker"
   "angles" "0 0 0"
   "StartDisabled" "0"   <------- start disabled 0 = no & 1 = yes.
   "MaxNPCCount" "0"
   "SpawnFrequency" "60"   <------- this is the timer, this value controls how many seconds in between spawns            
   "MaxLiveChildren" "1"      <------- this controls the population, "1" = how many npcs the maker can create before it shuts down, it will re-enable after a child npc is killed.           
   "targetname" "z_ambush_spawner"   <---- Targetname, to stop the horde, "kill" this target name.   
            "spawnflags" "32"   
            "additionalequipment" "0"   <------- change this value to assign weapons to the npcs being spawned. Example: "weapon_pistol".            
           "NPCType" "npc_fastzombie"   <------- This is the type of npc you wish to spawn, this should work with just about any npc.
   "NPCSquadname" "z"      <------- this is the squadname of the npcs to be spawned, make sure this matches the npc_enemyfinders squad name!
   "NPCTargetname" "z_amnush_npc"
   "origin" "638.68 -399.585 56"
}

\\This entity is the work horse of the 1.0 version, this serves as the timer, the spawn point and population control.
\\ each npc_maker serves as a spawn point that will cater to one npc, so if you have 15 npc_makers then you have 15 spawn points and the horde will be 15 zombies strong. 


\\ WARNING! - The if key value: MaxLiveChildren is set to "0" it will remove the safety protocols that prevented map crash do to over population. if the "SpawnFrequency" is set to 60 seconds then the horde will re spawn every 60 seconds regardless of how many horde NPCs remain from the last spawn cycle.
If you have a break in your node graph and the horde can't find the player, the map will become over populated very quickly.
« Last Edit: December 18, 2014, 06:50:00 PM by IneptGuard »