Seguei ai o também script do menu Terraria pessoal é só copiar e colar no seu Monodevelop!! =]
//MENU TERRARIA
#pragma strict
var TamanhoPTelaH : float;
var TamanhoPTelaV : float;
var DeltaV : float;
var DeltaH : float;
var ExibeMenu : boolean;
var PegaCelula : boolean;
class Celula{
var IndiceItem: int[];
var Quantidade: int[];
}
var Inventario: Celula;
var CelulaAux: Celula;
var CelulaAux2: Celula;
var AuxItens : BancoDadosItens;
var indiceAux: int;
function Start () {
indiceAux = -1;
ExibeMenu=false;
Inventario.IndiceItem = new int[40];
Inventario.Quantidade = new int[40];
CelulaAux.IndiceItem = new int[1];
CelulaAux.Quantidade = new int[1];
CelulaAux2.IndiceItem = new int[1];
CelulaAux2.Quantidade = new int[1];
AuxItens = transform.GetComponent("BancoDadosItens");
for (var i :int = 0 ; i<40; i++)
{
Inventario.IndiceItem[i] = Random.Range(0,3);
if (AuxItens.RetornaEstoqueMax(Inventario.IndiceItem[i])>1)
Inventario.Quantidade[i] = Random.Range(50,70);
else
Inventario.Quantidade[i] = 1;
}
}
function Update () {
if (Input.GetKeyDown(KeyCode.Escape))
{
if (PegaCelula && ExibeMenu)
{
Inventario.IndiceItem[indiceAux] = CelulaAux2.IndiceItem[0];
Inventario.Quantidade[indiceAux] = CelulaAux2.Quantidade[0];
}
ExibeMenu = !ExibeMenu;
PegaCelula=false;
}
}
function OnGUI() {
var i : int;
var j : int;
var indiceInventario: int;
TamanhoPTelaH = Screen.width/15;
TamanhoPTelaV = Screen.height/15;
DeltaV = Screen.height/50;
DeltaH = Screen.width/2 - (TamanhoPTelaH*5);
for (i=0;i<10;i++)
{
if (Inventario.Quantidade[i]>1)
{
GUI.Label(Rect(DeltaH+TamanhoPTelaH*i,0,TamanhoPTelaH,TamanhoPTelaV),"x"+Inventario.Quantidade[i]);
}
if (GUI.Button(Rect(DeltaH+TamanhoPTelaH*i,0,TamanhoPTelaH,TamanhoPTelaV),AuxItens.RetornaNomeItem(Inventario.IndiceItem[i])))
{
print(i);
if (ExibeMenu)
{
FPegaCelula (Inventario.IndiceItem[i],Inventario.Quantidade[i],i);
PegaCelula=true;
print(indiceInventario);
}
}
}
if (ExibeMenu)
{
for (i=1;i<4;i++)
{
for (j=0;j<10;j++)
{
indiceInventario = j+(i*10);
if (Inventario.Quantidade[indiceInventario]>1)
{
GUI.Label(Rect(DeltaH+TamanhoPTelaH*j,DeltaV+TamanhoPTelaV*i,TamanhoPTelaH,TamanhoPTelaV),"x"+Inventario.Quantidade[indiceInventario]);
}
if (GUI.Button(Rect(DeltaH+TamanhoPTelaH*j,DeltaV+TamanhoPTelaV*i,TamanhoPTelaH,TamanhoPTelaV),AuxItens.RetornaNomeItem(Inventario.IndiceItem[indiceInventario])))
{
FPegaCelula (Inventario.IndiceItem[indiceInventario],Inventario.Quantidade[indiceInventario],indiceInventario);
if (!PegaCelula)
PegaCelula=true;
print(indiceInventario);
}
}
}
}
if (PegaCelula)
{
if (CelulaAux.IndiceItem[0] < 0) PegaCelula = false;
GUI.Label (Rect(Input.mousePosition.x,Screen.height-Input.mousePosition.y,TamanhoPTelaH,TamanhoPTelaV),"x"+CelulaAux.Quantidade[0]);
GUI.Button(Rect(Input.mousePosition.x,Screen.height-Input.mousePosition.y,TamanhoPTelaH,TamanhoPTelaV),AuxItens.RetornaNomeItem(CelulaAux.IndiceItem[0]));
}
}
function FPegaCelula ( indice: int, quantidade: int, indiceCelulaInventario: int)
{
indiceAux = indiceCelulaInventario;
CelulaAux.IndiceItem[0] = indice;
CelulaAux.Quantidade[0] = quantidade;
if (!PegaCelula)
{
Inventario.IndiceItem[indiceCelulaInventario] = -1;
Inventario.Quantidade[indiceCelulaInventario] = -1;
}
else
{
if (CelulaAux2.IndiceItem[0]==CelulaAux.IndiceItem[0] && AuxItens.RetornaEstoqueMax(CelulaAux2.IndiceItem[0])>1)
{
if ((CelulaAux2.Quantidade[0] + CelulaAux.Quantidade[0])<=AuxItens.RetornaEstoqueMax(CelulaAux2.IndiceItem[0]))
{
CelulaAux2.Quantidade[0] += CelulaAux.Quantidade[0];
Inventario.IndiceItem[indiceCelulaInventario] = CelulaAux2.IndiceItem[0];
Inventario.Quantidade[indiceCelulaInventario] = CelulaAux2.Quantidade[0];
CelulaAux.IndiceItem[0] = -1;
}
else
{
CelulaAux.Quantidade[0] = (CelulaAux2.Quantidade[0] + CelulaAux.Quantidade[0]) - AuxItens.RetornaEstoqueMax(CelulaAux2.IndiceItem[0]);
CelulaAux2.Quantidade[0] = AuxItens.RetornaEstoqueMax(CelulaAux2.IndiceItem[0]);
Inventario.IndiceItem[indiceCelulaInventario] = CelulaAux2.IndiceItem[0];
Inventario.Quantidade[indiceCelulaInventario] = CelulaAux2.Quantidade[0];
}
}
else
{
Inventario.IndiceItem[indiceCelulaInventario] = CelulaAux2.IndiceItem[0];
Inventario.Quantidade[indiceCelulaInventario] = CelulaAux2.Quantidade[0];
}
}
CelulaAux2.IndiceItem[0] = CelulaAux.IndiceItem[0];
CelulaAux2.Quantidade[0] = CelulaAux.Quantidade[0];
}
var TamanhoPTelaH : float;
var TamanhoPTelaV : float;
var DeltaV : float;
var DeltaH : float;
var ExibeMenu : boolean;
var PegaCelula : boolean;
class Celula{
var IndiceItem: int[];
var Quantidade: int[];
}
var Inventario: Celula;
var CelulaAux: Celula;
var CelulaAux2: Celula;
var AuxItens : BancoDadosItens;
var indiceAux: int;
function Start () {
indiceAux = -1;
ExibeMenu=false;
Inventario.IndiceItem = new int[40];
Inventario.Quantidade = new int[40];
CelulaAux.IndiceItem = new int[1];
CelulaAux.Quantidade = new int[1];
CelulaAux2.IndiceItem = new int[1];
CelulaAux2.Quantidade = new int[1];
AuxItens = transform.GetComponent("BancoDadosItens");
for (var i :int = 0 ; i<40; i++)
{
Inventario.IndiceItem[i] = Random.Range(0,3);
if (AuxItens.RetornaEstoqueMax(Inventario.IndiceItem[i])>1)
Inventario.Quantidade[i] = Random.Range(50,70);
else
Inventario.Quantidade[i] = 1;
}
}
function Update () {
if (Input.GetKeyDown(KeyCode.Escape))
{
if (PegaCelula && ExibeMenu)
{
Inventario.IndiceItem[indiceAux] = CelulaAux2.IndiceItem[0];
Inventario.Quantidade[indiceAux] = CelulaAux2.Quantidade[0];
}
ExibeMenu = !ExibeMenu;
PegaCelula=false;
}
}
function OnGUI() {
var i : int;
var j : int;
var indiceInventario: int;
TamanhoPTelaH = Screen.width/15;
TamanhoPTelaV = Screen.height/15;
DeltaV = Screen.height/50;
DeltaH = Screen.width/2 - (TamanhoPTelaH*5);
for (i=0;i<10;i++)
{
if (Inventario.Quantidade[i]>1)
{
GUI.Label(Rect(DeltaH+TamanhoPTelaH*i,0,TamanhoPTelaH,TamanhoPTelaV),"x"+Inventario.Quantidade[i]);
}
if (GUI.Button(Rect(DeltaH+TamanhoPTelaH*i,0,TamanhoPTelaH,TamanhoPTelaV),AuxItens.RetornaNomeItem(Inventario.IndiceItem[i])))
{
print(i);
if (ExibeMenu)
{
FPegaCelula (Inventario.IndiceItem[i],Inventario.Quantidade[i],i);
PegaCelula=true;
print(indiceInventario);
}
}
}
if (ExibeMenu)
{
for (i=1;i<4;i++)
{
for (j=0;j<10;j++)
{
indiceInventario = j+(i*10);
if (Inventario.Quantidade[indiceInventario]>1)
{
GUI.Label(Rect(DeltaH+TamanhoPTelaH*j,DeltaV+TamanhoPTelaV*i,TamanhoPTelaH,TamanhoPTelaV),"x"+Inventario.Quantidade[indiceInventario]);
}
if (GUI.Button(Rect(DeltaH+TamanhoPTelaH*j,DeltaV+TamanhoPTelaV*i,TamanhoPTelaH,TamanhoPTelaV),AuxItens.RetornaNomeItem(Inventario.IndiceItem[indiceInventario])))
{
FPegaCelula (Inventario.IndiceItem[indiceInventario],Inventario.Quantidade[indiceInventario],indiceInventario);
if (!PegaCelula)
PegaCelula=true;
print(indiceInventario);
}
}
}
}
if (PegaCelula)
{
if (CelulaAux.IndiceItem[0] < 0) PegaCelula = false;
GUI.Label (Rect(Input.mousePosition.x,Screen.height-Input.mousePosition.y,TamanhoPTelaH,TamanhoPTelaV),"x"+CelulaAux.Quantidade[0]);
GUI.Button(Rect(Input.mousePosition.x,Screen.height-Input.mousePosition.y,TamanhoPTelaH,TamanhoPTelaV),AuxItens.RetornaNomeItem(CelulaAux.IndiceItem[0]));
}
}
function FPegaCelula ( indice: int, quantidade: int, indiceCelulaInventario: int)
{
indiceAux = indiceCelulaInventario;
CelulaAux.IndiceItem[0] = indice;
CelulaAux.Quantidade[0] = quantidade;
if (!PegaCelula)
{
Inventario.IndiceItem[indiceCelulaInventario] = -1;
Inventario.Quantidade[indiceCelulaInventario] = -1;
}
else
{
if (CelulaAux2.IndiceItem[0]==CelulaAux.IndiceItem[0] && AuxItens.RetornaEstoqueMax(CelulaAux2.IndiceItem[0])>1)
{
if ((CelulaAux2.Quantidade[0] + CelulaAux.Quantidade[0])<=AuxItens.RetornaEstoqueMax(CelulaAux2.IndiceItem[0]))
{
CelulaAux2.Quantidade[0] += CelulaAux.Quantidade[0];
Inventario.IndiceItem[indiceCelulaInventario] = CelulaAux2.IndiceItem[0];
Inventario.Quantidade[indiceCelulaInventario] = CelulaAux2.Quantidade[0];
CelulaAux.IndiceItem[0] = -1;
}
else
{
CelulaAux.Quantidade[0] = (CelulaAux2.Quantidade[0] + CelulaAux.Quantidade[0]) - AuxItens.RetornaEstoqueMax(CelulaAux2.IndiceItem[0]);
CelulaAux2.Quantidade[0] = AuxItens.RetornaEstoqueMax(CelulaAux2.IndiceItem[0]);
Inventario.IndiceItem[indiceCelulaInventario] = CelulaAux2.IndiceItem[0];
Inventario.Quantidade[indiceCelulaInventario] = CelulaAux2.Quantidade[0];
}
}
else
{
Inventario.IndiceItem[indiceCelulaInventario] = CelulaAux2.IndiceItem[0];
Inventario.Quantidade[indiceCelulaInventario] = CelulaAux2.Quantidade[0];
}
}
CelulaAux2.IndiceItem[0] = CelulaAux.IndiceItem[0];
CelulaAux2.Quantidade[0] = CelulaAux.Quantidade[0];
}
Seguei ai o vídeo referente ao script:
Muito bom
ResponderExcluirMuito bom
ResponderExcluirO meu deu erro alguém me ajude :(
ResponderExcluirAssets/Banco De Items/Menu INV.js(26,17): BCE0018: The name 'BancoDadosItens' does not denote a valid type ('not found'). Did you mean 'UnityEditor.BoneState'?