Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @name quadcopter
- @persist [V AV]:vector A:angle V_array:array Player:entity
- @persist [On Stay Follow Turret]:number Name:string Rot
- E = entity(), interval(1), runOnChat(1), Rot+=1.5
- if(first()|dupefinished()){
- V = vec(0,0,0)
- Name = "Quadrotor of DOOM!"
- E:setMass(50000)
- E:setAlpha(0)
- holoCreate(0,E:pos(),vec(0.001),E:angles(),vec(0),"default"),holoParent(0,E) #Index, Position, Scale, Angle, Color (RGB), Model
- holoCreate(1,E:pos(),vec(0.95,0.95,0.35),E:angles(),vec(255),"models/sprops/geometry/sphere_18.mdl"),holoParent(1,0),holoMaterial(1,"models/shiny"),holoDisableShading(1,1),holoAlpha(1,230)
- holoCreate(2,E:pos(),vec(0.8,0.8,0.35),E:angles(),vec(255),"models/sprops/rectangles/size_2_5/rect_18x18x3.mdl"),holoParent(2,0),holoMaterial(2,"models/shiny"),holoDisableShading(2,1),holoAlpha(2,230)
- holoCreate(3,E:pos(),vec(2.2,0.35,0.351),E:toWorld(ang(0,45,0)),vec(255),"models/sprops/geometry/sphere_18.mdl"),holoParent(3,0),holoMaterial(3,"models/shiny"),holoDisableShading(3,1),holoAlpha(3,230)
- holoCreate(4,E:pos(),vec(2.2,0.35,0.351),E:toWorld(ang(0,-45,0)),vec(255),"models/sprops/geometry/sphere_18.mdl"),holoParent(4,0),holoMaterial(4,"models/shiny"),holoDisableShading(4,1),holoAlpha(4,230)
- holoCreate(5,E:toWorld(vec(12.875,12.875,1.1)),vec(0.5),E:toWorld(ang(0,45,0)),vec(255),"models/sprops/cuboids/height06/size_1/cube_6x6x6.mdl"),holoParent(5,0),holoMaterial(5,"models/shiny"),holoDisableShading(5,1),holoAlpha(5,230)
- holoCreate(6,E:toWorld(vec(-12.875,-12.875,1.1)),vec(0.5),E:toWorld(ang(0,45,0)),vec(255),"models/sprops/cuboids/height06/size_1/cube_6x6x6.mdl"),holoParent(6,0),holoMaterial(6,"models/shiny"),holoDisableShading(6,1),holoAlpha(6,230)
- holoCreate(7,E:toWorld(vec(12.875,-12.875,1.1)),vec(0.5),E:toWorld(ang(0,45,0)),vec(255),"models/sprops/cuboids/height06/size_1/cube_6x6x6.mdl"),holoParent(7,0),holoMaterial(7,"models/shiny"),holoDisableShading(7,1),holoAlpha(7,230)
- holoCreate(8,E:toWorld(vec(-12.875,12.875,1.1)),vec(0.5),E:toWorld(ang(0,45,0)),vec(255),"models/sprops/cuboids/height06/size_1/cube_6x6x6.mdl"),holoParent(8,0),holoMaterial(8,"models/shiny"),holoDisableShading(8,1),holoAlpha(8,230)
- holoCreate(9,E:toWorld(vec(-12.875,12.875,2.6)),vec(2.8,0.2,0.05),E:toWorld(ang(0,random(0,360),0)),vec(255),"models/sprops/cuboids/height06/size_1/cube_6x6x6.mdl"),holoParent(9,0),holoMaterial(9,"models/shiny"),holoDisableShading(9,1),holoAlpha(9,250)
- holoCreate(10,E:toWorld(vec(12.875,-12.875,2.6)),vec(2.8,0.2,0.05),E:toWorld(ang(0,random(0,360),0)),vec(255),"models/sprops/cuboids/height06/size_1/cube_6x6x6.mdl"),holoParent(10,0),holoMaterial(10,"models/shiny"),holoDisableShading(10,1),holoAlpha(10,250)
- holoCreate(11,E:toWorld(vec(-12.875,-12.875,2.6)),vec(2.8,0.2,0.05),E:toWorld(ang(0,random(0,360),0)),vec(255),"models/sprops/cuboids/height06/size_1/cube_6x6x6.mdl"),holoParent(11,0),holoMaterial(11,"models/shiny"),holoDisableShading(11,1),holoAlpha(11,250)
- holoCreate(12,E:toWorld(vec(12.875,12.875,2.6)),vec(2.8,0.2,0.05),E:toWorld(ang(0,random(0,360),0)),vec(255),"models/sprops/cuboids/height06/size_1/cube_6x6x6.mdl"),holoParent(12,0),holoMaterial(12,"models/shiny"),holoDisableShading(12,1),holoAlpha(12,250)
- printColor(vec(255),"||| type !on to turn it on, and !off to turn it off. |||")
- printColor(vec(255),"||| 3 different modes; !follow, !sleep, and !turret. (Pretty self explanitory) |||")
- printColor(vec(255),"||| Turret mode can be abusable so be careful. (While in sleep mode, aim somewhere and press R to make it hover at said location.) |||")
- }
- LS = owner():lastSaid():explode(" ")
- if(LS[1,string]=="!on"&chatClk(owner())){ On = 1, hideChat(1), printColor(vec(50,255,50),Name+" has been activated!") } elseif(LS[1,string]=="!off"&chatClk(owner())){ On = 0, hideChat(1), printColor(vec(255,50,50),Name+" has been deactivated!") }
- if(LS[1,string]=="!follow"&chatClk(owner())){ Stay = 0, Follow = 1, Turret = 0 , hideChat(1), printColor(vec(237,218,18),"Follow-Mode Enabled!") }
- if(LS[1,string]=="!sleep"&chatClk(owner())){ Stay = 1, Follow = 0, Turret = 0, hideChat(1), printColor(vec(99,169,249),"Sleep-Mode Enabled!") }
- if(LS[1,string]=="!turret"&chatClk(owner())){ Stay = 0, Follow = 0, Turret = 1, hideChat(1), printColor(vec(155,0,0),"Turret-Mode Enabled!") }
- V_array = array()
- VelX = -E:velL():x()/10, VelX = clamp(VelX,-50,50)
- VelY = E:velL():y()/10, VelY = clamp(VelY,-50,50)
- findIncludeClass("player")
- findExcludePlayer(owner())
- Find = findInSphere(E:pos(),550)
- Player = find()
- rangerFilter(E)
- rangerIgnoreWorld(1)
- R = rangerOffset(650,E:pos(),E:forward())
- if(Turret==1){
- if(!Player){ A = angnorm(-ang((E:angles():pitch()+VelX)/5,E:angles():yaw()/5,(E:angles():roll()+VelY)/5)) }
- elseif(Player){ A = angnorm(-ang((E:elevation(Player:boxCenterW()+20))/2.5,(E:bearing(Player:boxCenterW()))/2.5,E:angles():roll()/3)) } }
- else{ A = angnorm(-ang((E:angles():pitch()+VelX)/5,E:angles():yaw()/8,(E:angles():roll()+VelY)/5)) }
- if(On==1){
- holoAng(9,E:toWorld(ang(0,Rot*random(6,16),0)))
- holoAng(10,E:toWorld(ang(0,Rot*random(6,16),0)))
- holoAng(11,E:toWorld(ang(0,Rot*random(6,16),0)))
- holoAng(12,E:toWorld(ang(0,Rot*random(6,16),0)))
- E:applyForce(-E:vel()*E:mass()/4.5)
- E:applyAngForce(-E:angVel()*shiftL(ang(E:inertia()))*3)
- E:applyForce((V+$V*5)*E:mass()/5)
- E:applyAngForce((A+$A*5)*E:mass())
- if(Follow==1){
- V = (owner():pos() + vec(0+150*sin(Rot),0+150*cos(Rot),105+6*cos(Rot*2)))-E:pos()
- }
- if(Stay==1){
- if(!AV){ AV = owner():pos()+vec(0,0,100) }
- if(changed(owner():keyReload())&owner():keyReload()){
- AV = round(owner():aimPos())
- V_array:pushVector(AV)
- }
- V = ((AV + vec(0,0,80+6.5*sin(Rot)))-E:pos())*1.225
- }
- if(Turret==1){
- timer("fire",675)
- V = ((owner():pos() + vec(0,0,120))-E:pos())*3.5
- if((R:entity():isPlayer()&R:entity()!=owner())&clk("fire")){
- propDeleteAll()
- P = propSpawn("models/sprops/cuboids/height06/size_1/cube_6x18x6.mdl",E:toWorld(vec(25,0,0)),E:angles(),0)
- P:setAlpha(0)
- P:setTrails(20,0,0.095,"trails/laser",vec(255),255)
- P:setMass(50000)
- P:applyForce(P:forward()*P:mass()*999999999999999)
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement