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 InventarioReceitas: Celula;
var CelulaAux: Celula;
var CelulaAux2: Celula;
var SomaItensD: Celula;
var AuxItens : BancoDadosItens;
var AuxReceitas : BancoDadosReceitas;
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");
AuxReceitas = transform.GetComponent("BancoDadosReceitas");
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];
}
ExibeListaCrafts();
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];
}
function ExibeListaCrafts()
{
SomaItensD.IndiceItem = new int[AuxItens.Itens.Length];
SomaItensD.Quantidade = new int[AuxItens.Itens.Length];
InventarioReceitas.IndiceItem = new int[AuxReceitas.Receitas.Length];
InventarioReceitas.Quantidade = new int[AuxReceitas.Receitas.Length];
var PodeCraftar: boolean;
var TemItem: boolean;
for (var i: int =0;i<AuxItens.Itens.Length;i++)
{
SomaItensD.IndiceItem[i] = AuxItens.Itens[i].Indice;
SomaItensD.Quantidade[i] = 0;
for (var j: int =0;j<Inventario.IndiceItem.Length;j++)
{
if (SomaItensD.IndiceItem[i] == Inventario.IndiceItem[j] )
{
SomaItensD.Quantidade[i] += Inventario.Quantidade[j];
}
}
}
for (i=0; i<AuxReceitas.Receitas.Length;i++)
{
PodeCraftar = true;
TemItem = false;;
for (j = 0;j<AuxReceitas.Receitas[i].IndiceDoItem.Length && PodeCraftar==true ;j++)
{
for (var k: int =0;k<SomaItensD.IndiceItem.Length && PodeCraftar==true;k++)
{
if (SomaItensD.IndiceItem[k] == AuxReceitas.Receitas[i].IndiceDoItem[j])
{
TemItem=true;
if (SomaItensD.Quantidade[k] < AuxReceitas.Receitas[i].QuantiDoItem[j])
{
PodeCraftar = false;
}
}
}
if (!TemItem)
{
PodeCraftar = false;
}
}
if (PodeCraftar)
{
InventarioReceitas.IndiceItem[i] = AuxReceitas.Receitas[i].IndiceDoItemF;
InventarioReceitas.Quantidade[i] = AuxReceitas.Receitas[i].QuantiDoItemF;
}
else
{
InventarioReceitas.IndiceItem[i] = -1;
InventarioReceitas.Quantidade[i] = -1;
}
}
}
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 InventarioReceitas: Celula;
var CelulaAux: Celula;
var CelulaAux2: Celula;
var SomaItensD: Celula;
var AuxItens : BancoDadosItens;
var AuxReceitas : BancoDadosReceitas;
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");
AuxReceitas = transform.GetComponent("BancoDadosReceitas");
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];
}
ExibeListaCrafts();
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];
}
function ExibeListaCrafts()
{
SomaItensD.IndiceItem = new int[AuxItens.Itens.Length];
SomaItensD.Quantidade = new int[AuxItens.Itens.Length];
InventarioReceitas.IndiceItem = new int[AuxReceitas.Receitas.Length];
InventarioReceitas.Quantidade = new int[AuxReceitas.Receitas.Length];
var PodeCraftar: boolean;
var TemItem: boolean;
for (var i: int =0;i<AuxItens.Itens.Length;i++)
{
SomaItensD.IndiceItem[i] = AuxItens.Itens[i].Indice;
SomaItensD.Quantidade[i] = 0;
for (var j: int =0;j<Inventario.IndiceItem.Length;j++)
{
if (SomaItensD.IndiceItem[i] == Inventario.IndiceItem[j] )
{
SomaItensD.Quantidade[i] += Inventario.Quantidade[j];
}
}
}
for (i=0; i<AuxReceitas.Receitas.Length;i++)
{
PodeCraftar = true;
TemItem = false;;
for (j = 0;j<AuxReceitas.Receitas[i].IndiceDoItem.Length && PodeCraftar==true ;j++)
{
for (var k: int =0;k<SomaItensD.IndiceItem.Length && PodeCraftar==true;k++)
{
if (SomaItensD.IndiceItem[k] == AuxReceitas.Receitas[i].IndiceDoItem[j])
{
TemItem=true;
if (SomaItensD.Quantidade[k] < AuxReceitas.Receitas[i].QuantiDoItem[j])
{
PodeCraftar = false;
}
}
}
if (!TemItem)
{
PodeCraftar = false;
}
}
if (PodeCraftar)
{
InventarioReceitas.IndiceItem[i] = AuxReceitas.Receitas[i].IndiceDoItemF;
InventarioReceitas.Quantidade[i] = AuxReceitas.Receitas[i].QuantiDoItemF;
}
else
{
InventarioReceitas.IndiceItem[i] = -1;
InventarioReceitas.Quantidade[i] = -1;
}
}
}
Seguei ai o vídeo referente ao script:
Nenhum comentário:
Postar um comentário