Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @name oerlikon barrel
- @inputs Fire
- @outputs
- @persist I N E:entity Y Spring:table Compressed A1 A2 Create S X Rate
- @trigger
- @model
- if(first()|duped()){
- E=entity()
- Rate=10
- Create=1
- if(Create){
- interval(250)
- #barrel grooves and front
- I++,holoCreate(I,E:toWorld(vec(0,0,-1.8)),vec(0),E:toWorld(ang(0,0,0)),vec(255),"cube")
- I++,holoCreate(I,E:toWorld(vec(0,27,-1.8)),vec(0.35,0.35,1),E:toWorld(ang(0,0,90)),vec(255),"hq_tube_thin")
- I++,holoCreate(I,E:toWorld(vec(0,34.21,-1.8)),vec(0.35,0.35,0.2),E:toWorld(ang(0,180,90)),vec(255),"hq_cone")
- I++,holoCreate(I,E:toWorld(vec(0,22,-1.8)),vec(0.2,3,0.2),E:toWorld(ang(90,90,0)),vec(255),"models/sprops/misc/sq_holes/t_hsqhole_d0_12.mdl")
- I++,holoCreate(I,E:toWorld(vec(0,15,-1.8)),vec(0.2,3,0.2),E:toWorld(ang(270,90,0)),vec(255),"models/sprops/misc/sq_holes/t_hsqhole_d0_12.mdl")
- I++,holoCreate(I,E:toWorld(vec(0,11,-1.8)),vec(0.2,3,0.2),E:toWorld(ang(90,90,0)),vec(255),"models/sprops/misc/sq_holes/t_hsqhole_d0_12.mdl")
- I++,holoCreate(I,E:toWorld(vec(0,6,-1.8)),vec(0.2,3,0.2),E:toWorld(ang(270,90,0)),vec(255),"models/sprops/misc/sq_holes/t_hsqhole_d0_12.mdl")
- I++,holoCreate(I,E:toWorld(vec(0,2,-1.8)),vec(0.2,3,0.2),E:toWorld(ang(90,90,0)),vec(255),"models/sprops/misc/sq_holes/t_hsqhole_d0_12.mdl")
- I++,holoCreate(I,E:toWorld(vec(0,-5,-1.8)),vec(0.2,3,0.2),E:toWorld(ang(270,90,0)),vec(255),"models/sprops/misc/sq_holes/t_hsqhole_d0_12.mdl")
- #middle plates
- I++,holoCreate(I,E:toWorld(vec(-1.65,4,-1.8)),vec(0.1,0.25,0.2),E:toWorld(ang(0,0,0)),vec(255),"cube")
- I++,holoCreate(I,E:toWorld(vec(1.65,4,-1.8)),vec(0.1,0.25,0.2),E:toWorld(ang(0,0,0)),vec(255),"cube")
- I++,holoCreate(I,E:toWorld(vec(-1.65,13,-1.8)),vec(0.1,0.25,0.2),E:toWorld(ang(0,0,0)),vec(255),"cube")
- I++,holoCreate(I,E:toWorld(vec(1.65,13,-1.8)),vec(0.1,0.25,0.2),E:toWorld(ang(0,0,0)),vec(255),"cube")
- #top and bottom curves
- I++,holoCreate(I,E:toWorld(vec(-1.5,4.58,0)),vec(0.02,3,0.15),E:toWorld(ang(45,0,0)),vec(255),"cube")
- I++,holoCreate(I,E:toWorld(vec(1.5,4.58,0)),vec(0.02,3,0.15),E:toWorld(ang(-45,0,0)),vec(255),"cube")
- I++,holoCreate(I,E:toWorld(vec(1.5,4.58,-3.5)),vec(0.02,3,0.15),E:toWorld(ang(45,0,0)),vec(255),"cube")
- I++,holoCreate(I,E:toWorld(vec(-1.5,4.58,-3.5)),vec(0.02,3,0.15),E:toWorld(ang(-45,0,0)),vec(255),"cube")
- for(I=2,I){
- holoParent(I,1)
- holoMaterial(I,"models/debug/debugwhite")
- }
- N=I+1
- N++,holoCreate(N,E:toWorld(vec(0,30,-1.8)),vec(0.2,0.2,1.5),E:toWorld(ang(0,0,90)),vec(255),"hq_tube_thick")
- N++,holoCreate(N,E:toWorld(vec(0,45,-1.8)),vec(0.12,0.12,5),E:toWorld(ang(0,0,90)),vec(255),"hq_tube")
- N++,holoCreate(N,E:toWorld(vec(0,77,-1.8)),vec(0.015,0.015,0.05),E:toWorld(ang(0,0,90)),vec(255),"models/hunter/tubes/tube4x4x2to2x2.mdl")
- N++,holoCreate(N,E:toWorld(vec(0,-20,-1.8)),vec(0.4,2,0.4),E:toWorld(ang(0,0,0)),vec(255),"cube")
- for(I=1,25){
- N++,holoCreate(N,E:toWorld(vec(0,-35+(N-1)*1.3,-1.8)),vec(0.3,0.3,0.05),E:toWorld(ang(0,0,90)),vec(255),"hq_tube")
- Spring[I,number]=N
- }
- for(N=I+1,N){
- holoParent(N,E)
- holoMaterial(N,"models/debug/debugwhite")
- }
- Create=0
- }
- }
- interval(75)
- if(Fire){
- S-=Rate/40
- X+=1
- Y-=Rate
- if(Y<-10){
- X=0
- Y=0
- S=1
- }
- #[if(changed(Y)&Y==-10){
- P=propSpawn("models/props_phx/torpedo.mdl",E:toWorld(vec(0,100,0)),E:toWorld(ang(0,90,0)),0)
- P:applyForce(P:forward()*P:mass()*10000)
- P:propShadow(0)
- P:setTrails(64,0,1,"trails/laser",vec(0,255,0),255)
- P:propGravity(0)
- P:propDrag(0)
- }]#
- }
- else{
- X=0
- S=1
- Y=0
- }
- Y=clamp(Y,-15,0)
- holoPos(1,E:toWorld(vec(0,Y,-1.8)))
- holoAng(1,E:toWorld(ang()))
- if(Fire){
- for(I=1,25){
- holoPos(Spring[I,number],E:toWorld(vec(0,-35+X+(Spring[I,number]-1)*(1.3)*S,-1.8)))
- }
- }
- if(changed(Fire)&!Fire){
- for(I=1,25){
- holoPos(Spring[I,number],E:toWorld(vec(0,-35+X+(Spring[I,number]-1)*(1.3)*S,-1.8)))
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement