Advertisement
Guest User

Untitled

a guest
Mar 29th, 2017
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.19 KB | None | 0 0
  1. @name quadcopter
  2. @persist [V AV]:vector A:angle V_array:array Player:entity
  3. @persist [On Stay Follow Turret]:number Name:string Rot
  4.  
  5. E = entity(), interval(1), runOnChat(1), Rot+=1.5
  6. if(first()|dupefinished()){
  7. V = vec(0,0,0)
  8. Name = "Quadrotor of DOOM!"
  9. E:setMass(50000)
  10. E:setAlpha(0)
  11. holoCreate(0,E:pos(),vec(0.001),E:angles(),vec(0),"default"),holoParent(0,E) #Index, Position, Scale, Angle, Color (RGB), Model
  12. 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)
  13. 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)
  14. 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)
  15. 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)
  16. 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)
  17. 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)
  18. 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)
  19. 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)
  20. 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)
  21. 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)
  22. 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)
  23. 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)
  24. printColor(vec(255),"||| type !on to turn it on, and !off to turn it off. |||")
  25. printColor(vec(255),"||| 3 different modes; !follow, !sleep, and !turret. (Pretty self explanitory) |||")
  26. 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.) |||")
  27. }
  28.  
  29. LS = owner():lastSaid():explode(" ")
  30. 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!") }
  31. if(LS[1,string]=="!follow"&chatClk(owner())){ Stay = 0, Follow = 1, Turret = 0 , hideChat(1), printColor(vec(237,218,18),"Follow-Mode Enabled!") }
  32. if(LS[1,string]=="!sleep"&chatClk(owner())){ Stay = 1, Follow = 0, Turret = 0, hideChat(1), printColor(vec(99,169,249),"Sleep-Mode Enabled!") }
  33. if(LS[1,string]=="!turret"&chatClk(owner())){ Stay = 0, Follow = 0, Turret = 1, hideChat(1), printColor(vec(155,0,0),"Turret-Mode Enabled!") }
  34.  
  35. V_array = array()
  36.  
  37. VelX = -E:velL():x()/10, VelX = clamp(VelX,-50,50)
  38. VelY = E:velL():y()/10, VelY = clamp(VelY,-50,50)
  39.  
  40. findIncludeClass("player")
  41. findExcludePlayer(owner())
  42. Find = findInSphere(E:pos(),550)
  43. Player = find()
  44.  
  45. rangerFilter(E)
  46. rangerIgnoreWorld(1)
  47. R = rangerOffset(650,E:pos(),E:forward())
  48.  
  49. if(Turret==1){
  50. if(!Player){ A = angnorm(-ang((E:angles():pitch()+VelX)/5,E:angles():yaw()/5,(E:angles():roll()+VelY)/5)) }
  51. elseif(Player){ A = angnorm(-ang((E:elevation(Player:boxCenterW()+20))/2.5,(E:bearing(Player:boxCenterW()))/2.5,E:angles():roll()/3)) } }
  52. else{ A = angnorm(-ang((E:angles():pitch()+VelX)/5,E:angles():yaw()/8,(E:angles():roll()+VelY)/5)) }
  53.  
  54. if(On==1){
  55. holoAng(9,E:toWorld(ang(0,Rot*random(6,16),0)))
  56. holoAng(10,E:toWorld(ang(0,Rot*random(6,16),0)))
  57. holoAng(11,E:toWorld(ang(0,Rot*random(6,16),0)))
  58. holoAng(12,E:toWorld(ang(0,Rot*random(6,16),0)))
  59.  
  60. E:applyForce(-E:vel()*E:mass()/4.5)
  61. E:applyAngForce(-E:angVel()*shiftL(ang(E:inertia()))*3)
  62. E:applyForce((V+$V*5)*E:mass()/5)
  63. E:applyAngForce((A+$A*5)*E:mass())
  64.  
  65. if(Follow==1){
  66. V = (owner():pos() + vec(0+150*sin(Rot),0+150*cos(Rot),105+6*cos(Rot*2)))-E:pos()
  67. }
  68.  
  69. if(Stay==1){
  70. if(!AV){ AV = owner():pos()+vec(0,0,100) }
  71. if(changed(owner():keyReload())&owner():keyReload()){
  72. AV = round(owner():aimPos())
  73. V_array:pushVector(AV)
  74. }
  75. V = ((AV + vec(0,0,80+6.5*sin(Rot)))-E:pos())*1.225
  76. }
  77.  
  78. if(Turret==1){
  79. timer("fire",675)
  80. V = ((owner():pos() + vec(0,0,120))-E:pos())*3.5
  81. if((R:entity():isPlayer()&R:entity()!=owner())&clk("fire")){
  82. propDeleteAll()
  83. P = propSpawn("models/sprops/cuboids/height06/size_1/cube_6x18x6.mdl",E:toWorld(vec(25,0,0)),E:angles(),0)
  84. P:setAlpha(0)
  85. P:setTrails(20,0,0.095,"trails/laser",vec(255),255)
  86. P:setMass(50000)
  87. P:applyForce(P:forward()*P:mass()*999999999999999)
  88. }
  89. }
  90.  
  91.  
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement