I need a health script.
I am currently creating a fps, and I need a script that will help me monitor health. All the scripts I have used just don't work. I am an average programmer, and am somewhat new to C#. The last script I used, just coulden't reference a GUI text. (I'm in Unity 5.3.1) I don't know where to put the heath script, how to display GUI, or how to create AI. Please, I'm just looking for a little help. If you can give me a script in C# that I can use, it would help out a ton. JavaScript will also work, but C# is preferred. If you need to know anything aboutmy program for extra info, I will supply it. Here are a few scripts i have, and what they do.
The character controlling mechanic:
using UnityEngine;
using System.Collections;
[RequireComponent (typeof(CharacterController))]
public class FirstPlayerController : MonoBehaviour {
public float movementSpeed = 5.0f;
public float mouseSensitivity = 5.0f;
public float jumpSpeed = 5.0f;
float verticalRotation = 0;
public float upDownRange = 60.0f;
float verticalVelocity = 1.0f;
CharacterController characterController;
// Use this for initialization
void Start () {
Screen.lockCursor = true;
characterController = GetComponent<CharacterController>();
}
// Update is called once per frame
void Update () {
// Rotation
float rotLeftRight = Input.GetAxis("Mouse X") * mouseSensitivity;
transform.Rotate(0, rotLeftRight, 0);
verticalRotation -= Input.GetAxis("Mouse Y") * mouseSensitivity;
verticalRotation = Mathf.Clamp(verticalRotation, -upDownRange, upDownRange);
Camera.main.transform.localRotation = Quaternion.Euler(verticalRotation, 0, 0);
// Movement
float forwardSpeed = Input.GetAxis("Vertical") * movementSpeed;
float sideSpeed = Input.GetAxis("Horizontal") * movementSpeed;
verticalVelocity += Physics.gravity.y * Time.deltaTime;
if( characterController.isGrounded && Input.GetButton("Jump") ) {
verticalVelocity = jumpSpeed;
}
Vector3 speed = new Vector3( sideSpeed, verticalVelocity, forwardSpeed );
speed = transform.rotation * speed;
characterController.Move( speed * Time.deltaTime );
if (Input.GetKeyDown (KeyCode.Escape)) {
Screen.lockCursor = false;
}
}
}
Here is the shooting mechanic: using UnityEngine; using System.Collections;
public class FP_Shooter : MonoBehaviour {
public GameObject bullet_prefab;
float bulletImpulse = 60f;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
if (Input.GetButtonDown("Fire1")) {
Camera cam = Camera.main;
GameObject thebullet = (GameObject)Instantiate (bullet_prefab, cam.transform.position + cam.transform.forward, cam.transform.rotation);
thebullet.GetComponent<Rigidbody>().AddForce (cam.transform.forward * bulletImpulse, ForceMode.Impulse);
}
}
}
I have a prefab- "Bullet" - the object used as a bullet.
And this is the script for the GUI to display ammo. (NEVER WORKED, COULD NOT SEE GUI TEXT)
var health = 300;
var ammo = 100;
function Update(){
this.GetComponent.<GUIText>().text = "Ammo: " + ammo.ToString();
}
Any help at all would be great. Thanks.
Have you tried implementing this health script:
https://unity3d.com/learn/tutorials/projects/s$$anonymous$$lth/player-health