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
06-05-2012, 06:13 PM #56
247Yamato
< ^ > < ^ >
Yes, he was going to release it..... :carling:
06-05-2012, 06:31 PM #57
Originally posted by 247Yamato View Post
Yes, he was going to release it..... :carling:
i did not work on my menu alot over the past 5m but its finished now and ive sent to fuzions to test and its all fine so the release will be very soon maybe even in the next hour.
06-08-2012, 09:03 PM #58
Blackstorm
Veni. Vidi. Vici.
Originally posted by zxz0O0 View Post
I pimped your code a bit more
Code:
self.reap["veh"] = spawn("script_model",(self.rLoc[tan(180)+atan(45)-sin(90)]+(0-(cos(120)*2300)*cos(sin(180))),self.rLoc[tan(45)+cos(90)]+((1*10000/10+100+50)*sin(acos(0.5)/acos(0.5)-1)),self.rLoc[asin(0.5)/10-1]));


Eek ......
06-15-2012, 07:36 AM #59
Nice man good job
06-15-2012, 10:26 AM #60
REZNET \|/
The Land Of The Lost.....
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.


Damn man that is pretty sick good work:P
06-21-2012, 09:53 PM #61
lBryzla
Do a barrel roll!
Amazing mod mate, well done!
06-29-2012, 04:17 AM #62
oG-Modder
Do a barrel roll!
Wow keep it up its really good
07-14-2012, 07:56 AM #63
Great Work!

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo