- Home /
Question by
GECKOBOY123 · Sep 16, 2020 at 07:57 PM ·
not workingfps controllerreferencingplayer settings
the type or namespace name 'FirstPersonController' could not be found.
I am making a PlayerVitals script and I am referencing the fps controller script it is giving me that error but when I go in nothing looks wrong. Here is the script error is on (37,13)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityStandardAssets.Characters.FirstPerson;
public class PlayerVitals : MonoBehaviour
{
public Slider healthSlider;
public int maxHealth;
public int healthFallRate;
public Slider thirstSlider;
public float maxThirst;
public float ThirstFallRate;
public Slider hungerSlider;
public int maxHunger;
public int HungerFallRate;
public Slider staminaSlider;
public int maxStamina;
private int staminaFallRate;
public int staminaFallMult;
private int staminaRegainRate;
public int staminaRegainMult;
[Header("Tempature Settings")]
public float freezingTemp;
public float currentTemp;
public float normalTemp;
public float heatTemp;
public Text tempNumber;
public Image tempBG;
private CharacterController charControl;
private FirstPersonController playerController;
void Start()
{
healthSlider.maxValue = maxHealth;
healthSlider.value = maxHealth;
thirstSlider.maxValue = maxThirst;
thirstSlider.value = maxThirst;
hungerSlider.maxValue = maxHunger;
hungerSlider.value = maxHunger;
staminaSlider.maxValue = maxStamina;
staminaSlider.value = maxStamina;
staminaFallRate = 1;
staminaRegainRate = 1;
charControl = GetComponent<CharacterController>();
playerController = GetComponent<FirstPersonController>();
}
void UpdateTemp()
{
tempNumber.text = currentTemp.ToString("00.0");
}
void Update()
{
//TEMPS
if (currentTemp <= freezingTemp)
{
tempBG.color = Color.blue;
UpdateTemp();
}
else if (currentTemp >= heatTemp - 0.1)
{
tempBG.color = Color.red;
UpdateTemp();
}
else
{
tempBG.color = Color.green;
UpdateTemp();
}
//Health control
if (hungerSlider.value <= 0 && (thirstSlider.value <= 0))
{
healthSlider.value -= Time.deltaTime / healthFallRate * 2;
}
else if (hungerSlider.value <= 0 || thirstSlider.value <= 0 || currentTemp <= freezingTemp || currentTemp >= heatTemp)
{
healthSlider.value -= Time.deltaTime / healthFallRate;
}
if (healthSlider.value <= 0)
{
CharacterDeath();
}
//HUNGER CONTROL
if (hungerSlider.value >= 0)
{
hungerSlider.value -= Time.deltaTime / HungerFallRate;
}
else if (hungerSlider.value <= 0)
{
hungerSlider.value = 0;
}
else if (hungerSlider.value >= maxHunger)
{
hungerSlider.value = maxHunger;
}
//THIRSTTTTTT!!!!!!11AHAHAHAHAHAHA
if (thirstSlider.value >= 0)
{
thirstSlider.value -= Time.deltaTime / ThirstFallRate;
}
else if (thirstSlider.value <= 0)
{
thirstSlider.value = 0;
}
else if (thirstSlider.value >= maxThirst)
{
thirstSlider.value = maxThirst;
}
//STAMINA CONTROL
if (charControl.velocity.magnitude > 0 && Input.GetKey(KeyCode.LeftShift))
{
staminaSlider.value -= Time.deltaTime / staminaFallRate * staminaFallMult;
if (staminaSlider.value > 0)
{
currentTemp += Time.deltaTime / 5;
}
}
else
{
staminaSlider.value += Time.deltaTime / staminaRegainRate * staminaRegainMult;
if (currentTemp >= normalTemp)
{
currentTemp -= Time.deltaTime / 10;
}
}
if (staminaSlider.value >= maxStamina)
{
staminaSlider.value = maxStamina;
}
else if (staminaSlider.value <= 0)
{
staminaSlider.value = 0;
playerController.m_RunSpeed = playerController.m_WalkSpeed;
}
else if (staminaSlider.value >= 0)
{
playerController.m_RunSpeed = playerController.m_RunSpeedNone;
}
}
void CharacterDeath()
{
//DO SOMETHING HERE !!!!!
}
}
Comment
Your answer
Follow this Question
Related Questions
Boolean From Another Class Not Being Updated 3 Answers
Calling function from separate script gets buggy 2 Answers
how do i refer to a instantiated gameobject? 1 Answer
How to add a footstep sound to rigidbody fps controller without animations? 2 Answers
I am trying to create a leaning mechanic for an FPS game but I have one problem 1 Answer