Post: [RELEASE] Reaper Mod
05-26-2012, 05:59 PM #1
(adsbygoogle = window.adsbygoogle || []).push({}); This is based of the reaper from mw3, but it has a AI detection system aswell...
it has 0 bugs that i know of, but if it dose have some bugs please tell me and ill fix them.



Thread this:
    self thread reaper();


and add this to the gsc
    reaper()
{
if(!self.reaper)
{
self iPrintln("Press [{+frag}] To Exit Reaper");
self.reaper = true;
self.oldPos = self getOrigin();
thread reaperHud();
self.rLoc = getPosition();
self.maxhealth = 99999999999;
self.health = self.maxhealth;
thread reaperLink();
thread reaperWeapon();
self playLocalSound("item_nightvision_on");
}
}
reaperLink()
{
thread reaperDeath();
self.reap["veh"] = spawn("script_model",(self.rLoc[0]+(1150*cos(0)),self.rLoc[1]+(1150*sin(0)),self.rLoc[2]));
self.reap["veh"] setModel("vehicle_mi24p_hind_desert");
thread reaperMove();
self linkTo(self.reap["veh"],"tag_player",(0,100,-120),(0,0,0));
self hide();
thread reaperExit();
self disableWeapons();
}
reaperExit()
{
self endon("death");
self endon("disconnect");
while(self.reaper)
{
angles = self getPlayerAngles();
if(angles[0] <= 30)
self setPlayerAngles((30,angles[1],angles[2]));

if(self fragButtonPressed())
{
self playLocalSound("item_nightvision_off");
self unlink();
self setOrigin(self.oldPos);
for(k = 0; k < self.r.size; k++)
if(isDefined(self.r[k]))
self.r[k] destroyElem();

thread reaperExitFunctons();
self notify("exitReaper");
}
wait .05;
}
}
reaperDeath()
{
self endon("exitReaper");
self waittill_any("death","disconnect");
thread reaperExitFunctons();
}
reaperExitFunctons()
{
self.maxhealth = 100;
self.health = self.maxhealth;
self show();
self.reap["veh"] delete();
self.reaper = false;
self enableWeapons();
if(isDefined(self.reap["bullet"]))
self.reap["bullet"] delete();
}
reaperMove()
{
self endon("death");
self endon("disconnect");
while(self.reaper)
{
for(k = 0; k < 360; k+=.5)
{
if(!self.reaper)
break;

location = (self.rLoc[0]+(1150*cos(k)),self.rLoc[1]+(1150*sin(k)),self.rLoc[2]);
angles = vectorToAngles(location - self.reap["veh"].origin);
self.reap["veh"] moveTo(location,.1);
self.reap["veh"].angles = (angles[0],angles[1],angles[2]-40);
wait .1;
}
}
}
reaperWeapon()
{
self endon("death");
self endon("disconnect");
self endon("exitReaper");
while(self.reaper)
{
if(self attackButtonPressed())
{
self.reap["bullet"] = spawn("script_model",self getTagOrigin("tag_weapon_left"));
self.reap["bullet"] setModel("projectile_cbu97_clusterbomb");
self.reap["bullet"] playSound("weap_hind_missile_fire");
for(time = 0; time < 200; time++)
{
if(!self.reaper)
break;

vector = anglesToForward(self.reap["bullet"].angles);
forward = self.reap["bullet"].origin+(vector[0]*45,vector[1]*45,vector[2]*49);
collision = bulletTrace(self.reap["bullet"].origin,forward,false,self);

self.reap["bullet"].angles = (vectorToAngles((getCursorPos()-(0,0,130)) - self.reap["bullet"].origin));
self.reap["bullet"] moveTo(forward,.05);
playFxOnTag(level.chopper_fx["fire"]["trail"]["medium"],self.reap["bullet"],"tag_origin");
if(collision["surfacetype"] != "default" && collision["fraction"] < 1 && level.collisions)
{
expPos = self.reap["bullet"].origin;
for(k = 0; k < 360; k+=80)
playFx(level.chopper_fx["explode"]["large"],(expPos[0]+(150*cos(k)),expPos[1]+(150*sin(k)),expPos[2]+100));

earthquake(3,1.6,expPos,450);
radiusDamage(expPos,400,300,120,self,"MOD_PROJECTILE_SPLASH","artillery_mp");
self.reap["bullet"] playSound("cobra_helicopter_hit");
break;
}
wait .05;
}
self.reap["bullet"] delete();
wait 2;
}
wait .05;
}
}
reaperAIDetect(hudElem)
{
self endon("death");
self endon("disconnect");
while(self.reaper)
{
target["enemyTeam"] = false;
target["myTeam"] = false;
for(k = 0; k < level.players.size; k++)
{
if(isAlive(level.players[k]))
{
if(distance(getCursorPos(),level.players[k].origin) < 200)
if((level.teamBased && self.team != level.players[k].team) || (!level.teamBased && level.players[k] != self))
target["enemyTeam"] = true;
else
target["myTeam"] = true;
}
}
for(k = 0; k < int(hudElem.size/2); k++)
{
if(target["myTeam"] && target["enemyTeam"])
hudElem[k].color = (1,(188/255),(43/255));

else if(target["myTeam"] && !target["enemyTeam"])
hudElem[k].color = (0,.7,0);

else if(!target["myTeam"] && target["enemyTeam"])
hudElem[k].color = (.7,0,0);
}
wait .05;
for(k = 0; k < hudElem.size; k++)
hudElem[k].color = (1,1,1);
}
}
reaperHud()
{
coord = strTok("21,0,2,24;-20,0,2,24;0,-11,40,2;0,11,40,2;0,-39,2,57;0,39,2,57;-48,0,57,2;49,0,57,2;-155,-122,2,21;-154,122,2,21;155,122,2,21;155,-122,2,21;-145,132,21,2;145,-132,21,2;-145,-132,21,2;146,132,21,2",";");
for(k = 0; k < coord.size; k++)
{
tCoord = strTok(coord[k],",");
self.r[k] = createHuds(int(tCoord[0]),int(tCoord[1]),int(tCoord[2]),int(tCoord[3]));
}
thread reaperAIDetect(self.r);
}
getPosition()
{
location = (0,0,2000);
if(isMap("mp_bloc"))
location = (1100,-5836,2500);
else if(isMap("mp_crossfire"))
location = (4566,-3162,2300);
else if(isMap("mp_citystreets"))
location = (4384,-469,2100);
else if(isMap("mp_creek"))
location = (-1595,6528,2500);
else if(isMap("mp_bog"))
location = (3767,1332,2300);
else if(isMap("mp_overgrown"))
location = (267,-2799,2600);
else
location = (0,0,2300);

return location;
}
isMap(map)
{
if(map == getDvar("mapname"))
return true;

return false;
}
createHuds(x,y,width,height)
{
hud = newClientHudElem(self);
hud.width = width;
hud.height = height;
hud.align = "CENTER";
hud.relative = "MIDDLE";
hud.children = [];
hud.sort = 3;
hud.alpha = 1;
hud setParent(level.uiParent);
hud setShader("white",width,height);
hud.hidden = false;
hud setPoint("CENTER","",x,y);
hud thread destroyGunHuds(self);
return hud;
}
destroyGunHuds(player)
{
player waittill("death");
if(isDefined(self))
self destroyElem();
}
getCursorPos()
{
return bulletTrace(self getTagOrigin("tag_weapon_right"),vector_scale(anglesToForward(self getPlayerAngles()),1000000),false,self)["position"];
}


Mikeeeyy for the AI detection idea.
(adsbygoogle = window.adsbygoogle || []).push({});

The following 26 users say thank you to IELIITEMODZX for this useful post:

1337HaXaLoT, Choco, Dman93, forflah123, INSAN3LY_D34TH, IVI40A3Fusionz, Jacob-And-Britt, Karoolus, KingcreekS, Kush Friendly, LightModz, Murt, Oliver1556, primetime43, Cmd-X, Razorcut2015, REZNET \|/, rimka06510, Rin1, Taylor, TheHardyz, ThePhantom410., TOM DAINTY, xMrSuperMoDzZ--

The following 3 users groaned at IELIITEMODZX for this awful post:

247Yamato, x_DaftVader_x, zxz0O0
05-26-2012, 06:05 PM #2
LightModz
League Champion
Originally posted by IELIITEMODZX View Post
This is based of the reaper from mw3, but it has a AI detection system aswell...
it has 0 bugs that i know of, but if it dose have some bugs please tell me and ill fix them.



Thread this:
    self thread reaper();


and add this to the gsc
    reaper()
{
if(!self.reaper)
{
self iPrintln("Press [{+frag}] To Exit Reaper");
self.reaper = true;
self.oldPos = self getOrigin();
thread reaperHud();
self.rLoc = getPosition();
self.maxhealth = 99999999999;
self.health = self.maxhealth;
thread reaperLink();
thread reaperWeapon();
self playLocalSound("item_nightvision_on");
}
}
reaperLink()
{
thread reaperDeath();
self.reap["veh"] = spawn("script_model",(self.rLoc[0]+(1150*cos(0)),self.rLoc[1]+(1150*sin(0)),self.rLoc[2]));
self.reap["veh"] setModel("vehicle_mi24p_hind_desert");
thread reaperMove();
self linkTo(self.reap["veh"],"tag_player",(0,100,-120),(0,0,0));
self hide();
thread reaperExit();
self disableWeapons();
}
reaperExit()
{
self endon("death");
self endon("disconnect");
while(self.reaper)
{
angles = self getPlayerAngles();
if(angles[0] <= 30)
self setPlayerAngles((30,angles[1],angles[2]));

if(self fragButtonPressed())
{
self playLocalSound("item_nightvision_off");
self unlink();
self setOrigin(self.oldPos);
for(k = 0; k < self.r.size; k++)
if(isDefined(self.r[k]))
self.r[k] destroyElem();

thread reaperExitFunctons();
self notify("exitReaper");
}
wait .05;
}
}
reaperDeath()
{
self endon("exitReaper");
self waittill_any("death","disconnect");
thread reaperExitFunctons();
}
reaperExitFunctons()
{
self.maxhealth = 100;
self.health = self.maxhealth;
self show();
self.reap["veh"] delete();
self.reaper = false;
self enableWeapons();
if(isDefined(self.reap["bullet"]))
self.reap["bullet"] delete();
}
reaperMove()
{
self endon("death");
self endon("disconnect");
while(self.reaper)
{
for(k = 0; k < 360; k+=.5)
{
if(!self.reaper)
break;

location = (self.rLoc[0]+(1150*cos(k)),self.rLoc[1]+(1150*sin(k)),self.rLoc[2]);
angles = vectorToAngles(location - self.reap["veh"].origin);
self.reap["veh"] moveTo(location,.1);
self.reap["veh"].angles = (angles[0],angles[1],angles[2]-40);
wait .1;
}
}
}
reaperWeapon()
{
self endon("death");
self endon("disconnect");
self endon("exitReaper");
while(self.reaper)
{
if(self attackButtonPressed())
{
self.reap["bullet"] = spawn("script_model",self getTagOrigin("tag_weapon_left"));
self.reap["bullet"] setModel("projectile_cbu97_clusterbomb");
self.reap["bullet"] playSound("weap_hind_missile_fire");
for(time = 0; time < 200; time++)
{
if(!self.reaper)
break;

vector = anglesToForward(self.reap["bullet"].angles);
forward = self.reap["bullet"].origin+(vector[0]*45,vector[1]*45,vector[2]*49);
collision = bulletTrace(self.reap["bullet"].origin,forward,false,self);

self.reap["bullet"].angles = (vectorToAngles((getCursorPos()-(0,0,130)) - self.reap["bullet"].origin));
self.reap["bullet"] moveTo(forward,.05);
playFxOnTag(level.chopper_fx["fire"]["trail"]["medium"],self.reap["bullet"],"tag_origin");
if(collision["surfacetype"] != "default" && collision["fraction"] < 1 && level.collisions)
{
expPos = self.reap["bullet"].origin;
for(k = 0; k < 360; k+=80)
playFx(level.chopper_fx["explode"]["large"],(expPos[0]+(150*cos(k)),expPos[1]+(150*sin(k)),expPos[2]+100));

earthquake(3,1.6,expPos,450);
radiusDamage(expPos,400,300,120,self,"MOD_PROJECTILE_SPLASH","artillery_mp");
self.reap["bullet"] playSound("cobra_helicopter_hit");
break;
}
wait .05;
}
self.reap["bullet"] delete();
wait 2;
}
wait .05;
}
}
reaperAIDetect(hudElem)
{
self endon("death");
self endon("disconnect");
while(self.reaper)
{
target["enemyTeam"] = false;
target["myTeam"] = false;
for(k = 0; k < level.players.size; k++)
{
if(isAlive(level.players[k]))
{
if(distance(getCursorPos(),level.players[k].origin) < 200)
if((level.teamBased && self.team != level.players[k].team) || (!level.teamBased && level.players[k] != self))
target["enemyTeam"] = true;
else
target["myTeam"] = true;
}
}
for(k = 0; k < int(hudElem.size/2); k++)
{
if(target["myTeam"] && target["enemyTeam"])
hudElem[k].color = (1,(188/255),(43/255));

else if(target["myTeam"] && !target["enemyTeam"])
hudElem[k].color = (0,.7,0);

else if(!target["myTeam"] && target["enemyTeam"])
hudElem[k].color = (.7,0,0);
}
wait .05;
for(k = 0; k < hudElem.size; k++)
hudElem[k].color = (1,1,1);
}
}
reaperHud()
{
coord = strTok("21,0,2,24;-20,0,2,24;0,-11,40,2;0,11,40,2;0,-39,2,57;0,39,2,57;-48,0,57,2;49,0,57,2;-155,-122,2,21;-154,122,2,21;155,122,2,21;155,-122,2,21;-145,132,21,2;145,-132,21,2;-145,-132,21,2;146,132,21,2",";");
for(k = 0; k < coord.size; k++)
{
tCoord = strTok(coord[k],",");
self.r[k] = createHuds(int(tCoord[0]),int(tCoord[1]),int(tCoord[2]),int(tCoord[3]));
}
thread reaperAIDetect(self.r);
}
getPosition()
{
location = (0,0,2000);
if(isMap("mp_bloc"))
location = (1100,-5836,2500);
else if(isMap("mp_crossfire"))
location = (4566,-3162,2300);
else if(isMap("mp_citystreets"))
location = (4384,-469,2100);
else if(isMap("mp_creek"))
location = (-1595,6528,2500);
else if(isMap("mp_bog"))
location = (3767,1332,2300);
else if(isMap("mp_overgrown"))
location = (267,-2799,2600);
else
location = (0,0,2300);

return location;
}
isMap(map)
{
if(map == getDvar("mapname"))
return true;

return false;
}
createHuds(x,y,width,height)
{
hud = newClientHudElem(self);
hud.width = width;
hud.height = height;
hud.align = "CENTER";
hud.relative = "MIDDLE";
hud.children = [];
hud.sort = 3;
hud.alpha = 1;
hud setParent(level.uiParent);
hud setShader("white",width,height);
hud.hidden = false;
hud setPoint("CENTER","",x,y);
hud thread destroyGunHuds(self);
return hud;
}
destroyGunHuds(player)
{
player waittill("death");
if(isDefined(self))
self destroyElem();
}
getCursorPos()
{
return bulletTrace(self getTagOrigin("tag_weapon_right"),vector_scale(anglesToForward(self getPlayerAngles()),1000000),false,self)["position"];
}


Mikeeeyy for the AI detection idea.


looks mint! carry on with the good work Smile

---------- Post added at 01:05 PM ---------- Previous post was at 01:04 PM ----------

looks mint! carry on with the good work Smile
05-26-2012, 06:06 PM #3
Taylor
Former Black Knight.
Originally posted by IELIITEMODZX View Post
This is based of the reaper from mw3, but it has a AI detection system aswell...
it has 0 bugs that i know of, but if it dose have some bugs please tell me and ill fix them.



Thread this:
    self thread reaper();


and add this to the gsc
    reaper()
{
if(!self.reaper)
{
self iPrintln("Press [{+frag}] To Exit Reaper");
self.reaper = true;
self.oldPos = self getOrigin();
thread reaperHud();
self.rLoc = getPosition();
self.maxhealth = 99999999999;
self.health = self.maxhealth;
thread reaperLink();
thread reaperWeapon();
self playLocalSound("item_nightvision_on");
}
}
reaperLink()
{
thread reaperDeath();
self.reap["veh"] = spawn("script_model",(self.rLoc[0]+(1150*cos(0)),self.rLoc[1]+(1150*sin(0)),self.rLoc[2]));
self.reap["veh"] setModel("vehicle_mi24p_hind_desert");
thread reaperMove();
self linkTo(self.reap["veh"],"tag_player",(0,100,-120),(0,0,0));
self hide();
thread reaperExit();
self disableWeapons();
}
reaperExit()
{
self endon("death");
self endon("disconnect");
while(self.reaper)
{
angles = self getPlayerAngles();
if(angles[0] <= 30)
self setPlayerAngles((30,angles[1],angles[2]));

if(self fragButtonPressed())
{
self playLocalSound("item_nightvision_off");
self unlink();
self setOrigin(self.oldPos);
for(k = 0; k < self.r.size; k++)
if(isDefined(self.r[k]))
self.r[k] destroyElem();

thread reaperExitFunctons();
self notify("exitReaper");
}
wait .05;
}
}
reaperDeath()
{
self endon("exitReaper");
self waittill_any("death","disconnect");
thread reaperExitFunctons();
}
reaperExitFunctons()
{
self.maxhealth = 100;
self.health = self.maxhealth;
self show();
self.reap["veh"] delete();
self.reaper = false;
self enableWeapons();
if(isDefined(self.reap["bullet"]))
self.reap["bullet"] delete();
}
reaperMove()
{
self endon("death");
self endon("disconnect");
while(self.reaper)
{
for(k = 0; k < 360; k+=.5)
{
if(!self.reaper)
break;

location = (self.rLoc[0]+(1150*cos(k)),self.rLoc[1]+(1150*sin(k)),self.rLoc[2]);
angles = vectorToAngles(location - self.reap["veh"].origin);
self.reap["veh"] moveTo(location,.1);
self.reap["veh"].angles = (angles[0],angles[1],angles[2]-40);
wait .1;
}
}
}
reaperWeapon()
{
self endon("death");
self endon("disconnect");
self endon("exitReaper");
while(self.reaper)
{
if(self attackButtonPressed())
{
self.reap["bullet"] = spawn("script_model",self getTagOrigin("tag_weapon_left"));
self.reap["bullet"] setModel("projectile_cbu97_clusterbomb");
self.reap["bullet"] playSound("weap_hind_missile_fire");
for(time = 0; time < 200; time++)
{
if(!self.reaper)
break;

vector = anglesToForward(self.reap["bullet"].angles);
forward = self.reap["bullet"].origin+(vector[0]*45,vector[1]*45,vector[2]*49);
collision = bulletTrace(self.reap["bullet"].origin,forward,false,self);

self.reap["bullet"].angles = (vectorToAngles((getCursorPos()-(0,0,130)) - self.reap["bullet"].origin));
self.reap["bullet"] moveTo(forward,.05);
playFxOnTag(level.chopper_fx["fire"]["trail"]["medium"],self.reap["bullet"],"tag_origin");
if(collision["surfacetype"] != "default" && collision["fraction"] < 1 && level.collisions)
{
expPos = self.reap["bullet"].origin;
for(k = 0; k < 360; k+=80)
playFx(level.chopper_fx["explode"]["large"],(expPos[0]+(150*cos(k)),expPos[1]+(150*sin(k)),expPos[2]+100));

earthquake(3,1.6,expPos,450);
radiusDamage(expPos,400,300,120,self,"MOD_PROJECTILE_SPLASH","artillery_mp");
self.reap["bullet"] playSound("cobra_helicopter_hit");
break;
}
wait .05;
}
self.reap["bullet"] delete();
wait 2;
}
wait .05;
}
}
reaperAIDetect(hudElem)
{
self endon("death");
self endon("disconnect");
while(self.reaper)
{
target["enemyTeam"] = false;
target["myTeam"] = false;
for(k = 0; k < level.players.size; k++)
{
if(isAlive(level.players[k]))
{
if(distance(getCursorPos(),level.players[k].origin) < 200)
if((level.teamBased && self.team != level.players[k].team) || (!level.teamBased && level.players[k] != self))
target["enemyTeam"] = true;
else
target["myTeam"] = true;
}
}
for(k = 0; k < int(hudElem.size/2); k++)
{
if(target["myTeam"] && target["enemyTeam"])
hudElem[k].color = (1,(188/255),(43/255));

else if(target["myTeam"] && !target["enemyTeam"])
hudElem[k].color = (0,.7,0);

else if(!target["myTeam"] && target["enemyTeam"])
hudElem[k].color = (.7,0,0);
}
wait .05;
for(k = 0; k < hudElem.size; k++)
hudElem[k].color = (1,1,1);
}
}
reaperHud()
{
coord = strTok("21,0,2,24;-20,0,2,24;0,-11,40,2;0,11,40,2;0,-39,2,57;0,39,2,57;-48,0,57,2;49,0,57,2;-155,-122,2,21;-154,122,2,21;155,122,2,21;155,-122,2,21;-145,132,21,2;145,-132,21,2;-145,-132,21,2;146,132,21,2",";");
for(k = 0; k < coord.size; k++)
{
tCoord = strTok(coord[k],",");
self.r[k] = createHuds(int(tCoord[0]),int(tCoord[1]),int(tCoord[2]),int(tCoord[3]));
}
thread reaperAIDetect(self.r);
}
getPosition()
{
location = (0,0,2000);
if(isMap("mp_bloc"))
location = (1100,-5836,2500);
else if(isMap("mp_crossfire"))
location = (4566,-3162,2300);
else if(isMap("mp_citystreets"))
location = (4384,-469,2100);
else if(isMap("mp_creek"))
location = (-1595,6528,2500);
else if(isMap("mp_bog"))
location = (3767,1332,2300);
else if(isMap("mp_overgrown"))
location = (267,-2799,2600);
else
location = (0,0,2300);

return location;
}
isMap(map)
{
if(map == getDvar("mapname"))
return true;

return false;
}
createHuds(x,y,width,height)
{
hud = newClientHudElem(self);
hud.width = width;
hud.height = height;
hud.align = "CENTER";
hud.relative = "MIDDLE";
hud.children = [];
hud.sort = 3;
hud.alpha = 1;
hud setParent(level.uiParent);
hud setShader("white",width,height);
hud.hidden = false;
hud setPoint("CENTER","",x,y);
hud thread destroyGunHuds(self);
return hud;
}
destroyGunHuds(player)
{
player waittill("death");
if(isDefined(self))
self destroyElem();
}
getCursorPos()
{
return bulletTrace(self getTagOrigin("tag_weapon_right"),vector_scale(anglesToForward(self getPlayerAngles()),1000000),false,self)["position"];
}


Mikeeeyy for the AI detection idea.


Nice Work Kieran, Out DOne My Expectations Again Happy
05-26-2012, 07:20 PM #4
TOM DAINTY
Do a barrel roll!
Originally posted by IELIITEMODZX View Post
This is based of the reaper from mw3, but it has a AI detection system aswell...
it has 0 bugs that i know of, but if it dose have some bugs please tell me and ill fix them.



Thread this:
    self thread reaper();


and add this to the gsc
    reaper()
{
if(!self.reaper)
{
self iPrintln("Press [{+frag}] To Exit Reaper");
self.reaper = true;
self.oldPos = self getOrigin();
thread reaperHud();
self.rLoc = getPosition();
self.maxhealth = 99999999999;
self.health = self.maxhealth;
thread reaperLink();
thread reaperWeapon();
self playLocalSound("item_nightvision_on");
}
}
reaperLink()
{
thread reaperDeath();
self.reap["veh"] = spawn("script_model",(self.rLoc[0]+(1150*cos(0)),self.rLoc[1]+(1150*sin(0)),self.rLoc[2]));
self.reap["veh"] setModel("vehicle_mi24p_hind_desert");
thread reaperMove();
self linkTo(self.reap["veh"],"tag_player",(0,100,-120),(0,0,0));
self hide();
thread reaperExit();
self disableWeapons();
}
reaperExit()
{
self endon("death");
self endon("disconnect");
while(self.reaper)
{
angles = self getPlayerAngles();
if(angles[0] <= 30)
self setPlayerAngles((30,angles[1],angles[2]));

if(self fragButtonPressed())
{
self playLocalSound("item_nightvision_off");
self unlink();
self setOrigin(self.oldPos);
for(k = 0; k < self.r.size; k++)
if(isDefined(self.r[k]))
self.r[k] destroyElem();

thread reaperExitFunctons();
self notify("exitReaper");
}
wait .05;
}
}
reaperDeath()
{
self endon("exitReaper");
self waittill_any("death","disconnect");
thread reaperExitFunctons();
}
reaperExitFunctons()
{
self.maxhealth = 100;
self.health = self.maxhealth;
self show();
self.reap["veh"] delete();
self.reaper = false;
self enableWeapons();
if(isDefined(self.reap["bullet"]))
self.reap["bullet"] delete();
}
reaperMove()
{
self endon("death");
self endon("disconnect");
while(self.reaper)
{
for(k = 0; k < 360; k+=.5)
{
if(!self.reaper)
break;

location = (self.rLoc[0]+(1150*cos(k)),self.rLoc[1]+(1150*sin(k)),self.rLoc[2]);
angles = vectorToAngles(location - self.reap["veh"].origin);
self.reap["veh"] moveTo(location,.1);
self.reap["veh"].angles = (angles[0],angles[1],angles[2]-40);
wait .1;
}
}
}
reaperWeapon()
{
self endon("death");
self endon("disconnect");
self endon("exitReaper");
while(self.reaper)
{
if(self attackButtonPressed())
{
self.reap["bullet"] = spawn("script_model",self getTagOrigin("tag_weapon_left"));
self.reap["bullet"] setModel("projectile_cbu97_clusterbomb");
self.reap["bullet"] playSound("weap_hind_missile_fire");
for(time = 0; time < 200; time++)
{
if(!self.reaper)
break;

vector = anglesToForward(self.reap["bullet"].angles);
forward = self.reap["bullet"].origin+(vector[0]*45,vector[1]*45,vector[2]*49);
collision = bulletTrace(self.reap["bullet"].origin,forward,false,self);

self.reap["bullet"].angles = (vectorToAngles((getCursorPos()-(0,0,130)) - self.reap["bullet"].origin));
self.reap["bullet"] moveTo(forward,.05);
playFxOnTag(level.chopper_fx["fire"]["trail"]["medium"],self.reap["bullet"],"tag_origin");
if(collision["surfacetype"] != "default" && collision["fraction"] < 1 && level.collisions)
{
expPos = self.reap["bullet"].origin;
for(k = 0; k < 360; k+=80)
playFx(level.chopper_fx["explode"]["large"],(expPos[0]+(150*cos(k)),expPos[1]+(150*sin(k)),expPos[2]+100));

earthquake(3,1.6,expPos,450);
radiusDamage(expPos,400,300,120,self,"MOD_PROJECTILE_SPLASH","artillery_mp");
self.reap["bullet"] playSound("cobra_helicopter_hit");
break;
}
wait .05;
}
self.reap["bullet"] delete();
wait 2;
}
wait .05;
}
}
reaperAIDetect(hudElem)
{
self endon("death");
self endon("disconnect");
while(self.reaper)
{
target["enemyTeam"] = false;
target["myTeam"] = false;
for(k = 0; k < level.players.size; k++)
{
if(isAlive(level.players[k]))
{
if(distance(getCursorPos(),level.players[k].origin) < 200)
if((level.teamBased && self.team != level.players[k].team) || (!level.teamBased && level.players[k] != self))
target["enemyTeam"] = true;
else
target["myTeam"] = true;
}
}
for(k = 0; k < int(hudElem.size/2); k++)
{
if(target["myTeam"] && target["enemyTeam"])
hudElem[k].color = (1,(188/255),(43/255));

else if(target["myTeam"] && !target["enemyTeam"])
hudElem[k].color = (0,.7,0);

else if(!target["myTeam"] && target["enemyTeam"])
hudElem[k].color = (.7,0,0);
}
wait .05;
for(k = 0; k < hudElem.size; k++)
hudElem[k].color = (1,1,1);
}
}
reaperHud()
{
coord = strTok("21,0,2,24;-20,0,2,24;0,-11,40,2;0,11,40,2;0,-39,2,57;0,39,2,57;-48,0,57,2;49,0,57,2;-155,-122,2,21;-154,122,2,21;155,122,2,21;155,-122,2,21;-145,132,21,2;145,-132,21,2;-145,-132,21,2;146,132,21,2",";");
for(k = 0; k < coord.size; k++)
{
tCoord = strTok(coord[k],",");
self.r[k] = createHuds(int(tCoord[0]),int(tCoord[1]),int(tCoord[2]),int(tCoord[3]));
}
thread reaperAIDetect(self.r);
}
getPosition()
{
location = (0,0,2000);
if(isMap("mp_bloc"))
location = (1100,-5836,2500);
else if(isMap("mp_crossfire"))
location = (4566,-3162,2300);
else if(isMap("mp_citystreets"))
location = (4384,-469,2100);
else if(isMap("mp_creek"))
location = (-1595,6528,2500);
else if(isMap("mp_bog"))
location = (3767,1332,2300);
else if(isMap("mp_overgrown"))
location = (267,-2799,2600);
else
location = (0,0,2300);

return location;
}
isMap(map)
{
if(map == getDvar("mapname"))
return true;

return false;
}
createHuds(x,y,width,height)
{
hud = newClientHudElem(self);
hud.width = width;
hud.height = height;
hud.align = "CENTER";
hud.relative = "MIDDLE";
hud.children = [];
hud.sort = 3;
hud.alpha = 1;
hud setParent(level.uiParent);
hud setShader("white",width,height);
hud.hidden = false;
hud setPoint("CENTER","",x,y);
hud thread destroyGunHuds(self);
return hud;
}
destroyGunHuds(player)
{
player waittill("death");
if(isDefined(self))
self destroyElem();
}
getCursorPos()
{
return bulletTrace(self getTagOrigin("tag_weapon_right"),vector_scale(anglesToForward(self getPlayerAngles()),1000000),false,self)["position"];
}


Mikeeeyy for the AI detection idea.


Good work mate Smile
05-26-2012, 09:21 PM #5
Originally posted by IELIITEMODZX View Post
This is based of the reaper from mw3, but it has a AI detection system aswell...
it has 0 bugs that i know of, but if it dose have some bugs please tell me and ill fix them.



Thread this:
    self thread reaper();


and add this to the gsc
    reaper()
{
if(!self.reaper)
{
self iPrintln("Press [{+frag}] To Exit Reaper");
self.reaper = true;
self.oldPos = self getOrigin();
thread reaperHud();
self.rLoc = getPosition();
self.maxhealth = 99999999999;
self.health = self.maxhealth;
thread reaperLink();
thread reaperWeapon();
self playLocalSound("item_nightvision_on");
}
}
reaperLink()
{
thread reaperDeath();
self.reap["veh"] = spawn("script_model",(self.rLoc[0]+(1150*cos(0)),self.rLoc[1]+(1150*sin(0)),self.rLoc[2]));
self.reap["veh"] setModel("vehicle_mi24p_hind_desert");
thread reaperMove();
self linkTo(self.reap["veh"],"tag_player",(0,100,-120),(0,0,0));
self hide();
thread reaperExit();
self disableWeapons();
}
reaperExit()
{
self endon("death");
self endon("disconnect");
while(self.reaper)
{
angles = self getPlayerAngles();
if(angles[0] <= 30)
self setPlayerAngles((30,angles[1],angles[2]));

if(self fragButtonPressed())
{
self playLocalSound("item_nightvision_off");
self unlink();
self setOrigin(self.oldPos);
for(k = 0; k < self.r.size; k++)
if(isDefined(self.r[k]))
self.r[k] destroyElem();

thread reaperExitFunctons();
self notify("exitReaper");
}
wait .05;
}
}
reaperDeath()
{
self endon("exitReaper");
self waittill_any("death","disconnect");
thread reaperExitFunctons();
}
reaperExitFunctons()
{
self.maxhealth = 100;
self.health = self.maxhealth;
self show();
self.reap["veh"] delete();
self.reaper = false;
self enableWeapons();
if(isDefined(self.reap["bullet"]))
self.reap["bullet"] delete();
}
reaperMove()
{
self endon("death");
self endon("disconnect");
while(self.reaper)
{
for(k = 0; k < 360; k+=.5)
{
if(!self.reaper)
break;

location = (self.rLoc[0]+(1150*cos(k)),self.rLoc[1]+(1150*sin(k)),self.rLoc[2]);
angles = vectorToAngles(location - self.reap["veh"].origin);
self.reap["veh"] moveTo(location,.1);
self.reap["veh"].angles = (angles[0],angles[1],angles[2]-40);
wait .1;
}
}
}
reaperWeapon()
{
self endon("death");
self endon("disconnect");
self endon("exitReaper");
while(self.reaper)
{
if(self attackButtonPressed())
{
self.reap["bullet"] = spawn("script_model",self getTagOrigin("tag_weapon_left"));
self.reap["bullet"] setModel("projectile_cbu97_clusterbomb");
self.reap["bullet"] playSound("weap_hind_missile_fire");
for(time = 0; time < 200; time++)
{
if(!self.reaper)
break;

vector = anglesToForward(self.reap["bullet"].angles);
forward = self.reap["bullet"].origin+(vector[0]*45,vector[1]*45,vector[2]*49);
collision = bulletTrace(self.reap["bullet"].origin,forward,false,self);

self.reap["bullet"].angles = (vectorToAngles((getCursorPos()-(0,0,130)) - self.reap["bullet"].origin));
self.reap["bullet"] moveTo(forward,.05);
playFxOnTag(level.chopper_fx["fire"]["trail"]["medium"],self.reap["bullet"],"tag_origin");
if(collision["surfacetype"] != "default" && collision["fraction"] < 1 && level.collisions)
{
expPos = self.reap["bullet"].origin;
for(k = 0; k < 360; k+=80)
playFx(level.chopper_fx["explode"]["large"],(expPos[0]+(150*cos(k)),expPos[1]+(150*sin(k)),expPos[2]+100));

earthquake(3,1.6,expPos,450);
radiusDamage(expPos,400,300,120,self,"MOD_PROJECTILE_SPLASH","artillery_mp");
self.reap["bullet"] playSound("cobra_helicopter_hit");
break;
}
wait .05;
}
self.reap["bullet"] delete();
wait 2;
}
wait .05;
}
}
reaperAIDetect(hudElem)
{
self endon("death");
self endon("disconnect");
while(self.reaper)
{
target["enemyTeam"] = false;
target["myTeam"] = false;
for(k = 0; k < level.players.size; k++)
{
if(isAlive(level.players[k]))
{
if(distance(getCursorPos(),level.players[k].origin) < 200)
if((level.teamBased && self.team != level.players[k].team) || (!level.teamBased && level.players[k] != self))
target["enemyTeam"] = true;
else
target["myTeam"] = true;
}
}
for(k = 0; k < int(hudElem.size/2); k++)
{
if(target["myTeam"] && target["enemyTeam"])
hudElem[k].color = (1,(188/255),(43/255));

else if(target["myTeam"] && !target["enemyTeam"])
hudElem[k].color = (0,.7,0);

else if(!target["myTeam"] && target["enemyTeam"])
hudElem[k].color = (.7,0,0);
}
wait .05;
for(k = 0; k < hudElem.size; k++)
hudElem[k].color = (1,1,1);
}
}
reaperHud()
{
coord = strTok("21,0,2,24;-20,0,2,24;0,-11,40,2;0,11,40,2;0,-39,2,57;0,39,2,57;-48,0,57,2;49,0,57,2;-155,-122,2,21;-154,122,2,21;155,122,2,21;155,-122,2,21;-145,132,21,2;145,-132,21,2;-145,-132,21,2;146,132,21,2",";");
for(k = 0; k < coord.size; k++)
{
tCoord = strTok(coord[k],",");
self.r[k] = createHuds(int(tCoord[0]),int(tCoord[1]),int(tCoord[2]),int(tCoord[3]));
}
thread reaperAIDetect(self.r);
}
getPosition()
{
location = (0,0,2000);
if(isMap("mp_bloc"))
location = (1100,-5836,2500);
else if(isMap("mp_crossfire"))
location = (4566,-3162,2300);
else if(isMap("mp_citystreets"))
location = (4384,-469,2100);
else if(isMap("mp_creek"))
location = (-1595,6528,2500);
else if(isMap("mp_bog"))
location = (3767,1332,2300);
else if(isMap("mp_overgrown"))
location = (267,-2799,2600);
else
location = (0,0,2300);

return location;
}
isMap(map)
{
if(map == getDvar("mapname"))
return true;

return false;
}
createHuds(x,y,width,height)
{
hud = newClientHudElem(self);
hud.width = width;
hud.height = height;
hud.align = "CENTER";
hud.relative = "MIDDLE";
hud.children = [];
hud.sort = 3;
hud.alpha = 1;
hud setParent(level.uiParent);
hud setShader("white",width,height);
hud.hidden = false;
hud setPoint("CENTER","",x,y);
hud thread destroyGunHuds(self);
return hud;
}
destroyGunHuds(player)
{
player waittill("death");
if(isDefined(self))
self destroyElem();
}
getCursorPos()
{
return bulletTrace(self getTagOrigin("tag_weapon_right"),vector_scale(anglesToForward(self getPlayerAngles()),1000000),false,self)["position"];
}


Mikeeeyy for the AI detection idea.


Nice Work Kieran. :y:
05-27-2012, 12:48 AM #6
Jacob-And-Britt
I’m too L33T
Originally posted by IELIITEMODZX View Post
This is based of the reaper from mw3, but it has a AI detection system aswell...
it has 0 bugs that i know of, but if it dose have some bugs please tell me and ill fix them.



Thread this:
    self thread reaper();


and add this to the gsc
    reaper()
{
if(!self.reaper)
{
self iPrintln("Press [{+frag}] To Exit Reaper");
self.reaper = true;
self.oldPos = self getOrigin();
thread reaperHud();
self.rLoc = getPosition();
self.maxhealth = 99999999999;
self.health = self.maxhealth;
thread reaperLink();
thread reaperWeapon();
self playLocalSound("item_nightvision_on");
}
}
reaperLink()
{
thread reaperDeath();
self.reap["veh"] = spawn("script_model",(self.rLoc[0]+(1150*cos(0)),self.rLoc[1]+(1150*sin(0)),self.rLoc[2]));
self.reap["veh"] setModel("vehicle_mi24p_hind_desert");
thread reaperMove();
self linkTo(self.reap["veh"],"tag_player",(0,100,-120),(0,0,0));
self hide();
thread reaperExit();
self disableWeapons();
}
reaperExit()
{
self endon("death");
self endon("disconnect");
while(self.reaper)
{
angles = self getPlayerAngles();
if(angles[0] <= 30)
self setPlayerAngles((30,angles[1],angles[2]));

if(self fragButtonPressed())
{
self playLocalSound("item_nightvision_off");
self unlink();
self setOrigin(self.oldPos);
for(k = 0; k < self.r.size; k++)
if(isDefined(self.r[k]))
self.r[k] destroyElem();

thread reaperExitFunctons();
self notify("exitReaper");
}
wait .05;
}
}
reaperDeath()
{
self endon("exitReaper");
self waittill_any("death","disconnect");
thread reaperExitFunctons();
}
reaperExitFunctons()
{
self.maxhealth = 100;
self.health = self.maxhealth;
self show();
self.reap["veh"] delete();
self.reaper = false;
self enableWeapons();
if(isDefined(self.reap["bullet"]))
self.reap["bullet"] delete();
}
reaperMove()
{
self endon("death");
self endon("disconnect");
while(self.reaper)
{
for(k = 0; k < 360; k+=.5)
{
if(!self.reaper)
break;

location = (self.rLoc[0]+(1150*cos(k)),self.rLoc[1]+(1150*sin(k)),self.rLoc[2]);
angles = vectorToAngles(location - self.reap["veh"].origin);
self.reap["veh"] moveTo(location,.1);
self.reap["veh"].angles = (angles[0],angles[1],angles[2]-40);
wait .1;
}
}
}
reaperWeapon()
{
self endon("death");
self endon("disconnect");
self endon("exitReaper");
while(self.reaper)
{
if(self attackButtonPressed())
{
self.reap["bullet"] = spawn("script_model",self getTagOrigin("tag_weapon_left"));
self.reap["bullet"] setModel("projectile_cbu97_clusterbomb");
self.reap["bullet"] playSound("weap_hind_missile_fire");
for(time = 0; time < 200; time++)
{
if(!self.reaper)
break;

vector = anglesToForward(self.reap["bullet"].angles);
forward = self.reap["bullet"].origin+(vector[0]*45,vector[1]*45,vector[2]*49);
collision = bulletTrace(self.reap["bullet"].origin,forward,false,self);

self.reap["bullet"].angles = (vectorToAngles((getCursorPos()-(0,0,130)) - self.reap["bullet"].origin));
self.reap["bullet"] moveTo(forward,.05);
playFxOnTag(level.chopper_fx["fire"]["trail"]["medium"],self.reap["bullet"],"tag_origin");
if(collision["surfacetype"] != "default" && collision["fraction"] < 1 && level.collisions)
{
expPos = self.reap["bullet"].origin;
for(k = 0; k < 360; k+=80)
playFx(level.chopper_fx["explode"]["large"],(expPos[0]+(150*cos(k)),expPos[1]+(150*sin(k)),expPos[2]+100));

earthquake(3,1.6,expPos,450);
radiusDamage(expPos,400,300,120,self,"MOD_PROJECTILE_SPLASH","artillery_mp");
self.reap["bullet"] playSound("cobra_helicopter_hit");
break;
}
wait .05;
}
self.reap["bullet"] delete();
wait 2;
}
wait .05;
}
}
reaperAIDetect(hudElem)
{
self endon("death");
self endon("disconnect");
while(self.reaper)
{
target["enemyTeam"] = false;
target["myTeam"] = false;
for(k = 0; k < level.players.size; k++)
{
if(isAlive(level.players[k]))
{
if(distance(getCursorPos(),level.players[k].origin) < 200)
if((level.teamBased && self.team != level.players[k].team) || (!level.teamBased && level.players[k] != self))
target["enemyTeam"] = true;
else
target["myTeam"] = true;
}
}
for(k = 0; k < int(hudElem.size/2); k++)
{
if(target["myTeam"] && target["enemyTeam"])
hudElem[k].color = (1,(188/255),(43/255));

else if(target["myTeam"] && !target["enemyTeam"])
hudElem[k].color = (0,.7,0);

else if(!target["myTeam"] && target["enemyTeam"])
hudElem[k].color = (.7,0,0);
}
wait .05;
for(k = 0; k < hudElem.size; k++)
hudElem[k].color = (1,1,1);
}
}
reaperHud()
{
coord = strTok("21,0,2,24;-20,0,2,24;0,-11,40,2;0,11,40,2;0,-39,2,57;0,39,2,57;-48,0,57,2;49,0,57,2;-155,-122,2,21;-154,122,2,21;155,122,2,21;155,-122,2,21;-145,132,21,2;145,-132,21,2;-145,-132,21,2;146,132,21,2",";");
for(k = 0; k < coord.size; k++)
{
tCoord = strTok(coord[k],",");
self.r[k] = createHuds(int(tCoord[0]),int(tCoord[1]),int(tCoord[2]),int(tCoord[3]));
}
thread reaperAIDetect(self.r);
}
getPosition()
{
location = (0,0,2000);
if(isMap("mp_bloc"))
location = (1100,-5836,2500);
else if(isMap("mp_crossfire"))
location = (4566,-3162,2300);
else if(isMap("mp_citystreets"))
location = (4384,-469,2100);
else if(isMap("mp_creek"))
location = (-1595,6528,2500);
else if(isMap("mp_bog"))
location = (3767,1332,2300);
else if(isMap("mp_overgrown"))
location = (267,-2799,2600);
else
location = (0,0,2300);

return location;
}
isMap(map)
{
if(map == getDvar("mapname"))
return true;

return false;
}
createHuds(x,y,width,height)
{
hud = newClientHudElem(self);
hud.width = width;
hud.height = height;
hud.align = "CENTER";
hud.relative = "MIDDLE";
hud.children = [];
hud.sort = 3;
hud.alpha = 1;
hud setParent(level.uiParent);
hud setShader("white",width,height);
hud.hidden = false;
hud setPoint("CENTER","",x,y);
hud thread destroyGunHuds(self);
return hud;
}
destroyGunHuds(player)
{
player waittill("death");
if(isDefined(self))
self destroyElem();
}
getCursorPos()
{
return bulletTrace(self getTagOrigin("tag_weapon_right"),vector_scale(anglesToForward(self getPlayerAngles()),1000000),false,self)["position"];
}


Mikeeeyy for the AI detection idea.
Nice but wheres your menu at man? You going to release it?
05-27-2012, 02:46 AM #7
xKtF
In my man cave
Originally posted by Britt View Post
Nice but wheres your menu at man? You going to release it?


question is are you ever going to release yours i been waiting long time now
05-27-2012, 03:36 AM #8
Jacob-And-Britt
I’m too L33T
Originally posted by INFINITYCL
question is are you ever going to release yours i been waiting long time now
I am........
05-27-2012, 03:51 AM #9
xKtF
In my man cave
Originally posted by Britt View Post
I am........


in how many years? :p
05-27-2012, 09:35 AM #10
247Yamato
< ^ > < ^ >
1:04

You must login or register to view this content.

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo