0
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:
and add this to the gscCode:self thread reaper();
Mikeeeyy for the AI detection idea.Code: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"]; }
Register or log in to view signatures.
1337HaXaLoT (05-29-2012),ButtMurt(05-26-2012), Choco (05-28-2012), Cmd-X (05-26-2012),CumGuzzler420(05-26-2012), Dman93 (05-28-2012), forflah123 (05-26-2012), INSAN3LY_D34TH (05-26-2012), IVI40A3Fusionz (05-26-2012), Jacob-And-Britt (05-26-2012), Karoolus (05-28-2012), Kush Friendly (06-04-2012), LightModz (05-26-2012), Oliver1556 (05-28-2012), Palomo (05-26-2012), primetime43 (05-28-2012), Razorcut2015 (06-30-2012), Reznet- (06-15-2012), rimka06510 (05-26-2012), Rin1 (05-26-2012), seb5594 (05-26-2012), Taylor (05-26-2012), TheHardyz (06-01-2012), ThePhantom410. (05-26-2012), TOM DAINTY (05-26-2012), xMrSuperMoDzZ-- (07-26-2012)
247Yamato (05-28-2012), x_DaftVader_x (05-28-2012), zxz0O0 (06-04-2012)
How about you stop flaming, all because he had an extra 5bites of code, the script works fine and has no errors/bugs, you are both pathetic and need to grow up. you both have never contributed to the cod4 section IELIITEMODZX has, all he is trying to do is help people who cant make scripts like this.
please don't comment back because i cant be arsed to reply.
Register or log in to view signatures.

Register or log in to view signatures.
Register or log in to view signatures.

Register or log in to view signatures.
Register or log in to view signatures.
Register or log in to view signatures.
Nice Work :carling:
Register or log in to view signatures.


What this do:
??Code:while(self.isAir) { if(self getCurrentWeapon()!="m16_mp") { self.isAir = false; break; } ForwardTrace = Bullettrace(self getEye(),self getEye()+anglestoforward(self getplayerangles())*100000,true,self); playerAngles = self GetPlayerAngles(); AtF = AnglesToForward(playerAngles); self playLoopSound("oxygen_tank_leak_loop"); foreach(player in level.players) { if(player==self) continue; enemyToSelf = distance(self.origin,player.origin); if(enemyToSelf>512) continue; if(ForwardTrace["entity"]!=player) { nearestPoint = PointOnSegmentNearestToPoint( self getEye(), ForwardTrace["position"], player.origin ); PtoO = distance(player.origin,nearestPoint); co = (cos(35)*512); TopLine = sqrt((512*512)-(co*co)); Multi = 512/TopLine; if(enemyToSelf<PtoO*Multi) continue; } dist = distance(self.origin,player.origin); multi = 300/dist; if(multi<1) multi = 1; if(self.AirPropSuction) player setVelocity(player getVelocity() - (AtF[0]*(300*(multi)),AtF[1]*(300*(multi)),(AtF[2]+0.25)*(300*(multi)))); else player setVelocity(player getVelocity() + (AtF[0]*(200*(multi)),AtF[1]*(200*(multi)),(AtF[2]+0.25)*(200*(multi)))); player ViewKick(100,self.origin); } wait 0.15; } self stopLoopSound("oxygen_tank_leak_loop"); } }
Register or log in to view signatures.
Last edited by zxz0O0; 06-04-2012 at 09:42 AM.
Register or log in to view signatures.
Register or log in to view signatures.