Question by
piciorus · Dec 27, 2015 at 09:12 AM ·
scripting problemscript.
pick up object problem
i have a script for pick up object for my survival game but doesnt work 100% I can only pick up objects with tag Wood and i cant pick object by another tag pls help this is the script #pragma strict
var rayLength : int = 10;
private var inventory : Inventar;
private var guiShow : boolean = false;
var player : GameObject;
function Start()
{
inventory = GameObject.Find("First Person Controller").GetComponent(Inventar);
}
function Update()
{
var hit : RaycastHit;
var fwd = transform.TransformDirection(Vector3.forward);
if(Physics.Raycast(transform.position, fwd, hit, rayLength))
{
if(hit.collider.gameObject.tag == "Wood")
{
guiShow = true;
if(Input.GetKeyDown("e"))
{
inventory.wood++;
Destroy(hit.collider.gameObject);
guiShow = false;
}
if(hit.collider.gameObject.tag == "Stick")
{
guiShow = true;
if(Input.GetKeyDown("e"))
{
inventory.stick++;
Destroy(hit.collider.gameObject);
guiShow = false;
}
if(hit.collider.gameObject.tag == "Stone")
{
guiShow = true;
if(Input.GetKeyDown("e"))
{
inventory.stone++;
Destroy(hit.collider.gameObject);
guiShow = false;
}
if(hit.collider.gameObject.tag == "Fish")
{
guiShow = true;
if(Input.GetKeyDown("e"))
{
inventory.fish++;
Destroy(hit.collider.gameObject);
guiShow = false;
}
}
}
}
}
}
else
{
guiShow = false;
}
}
function OnGUI()
{
if(guiShow == true)
{
GUI.Box(Rect(Screen.width / 2 - 150, Screen.height / 2 - 150, 100, 20), "PickUpObject!");
}
}
and this is the inventory script
#pragma strict
var menuSkin : GUISkin;
var wood : int = 20;
var stone : int = 20;
var stick : int = 20;
var bottledWater : int = 3;
var fish : int = 1;
var minimumVal : int = 0;
private var showGUI : boolean = false;
private var playerGUI :SurvivalSistem;
function Start() { playerGUI = GameObject.Find("First Person Controller").GetComponent(SurvivalSistem);
}
function Update() { if(wood <= 0) { wood = minimumVal;
}
{
if(wood <= 0)
{
wood = minimumVal;
}
if(stone <= 0)
{
stone = minimumVal;
}
if(stick <= 0)
{
stick = minimumVal;
}
if(fish <= 0)
{
fish = minimumVal;
}
if(bottledWater <= 0)
{
bottledWater = minimumVal;
}
if(Input.GetKeyDown("i"))
{
showGUI = !showGUI;
}
if(showGUI == true)
{
Time.timeScale = 0;
GameObject.Find("First Person Controller").GetComponent(FPSInputController).enabled = false;
GameObject.Find("First Person Controller").GetComponent(MouseLook).enabled = false;
GameObject.Find("Main Camera").GetComponent(MouseLook).enabled = false;
GameObject.Find("FPSArms_Axe@Idle").GetComponent(PlayerControl).enabled = false;
}
if(showGUI == false)
{
Time.timeScale = 1;
GameObject.Find("First Person Controller").GetComponent(FPSInputController).enabled = true;
GameObject.Find("First Person Controller").GetComponent(MouseLook).enabled = true;
GameObject.Find("Main Camera").GetComponent(MouseLook).enabled = true;
GameObject.Find("FPSArms_Axe@Idle").GetComponent(PlayerControl).enabled = true;
}
}
}
function OnGUI()
{
if(showGUI == true)
{
GUI.skin = menuSkin;
GUI.BeginGroup(new Rect(Screen.width / 2 - 150, Screen.height / 2 - 150, 300, 300));
GUI.Box(Rect(0, 0, 300, 300), "Basic Inventory");
//Resources collected
GUI.Label(Rect(10, 50, 50, 50), "Wood");
GUI.Box(Rect(60, 50, 30, 30), "" + wood);
GUI.Label(Rect(90, 50, 50, 50), "Stone");
GUI.Box(Rect(130, 50, 30, 30), "" + stone);
GUI.Label(Rect(170, 50, 50, 50), "Stick");
GUI.Box(Rect(200, 50, 30, 30), "" + stick);
GUI.Label(Rect(10, 130, 50, 50), "Fish");
GUI.Box(Rect(60, 130, 20, 20), "" + fish);
if(GUI.Button(Rect(100, 190, 100, 20), "Eat Fish?"))
{
if(fish >= 1)
{
fish--;
Eat();
}
}
GUI.Label(Rect(10, 210, 50, 50), "BottledWater");
GUI.Box(Rect(60, 210, 30, 30), "" + bottledWater);
if(GUI.Button(Rect(100, 210, 100, 30), "Drink Water?"))
{
if(bottledWater >= 1)
{
bottledWater--;
Drink();
}
}
}
}
function Eat()
{
playerGUI.hungerBarDisplay += 0.3;
}
function Drink()
{
playerGUI.thirstBarDisplay += 0.3;
}
function Reset()
{
wood = minimumVal;
stone = minimumVal;
stick = minimumVal;
fish = minimumVal;
bottledWater = minimumVal;
}
Comment