Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @name Something_Funny
- #defines
- @persist ToOwnerBearing:normal Coef:normal HandFromBody:normal
- @persist IndexBody IndexHead IndexHand
- @persist BodyPos:vector HeadPos:vector HandPos:vector
- @persist BodySize:vector HeadSize:vector HandSize:vector
- @persist BodyAng:angle HeadAng:angle HandAng:angle
- @persist BodyColor:vector HeadColor:vector HandColor:vector
- @persist HandTop ChipPos:vector BallIndex
- @persist OldVictimPos:vector OldWeaponPos:vector OldWeaponAngles:angle
- @persist LenFromBallToTarget CurrentLength Clock Acceleration
- #@persist TimeOfChat
- #end
- function normal createTheBall( VictimPos:vector, WeaponPos:vector )
- {
- Index = randint( 4, 100 )
- BallSize = vec( 0.4, 0.4, 0.4 )
- BallColor = vec( 0, 0, 0 )
- BallOrigin = WeaponPos
- holoCreate( Index, BallOrigin, BallSize, ang( 0, 0, 0 ), BallColor )
- holoModel( Index, "sphere", 0 )
- return Index
- }
- interval( 50 )
- runOnChat( 1 )
- if( first() )
- {
- ChipPos = entity():pos()
- Coef = 6
- Acceleration = 3.5
- TimeOfChat = 0
- HandFromBody = 2*Coef + 0.8*Coef
- HandTop = 5*Coef*2 - 3*Coef
- BodyPos = ChipPos + vec( 0, 0, 5*Coef )
- HeadPos = ChipPos + vec( 0, 0, 2.5*Coef + 5*Coef*2)
- HandPos = ChipPos + vec( 0, HandFromBody, HandTop )
- HandSize = vec( 0.8, 0.8, 3 )
- BodySize = vec( 2, 2, 5 )
- HeadSize = vec( 2.5, 2.5, 2.5 )
- HandAng = ang( 0, 0, 0 )
- BodyAng = ang( 0, 0, 0 )
- HeadAng = ang( 0, 0, 0 )
- BodyColor = vec( 255, 0, 0 )
- HeadColor = vec( 0, 255, 0 )
- HandColor = vec( 0, 0, 255 )
- IndexBody = 1
- IndexHead = 2
- IndexHand = 3
- holoCreate( IndexHand, HandPos, HandSize, HandAng, BodyColor )
- holoCreate( IndexBody, BodyPos, BodySize, BodyAng, HeadColor )
- holoCreate( IndexHead, HeadPos, HeadSize, HeadAng, HandColor )
- holoModel( IndexHead, "sphere", 0 )
- #something about balls
- BallIndex = -1
- CurrentLength = 0
- }
- else
- {
- OwnerOrigin = entity():owner():shootPos()
- ToOwnerBearing = entity():bearing( OwnerOrigin )
- BodyAng = ang( 0, -ToOwnerBearing, 0 )
- HeadAng = ang( 0, -ToOwnerBearing, 0 )
- ToOwnerElevation = elevation( HandPos, ang( 0, 0, 0 ), OwnerOrigin )
- FromHandToHeadBearing = bearing( HandPos, ang( 0, 0, 0 ), OwnerOrigin )
- HandAngles = ang( -(ToOwnerElevation - 90), -ToOwnerBearing, 0 )
- holoAng( IndexBody, ang( 0, -ToOwnerBearing, 0 ) )
- holoAng( IndexHead, ang( 0, -ToOwnerBearing, 0 ) )
- holoAng( IndexHand, HandAngles )
- HandNewPos = ChipPos + vec( HandFromBody * sin( FromHandToHeadBearing ), HandFromBody * cos( FromHandToHeadBearing ), HandTop )
- holoPos( IndexHand, HandNewPos )
- LenFromBallToTarget = (OwnerOrigin - HandNewPos):length()
- if( entity():owner():lastSaid() == "!shoot" && chatClk() && BallIndex == -1 && LenFromBallToTarget < 550 )
- {
- BallIndex = createTheBall( OwnerOrigin, HandNewPos )
- LenFromBallToTarget = (OwnerOrigin - HandNewPos):length()
- OldWeaponPos = HandNewPos
- OldWeaponAngles = HandAngles
- OldVictimPos = OwnerOrigin
- CurrentLength = 0
- }
- if( BallIndex >= 4 && CurrentLength < LenFromBallToTarget )
- {
- holoPos( BallIndex, OldWeaponPos + vec( CurrentLength * cos(OldWeaponAngles:yaw()), CurrentLength * sin(OldWeaponAngles:yaw()), CurrentLength * cos(OldWeaponAngles:pitch())) )
- CurrentLength = Clock*Acceleration
- Clock += 10
- }
- else
- {
- holoDelete( BallIndex )
- OldWeraponPos = vec( 0, 0, 0 )
- OldWeaponAngles = ang( 0, 0, 0 )
- OldVictimPos = vec( 0, 0, 0 )
- BallIndex = -1
- CurrentLength = 0
- Clock = 0
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment