Помогите доделать скрипт - Форум Игроделов
Вт, 04 Фев 2025, 02:54 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Помогите доделать скрипт
icarosДата: Вс, 23 Фев 2014, 11:31 | Сообщение # 1
Нет аватара
 
Сообщений: 19
Награды: 0
Репутация: 0
Статус: Offline
У меня есть скрипты и надо сделать так чтобы при нажатии на клавишу открывался инвентарь и октлючался определённый скрипт, а после отключения инвентаря скрипт снова включался
Вот скрипты:
Код
#pragma strict
import System.Collections.Generic;

//ask for max weight
var maxWeight : float = 20;
var currentWeight : float = 0;

var soundDrop : AudioClip;

var playerInventory : List.<ItemClass> = new List.<ItemClass>();
var scrollView : Vector2;
var isOpen : boolean;
var health : float = 50;
var bag : boolean;

var guiWait : boolean = false;

var myWater : float = 0;

var myHunger : float = 0;

var healthGet = GameObject.FindGameObjectWithTag("Player").GetComponent(PlayerDamageNew);
var hungerScript = GameObject.FindGameObjectWithTag("Player").GetComponent(hunger);

var playerScript = GameObject.FindGameObjectWithTag("Player").GetComponent(RigidController);

function Start()
{

    healthGet = GameObject.FindGameObjectWithTag("Player").GetComponent(PlayerDamageNew);
    hungerScript = GameObject.FindGameObjectWithTag("Player").GetComponent(hunger);
    playerScript = GameObject.FindGameObjectWithTag("Player").GetComponent(RigidController);
       
}

function Update () {

    //healthGet = GameObject.FindGameObjectWithTag("Player").GetComponent(PlayerDamageNew);
       
    //hungerScript = GameObject.FindGameObjectWithTag("Player").GetComponent(hunger);
    //health = healthGet.hitPoints;

}

function OnGUI()
{

    if (bag)
    {
       
       
        
     GUILayout.BeginArea(Rect(Screen.width/2 - 50, Screen.height/2-50, 100,100));
        
     GUILayout.Box ("hitPoints: " + Mathf.Round(health));
        
     GUILayout.EndArea();
        
     ///[Find inventory script draw]///////
     GUILayout.BeginArea(Rect(Screen.width/2 - 60, Screen.height/2-25, 125,100));
        
     GUILayout.Box ("Weight: " + Mathf.Round(currentWeight) + "/" + Mathf.Round(maxWeight));
        
     GUILayout.EndArea();
        
        
     GUILayout.BeginArea(Rect(Screen.width/2 - 50, Screen.height/2, 100,100));
     if (GUILayout.Button("Inventory"))
     {
         
       isOpen = true;
         
        
     }
     GUILayout.EndArea();
        
        
        
     if (isOpen)
     {
        
         
         
         
      GUILayout.BeginArea(Rect(Screen.width - 600, 0, 100,100));
      if (GUILayout.Button("CLOSE"))
      {
       isOpen = false;
      }
      GUILayout.EndArea();
         
      GUILayout.BeginArea(Rect(Screen.width - 500, 0, 500,500));
      scrollView = GUILayout.BeginScrollView(scrollView, GUILayout.Width(500), GUILayout.Height(500));
      for(var x = 0; x < playerInventory.Count; x++){
      GUILayout.BeginHorizontal();
         
         
      if(GUILayout.Button(playerInventory[x].icon))
       {
        //playerInventory.RemoveAt(x);
           
       }
       if (GUILayout.Button("Drop Item"))
       {    
        Instantiate(playerInventory[x].myDropPrefab, transform.position, Quaternion.identity);
        currentWeight -= playerInventory[x].myWeight;
        // AudioSource.PlayClipAtPoint(soundDrop, transform.position);
        playerInventory.RemoveAt(x);
           
       }
       if (GUILayout.Button("Use Item"))
       {    
           
        healthGet.hitPoints += playerInventory[x].healthInc;
           
        hungerScript.water += playerInventory[x].waterInc;
           
        playerScript.stanima += playerInventory[x].stanimaInc;
           
        currentWeight -= playerInventory[x].myWeight;
           
        hungerScript.hunger += playerInventory[x].hungerInc;
           
        //AudioSource.PlayClipAtPoint(playerInventory[x].soundUse, transform.position);
           
        playerInventory.RemoveAt(x);
       }
         
      GUILayout.Box(playerInventory[x].name);
      GUILayout.EndHorizontal();
      GUILayout.Box(playerInventory[x].description);
         
      }
      GUILayout.EndScrollView();
      GUILayout.EndArea();
     }
    }

}


Код
#pragma strict

var playerI : Component;

function Start(){
    Time.timeScale = 0;
    Screen.lockCursor = false;
    playerI = GameObject.FindGameObjectWithTag("Player").GetComponent(Inventory);
       
}

function DidLockCursor () {
       Debug.Log("Locking cursor");
       
       // Disable the button
       //guiTexture.enabled = false;
}

// Called when the cursor is being unlocked
// or by a script calling Screen.lockCursor = false;
function DidUnlockCursor () {
       Debug.Log("Unlocking cursor");
    Time.timeScale = 0;
       // Show the button again
        
      // guiTexture.enabled = true;
}

private var wasLocked = false;

function Update () {
       // In standalone player we have to provide our own key
       // input for unlocking the cursor
          
          
       var playerI = GameObject.FindGameObjectWithTag("Player").GetComponent(Inventory);
       if (Input.GetKeyDown ("escape"))
       {
        playerI.bag = true;
           Screen.lockCursor = false;
              
       }

       // Did we lose cursor locking?
       // eg. because the user pressed escape
       // or because he switched to another application
       // or because some script set Screen.lockCursor = false;
       if (!Screen.lockCursor && wasLocked) {
           wasLocked = false;
                
           DidUnlockCursor();
       }
       // Did we gain cursor locking?
       else if (Screen.lockCursor && !wasLocked) {
           wasLocked = true;
           playerI.bag = false;
           DidLockCursor ();
       }
}

function OnGUI(){
    if(Screen.lockCursor == false){
     if(GUI.Button(Rect(Screen.width -120, 20, 100, 30), "Lock Cursor" )){
        
         
      Screen.lockCursor = true;
      Time.timeScale = 1;
         
     }    
    }
       
}


Сообщение отредактировал icaros - Вс, 23 Фев 2014, 11:38
 
СообщениеУ меня есть скрипты и надо сделать так чтобы при нажатии на клавишу открывался инвентарь и октлючался определённый скрипт, а после отключения инвентаря скрипт снова включался
Вот скрипты:
Код
#pragma strict
import System.Collections.Generic;

//ask for max weight
var maxWeight : float = 20;
var currentWeight : float = 0;

var soundDrop : AudioClip;

var playerInventory : List.<ItemClass> = new List.<ItemClass>();
var scrollView : Vector2;
var isOpen : boolean;
var health : float = 50;
var bag : boolean;

var guiWait : boolean = false;

var myWater : float = 0;

var myHunger : float = 0;

var healthGet = GameObject.FindGameObjectWithTag("Player").GetComponent(PlayerDamageNew);
var hungerScript = GameObject.FindGameObjectWithTag("Player").GetComponent(hunger);

var playerScript = GameObject.FindGameObjectWithTag("Player").GetComponent(RigidController);

function Start()
{

    healthGet = GameObject.FindGameObjectWithTag("Player").GetComponent(PlayerDamageNew);
    hungerScript = GameObject.FindGameObjectWithTag("Player").GetComponent(hunger);
    playerScript = GameObject.FindGameObjectWithTag("Player").GetComponent(RigidController);
       
}

function Update () {

    //healthGet = GameObject.FindGameObjectWithTag("Player").GetComponent(PlayerDamageNew);
       
    //hungerScript = GameObject.FindGameObjectWithTag("Player").GetComponent(hunger);
    //health = healthGet.hitPoints;

}

function OnGUI()
{

    if (bag)
    {
       
       
        
     GUILayout.BeginArea(Rect(Screen.width/2 - 50, Screen.height/2-50, 100,100));
        
     GUILayout.Box ("hitPoints: " + Mathf.Round(health));
        
     GUILayout.EndArea();
        
     ///[Find inventory script draw]///////
     GUILayout.BeginArea(Rect(Screen.width/2 - 60, Screen.height/2-25, 125,100));
        
     GUILayout.Box ("Weight: " + Mathf.Round(currentWeight) + "/" + Mathf.Round(maxWeight));
        
     GUILayout.EndArea();
        
        
     GUILayout.BeginArea(Rect(Screen.width/2 - 50, Screen.height/2, 100,100));
     if (GUILayout.Button("Inventory"))
     {
         
       isOpen = true;
         
        
     }
     GUILayout.EndArea();
        
        
        
     if (isOpen)
     {
        
         
         
         
      GUILayout.BeginArea(Rect(Screen.width - 600, 0, 100,100));
      if (GUILayout.Button("CLOSE"))
      {
       isOpen = false;
      }
      GUILayout.EndArea();
         
      GUILayout.BeginArea(Rect(Screen.width - 500, 0, 500,500));
      scrollView = GUILayout.BeginScrollView(scrollView, GUILayout.Width(500), GUILayout.Height(500));
      for(var x = 0; x < playerInventory.Count; x++){
      GUILayout.BeginHorizontal();
         
         
      if(GUILayout.Button(playerInventory[x].icon))
       {
        //playerInventory.RemoveAt(x);
           
       }
       if (GUILayout.Button("Drop Item"))
       {    
        Instantiate(playerInventory[x].myDropPrefab, transform.position, Quaternion.identity);
        currentWeight -= playerInventory[x].myWeight;
        // AudioSource.PlayClipAtPoint(soundDrop, transform.position);
        playerInventory.RemoveAt(x);
           
       }
       if (GUILayout.Button("Use Item"))
       {    
           
        healthGet.hitPoints += playerInventory[x].healthInc;
           
        hungerScript.water += playerInventory[x].waterInc;
           
        playerScript.stanima += playerInventory[x].stanimaInc;
           
        currentWeight -= playerInventory[x].myWeight;
           
        hungerScript.hunger += playerInventory[x].hungerInc;
           
        //AudioSource.PlayClipAtPoint(playerInventory[x].soundUse, transform.position);
           
        playerInventory.RemoveAt(x);
       }
         
      GUILayout.Box(playerInventory[x].name);
      GUILayout.EndHorizontal();
      GUILayout.Box(playerInventory[x].description);
         
      }
      GUILayout.EndScrollView();
      GUILayout.EndArea();
     }
    }

}


Код
#pragma strict

var playerI : Component;

function Start(){
    Time.timeScale = 0;
    Screen.lockCursor = false;
    playerI = GameObject.FindGameObjectWithTag("Player").GetComponent(Inventory);
       
}

function DidLockCursor () {
       Debug.Log("Locking cursor");
       
       // Disable the button
       //guiTexture.enabled = false;
}

// Called when the cursor is being unlocked
// or by a script calling Screen.lockCursor = false;
function DidUnlockCursor () {
       Debug.Log("Unlocking cursor");
    Time.timeScale = 0;
       // Show the button again
        
      // guiTexture.enabled = true;
}

private var wasLocked = false;

function Update () {
       // In standalone player we have to provide our own key
       // input for unlocking the cursor
          
          
       var playerI = GameObject.FindGameObjectWithTag("Player").GetComponent(Inventory);
       if (Input.GetKeyDown ("escape"))
       {
        playerI.bag = true;
           Screen.lockCursor = false;
              
       }

       // Did we lose cursor locking?
       // eg. because the user pressed escape
       // or because he switched to another application
       // or because some script set Screen.lockCursor = false;
       if (!Screen.lockCursor && wasLocked) {
           wasLocked = false;
                
           DidUnlockCursor();
       }
       // Did we gain cursor locking?
       else if (Screen.lockCursor && !wasLocked) {
           wasLocked = true;
           playerI.bag = false;
           DidLockCursor ();
       }
}

function OnGUI(){
    if(Screen.lockCursor == false){
     if(GUI.Button(Rect(Screen.width -120, 20, 100, 30), "Lock Cursor" )){
        
         
      Screen.lockCursor = true;
      Time.timeScale = 1;
         
     }    
    }
       
}

Автор - icaros
Дата добавления - 23 Фев 2014 в 11:31
HunjethДата: Вт, 25 Фев 2014, 10:40 | Сообщение # 2
 
Сообщений: 354
Награды: 1
Репутация: 112
Статус: Offline
вот впример:
Код

var myScript : ScriptName;

function Update() {  
     if (Input.GetKeyUp(KeyCode.LeftShift)) {
         isOpen = !isOpen;
         myScript.enabled = !isOpen;
     }
}


Сообщение отредактировал Hunjeth - Вт, 25 Фев 2014, 18:35
 
Сообщениевот впример:
Код

var myScript : ScriptName;

function Update() {  
     if (Input.GetKeyUp(KeyCode.LeftShift)) {
         isOpen = !isOpen;
         myScript.enabled = !isOpen;
     }
}

Автор - Hunjeth
Дата добавления - 25 Фев 2014 в 10:40
AltairДата: Вт, 25 Фев 2014, 14:06 | Сообщение # 3
Unity 3D PRO Developer
 
Сообщений: 758
Награды: 6
Репутация: 195
Статус: Offline
icaros, ты хоть понимаешь как они работают надеюсь ?
 
Сообщениеicaros, ты хоть понимаешь как они работают надеюсь ?

Автор - Altair
Дата добавления - 25 Фев 2014 в 14:06
  • Страница 1 из 1
  • 1
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2025