Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @name Steve
- @persist [Ranger1 Ranger2 Ranger3 Ranger4]:ranger Prop:entity
- @persist Walk Jump Rundown Rundown2 W W2 J JR Running Land Noclip
- @outputs Activated CamA:angle CamP:vector Holo16:entity
- Size = 0.9
- if(first()){
- runOnTick(1)
- runOnLast(1)
- holoCreate(1,entity():pos(),vec(),ang())
- holoCreate(2,holoEntity(1):pos() + vec(0,6.5,18)*Size,vec(1,1,3)*Size,ang(),vec(0,100,255))
- holoCreate(3,holoEntity(2):pos(),-holoScale(2) - vec(1/12)*Size,holoEntity(2):angles(),vec())
- holoParent(3,2)
- holoCreate(4,holoEntity(1):pos() + vec(0,-6.5,18)*Size,vec(1,1,3)*Size,ang(),vec(0,100,255))
- holoCreate(5,holoEntity(4):pos(),-holoScale(4) - vec(1/12)*Size,holoEntity(4):angles(),vec())
- holoParent(5,4)
- 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))
- holoParent(6,1)
- holoCreate(7,holoEntity(6):pos(),-holoScale(6) - vec(1/12)*Size,holoEntity(6):angles(),vec())
- holoParent(7,6)
- holoCreate(8,holoEntity(7):pos() + vec(0,18.5,0)*Size,vec(11/12,1,3)*Size,ang(),vec(255,200,30))
- holoCreate(9,holoEntity(8):pos(),-holoScale(8) - vec(1/12)*Size,holoEntity(8):angles(),vec())
- holoParent(9,8)
- holoCreate(10,holoEntity(8):pos() + vec(0,0,11.5)*Size,vec(1,13/12,15/12)*Size,ang(),holoEntity(6):getColor())
- holoParent(10,8)
- holoCreate(11,holoEntity(10):pos(),-holoScale(10) - vec(1/12)*Size,holoEntity(10):angles(),vec())
- holoParent(11,10)
- holoCreate(12,holoEntity(7):pos() + vec(0,-18.5,0)*Size,vec(11/12,1,3)*Size,ang(),vec(255,200,30))
- holoCreate(13,holoEntity(12):pos(),-holoScale(12) - vec(1/12)*Size,holoEntity(12):angles(),vec())
- holoParent(13,12)
- holoCreate(14,holoEntity(12):pos() + vec(0,0,11.5)*Size,vec(1,13/12,15/12)*Size,ang(),holoEntity(6):getColor())
- holoParent(14,12)
- holoCreate(15,holoEntity(14):pos(),-holoScale(14) - vec(1/12)*Size,holoEntity(14):angles(),vec())
- holoParent(15,14)
- holoCreate(16,holoEntity(6):pos() + vec(0,0,19 + 12)*Size,vec(2)*Size,ang(),vec(255,200,30))
- holoClip(16,vec(),vec(1,0,-2),0)
- holoClipEnabled(16,1)
- holoCreate(17,holoEntity(6):pos() + vec(0,0,19 + 12)*Size,vec(2)*Size,ang(),vec(120,75,0))
- holoClip(17,vec(),vec(-1,0,2),0)
- holoClipEnabled(17,1)
- holoParent(17,16)
- holoCreate(18,holoEntity(16):pos(),-holoScale(16) - vec(1/12)*Size,holoEntity(16):angles(),vec())
- holoParent(18,16)
- 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))
- holoParent(19,16)
- #
- 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))
- holoParent(20,16)
- 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))
- holoParent(21,16)
- #
- 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))
- holoParent(22,16)
- 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))
- holoParent(23,16)
- 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))
- holoParent(24,16)
- 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))
- holoParent(25,16)
- holoCreate(102,holoEntity(2):pos() + vec(0,0,holoScale(2):z()*6)*Size,vec(),ang(),vec(255))
- holoParent(2,102)
- holoParent(102,1)
- holoCreate(104,holoEntity(4):pos() + vec(0,0,holoScale(4):z()*6)*Size,vec(),ang(),vec(255))
- holoParent(4,104)
- holoParent(104,1)
- holoCreate(108,holoEntity(8):pos() + vec(0,0,18)*Size,vec(),ang(),vec(255))
- holoParent(8,108)
- holoParent(108,1)
- holoCreate(112,holoEntity(12):pos() + vec(0,0,18)*Size,vec(),ang(),vec(255))
- holoParent(12,112)
- holoParent(112,1)
- holoCreate(116,holoEntity(6):pos() + vec(0,0,holoScale(6):z()*6)*Size,vec(),ang(),vec(255))
- holoParent(16,116)
- holoParent(116,1)
- #holoCreate(1000,holoEntity(1):toWorld(vec(0,0,30)),vec(4,4,5),ang(),vec(255),"hq_cylinder")
- #holoAlpha(1000,100)
- #holoParent(1000,1)
- findByClass("gmod_wire_cameracontroller")
- findIncludePlayerProps(owner())
- findSortByDistance(entity():pos())
- if(find():isValid() & find():pos():distance(entity():pos()) <= 400){
- #print("yes")
- find():createWire(entity(),"Activated","Activated")
- find():createWire(entity(),"Angle","CamA")
- find():createWire(entity(),"Position","CamP")
- Holo16 = holoEntity(16)
- find():createWire(entity(),"Parent","Holo16")
- for(H = 16,25){
- holoVisible(H,owner(),0)
- }
- Activated = 1
- CamA = ang()
- CamP = holoEntity(16):pos()
- }
- function detect(RangerT2:ranger) {
- if(RangerT2:pos():x() != 0){
- if((RangerT2:pos() - owner():eye()):x()%48 >= 24){
- T2X = RangerT2:pos():x() + (48 - RangerT2:pos():x()%48)
- }
- else{
- T2X = RangerT2:pos():x() - RangerT2:pos():x()%48
- }
- }
- else{
- T2X = 0
- }
- if(RangerT2:pos():y() != 0){
- if((RangerT2:pos() - owner():eye()):y()%48 >= 24){
- T2Y = RangerT2:pos():y() + (48 - RangerT2:pos():y()%48)
- }
- else{
- T2Y = RangerT2:pos():y() - RangerT2:pos():y()%48
- }
- }
- else{
- T2Y = 0
- }
- if(RangerT2:pos():z() != 0){
- if((RangerT2:pos() - owner():eye()):z()%48 >= 24){
- T2Z = RangerT2:pos():z() + (48 - RangerT2:pos():z()%48)
- }
- else{
- T2Z = RangerT2:pos():z() - RangerT2:pos():z()%48
- }
- }
- else{
- T2Z = 0
- }
- findInSphere(vec(T2X,T2Y,T2Z),12)
- findSortByDistance(vec(T2X,T2Y,T2Z))
- if(!find()|find():type() != "prop_physics"){
- Rundown2 = 0
- Prop = propSpawn("models/hunter/blocks/cube1x1x1.mdl",vec(T2X,T2Y,T2Z),ang(),1)
- Prop:setMaterial("phoenix_storms/wood")
- Prop:soundPlay(1000,2,"Wood_Box.ImpactHard")
- }
- #prop_physics
- }
- }
- else{
- if(sqrt((owner():eyeAngles():yaw() - holoEntity(6):angles():yaw())^2) >= 35){
- holoAng(1,ang(0,owner():eyeAngles():yaw(),0))
- }
- if(!changed(first())){
- holoPos(116,holoEntity(6):pos() + vec(0,0,holoScale(6):z()*6)*Size)
- holoAng(116,owner():eyeAngles())
- }
- if(changed(Walk)|changed(Jump)){
- if(Walk == 1|Jump == 1){
- Rundown = 3
- }
- else{
- holoAng(1,ang(0,owner():eyeAngles():yaw(),0))
- holoAng(102,holoEntity(102):angles():setPitch(0))
- holoAng(104,holoEntity(104):angles():setPitch(0))
- holoAng(108,holoEntity(102):angles():setPitch(0))
- holoAng(112,holoEntity(104):angles():setPitch(0))
- }
- }
- if(Walk == 1|Jump == 1){
- if(sqrt((Rundown - (Rundown + Rundown % 180))^2) <= 9 & Rundown >= 12 & (W == 0 & W2 == 0) & !Noclip){
- Walk = 0
- Jump = 0
- }
- else{
- if(Walk == 1){
- if(Running == 1){
- if(W == 1){
- Rundown += 7.5
- }
- elseif(W2 == 1){
- Rundown += 3
- }
- else{
- Rundown += 5
- }
- }
- else{
- if(W == 1|W2 == 1){
- Rundown += 3
- }
- else{
- Rundown += 5
- }
- }
- }
- else{
- Rundown += 6
- }
- holoAng(1,ang(0,owner():eyeAngles():yaw(),0))
- holoAng(102,holoEntity(102):angles():setPitch(sin(Rundown)*60))
- holoAng(104,holoEntity(104):angles():setPitch(-sin(Rundown)*60))
- holoAng(108,holoEntity(102):angles():setPitch(-sin(Rundown)*60))
- holoAng(112,holoEntity(104):angles():setPitch(sin(Rundown)*60))
- }
- }
- if(Rundown2 <= 30){
- Rundown2 += 1
- }
- elseif(owner():keyAttack2()){
- RangerT2 = rangerOffset(holoEntity(16):pos(),holoEntity(16):pos() + owner():eye() * 225)
- if(RangerT2:hit()){
- if(RangerT2:entity():model() == "models/hunter/blocks/cube1x1x1.mdl"){
- if(RangerT2:pos():x() - RangerT2:entity():pos():x() >= 23.9 & RangerT2:pos():x() - RangerT2:entity():pos():x() <= 24.1){
- X1 = 1
- }
- elseif(RangerT2:pos():x() - RangerT2:entity():pos():x() <= -23.9 & RangerT2:pos():x() - RangerT2:entity():pos():x() >= -24.1){
- X2 = 1
- }
- if(RangerT2:pos():y() - RangerT2:entity():pos():y() >= 23.9 & RangerT2:pos():y() - RangerT2:entity():pos():y() <= 24.1){
- Y1 = 1
- }
- elseif(RangerT2:pos():y() - RangerT2:entity():pos():y() <= -23.9 & RangerT2:pos():y() - RangerT2:entity():pos():y() >= -24.1){
- Y2 = 1
- }
- if(RangerT2:pos():z() - RangerT2:entity():pos():z() >= 23.9 & RangerT2:pos():z() - RangerT2:entity():pos():z() <= 24.1){
- Z1 = 1
- }
- elseif(RangerT2:pos():z() - RangerT2:entity():pos():z() <= -23.9 & RangerT2:pos():z() - RangerT2:entity():pos():z() >= -24.1){
- Z2 = 1
- }
- if(X1 + X2 + Y1 + Y2 + Z1 + Z2 == 1){
- if(X1 == 1){
- T2Pos = RangerT2:entity():pos() + vec(48,0,0)
- }
- elseif(X2 == 1){
- T2Pos = RangerT2:entity():pos() + vec(-48,0,0)
- }
- elseif(Y1 == 1){
- T2Pos = RangerT2:entity():pos() + vec(0,48,0)
- }
- elseif(Y2 == 1){
- T2Pos = RangerT2:entity():pos() + vec(0,-48,0)
- }
- elseif(Z1 == 1){
- T2Pos = RangerT2:entity():pos() + vec(0,0,48)
- }
- elseif(Z2 == 1){
- T2Pos = RangerT2:entity():pos() + vec(0,0,-48)
- }
- findInSphere(T2Pos,12)
- findSortByDistance(T2Pos)
- if(!find()|find():type() != "prop_physics"){
- Rundown2 = 0
- Prop = propSpawn("models/hunter/blocks/cube1x1x1.mdl",RangerT2:entity():pos() + vec(48,0,0),ang(),1)
- Prop:setMaterial("phoenix_storms/wood")
- Prop:soundPlay(1000,2,"Wood_Box.ImpactHard")
- }
- }
- else{
- detect(RangerT2)
- }
- }
- else{
- detect(RangerT2)
- }
- }
- }
- elseif(owner():keyAttack1()){
- RangerT2 = rangerOffset(holoEntity(16):pos(),holoEntity(16):pos() + owner():eye() * 225)
- if(RangerT2:entity():model() == "models/hunter/blocks/cube1x1x1.mdl"){
- RangerT2:entity():propDelete()
- holoEntity(16):soundPlay(1,1,"Wood_Box.Break")
- Rundown2 = 20
- }
- }
- if(changed(owner():keyPressed("v")) & owner():keyPressed("v")){
- if(Noclip == 1){
- Noclip = 0
- }
- else{
- Noclip = 1
- }
- }
- if(changed(Noclip)){
- if(Noclip == 1){
- Walk = 1
- }
- else{
- Walk = 0
- }
- }
- if(Noclip == 0){
- rangerFilter(players())
- Ranger1 = rangerOffsetHull(holoEntity(1):pos() + vec(24,24,0),holoEntity(1):pos() + vec(-24,-24,-10),vec(74,74,1))
- rangerFilter(players())
- Ranger2 = rangerOffsetHull(holoEntity(1):boxCenterW() + vec(24,24,0),holoEntity(1):boxCenterW() + vec(-24,-24,60),vec(74,74,1))
- rangerFilter(players())
- Ranger3 = rangerOffsetHull(holoEntity(1):boxCenterW() + vec(24,24,50),holoEntity(1):boxCenterW() + vec(-24,-24,120),vec(82,82,1))
- rangerFilter(players())
- Ranger4 = rangerOffsetHull(holoEntity(1):boxCenterW() + vec(12,12,0),holoEntity(1):boxCenterW() + vec(-12,-12,-20),vec(20,20,1))
- if(!Ranger2:hit()){
- if(J == 0){
- holoPos(1,holoEntity(1):pos() - vec(0,0,5))
- }
- }
- else{
- #print("x")
- rangerFilter(players())
- RangerT1 = rangerOffsetHull(holoEntity(1):boxCenterW() + vec(24,24,5),holoEntity(1):boxCenterW() + vec(-24,-24,55),vec(74,74,1))
- if(RangerT1:hit() & Ranger4:hit() & !Ranger3:hit() & Land == 1 ){
- holoPos(1,holoEntity(1):pos() + vec(0,0,5))
- }
- }
- if(Ranger4:hit()){
- Land = 1
- }
- else{
- Land = 0
- }
- if(owner():keyForward() & !owner():keyBack()){
- if(Running == 1){
- if(J == 1){
- FSPD = 6.5 * Size
- }
- else{
- FSPD = 6 * Size
- }
- }
- else{
- FSPD = 4 * Size
- }
- EyeMod = owner():eye():setZ(0):normalized()
- if(owner():keyLeft() & !owner():keyRight()){
- 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()){
- holoPos(1,holoEntity(1):pos() + EyeMod*FSPD)
- }
- }
- elseif(owner():keyRight() & !owner():keyLeft()){
- 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()){
- holoPos(1,holoEntity(1):pos() + EyeMod*FSPD)
- }
- }
- elseif((!owner():keyLeft() & !owner():keyRight())|(owner():keyLeft() & owner():keyRight())){
- 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()){
- holoPos(1,holoEntity(1):pos() + EyeMod*FSPD)
- }
- }
- Walk = 1
- W = 1
- }
- elseif(owner():keyBack() & !owner():keyForward()){
- EyeMod = owner():eye():setZ(0):normalized()
- if(owner():keyLeft() & !owner():keyRight()){
- 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()){
- holoPos(1,holoEntity(1):pos() - EyeMod * 4 * Size)
- }
- }
- elseif(owner():keyRight() & !owner():keyLeft()){
- 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()){
- holoPos(1,holoEntity(1):pos() - EyeMod * 4 * Size)
- }
- }
- elseif((!owner():keyLeft() & !owner():keyRight())|(owner():keyLeft() & owner():keyRight())){
- 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()){
- holoPos(1,holoEntity(1):pos() - EyeMod * 4 * Size)
- }
- }
- Walk = 1
- W2 = 1
- }
- else{
- W = 0
- W2 = 0
- }
- if(owner():keyLeft() & !owner():keyRight()){
- EyeMod = (-owner():right():setZ(0)):normalized()
- 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()){
- holoPos(1,holoEntity(1):pos() + EyeMod * 4 * Size)
- }
- Walk = 1
- W2 = 1
- }
- elseif(owner():keyRight() & !owner():keyLeft()){
- EyeMod = owner():right():setZ(0):normalized()
- 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()){
- holoPos(1,holoEntity(1):pos() + EyeMod * 4 * Size)
- }
- Walk = 1
- W2 = 1
- }
- if(owner():keyDuck()){
- Running = 1
- }
- if(Running == 1){
- if((changed(owner():keyForward()) & !owner():keyForward())|owner():keyBack()){
- if(!owner():keyDuck()){
- Running = 0
- }
- }
- }
- if(owner():keyJump()){
- if(Ranger1:hit() & J == 0){
- J = 1
- JR = 20
- Land = 0
- #timer("jumping",400)
- if(Walk == 0){
- Jump = 1
- }
- }
- }
- if(J == 1){
- Land = 0
- if(JR >= 50){
- J = 0
- }
- else{
- JR += 1
- holoPos(1,holoEntity(1):pos() + vec(0,0,7*log(10,JR*40)))
- }
- #print(8*log(10,JR*20))
- }
- }
- elseif(Noclip == 1){
- if(owner():keyForward() & !owner():keyBack()){
- holoPos(1,holoEntity(1):pos() + owner():eye() * (10 + owner():keySprint() * 15))
- }
- elseif(owner():keyBack() & !owner():keyForward()){
- holoPos(1,holoEntity(1):pos() - owner():eye() * (10 + owner():keySprint() * 15))
- }
- if(owner():keyLeft() & !owner():keyRight()){
- holoPos(1,holoEntity(1):pos() - owner():right() * (10 + owner():keySprint() * 15))
- }
- elseif(owner():keyRight() & !owner():keyLeft()){
- holoPos(1,holoEntity(1):pos() + owner():right() * (10 + owner():keySprint() * 15))
- }
- if(owner():keyJump()){
- holoPos(1,holoEntity(1):pos() + vec(0,0,20))
- }
- }
- }
- if(last()){
- propDeleteAll()
- Activated = 0
- }
Advertisement
Add Comment
Please, Sign In to add comment