Cheesecaked

Steve

Sep 20th, 2021
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 18.92 KB | None | 0 0
  1. @name Steve
  2. @persist [Ranger1 Ranger2 Ranger3 Ranger4]:ranger Prop:entity
  3. @persist Walk Jump Rundown Rundown2 W W2 J JR Running Land Noclip
  4. @outputs Activated CamA:angle CamP:vector Holo16:entity
  5.  
  6. Size = 0.9
  7.  
  8. if(first()){
  9. runOnTick(1)
  10. runOnLast(1)
  11.  
  12. holoCreate(1,entity():pos(),vec(),ang())
  13. holoCreate(2,holoEntity(1):pos() + vec(0,6.5,18)*Size,vec(1,1,3)*Size,ang(),vec(0,100,255))
  14. holoCreate(3,holoEntity(2):pos(),-holoScale(2) - vec(1/12)*Size,holoEntity(2):angles(),vec())
  15. holoParent(3,2)
  16. holoCreate(4,holoEntity(1):pos() + vec(0,-6.5,18)*Size,vec(1,1,3)*Size,ang(),vec(0,100,255))
  17. holoCreate(5,holoEntity(4):pos(),-holoScale(4) - vec(1/12)*Size,holoEntity(4):angles(),vec())
  18. holoParent(5,4)
  19. holoCreate(6,holoEntity(1):pos() + vec(0,0,36 + 19)*Size,vec(1,2 + 1/12,3 + 2/12)*Size,ang(),vec(0,170,255))
  20. holoParent(6,1)
  21. holoCreate(7,holoEntity(6):pos(),-holoScale(6) - vec(1/12)*Size,holoEntity(6):angles(),vec())
  22. holoParent(7,6)
  23. holoCreate(8,holoEntity(7):pos() + vec(0,18.5,0)*Size,vec(11/12,1,3)*Size,ang(),vec(255,200,30))
  24. holoCreate(9,holoEntity(8):pos(),-holoScale(8) - vec(1/12)*Size,holoEntity(8):angles(),vec())
  25. holoParent(9,8)
  26. holoCreate(10,holoEntity(8):pos() + vec(0,0,11.5)*Size,vec(1,13/12,15/12)*Size,ang(),holoEntity(6):getColor())
  27. holoParent(10,8)
  28. holoCreate(11,holoEntity(10):pos(),-holoScale(10) - vec(1/12)*Size,holoEntity(10):angles(),vec())
  29. holoParent(11,10)
  30. holoCreate(12,holoEntity(7):pos() + vec(0,-18.5,0)*Size,vec(11/12,1,3)*Size,ang(),vec(255,200,30))
  31. holoCreate(13,holoEntity(12):pos(),-holoScale(12) - vec(1/12)*Size,holoEntity(12):angles(),vec())
  32. holoParent(13,12)
  33. holoCreate(14,holoEntity(12):pos() + vec(0,0,11.5)*Size,vec(1,13/12,15/12)*Size,ang(),holoEntity(6):getColor())
  34. holoParent(14,12)
  35. holoCreate(15,holoEntity(14):pos(),-holoScale(14) - vec(1/12)*Size,holoEntity(14):angles(),vec())
  36. holoParent(15,14)
  37. holoCreate(16,holoEntity(6):pos() + vec(0,0,19 + 12)*Size,vec(2)*Size,ang(),vec(255,200,30))
  38. holoClip(16,vec(),vec(1,0,-2),0)
  39. holoClipEnabled(16,1)
  40. holoCreate(17,holoEntity(6):pos() + vec(0,0,19 + 12)*Size,vec(2)*Size,ang(),vec(120,75,0))
  41. holoClip(17,vec(),vec(-1,0,2),0)
  42. holoClipEnabled(17,1)
  43. holoParent(17,16)
  44. holoCreate(18,holoEntity(16):pos(),-holoScale(16) - vec(1/12)*Size,holoEntity(16):angles(),vec())
  45. holoParent(18,16)
  46. holoCreate(19,holoEntity(16):pos() + vec(12 + 0.05,6,-1.5)*Size,vec(0.1/12,6/12,3/12)*Size,ang(),vec(255))
  47. holoParent(19,16)
  48. #
  49. holoCreate(20,holoEntity(16):pos() + vec(12 + 0.1,4.5,-1.5)*Size,vec(0.1/12,3/12,3/12)*Size,ang(),vec(65,50,100))
  50. holoParent(20,16)
  51. holoCreate(21,holoEntity(16):pos() + vec(12 + 0.05,-6,-1.5)*Size,vec(0.1/12,6/12,3/12)*Size,ang(),vec(255))
  52. holoParent(21,16)
  53. #
  54. holoCreate(22,holoEntity(16):pos() + vec(12 + 0.1,-4.5,-1.5)*Size,vec(0.1/12,3/12,3/12)*Size,ang(),vec(65,50,100))
  55. holoParent(22,16)
  56. holoCreate(23,holoEntity(16):pos() + vec(12 + 0.1,0,-9)*Size,-vec(0.1/12,1,6.2/12)*Size,ang(),vec(50,30,10))
  57. holoParent(23,16)
  58. holoCreate(24,holoEntity(16):pos() + vec(12 + 0.1,0,-8)*Size,vec(0.1/12,6/12,3/12)*Size,ang(),vec(80,35,50))
  59. holoParent(24,16)
  60. holoCreate(25,holoEntity(16):pos() + vec(12 + 0.1,0,-4.5)*Size,vec(0.1/12,6/12,3/12)*Size,ang(),vec(75,40,24))
  61. holoParent(25,16)
  62.  
  63. holoCreate(102,holoEntity(2):pos() + vec(0,0,holoScale(2):z()*6)*Size,vec(),ang(),vec(255))
  64. holoParent(2,102)
  65. holoParent(102,1)
  66. holoCreate(104,holoEntity(4):pos() + vec(0,0,holoScale(4):z()*6)*Size,vec(),ang(),vec(255))
  67. holoParent(4,104)
  68. holoParent(104,1)
  69. holoCreate(108,holoEntity(8):pos() + vec(0,0,18)*Size,vec(),ang(),vec(255))
  70. holoParent(8,108)
  71. holoParent(108,1)
  72. holoCreate(112,holoEntity(12):pos() + vec(0,0,18)*Size,vec(),ang(),vec(255))
  73. holoParent(12,112)
  74. holoParent(112,1)
  75. holoCreate(116,holoEntity(6):pos() + vec(0,0,holoScale(6):z()*6)*Size,vec(),ang(),vec(255))
  76. holoParent(16,116)
  77. holoParent(116,1)
  78.  
  79. #holoCreate(1000,holoEntity(1):toWorld(vec(0,0,30)),vec(4,4,5),ang(),vec(255),"hq_cylinder")
  80. #holoAlpha(1000,100)
  81. #holoParent(1000,1)
  82.  
  83. findByClass("gmod_wire_cameracontroller")
  84. findIncludePlayerProps(owner())
  85. findSortByDistance(entity():pos())
  86. if(find():isValid() & find():pos():distance(entity():pos()) <= 400){
  87. #print("yes")
  88. find():createWire(entity(),"Activated","Activated")
  89. find():createWire(entity(),"Angle","CamA")
  90. find():createWire(entity(),"Position","CamP")
  91. Holo16 = holoEntity(16)
  92. find():createWire(entity(),"Parent","Holo16")
  93.  
  94. for(H = 16,25){
  95. holoVisible(H,owner(),0)
  96. }
  97.  
  98. Activated = 1
  99. CamA = ang()
  100. CamP = holoEntity(16):pos()
  101. }
  102.  
  103. function detect(RangerT2:ranger) {
  104. if(RangerT2:pos():x() != 0){
  105. if((RangerT2:pos() - owner():eye()):x()%48 >= 24){
  106. T2X = RangerT2:pos():x() + (48 - RangerT2:pos():x()%48)
  107. }
  108. else{
  109. T2X = RangerT2:pos():x() - RangerT2:pos():x()%48
  110. }
  111. }
  112. else{
  113. T2X = 0
  114. }
  115.  
  116. if(RangerT2:pos():y() != 0){
  117. if((RangerT2:pos() - owner():eye()):y()%48 >= 24){
  118. T2Y = RangerT2:pos():y() + (48 - RangerT2:pos():y()%48)
  119. }
  120. else{
  121. T2Y = RangerT2:pos():y() - RangerT2:pos():y()%48
  122. }
  123. }
  124. else{
  125. T2Y = 0
  126. }
  127.  
  128. if(RangerT2:pos():z() != 0){
  129. if((RangerT2:pos() - owner():eye()):z()%48 >= 24){
  130. T2Z = RangerT2:pos():z() + (48 - RangerT2:pos():z()%48)
  131. }
  132. else{
  133. T2Z = RangerT2:pos():z() - RangerT2:pos():z()%48
  134. }
  135. }
  136. else{
  137. T2Z = 0
  138. }
  139.  
  140. findInSphere(vec(T2X,T2Y,T2Z),12)
  141. findSortByDistance(vec(T2X,T2Y,T2Z))
  142.  
  143. if(!find()|find():type() != "prop_physics"){
  144. Rundown2 = 0
  145. Prop = propSpawn("models/hunter/blocks/cube1x1x1.mdl",vec(T2X,T2Y,T2Z),ang(),1)
  146. Prop:setMaterial("phoenix_storms/wood")
  147. Prop:soundPlay(1000,2,"Wood_Box.ImpactHard")
  148. }
  149. #prop_physics
  150. }
  151. }
  152. else{
  153. if(sqrt((owner():eyeAngles():yaw() - holoEntity(6):angles():yaw())^2) >= 35){
  154. holoAng(1,ang(0,owner():eyeAngles():yaw(),0))
  155. }
  156.  
  157. if(!changed(first())){
  158. holoPos(116,holoEntity(6):pos() + vec(0,0,holoScale(6):z()*6)*Size)
  159. holoAng(116,owner():eyeAngles())
  160. }
  161.  
  162. if(changed(Walk)|changed(Jump)){
  163. if(Walk == 1|Jump == 1){
  164. Rundown = 3
  165. }
  166. else{
  167. holoAng(1,ang(0,owner():eyeAngles():yaw(),0))
  168. holoAng(102,holoEntity(102):angles():setPitch(0))
  169. holoAng(104,holoEntity(104):angles():setPitch(0))
  170. holoAng(108,holoEntity(102):angles():setPitch(0))
  171. holoAng(112,holoEntity(104):angles():setPitch(0))
  172. }
  173. }
  174.  
  175. if(Walk == 1|Jump == 1){
  176. if(sqrt((Rundown - (Rundown + Rundown % 180))^2) <= 9 & Rundown >= 12 & (W == 0 & W2 == 0) & !Noclip){
  177. Walk = 0
  178. Jump = 0
  179. }
  180. else{
  181. if(Walk == 1){
  182. if(Running == 1){
  183. if(W == 1){
  184. Rundown += 7.5
  185. }
  186. elseif(W2 == 1){
  187. Rundown += 3
  188. }
  189. else{
  190. Rundown += 5
  191. }
  192. }
  193. else{
  194. if(W == 1|W2 == 1){
  195. Rundown += 3
  196. }
  197. else{
  198. Rundown += 5
  199. }
  200. }
  201. }
  202. else{
  203. Rundown += 6
  204. }
  205.  
  206. holoAng(1,ang(0,owner():eyeAngles():yaw(),0))
  207. holoAng(102,holoEntity(102):angles():setPitch(sin(Rundown)*60))
  208. holoAng(104,holoEntity(104):angles():setPitch(-sin(Rundown)*60))
  209. holoAng(108,holoEntity(102):angles():setPitch(-sin(Rundown)*60))
  210. holoAng(112,holoEntity(104):angles():setPitch(sin(Rundown)*60))
  211. }
  212. }
  213.  
  214. if(Rundown2 <= 30){
  215. Rundown2 += 1
  216. }
  217. elseif(owner():keyAttack2()){
  218. RangerT2 = rangerOffset(holoEntity(16):pos(),holoEntity(16):pos() + owner():eye() * 225)
  219. if(RangerT2:hit()){
  220. if(RangerT2:entity():model() == "models/hunter/blocks/cube1x1x1.mdl"){
  221. if(RangerT2:pos():x() - RangerT2:entity():pos():x() >= 23.9 & RangerT2:pos():x() - RangerT2:entity():pos():x() <= 24.1){
  222. X1 = 1
  223. }
  224. elseif(RangerT2:pos():x() - RangerT2:entity():pos():x() <= -23.9 & RangerT2:pos():x() - RangerT2:entity():pos():x() >= -24.1){
  225. X2 = 1
  226. }
  227.  
  228. if(RangerT2:pos():y() - RangerT2:entity():pos():y() >= 23.9 & RangerT2:pos():y() - RangerT2:entity():pos():y() <= 24.1){
  229. Y1 = 1
  230. }
  231. elseif(RangerT2:pos():y() - RangerT2:entity():pos():y() <= -23.9 & RangerT2:pos():y() - RangerT2:entity():pos():y() >= -24.1){
  232. Y2 = 1
  233. }
  234.  
  235. if(RangerT2:pos():z() - RangerT2:entity():pos():z() >= 23.9 & RangerT2:pos():z() - RangerT2:entity():pos():z() <= 24.1){
  236. Z1 = 1
  237. }
  238. elseif(RangerT2:pos():z() - RangerT2:entity():pos():z() <= -23.9 & RangerT2:pos():z() - RangerT2:entity():pos():z() >= -24.1){
  239. Z2 = 1
  240. }
  241.  
  242. if(X1 + X2 + Y1 + Y2 + Z1 + Z2 == 1){
  243. if(X1 == 1){
  244. T2Pos = RangerT2:entity():pos() + vec(48,0,0)
  245. }
  246. elseif(X2 == 1){
  247. T2Pos = RangerT2:entity():pos() + vec(-48,0,0)
  248. }
  249. elseif(Y1 == 1){
  250. T2Pos = RangerT2:entity():pos() + vec(0,48,0)
  251. }
  252. elseif(Y2 == 1){
  253. T2Pos = RangerT2:entity():pos() + vec(0,-48,0)
  254. }
  255. elseif(Z1 == 1){
  256. T2Pos = RangerT2:entity():pos() + vec(0,0,48)
  257. }
  258. elseif(Z2 == 1){
  259. T2Pos = RangerT2:entity():pos() + vec(0,0,-48)
  260. }
  261.  
  262. findInSphere(T2Pos,12)
  263. findSortByDistance(T2Pos)
  264.  
  265. if(!find()|find():type() != "prop_physics"){
  266. Rundown2 = 0
  267. Prop = propSpawn("models/hunter/blocks/cube1x1x1.mdl",RangerT2:entity():pos() + vec(48,0,0),ang(),1)
  268. Prop:setMaterial("phoenix_storms/wood")
  269. Prop:soundPlay(1000,2,"Wood_Box.ImpactHard")
  270. }
  271. }
  272. else{
  273. detect(RangerT2)
  274. }
  275. }
  276. else{
  277. detect(RangerT2)
  278. }
  279. }
  280. }
  281. elseif(owner():keyAttack1()){
  282. RangerT2 = rangerOffset(holoEntity(16):pos(),holoEntity(16):pos() + owner():eye() * 225)
  283.  
  284. if(RangerT2:entity():model() == "models/hunter/blocks/cube1x1x1.mdl"){
  285. RangerT2:entity():propDelete()
  286. holoEntity(16):soundPlay(1,1,"Wood_Box.Break")
  287.  
  288. Rundown2 = 20
  289. }
  290. }
  291.  
  292. if(changed(owner():keyPressed("v")) & owner():keyPressed("v")){
  293. if(Noclip == 1){
  294. Noclip = 0
  295. }
  296. else{
  297. Noclip = 1
  298. }
  299. }
  300.  
  301. if(changed(Noclip)){
  302. if(Noclip == 1){
  303. Walk = 1
  304. }
  305. else{
  306. Walk = 0
  307. }
  308. }
  309.  
  310. if(Noclip == 0){
  311. rangerFilter(players())
  312. Ranger1 = rangerOffsetHull(holoEntity(1):pos() + vec(24,24,0),holoEntity(1):pos() + vec(-24,-24,-10),vec(74,74,1))
  313. rangerFilter(players())
  314. Ranger2 = rangerOffsetHull(holoEntity(1):boxCenterW() + vec(24,24,0),holoEntity(1):boxCenterW() + vec(-24,-24,60),vec(74,74,1))
  315. rangerFilter(players())
  316. Ranger3 = rangerOffsetHull(holoEntity(1):boxCenterW() + vec(24,24,50),holoEntity(1):boxCenterW() + vec(-24,-24,120),vec(82,82,1))
  317. rangerFilter(players())
  318. Ranger4 = rangerOffsetHull(holoEntity(1):boxCenterW() + vec(12,12,0),holoEntity(1):boxCenterW() + vec(-12,-12,-20),vec(20,20,1))
  319. if(!Ranger2:hit()){
  320. if(J == 0){
  321. holoPos(1,holoEntity(1):pos() - vec(0,0,5))
  322. }
  323. }
  324. else{
  325. #print("x")
  326.  
  327. rangerFilter(players())
  328. RangerT1 = rangerOffsetHull(holoEntity(1):boxCenterW() + vec(24,24,5),holoEntity(1):boxCenterW() + vec(-24,-24,55),vec(74,74,1))
  329.  
  330. if(RangerT1:hit() & Ranger4:hit() & !Ranger3:hit() & Land == 1 ){
  331. holoPos(1,holoEntity(1):pos() + vec(0,0,5))
  332. }
  333. }
  334.  
  335. if(Ranger4:hit()){
  336. Land = 1
  337. }
  338. else{
  339. Land = 0
  340. }
  341.  
  342. if(owner():keyForward() & !owner():keyBack()){
  343. if(Running == 1){
  344. if(J == 1){
  345. FSPD = 6.5 * Size
  346. }
  347. else{
  348. FSPD = 6 * Size
  349. }
  350. }
  351. else{
  352. FSPD = 4 * Size
  353. }
  354.  
  355. EyeMod = owner():eye():setZ(0):normalized()
  356. if(owner():keyLeft() & !owner():keyRight()){
  357. if(!rangerOffsetHull(holoEntity(1):boxCenterW() + EyeMod*6.5 - owner():right()*6.5 + vec(24,24,(60-(Land==0)*55)),holoEntity(1):boxCenterW() + vec(-24,-24,120),vec(76,76,1)):hit()){
  358. holoPos(1,holoEntity(1):pos() + EyeMod*FSPD)
  359. }
  360. }
  361. elseif(owner():keyRight() & !owner():keyLeft()){
  362. if(!rangerOffsetHull(holoEntity(1):boxCenterW() + EyeMod*6.5 + owner():right()*6.5 + vec(24,24,(60-(Land==0)*55)),holoEntity(1):boxCenterW() + vec(-24,-24,120),vec(76,76,1)):hit()){
  363. holoPos(1,holoEntity(1):pos() + EyeMod*FSPD)
  364. }
  365. }
  366. elseif((!owner():keyLeft() & !owner():keyRight())|(owner():keyLeft() & owner():keyRight())){
  367. if(!rangerOffsetHull(holoEntity(1):boxCenterW() + EyeMod*6.5 + vec(24,24,(60-(Land==0)*55)),holoEntity(1):boxCenterW() + vec(-24,-24,120),vec(76,76,1)):hit()){
  368. holoPos(1,holoEntity(1):pos() + EyeMod*FSPD)
  369. }
  370. }
  371.  
  372. Walk = 1
  373. W = 1
  374. }
  375. elseif(owner():keyBack() & !owner():keyForward()){
  376. EyeMod = owner():eye():setZ(0):normalized()
  377. if(owner():keyLeft() & !owner():keyRight()){
  378. if(!rangerOffsetHull(holoEntity(1):boxCenterW() + EyeMod*6.5 - owner():right()*6.5 + vec(24,24,(60-(Land==0)*55)),holoEntity(1):boxCenterW() + vec(-24,-24,120),vec(76,76,1)):hit()){
  379. holoPos(1,holoEntity(1):pos() - EyeMod * 4 * Size)
  380. }
  381. }
  382. elseif(owner():keyRight() & !owner():keyLeft()){
  383. if(!rangerOffsetHull(holoEntity(1):boxCenterW() + EyeMod*6.5 + owner():right()*6.5 + vec(24,24,(60-(Land==0)*55)),holoEntity(1):boxCenterW() + vec(-24,-24,120),vec(76,76,1)):hit()){
  384. holoPos(1,holoEntity(1):pos() - EyeMod * 4 * Size)
  385. }
  386. }
  387. elseif((!owner():keyLeft() & !owner():keyRight())|(owner():keyLeft() & owner():keyRight())){
  388. if(!rangerOffsetHull(holoEntity(1):boxCenterW() + EyeMod*6.5 + vec(24,24,(60-(Land==0)*55)),holoEntity(1):boxCenterW() + vec(-24,-24,120),vec(76,76,1)):hit()){
  389. holoPos(1,holoEntity(1):pos() - EyeMod * 4 * Size)
  390. }
  391. }
  392.  
  393. Walk = 1
  394. W2 = 1
  395. }
  396. else{
  397. W = 0
  398. W2 = 0
  399. }
  400.  
  401. if(owner():keyLeft() & !owner():keyRight()){
  402. EyeMod = (-owner():right():setZ(0)):normalized()
  403. if(!rangerOffsetHull(holoEntity(1):boxCenterW() + EyeMod*6.5 + vec(24,24,(60-(Land==0)*55)),holoEntity(1):boxCenterW() + vec(-24,-24,120),vec(76,76,1)):hit()){
  404. holoPos(1,holoEntity(1):pos() + EyeMod * 4 * Size)
  405. }
  406.  
  407. Walk = 1
  408. W2 = 1
  409. }
  410. elseif(owner():keyRight() & !owner():keyLeft()){
  411. EyeMod = owner():right():setZ(0):normalized()
  412. if(!rangerOffsetHull(holoEntity(1):boxCenterW() + EyeMod*2.8 + vec(24,24,(60-(Land==0)*55)),holoEntity(1):boxCenterW() + vec(-24,-24,120),vec(76,76,1)):hit()){
  413. holoPos(1,holoEntity(1):pos() + EyeMod * 4 * Size)
  414. }
  415.  
  416. Walk = 1
  417. W2 = 1
  418. }
  419.  
  420. if(owner():keyDuck()){
  421. Running = 1
  422. }
  423.  
  424. if(Running == 1){
  425. if((changed(owner():keyForward()) & !owner():keyForward())|owner():keyBack()){
  426. if(!owner():keyDuck()){
  427. Running = 0
  428. }
  429. }
  430. }
  431.  
  432. if(owner():keyJump()){
  433. if(Ranger1:hit() & J == 0){
  434. J = 1
  435. JR = 20
  436. Land = 0
  437. #timer("jumping",400)
  438.  
  439. if(Walk == 0){
  440. Jump = 1
  441. }
  442. }
  443. }
  444.  
  445. if(J == 1){
  446. Land = 0
  447. if(JR >= 50){
  448. J = 0
  449. }
  450. else{
  451. JR += 1
  452. holoPos(1,holoEntity(1):pos() + vec(0,0,7*log(10,JR*40)))
  453. }
  454. #print(8*log(10,JR*20))
  455. }
  456. }
  457. elseif(Noclip == 1){
  458. if(owner():keyForward() & !owner():keyBack()){
  459. holoPos(1,holoEntity(1):pos() + owner():eye() * (10 + owner():keySprint() * 15))
  460. }
  461. elseif(owner():keyBack() & !owner():keyForward()){
  462. holoPos(1,holoEntity(1):pos() - owner():eye() * (10 + owner():keySprint() * 15))
  463. }
  464.  
  465. if(owner():keyLeft() & !owner():keyRight()){
  466. holoPos(1,holoEntity(1):pos() - owner():right() * (10 + owner():keySprint() * 15))
  467. }
  468. elseif(owner():keyRight() & !owner():keyLeft()){
  469. holoPos(1,holoEntity(1):pos() + owner():right() * (10 + owner():keySprint() * 15))
  470. }
  471.  
  472. if(owner():keyJump()){
  473. holoPos(1,holoEntity(1):pos() + vec(0,0,20))
  474. }
  475. }
  476. }
  477.  
  478. if(last()){
  479. propDeleteAll()
  480. Activated = 0
  481. }
Advertisement
Add Comment
Please, Sign In to add comment