Garry's Mod

Garry's Mod

Horde : 生存游戏模式
Schmucko Fcko 2021 年 4 月 6 日 下午 2:54
How do I set up the custom lua file?
D:\Games\steamapps\common\GarrysMod\garrysmod\addons\your-config\lua\horde\gamemode\custom\Halo.lua

Commands: I used: "horde_external_lua_config Halo" & "horde_external_lua_config Halo.lua"

Lua:

-- Example your-custom-config.lua
-- If you just want to configure items, leave enemies as empty. Vice versa.

CONFIG = {Halo}
CONFIG.name = "Halo" -- YOU MUST NAME IT! Used for horde_external_lua_config.
CONFIG.items = {

}

CONFIG.enemies = {
-- key and name must be the same!
-- Since key has to be unique, you can use npc name + wave for the key.
Elite = {
name = "Elite",
class = "npc_iv04_hr_elite_minor",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 1,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 100,
model_scale = 1,
color = Color(0,255,0),
weapon = "",
},

Grunt = {
name = "Grunt",
class = "npc_iv04_hr_grunt_minor",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 1,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 100,
model_scale = 1,
color = Color(255,0,0),
weapon = ""
},
Jackal = {
name = "Jackal",
class = "npc_iv04_hr_jackal_minor",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 1,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 100,
model_scale = 1,
color = Color(255,0,0),
weapon = ""
},

Elite Major = {
name = "Elite Major",
class = "npc_iv04_hr_elite_major",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 2,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 100,
model_scale = 1,
color = Color(0,255,0),
weapon = "",
},


Skirmisher = {
name = "Skirmisher",
class = "npc_iv04_hr_skirmisher_minor",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 2,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 100,
model_scale = 1,
color = Color(0,255,0),
weapon = "",
},

Elite = {
name = "Elite Minor",
class = "npc_iv04_hr_elite_minor",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 2,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 100,
model_scale = 1,
color = Color(0,255,0),
weapon = "",
},

Brute Minor = {
name = "Brute Minor",
class = "npc_iv04_hr_brute_minor",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 3,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 100,
model_scale = 1,
color = Color(0,255,0),
weapon = "",
},

Brute Captain = {
name = "Brute Captain",
class = "npc_iv04_hr_brute_captain",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 3,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 100,
model_scale = 1,
color = Color(0,255,0),
weapon = "",
},

Brute Chieftain = {
name = "Brute Captain",
class = "npc_iv04_hr_brute_chieftain",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 3,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 100,
model_scale = 1,
color = Color(0,255,0),
weapon = "",
},

Elite Ultra = {
name = "Elite Ultra",
class = "npc_iv04_hr_elite_ultra",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 4,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 100,
model_scale = 1,
color = Color(0,255,0),
weapon = "",
spawn_limit = 6,
},
Drone Minor = {
name = "Drone Minor",
class = "npc_iv04_hr_drone_minor",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 4,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 100,
model_scale = 1,
color = Color(0,255,0),
weapon = "",
},

Elite General = {
name = "Elite General",
class = "npc_iv04_hr_elite_general",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 4,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 100,
model_scale = 1,
color = Color(0,255,0),
weapon = "",
spawn_limit = 4,
},

Grunt Heavy = {
name = "Grunt Heavy",
class = "npc_iv04_hr_grunt_heavy",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 4,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 100,
model_scale = 1,
color = Color(0,255,0),
weapon = "",
spawn_limit = 5,
},

Champion = {
name = "Champion",
class = "npc_iv04_hr_skirmisher_champion",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 5,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 100,
model_scale = 1,
color = Color(0,255,0),
weapon = "",

},

Skirm = {
name = "Skirm",
class = "npc_iv04_hr_skirmisher_minor",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 5,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 100,
model_scale = 1,
color = Color(0,255,0),
weapon = "",

},

Chieftain = {
name = "Chieftain",
class = "npc_iv04_hr_brute_chieftain",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 5,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 100,
model_scale = 1,
color = Color(0,255,0),
weapon = "",
spawn_limit = 3,
},

Elite Major = {
name = "Elite Major",
class = "npc_iv04_hr_elite_major",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 6,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 100,
model_scale = 1,
color = Color(0,255,0),
weapon = "",

},

Elite Ultra = {
name = "Elite Ultra",
class = "npc_iv04_hr_elite_ultra",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 6,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 100,
model_scale = 1,
color = Color(0,255,0),
weapon = "",

},

Elite Zealot = {
name = "Elite Zealot",
class = "npc_iv04_hr_elite_zealot",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 6,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 100,
model_scale = 1,
color = Color(0,255,0),
weapon = "",
spawn_limit = 8,

},

drop pod = {
name = "drop pod",
class = "npc_iv04_hr_droppod",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 7,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 100,
model_scale = 1,
color = Color(0,255,0),
weapon = "",
spawn_limit = 8,

},
Elite = {
name = "Elite",
class = "npc_iv04_hr_elite_minor",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 7,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 100,
model_scale = 1,
color = Color(0,255,0),
weapon = "",


},

Elite Zealot = {
name = "Elite Zealot",
class = "npc_iv04_hr_elite_zealot",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 8,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 1000,
model_scale = 1,
color = Color(0,255,0),
weapon = "",


},

Chieftain = {
name = "Chieftain",
class = "npc_iv04_hr_brute_chieftain",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 8,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 1000,
model_scale = 1,
color = Color(0,255,0),
weapon = "",


},

Murmillo = {
name = "Murmillo",
class = "npc_iv04_hr_skirmisher_murmillo",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 8,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 100,
model_scale = 1,
color = Color(0,255,0),
weapon = "",


},

Elite Zealot = {
name = "Zealot",
class = "npc_iv04_hr_elite_zealot",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 9,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 1000,
model_scale = 1,
color = Color(0,255,0),
weapon = "",


},

Field Marshall = {
name = "Field Marshall",
class = "npc_iv04_hr_elite_field_marshall",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 9,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 1000,
model_scale = 1,
color = Color(0,255,0),
weapon = "",


},

Scarab = {
name = "Scarab",
class = "npc_iv04_hr_scarab",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 10,
is_elite = true,
health_scale = 1,
damage_scale = 1,
reward_scale = 100,
model_scale = 2,
color = Color(255,0,0),
weapon = "",
spawn_limit = 1
boss_properties = {is_boss=true, end_wave=true, unlimited_enemies_spawn=false, enemies_spawn_threshold=0.5, music_duration=105}, -- optional, boss settings

},

Field Marshall = {
name = "Field Marshall",
class = "npc_iv04_hr_elite_field_marshall",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 10,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 1000,
model_scale = 1,
color = Color(0,255,0),
weapon = "",
spawn_limit = 20


},
}

--------------------------------------------------------------------------------------------------------------------

Below is working version of the lua if anyone wants to use it.

--------------------------------------------------------------------------------------------------------------------
-- Example your-custom-config.lua
-- If you just want to configure items, leave enemies as empty. Vice versa.

CONFIG = {}
CONFIG.name = "Halo3" -- YOU MUST NAME IT! Used for horde_external_lua_config.
CONFIG.items = {}

CONFIG.enemies = {
-- key and name must be the same!
-- Since key has to be unique, you can use npc name + wave for the key.
Elite1 = {
name = "Elite1",
class = "npc_iv04_hr_elite_minor",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 1,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 100,
model_scale = 1,

weapon = "",
},
Grunt1 = {
name = "Grunt1",
class = "npc_iv04_hr_grunt_minor",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 1,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 100,
model_scale = 1,

weapon = "",
},
Jackal1 = {
name = "Jackal1",
class = "npc_iv04_hr_jackal_minor",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 1,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 100,
model_scale = 1,

weapon = "",
},
Elite_Major = {
name = "Elite_Major",
class = "npc_iv04_hr_elite_major",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 2,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 100,
model_scale = 1,

weapon = "",
},
Skirmisher = {
name = "Skirmisher",
class = "npc_iv04_hr_skirmisher_minor",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 2,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 100,
model_scale = 1,

weapon = "",
},
Elite_Minor = {
name = "Elite_Minor",
class = "npc_iv04_hr_elite_minor",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 2,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 100,
model_scale = 1,

weapon = "",
},
Brute_Minor1 = {
name = "Brute_Minor1",
class = "npc_iv04_hr_brute_minor",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 3,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 100,
model_scale = 1,

weapon = "",
},
Brute_Captain1 = {
name = "Brute_Captain1",
class = "npc_iv04_hr_brute_captain",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 3,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 100,
model_scale = 1,

weapon = "",
},
Brute_Captainn1 = {
name = "Brute_Captainn1",
class = "npc_iv04_hr_brute_chieftain",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 3,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 100,
model_scale = 1,

weapon = "",
},
Elite_Ultra1 = {
name = "Elite_Ultra1",
class = "npc_iv04_hr_elite_ultra",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 4,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 100,
model_scale = 1,

weapon = "",

},

GM1 = {
name = "GM1",
class = "npc_iv04_hr_grunt_minor",
weight = 2.4, -- Relative weight to other enemies in the same wave.
wave = 4,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 100,
model_scale = 1,

weapon = "",

},

Elite_General1 = {
name = "Elite_General1",
class = "npc_iv04_hr_elite_general",
weight = .5, -- Relative weight to other enemies in the same wave.
wave = 4,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 100,
model_scale = 1,

weapon = "",

},
Grunt_Heavy1 = {
name = "Grunt_Heavy1",
class = "npc_iv04_hr_grunt_heavy",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 4,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 100,
model_scale = 1,

weapon = "",

},
Champion = {
name = "Champion",
class = "npc_iv04_hr_skirmisher_champion",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 5,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 100,
model_scale = 1,

weapon = "",
},
Skirm = {
name = "Skirm",
class = "npc_iv04_hr_skirmisher_minor",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 5,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 100,
model_scale = 1,

weapon = "",
},
Chieftain2 = {
name = "Chieftain",
class = "npc_iv04_hr_brute_chieftain",
weight = .2, -- Relative weight to other enemies in the same wave.
wave = 5,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 100,
model_scale = 1,

weapon = "",

},
Elite_Major2 = {
name = "Elite_Major2",
class = "npc_iv04_hr_elite_major",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 6,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 100,
model_scale = 1,

weapon = "",
},
Elite_Ultra2 = {
name = "Elite_Ultra2",
class = "npc_iv04_hr_elite_ultra",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 6,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 100,
model_scale = 1,

weapon = "",
},
Elite_Zealot1 = {
name = "Elite_Zealot1",
class = "npc_iv04_hr_elite_zealot",
weight = .4, -- Relative weight to other enemies in the same wave.
wave = 6,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 100,
model_scale = 1,

weapon = "",

},

Elite3 = {
name = "Elite3",
class = "npc_iv04_hr_elite_minor",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 7,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 100,
model_scale = 1,

weapon = "",
},
Elite_Zealot2 = {
name = "Elite_Zealot2",
class = "npc_iv04_hr_elite_zealot",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 8,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 1000,
model_scale = 1,

weapon = "",
},
Chieftain4 = {
name = "Chieftain4",
class = "npc_iv04_hr_brute_chieftain",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 8,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 1000,
model_scale = 1,

weapon = "",
},
Murmillo = {
name = "Murmillo",
class = "npc_iv04_hr_skirmisher_murmillo",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 8,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 100,
model_scale = 1,

weapon = "",
},
Zealot3 = {
name = "Zealot3",
class = "npc_iv04_hr_elite_zealot",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 9,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 1000,
model_scale = 1,

weapon = "",
},
Field_Marshall5 = {
name = "Field_Marshall5",
class = "npc_iv04_hr_elite_field_marshall",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 9,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 1000,
model_scale = 1,

weapon = "",
},
Field_Marshall6 = {
name = "Field_Marshall6",
class = "npc_iv04_hr_elite_field_marshall",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 10,
is_elite = false,
health_scale = 1,
damage_scale = 1,
reward_scale = 1000,
model_scale = 1,

weapon = "",
spawn_limit = 20
},
Scarab = {
name = "Scarab",
class = "npc_iv04_hr_scarab",
weight = 1, -- Relative weight to other enemies in the same wave.
wave = 10,
is_elite = true,
health_scale = 1,
damage_scale = 1,
reward_scale = 100,
model_scale = 1,
boss_properties = {is_boss=true, end_wave=true, unlimited_enemies_spawn=false, enemies_spawn_threshold=0.5}, -- optional, boss settings
weapon = "",
spawn_limit = 1
}
}
最后由 Schmucko Fcko 编辑于; 2021 年 4 月 7 日 下午 12:59
< >
正在显示第 1 - 5 条,共 5 条留言
Gorlami  [开发者] 2021 年 4 月 6 日 下午 3:15 
1. CONFIG = {}, not CONFIG = {halo}
2. You have duplicate keys in your lua config.
3. Refer to your console for any errors. You definitely have console errors.
Gorlami  [开发者] 2021 年 4 月 6 日 下午 3:23 
I also suggest you use an editor for this, so you can know what's wrong. This is Lua, not some random txt file. You have some grammar problems with your code.
Schmucko Fcko 2021 年 4 月 6 日 下午 3:30 
引用自 Gorlami
I also suggest you use an editor for this, so you can know what's wrong. This is Lua, not some random txt file. You have some grammar problems with your code.
Do I need to restart the game when I mess with the configs or no?
Gorlami  [开发者] 2021 年 4 月 6 日 下午 3:59 
引用自 EpicBruhSauce
引用自 Gorlami
I also suggest you use an editor for this, so you can know what's wrong. This is Lua, not some random txt file. You have some grammar problems with your code.
Do I need to restart the game when I mess with the configs or no?

You don't have to if you are just editing it. But if you want to load it you need to restart.
Schmucko Fcko 2021 年 4 月 6 日 下午 4:48 
引用自 Gorlami
引用自 EpicBruhSauce
Do I need to restart the game when I mess with the configs or no?

You don't have to if you are just editing it. But if you want to load it you need to restart.
Ah okay yeah, that explains a lot after I fixed some things, I did have to restart the game for it to work.
< >
正在显示第 1 - 5 条,共 5 条留言
每页显示数: 1530 50