Call of Duty 5: Minefields
This tutorial will explain how to create/add Minefields to your maps.
Simple Minefield
In Radiant
- Choose the Trigger texture,
- Drag it where you want a minefield..
- Rightclick > Trigger > Multiple
- Bring up console (press N)
Give it these values:
Key: targetname Value: minefield
GSC Scripts
Make sure the following is present in your maps/mp/mp_mapname.gsc
maps\mp\_load::main();
SoundAlias
- The two sound used by the stock script are missing from Soundaliases files and even the WAV files are missing, get them here:
DOWNLOAD MISSING MINEFIELD ASSETS
- In this Archive you will find the Soundalias required, distance and volume can be adjusted before compile to your liking;
- Simply unpack the archive in your CODWaW Root folder to add the missing assets;
Zone Source
Add the following to your zone_source/mp_mapname.csv before compiling:
fx,explosions/grenadeExp_dirt sound,mines,mp_yourmap,all_mp
You're done!
Alternate Idea
This great idea comes from HyBr!d and it is to replace the actual mine by a Sniper shoot at the player when he walk in the Trigger. Sound are replace:
- Bullets whizzing by instead of the 'click'
- Sniper rifle shot as the explosion sound
The GSC Code for it:
waterfields() { waterfields = getentarray("waterfield", "targetname"); if (waterfields.size > 0) { level._effect["water_explosion"] = loadfx ("impacts/fx_water_hit_tracer_nite.efx"); } for(i = 0; i < waterfields.size; i++) { waterfields[i] thread waterfield_think(); } } waterfield_think() { while (1) { self waittill ("trigger",other); if(isPlayer(other)) other thread waterfield_kill(self); } } waterfield_kill(trigger) { if(isDefined(self.waterfield)) return; self.waterfield = true; self playsound ("shot_flyby"); wait(.5); wait(randomFloat(.5)); if(isdefined(self) && self istouching(trigger)) { origin = self getorigin(); range = 50; maxdamage = 2000; mindamage = 50; self playsound("waterfield_shot"); playfx("water_explosion", origin); radiusDamage(origin, range, maxdamage, mindamage); } self.waterfield = undefined; }
This code must be paste into the Stock file /raw/maps/mp/_minefields.gsc (Backup first!) and of course you must add this line to your Zone file:
rawfile,maps/mp/_minefields.gsc
- Soundalias to go with the new code:
name,sequence,file,platform,vol_min,vol_max,pitch_min,pitch_max,dist_min,dist_max,dist_reverb_max,limit_count,limit_type,entity_limit_count,entity_limit_type,bus,priority,spatialized,type,probability,loop,masterslave,loadspec,reverb_falloff_curve,subtitle,compression,randomize_type,secondaryaliasname,chainaliasname,volumefalloffcurve,startdelay,speakermap,reverb_send,lfe percentage,center percentage,platform,envelop_min,envelop_max,envelop percentage,move_type,move_time,occlusion_level,min_priority,max_priority,min_priority_threshold,max_priority_threshold ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, # _waterfield SFX,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, shot_flyby,1,SFX\projectile\bullet\headshot\head\head_00.wav,!wii,1,1,1,1,1,175,1500,,,,,ambience,,3d,,,,,all_mp,curve3,,,,,,curve3,,,0.7,,,,,,,,,0.4,20,60,0.25,1 shot_flyby,2,SFX\projectile\bullet\headshot\head\head_01.wav,!wii,1,1,1,1,1,175,1500,,,,,ambience,,3d,,,,, all_mp,curve3,,,,,,curve3,,,0.7,,,,,,,,,0.4,20,60,0.25,1 shot_flyby,3,SFX\projectile\bullet\headshot\head\head_02.wav,!wii,1,1,1,1,1,175,1500,,,,,ambience,,3d,,,,, all_mp,curve3,,,,,,curve3,,,0.7,,,,,,,,,0.4,20,60,0.25,1 waterfield_shot,,SFX/Weapon/Rifle/snpr_ring/snpr_mauser/snpr_mauser_02.wav,!wii,1,1,1,1,1,300,1500,,,,,ambience,,,,,,, all_mp,curve3,,,,,,curve3,,,0.7,,,,,,,,,0.4,20,60,0.25,1
- Again you must add a line the Zone File to add this soundalias (called waterfields.csv in this example):
sound,waterfields,mp_yourmap,all_mp
Thanks to HyBr!d --Zeroy. 10:56, 24 April 2009 (UTC)