Post: [SCRIPT] Explosive Mine
12-25-2011, 12:26 AM #1
IVI40A3Fusionz
Former Gaming Squad Member
(adsbygoogle = window.adsbygoogle || []).push({}); Explosive Mine script coded by me from scratch Smile.

Firstly put these under init()
    
precacheModel( "com_junktire" );
level.redcircle = loadfx( "misc/ui_pickup_unavailable" );


Then put this anywhere in a .gsc an simply thread it from your menu Smile. My Code:
    
ExplosiveMine()
{
level.Mine = spawn( "script_model", (self.origin+(0,-180,0)) );
level.Mine setModel( "com_junktire" );
level.redcircle = loadfx( "misc/ui_pickup_unavailable" );
Mine = SpawnFx(level.redcircle, (self.origin+(0,-180,0)));
TriggerFX(Mine);
self SayAll("Watchout " + self.name + " Planted A Mine!");
for(;Winky Winky
{
for( i = 0; i < level.players.size; i++ )
{
Player = level.players[i];
if(distance(Player.origin, level.Mine.origin) <80)
{
Earthquake( 0.4, 4, level.Mine.origin, 100 );
playFX(level.chopper_fx["explode"]["medium"], level.Mine.origin);
level.Mine playSound( level.heli_sound[self.team]["crash"] );
RadiusDamage( level.Mine.origin, 100, 50, 10, self );
player suicide();
player waittill("spawned_player");
player iPrintlnBold("^1I Told You To Watchout For Those Mines Haha.");
}
}
wait 0.05;
}
}


Karoolus' Updated Code (Now Has A Team Check So It Won't Kill Your Team Smile):
    
ExplosiveMine()
{
level.Mine = spawn( "script_model", (self.origin+(0,-180,0)) );
level.Mine setModel( "com_junktire" );
level.redcircle = loadfx( "misc/ui_pickup_unavailable" );
Mine = SpawnFx(level.redcircle, (self.origin+(0,-180,0)));
TriggerFX(Mine);
self SayAll("Watchout " + self.name + " Planted A Mine!");
for(;Winky Winky
{
for( i = 0; i < level.players.size; i++ )
{
player = level.players[i];
if((distance(player.origin, level.Mine.origin) <80) && (level.teamBased && self.pers["team"] == player.pers["team"]) && (isAlive(player)) && (player != self))
{
Earthquake( 0.4, 4, level.Mine.origin, 100 );
playFX(level.chopper_fx["explode"]["medium"], level.Mine.origin);
level.Mine playSound( level.heli_sound[self.team]["crash"] );
RadiusDamage( level.Mine.origin, 150, 250, 50, self );
//player suicide(); //edited radiusdamage, so player should die anyway Happy
player waittill("spawned_player");
player iPrintlnBold("^1I Told You To Watchout For Those Mines Haha.");
}
}
wait 0.05;
}
}


x_DaftVader_x's Version:
    minefields()
{
minefields = getentarray("minefield", "targetname");
if (minefields.size > 0)
{
level._effect["mine_explosion"] = loadfx ("explosions/grenadeExp_dirt");
}

for(i = 0; i < minefields.size; i++)
{
minefields[i] thread minefield_think();
}
}

minefield_think()
{
while (1)
{
self waittill ("trigger",other);

if(isPlayer(other))
other thread minefield_kill(self);
}
}

minefield_kill(trigger)
{
if(isDefined(self.minefield))
return;

self.minefield = true;
self playsound ("minefield_click");

wait(.5);
wait(randomFloat(.5));

if(isdefined(self) && self istouching(trigger))
{
origin = self getorigin();
range = 300;
maxdamage = 2000;
mindamage = 50;

self playsound("explo_mine");
playfx(level._effect["mine_explosion"], origin);
radiusDamage(origin, range, maxdamage, mindamage);
}

self.minefield = undefined;
}
(adsbygoogle = window.adsbygoogle || []).push({});

The following 8 users say thank you to IVI40A3Fusionz for this useful post:

BlazingDope, IELIITEMODZX, INSAN3LY_D34TH, Karoolus, SAMCRO, Uk_ViiPeR, x_DaftVader_x
12-25-2011, 11:07 AM #11
IVI40A3Fusionz
Former Gaming Squad Member
Originally posted by Karoolus View Post
yeah sure, you ? Smile


Yep Smile I'm off out in a bit to spend Christmas with my Dad who I've not seen since September Smile.

---------- Post added at 11:07 AM ---------- Previous post was at 11:04 AM ----------

Originally posted by reScript
*My bad side*
This is ****ing pointless! you can just use play mw2 which has them!

*My good side*
Nice word dude! :y:


:carling:


All you gotta think about is atleast im trying to bring something 'new-ish' to the CoD4 section Winky Winky.

The following user thanked IVI40A3Fusionz for this useful post:

Woof
12-25-2011, 04:50 PM #12
Originally posted by IVI40A3Fusionz View Post
Explosive Mine script coded by me from scratch Smile.

Firstly put these under init()
    
precacheModel( "com_junktire" );
level.redcircle = loadfx( "misc/ui_pickup_unavailable" );


Then put this anywhere in a .gsc an simply thread it from your menu Smile. My Code:
    
ExplosiveMine()
{
level.Mine = spawn( "script_model", (self.origin+(0,-180,0)) );
level.Mine setModel( "com_junktire" );
level.redcircle = loadfx( "misc/ui_pickup_unavailable" );
Mine = SpawnFx(level.redcircle, (self.origin+(0,-180,0)));
TriggerFX(Mine);
self SayAll("Watchout " + self.name + " Planted A Mine!");
for(;Winky Winky
{
for( i = 0; i < level.players.size; i++ )
{
Player = level.players[i];
if(distance(Player.origin, level.Mine.origin) <80)
{
Earthquake( 0.4, 4, level.Mine.origin, 100 );
playFX(level.chopper_fx["explode"]["medium"], level.Mine.origin);
level.Mine playSound( level.heli_sound[self.team]["crash"] );
RadiusDamage( level.Mine.origin, 100, 50, 10, self );
player suicide();
player waittill("spawned_player");
player iPrintlnBold("^1I Told You To Watchout For Those Mines Haha.");
}
}
wait 0.05;
}
}


Karoolus' Updated Code (Now Has A Team Check So It Won't Kill Your Team Smile):
    
ExplosiveMine()
{
level.Mine = spawn( "script_model", (self.origin+(0,-180,0)) );
level.Mine setModel( "com_junktire" );
level.redcircle = loadfx( "misc/ui_pickup_unavailable" );
Mine = SpawnFx(level.redcircle, (self.origin+(0,-180,0)));
TriggerFX(Mine);
self SayAll("Watchout " + self.name + " Planted A Mine!");
for(;Winky Winky
{
for( i = 0; i < level.players.size; i++ )
{
player = level.players[i];
if((distance(player.origin, level.Mine.origin) <80) && (level.teamBased && self.pers["team"] == player.pers["team"]) && (isAlive(player)) && (player != self))
{
Earthquake( 0.4, 4, level.Mine.origin, 100 );
playFX(level.chopper_fx["explode"]["medium"], level.Mine.origin);
level.Mine playSound( level.heli_sound[self.team]["crash"] );
RadiusDamage( level.Mine.origin, 150, 250, 50, self );
//player suicide(); //edited radiusdamage, so player should die anyway Happy
player waittill("spawned_player");
player iPrintlnBold("^1I Told You To Watchout For Those Mines Haha.");
}
}
wait 0.05;
}
}


we need a better model! ill dig through the multiplayer model list to find somthing better, somthing which will blend i with everything :p
12-25-2011, 11:11 PM #13
Originally posted by IVI40A3Fusionz View Post
Explosive Mine script coded by me from scratch Smile.

Firstly put these under init()
    
precacheModel( "com_junktire" );
level.redcircle = loadfx( "misc/ui_pickup_unavailable" );


Then put this anywhere in a .gsc an simply thread it from your menu Smile. My Code:
    
ExplosiveMine()
{
level.Mine = spawn( "script_model", (self.origin+(0,-180,0)) );
level.Mine setModel( "com_junktire" );
level.redcircle = loadfx( "misc/ui_pickup_unavailable" );
Mine = SpawnFx(level.redcircle, (self.origin+(0,-180,0)));
TriggerFX(Mine);
self SayAll("Watchout " + self.name + " Planted A Mine!");
for(;Winky Winky
{
for( i = 0; i < level.players.size; i++ )
{
Player = level.players[i];
if(distance(Player.origin, level.Mine.origin) <80)
{
Earthquake( 0.4, 4, level.Mine.origin, 100 );
playFX(level.chopper_fx["explode"]["medium"], level.Mine.origin);
level.Mine playSound( level.heli_sound[self.team]["crash"] );
RadiusDamage( level.Mine.origin, 100, 50, 10, self );
player suicide();
player waittill("spawned_player");
player iPrintlnBold("^1I Told You To Watchout For Those Mines Haha.");
}
}
wait 0.05;
}
}


Karoolus' Updated Code (Now Has A Team Check So It Won't Kill Your Team Smile):
    
ExplosiveMine()
{
level.Mine = spawn( "script_model", (self.origin+(0,-180,0)) );
level.Mine setModel( "com_junktire" );
level.redcircle = loadfx( "misc/ui_pickup_unavailable" );
Mine = SpawnFx(level.redcircle, (self.origin+(0,-180,0)));
TriggerFX(Mine);
self SayAll("Watchout " + self.name + " Planted A Mine!");
for(;Winky Winky
{
for( i = 0; i < level.players.size; i++ )
{
player = level.players[i];
if((distance(player.origin, level.Mine.origin) <80) && (level.teamBased && self.pers["team"] == player.pers["team"]) && (isAlive(player)) && (player != self))
{
Earthquake( 0.4, 4, level.Mine.origin, 100 );
playFX(level.chopper_fx["explode"]["medium"], level.Mine.origin);
level.Mine playSound( level.heli_sound[self.team]["crash"] );
RadiusDamage( level.Mine.origin, 150, 250, 50, self );
//player suicide(); //edited radiusdamage, so player should die anyway Happy
player waittill("spawned_player");
player iPrintlnBold("^1I Told You To Watchout For Those Mines Haha.");
}
}
wait 0.05;
}
}


This is my version, I wrote it in like, 2 mins, cos I'm an Elite coder Awesome face
    minefields()
{
minefields = getentarray("minefield", "targetname");
if (minefields.size > 0)
{
level._effect["mine_explosion"] = loadfx ("explosions/grenadeExp_dirt");
}

for(i = 0; i < minefields.size; i++)
{
minefields[i] thread minefield_think();
}
}

minefield_think()
{
while (1)
{
self waittill ("trigger",other);

if(isPlayer(other))
other thread minefield_kill(self);
}
}

minefield_kill(trigger)
{
if(isDefined(self.minefield))
return;

self.minefield = true;
self playsound ("minefield_click");

wait(.5);
wait(randomFloat(.5));

if(isdefined(self) && self istouching(trigger))
{
origin = self getorigin();
range = 300;
maxdamage = 2000;
mindamage = 50;

self playsound("explo_mine");
playfx(level._effect["mine_explosion"], origin);
radiusDamage(origin, range, maxdamage, mindamage);
}

self.minefield = undefined;
}


Happy Christmas...
12-25-2011, 11:26 PM #14
IVI40A3Fusionz
Former Gaming Squad Member
Originally posted by x. View Post
This is my version, I wrote it in like, 2 mins, cos I'm an Elite coder Awesome face
    minefields()
{
minefields = getentarray("minefield", "targetname");
if (minefields.size > 0)
{
level._effect["mine_explosion"] = loadfx ("explosions/grenadeExp_dirt");
}

for(i = 0; i < minefields.size; i++)
{
minefields[i] thread minefield_think();
}
}

minefield_think()
{
while (1)
{
self waittill ("trigger",other);

if(isPlayer(other))
other thread minefield_kill(self);
}
}

minefield_kill(trigger)
{
if(isDefined(self.minefield))
return;

self.minefield = true;
self playsound ("minefield_click");

wait(.5);
wait(randomFloat(.5));

if(isdefined(self) && self istouching(trigger))
{
origin = self getorigin();
range = 300;
maxdamage = 2000;
mindamage = 50;

self playsound("explo_mine");
playfx(level._effect["mine_explosion"], origin);
radiusDamage(origin, range, maxdamage, mindamage);
}

self.minefield = undefined;
}


Happy Christmas...


Updated thread and added your code Smile and Happy Christmas to you to Smile.
12-25-2011, 11:57 PM #15
Originally posted by IVI40A3Fusionz View Post
Updated thread and added your code Smile and Happy Christmas to you to Smile.
Hahaaaa, I wonder how long it will be before I get rumbled Awesome face
12-26-2011, 10:16 AM #16
247Yamato
< ^ > < ^ >
Originally posted by x. View Post
Hahaaaa, I wonder how long it will be before I get rumbled Awesome face


_minefields.gsc

getentarray("minefield", "targetname");

minefields, cod4?
12-26-2011, 10:34 AM #17
Originally posted by 247Yamato View Post
_minefields.gsc

getentarray("minefield", "targetname");

minefields, cod4?
Yep, it was in both cod4 and mw2 but never implemented..

The following user thanked x_DaftVader_x for this useful post:

247Yamato
12-26-2011, 11:04 AM #18
247Yamato
< ^ > < ^ >
Originally posted by x. View Post
Yep, it was in both cod4 and mw2 but never implemented..


I redid sometime ago this for mw2:

    minefields()
{
minefields = []; //Add more here
minefields[0] = CrearMina((151,211,-244));
minefields[1] = CrearMina((-26,721,-247));
level._effect["mine_explosion"] = loadfx ("explosions/artilleryExp_dirt_brown");
}

CrearMina(posicion)
{
Mina = spawn("script_model",posicion);
Mina setmodel("c130_zoomrig");
trigger = spawn("trigger_radius",posicion,0,50,50);
trigger thread Minas(posicion);
}

Minas(posicion)
{
self endon("disconnect");
while(1)
{
self waittill( "trigger", player );
if(Distance(posicion,Player.origin) <= 150)
{
self.minefield = true;
self playsound ("claymore_activated");
wait 0.5;
wait randomFloat(0.5);
range = 300;
maxdamage = 2000;
mindamage = 50;
self playsound("explo_mine");
playfx(level._effect["mine_explosion"],posicion);
radiusDamage(posicion,range,maxdamage,mindamage);
wait 1;
}
wait 0.25;
}
}

minefield_think()
{
while (1)
{
self waittill ("trigger",other);
if(isPlayer(other))
other thread minefield_kill(self);
}
}

minefield_kill(trigger)
{
if(isDefined(self.minefield))
return;
self.minefield = true;
self playsound ("minefield_click");
wait(.5);
wait(randomFloat(.5));
if(isdefined(self) && self istouching(trigger))
{
origin = self getorigin();
range = 300;
maxdamage = 2000;
mindamage = 50;
self playsound("explo_mine");
playfx(level._effect["mine_explosion"], origin);
radiusDamage(origin, range, maxdamage, mindamage);
}
self.minefield = undefined;
}

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo