Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by Michael 12 · Feb 15, 2011 at 01:12 AM · weaponsaddingfpstutorial

FPS Tutorial Part 3 Help needed

OK so I've been following that FPS tutorial on Unity's web site. I'm at part 3 and trying to keep my tweaked grenade launcher from part one. I've been mucking about with this blasted script all day trying to figure out what I'm doing wrong. Here is my script for the FPS comtroller:

var maximumHitPoints = 100.0; var hitPoints = 100.0;

var bulletGUI : GUIText; var rocketGUI : GUITexture; var grenadeGUI : GUIText; var healthGUI : GUITexture;

var walkSounds : AudioClip[]; var painLittle : AudioClip; var painBig : AudioClip; var die : AudioClip; var audioStepLength = 0.3;

private var machineGun : MachineGun; private var Launcher : Launcher; private var rocketLauncher : RocketLauncher; private var healthGUIWidth = 0.0; private var gotHitTimer = -1.0;

var rocketTextures : Texture[];

function Awake () { machineGun = GetComponentInChildren(MachineGun); rocketLauncher = GetComponentInChildren(RocketLauncher); Launcher = GetComponentInChildren(Launcher);

 PlayStepSounds();

 healthGUIWidth = healthGUI.pixelInset.width;

}

function ApplyDamage (damage : float) { if (hitPoints < 0.0) return;

 // Apply damage
 hitPoints -= damage;

 // Play pain sound when getting hit - but don't play so often
 if (Time.time &gt; gotHitTimer &amp;&amp; painBig &amp;&amp; painLittle) {
     // Play a big pain sound
     if (hitPoints &lt; maximumHitPoints * 0.2 || damage &gt; 20) {
         audio.PlayOneShot(painBig, 1.0 / audio.volume);
         gotHitTimer = Time.time + Random.Range(painBig.length * 2, painBig.length * 3);
     } else {
         // Play a small pain sound
         audio.PlayOneShot(painLittle, 1.0 / audio.volume);
         gotHitTimer = Time.time + Random.Range(painLittle.length * 2, painLittle.length * 3);
     }
 }

 // Are we dead?
 if (hitPoints &lt; 0.0)
     Die();

}

function Die () { if (die) AudioSource.PlayClipAtPoint(die, transform.position);

 // Disable all script behaviours (Essentially deactivating player control)
 var coms : Component[] = GetComponentsInChildren(MonoBehaviour);
 for (var b in coms) {
     var p : MonoBehaviour = b as MonoBehaviour;
     if (p)
         p.enabled = false;
 }

 LevelLoadFade.FadeAndLoadLevel(Application.loadedLevel, Color.white, 2.0);

}

function LateUpdate () { // Update gui every frame // We do this in late update to make sure machine guns etc. were already executed UpdateGUI(); }

function PlayStepSounds () { var controller : CharacterController = GetComponent(CharacterController);

 while (true) {
     if (controller.isGrounded &amp;&amp; controller.velocity.magnitude &gt; 0.3) {
         audio.clip = walkSounds[Random.Range(0, walkSounds.length)];
         audio.Play();
         yield WaitForSeconds(audioStepLength);
     } else {
         yield;
     }
 }

}

function UpdateGUI () { // Update health gui // The health gui is rendered using a overlay texture which is scaled down based on health // - Calculate fraction of how much health we have left (0...1) var healthFraction = Mathf.Clamp01(hitPoints / maximumHitPoints);

 // - Adjust maximum pixel inset based on it
 healthGUI.pixelInset.xMax = healthGUI.pixelInset.xMin + healthGUIWidth * healthFraction;

 // Update machine gun gui
 // Machine gun gui is simply drawn with a bullet counter text
 if (machineGun) {
     bulletGUI.text = machineGun.GetBulletsLeft().ToString();
 }

 // Update machine gun gui
 // Machine gun gui is simply drawn with a bullet counter text
 if (Launcher) {
     bulletGUI.text = Launcher.GetBulletsLeft().ToString();
 }

 // Update rocket gui
 // This is changed from the tutorial PDF. You need to assign the 20 Rocket textures found in the GUI/Rockets folder
 // to the RocketTextures property.
 if (rocketLauncher) {
     if (rocketTextures.Length == 0) {
         Debug.LogError ("The tutorial was changed with Unity 2.0 - You need to assign the 20 Rocket textures found in the GUI/Rockets folder to the RocketTextures property.");
     } else {
         rocketGUI.texture = rocketTextures[rocketLauncher.ammoCount];
     }
 }

}

I thought it would be just a simple matter of duplicating some of the variables but I'm clearly doing something wrong!! I don't know why they did not take into account that some of us might want to keep the grenade launcher lol especially since I got it working so sweet and all ;)

HeeeeelP :)

Comment
Add comment · Show 2
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image reissgrant · Feb 15, 2011 at 04:21 AM 0
Share

What kind of errors are you getting? It compiles fine, so you are probably just missing some assets the script is trying to reference. $$anonymous$$ake sure the assets it needs are part of the gameobject.

avatar image Michael 12 · Mar 06, 2011 at 02:33 PM 0
Share

I have it set up now where I can select my grenade launcher by clicking on #3 on the keyboard. The problem I'm having is trying to figure out how to make ammo pickups of grenades add to my Grenade GUI Text, I sort of understand it but I keep mucking it up somewhere in my script, I'm just not that good at scripting yet.

0 Replies

· Add your reply
  • Sort: 

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

No one has followed this question yet.

Related Questions

Script adding error 3 Answers

GUI text help with adding numbers 2 Answers

HELP with respawn point scripting 1 Answer

How to Implement the Throwing of Weaponry 0 Answers

Weapon customize system 1 Answer


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges