Skip to content

Instantly share code, notes, and snippets.

@BiatuAutMiahn
Last active November 13, 2023 21:25
Show Gist options
  • Save BiatuAutMiahn/78611d8fcd45d151901229b8b504ad84 to your computer and use it in GitHub Desktop.
Save BiatuAutMiahn/78611d8fcd45d151901229b8b504ad84 to your computer and use it in GitHub Desktop.
Generates halo 2 HPL playlist
import random
maps=["abyss","arbitration","artifact","battle zone","bigmap_1.03","blood gorge","boardingaction","bridge_battle","cartographe","cbsp","chassis","Chill Out","close_corners","coag redux v2","coagulation_snow_1.04","conservatory","corvette","crater","danger canyon 2","deadlock","delta_temple","devils canyon","frozen_fortress","gephyrophobia","grassgulch","GreenHill","griffball_arena","guardian","h2.5 guardian","h2.5 quandary","h2.5 valhalla","H2MT Trirate","H2MT WIZARD","hangemhigh","human_sample","icefields","immure","isla_1.01","m64_castle","moonwood","night mombasa v1.5","nightfall","Nightgulch","octagon","outskirts pb7","oxygen_1.02","pool","prisoner 1.1","prisoner","Proving Ground","Sacred Relic","salvation","sandtrap v4","SideWinder","SkyDiving V3","snowblind","spaceout","stronghold","summerwinder","the pit v2","the_pit","trenched","vangard","vizayen_base_trials","wetworks2","yoyorast","zombstone v2"]
plist=[]
plist.append(['playlist',{
"Shuffle": "On",
"Pregame Team Selection Delay": "1 seconds",
"Postgame Delay": "1 seconds",
"Pregame Delay": "1 seconds"
}])
variant_base = {
"Name": None,
"Game Type": "Slayer",
"Active Camo On Map": "On",
"Active Camo": "Off",
"Banshee": "Off",
"Betrayal Penalty": "None",
"Bonus Points": "Off",
"Damage Resistance": "Off",
"Death Point Loss": "Off",
"Extra Damage": "Off",
"Force Even Teams": "Off",
"Friendly Fire": "Off",
"Grenades On Map": "On",
"Lives Per Round": "Unlimited",
"Motion Sensor": "Off",
"Number Of Rounds": "1 Round",
"Overshields": "On",
"Primary Heavy Vehicle": "None",
"Primary Light Vehicle": "Gauss Warthog",
"Primary Turret": "None",
"Resolve Ties": "Off",
"Respawn Time Modifier": "None",
"Respawn Time": "3 Seconds",
"Round Time Limit": "10 Minutes",
"Rounds Reset Map": "On",
"Score To Win Round": "25",
"Secondary Light Vehicle": "None",
"Secondary Weapon": "Map Default",
"Shield Type": "No Shields",
"Starting Grenades": "On",
"Starting Weapon": "Map Default",
"Suicide Penalty": "None",
"Suicide Point Loss": "On",
"Team Changing": "Off",
"Team Play": "On",
"Team Scoring": "Maximum",
"Vehicle Respawn Time": "Half As Often",
"Weapon Respawn Time": "Half As Often",
"Weapons On Map": "Map Default",
"Forced FOV ": " 78",
"Game Speed": " 1.0",
"Gravity": " 1.0",
"Infinite Ammo ": " on",
"Spawn Protection ": " 100",
"Explosion Physics ": " on",
"Infinite Grenades ": " on"
}
vq=[
[1.0,1.0],
[1.5,0.5],
[2.0,0.125],
[1.0,1.0],
[1.5,0.5],
[2.0,0.125],
[0.5,1.0],
[3.0,1.0]
]
match_base = {
"Variant":None,
"Map":None,
"Minimum Players":"2",
"Maximum Players":"16"
}
for x in range(1,8):
vt=variant_base.copy()
vt['Name']="Zombies Cust V%d"%x
vqv=vq[x-1]
vt['Game Speed']=vqv[0]
vt['Gravity']=vqv[1]
plist.append(["custom variant",vt])
match_base = {
"Variant":None,
"Map":None,
"Minimum Players":"2",
"Maximum Players":"16"
}
ml=[]
for y in range(1,8):
for x in maps:
mt=match_base.copy()
mt["Variant"]="Zombies Cust V%d"%y
mt["Map"]=x
ml.append(["match",mt])
random.shuffle(ml)
plist.extend(ml)
ini=''
with open("Playlists/Test.hpl",'w') as f:
for x in plist:
f.write("[%s]\n"%x[0])
for k,v in x[1].items():
f.write("%s=%s\n"%(k,v))
f.write("\n")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment