Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

FPS 1.23 Code problem

Discussion in 'Scripting' started by 242467, Jul 23, 2014.

  1. 242467

    242467

    Joined:
    Jan 4, 2014
    Posts:
    3
    Gun script
    varbeingHeld : boolean = false;
    varoutsideBox : GameObject;
    @HideInInspector
    varcountToThrow : int = -1;
    @HideInInspector
    varplayerTransform : Transform;
    @HideInInspector
    varplayerMovementScript : PlayerMovementScript;
    @HideInInspector
    varcameraObject : GameObject;
    @HideInInspector
    vartargetXRotation : float;
    @HideInInspector
    vartargetYRotation : float;
    @HideInInspector
    vartargetXRotationV : float;
    @HideInInspector
    vartargetYRotationV : float;

    varrotateSpeed : float = 0.3;

    varholdHeight : float = -0.5;
    varholdSide : float = 0.5;
    varratioHipHold : float = 1;
    varhipToAimSpeed : float = 0.1;
    @HideInInspector
    varratioToHipHoldV : float;

    varaimRatio : float = 0.4;

    varzoomAngle : float = 30;

    varfireSpeed = 15;
    @HideInInspector
    varwaitTillNextFire : float = 0;
    varbullet : GameObject;
    varbulletSpawn : GameObject;

    varshootAngleRandomizationAiming : float = 5;
    varshootAngleRandomizationNotAiming: float = 15;

    varrecoilAmount : float = 0.5;
    varrecoilRecoverTime : float = 0.2;
    @HideInInspector
    varcurrentRecoilZPos : float;
    @HideInInspector
    varcurrentRecoilZPosV : float;

    varbulletSound : GameObject;
    varmuzzleFlash : GameObject;

    vargunBobAmountX : float = 0.5;
    vargunBobAmountY : float = 0.5;
    @HideInInspector
    varcurrentGunBobX : float;
    @HideInInspector
    varcurrentGunBobY : float;

    functionAwake()
    {
    countToThrow = -1;
    playerTransform = GameObject.FindWithTag("Player").transform;
    playerMovementScript = GameObject.FindWithTag("Player").GetComponent(PlayerMovementScript);
    cameraObject = GameObject.FindWithTag("MainCamera");
    }

    functionLateUpdate ()
    {
    if(beingHeld)
    {
    rigidbody.useGravity = false;
    outsideBox.GetComponent(Collider).enable = false;

    currentGunBobX = Mathf.Sin(cameraObject.GetComponent(MouseLook).headBobStepCounter) * gunBobAmountX * ratioHipHold;
    currentGunBobY = Mathf.Cos(cameraObject.GetComponent(MouseLook).headBobStepCounter * 2) * gunBobAmountY * -1 * ratioHipHold;

    varholdMuzzleFlash : GameObject;
    varholdSound : GameObject;
    if (Input.GetButton ("Fire1"))
    {
    if(waitTillNextFire <= 0)
    {
    if(bullet)
    Instantiate (bullet, bulletSpawn.transform.position, bulletSpawn.transform.rotation);
    if(bulletSound)
    holdSound = Instantiate(bulletSound, bulletSpawn.transform.position, bulletSpawn.transform.rotation);
    if(muzzleFlash)
    holdMuzzleFlash = Instantiate(muzzleFlash, bulletSpawn.transform.position, bulletSpawn.transform.rotation);
    targetXRotation += (Random.value - 0.5) * Mathf.Lerp(shootAngleRandomizationAiming, shootAngleRandomizationNotAiming, ratioHipHold);
    targetYRotation += (Random.value - 0.5) * Mathf.Lerp(shootAngleRandomizationAiming, shootAngleRandomizationNotAiming, ratioHipHold);
    currentRecoilZPos -= recoilAmount;
    waitTillNextFire = 1;
    }
    }
    waitTillNextFire -= Time.deltaTime * fireSpeed;

    if(holdSound)
    holdSound.transform.parent = transform;
    if(holdMuzzleFlash)
    holdMuzzleFlash.transform.parent = transform;

    currentRecoilZPos = Mathf.SmoothDamp(currentRecoilZPos, 0, currentRecoilZPosV, recoilRecoverTime);

    cameraObject.GetComponent(MouseLook).currentTargetCameraAngle = zoomAngle;
    if(Input.GetButton("Fire2")){
    cameraObject.GetComponent(MouseLook).currentAimRatio = aimRatio;
    ratioHipHold = Mathf.SmoothDamp(ratioHipHold,0, ratioToHipHoldV, hipToAimSpeed);}
    if(Input.GetButton("Fire2") == false){
    cameraObject.GetComponent(MouseLook).currentAimRatio = 1;
    ratioHipHold = Mathf.SmoothDamp(ratioHipHold,1, ratioToHipHoldV, hipToAimSpeed);}

    transform.position = cameraObject.transform.position + (Quaternion.Euler(0,targetYRotation,0) * Vector3(holdSide * ratioHipHold + currentGunBobX, holdHeight * ratioHipHold + currentGunBobY, 0) + Quaternion.Euler(targetXRotation, targetYRotation,0) * Vector3(0,0,currentRecoilZPos));

    targetXRotation = Mathf.SmoothDamp ( targetXRotation, cameraObject.GetComponent(MouseLook).xRotation, targetXRotationV, rotateSpeed);
    targetYRotation = Mathf.SmoothDamp ( targetYRotation, cameraObject.GetComponent(MouseLook).yRotation, targetYRotationV, rotateSpeed);

    transform.rotation = Quaternion.Euler(targetXRotation, targetYRotation, 0);
    }
    if(!beingHeld)
    {
    rigidbody.useGravity = true;
    outsideBox.GetComponent(Collider).enabled = true;

    countToThrow -= 1;
    if(countToThrow == 0)
    rigidbody.AddRelativeForce(0, playerMovementScript.throwGunUpForce, playerMovementScript.throwGunForwardForce);
    if(Vector3.Distance(transform.position, playerTransform.position) < playerMovementScript.distToPickUpGun && Input.GetButtonDown("UseKey") && playerMovementScript.waitFrameForSwitchGuns <= 0)
    {
    playerMovementScript.currentGun.GetComponent(GunScript).beingHeld = false;
    playerMovementScript.currentGun.GetComponent(GunScript).countToThrow = 2;
    playerMovementScript.currentGun = gameObject;
    beingHeld = true;
    targetYRotation = cameraObject.GetComponent(MouseLook).yRotation - 180;
    playerMovementScript.waitFrameForSwitchGun = 2;
    }
    }

    }
    Is there anything wrong with script it is on line : 131
     
  2. Dantus

    Dantus

    Joined:
    Oct 21, 2009
    Posts:
    5,667
  3. 242467

    242467

    Joined:
    Jan 4, 2014
    Posts:
    3
    i dont get it
     
  4. Dantus

    Dantus

    Joined:
    Oct 21, 2009
    Posts:
    5,667
    Use code tags in the forum to make your code readable for others.