Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //nesse exemplo eu vou usar o cpstream do matraka..: http://zueras-server.110mb.com/cpstream.zip
- //no topo coloca as vari�veis dos menus...:
- new Menu:menu1;
- new Menu:menu2;
- new Menu:menu3;
- //variavel do checkpoint:
- new cp1;
- //ai voc� no OnGameModeInit coloca a parte que cria os menus e o checkpoint
- //cria o menu Principal, que seleciona "Carros" ou "Motos":
- menu1 = CreateMenu("Veiculos", 1/*uma coluna apenas*/, 20/*x*/, 120/*y*/, 150/*tamanho da coluna 1...*/);
- AddMenuItem(menu1, 1/*coluna 1, adiciona � coluna 1*/, "Carros"); //menu1 id 0
- AddMenuItem(menu1, 1/*primeira coluna...*/, "Motos"); //menu1 id 1
- //agora vamos criar o menu da sele��o "Carros":
- menu2 = CreateMenu("Carros", 2/*2 colunas*/, 20/*x*/, 120/*y*/, 150/*tamanho da coluna 1*/, 40/*tamanho da coluna 2*/);
- SetMenuColumnHeader(menu2, 1/*coluna 1*/, "Veiculo"); //adiciona o nome da primeira coluna...
- SetMenuColumnHeader(menu2, 2/*coluna 2*/, "Custo"); //adiciona o nome da segunda coluna...
- AddMenuItem(menu2, 1/*coluna 1*/, "Infernus"); //adiciona o item "Infernus" � coluna 1 da primeira linha... menu2 id 0
- AddMenuItem(menu2, 2/*coluna 2*/, "$1000"); //adiciona o $1000 na mesma linha do "Infernus", (menu2 id 0) ent�o fica assim:
- //Carros
- //Veiculo Custo
- //Infernus $1000 //id 0
- //agora eu adiciono um outro carro em outra linha:
- AddMenuItem(menu2, 1/*coluna 1*/, "Cheetah"); //adiciona o item "Cheetah" � coluna 1 da segunda linha... menu 2 id 1
- AddMenuItem(menu2, 2/*coluna 2*/, "$1500"); //adiciona o "$1500" � coluna 2 da linha 2 (a linha do "Cheetah")... menu 2 id 1
- //agora o menu ta assim:
- //Carros
- //Veiculo Custo
- //Infernus $1000 //id 0
- //Cheetah $1500 //id 1
- //agora voc� ja sabe adicionar mais...
- //agora vamos criar o menu da sele��o "Motos":
- menu3 = CreateMenu("Motos", 2/*2 colunas*/, 20/*x*/, 120/*y*/, 150/*tamanho da coluna 1*/, 40/*tamanho da coluna 2*/);
- SetMenuColumnHeader(menu3, 1/*coluna 1*/, "Veiculo"); //adiciona o nome da primeira coluna...
- SetMenuColumnHeader(menu3, 2/*coluna 2*/, "Custo"); //adiciona o nome da segunda coluna...
- AddMenuItem(menu3, 1/*coluna 1*/, "NRG-500"); //adiciona o item "NRG-500" � coluna 1 da primeira linha... menu3 id 0
- AddMenuItem(menu3, 2/*coluna 2*/, "$500"); //adiciona o $500 na mesma linha do "NRG-500", (menu3 id 0) ent�o fica assim:
- //Motos
- //Veiculo Custo
- //nrg-500 $500 //id 0
- //agora eu adiciono um outro carro em outra linha:
- AddMenuItem(menu3, 1/*coluna 1*/, "FCR-900"); //adiciona o item "FC-900" � coluna 1 da segunda linha... menu 3 id 1
- AddMenuItem(menu3, 2/*coluna 2*/, "$350"); //adiciona o "$350" � coluan 2 da linha 2 (a linha do "FCR-900")... menu 3 id 1
- //agora o menu ta assim:
- //Motos
- //Veiculo Custo
- //NRG-500 $500 //id 0
- //FCR-900 $350 //id 1
- //agora voc� ja sabe adicionar mais...
- //todos os menus foram criados, agora vou criar o checkpoint:
- cp1 = CPS_AddCheckpoint(123.0/*x*/, 123.0/*y*/, 10.0/*z*/, 3.0/*tamanho*/, 40/*distancia de spawn*/);
- //criado...
- //agora vamos mostrar o menu pra quem entrar no checkpoint:
- //coloca no OnPlayerEnterCheckpoint isso:
- new checkpointid = CPS_GetPlayerCheckpoint(playerid);
- if(checkpointid == cp1) //verifica se o checkpoint � o "cp1"
- {
- ShowMenuForPlayer(menu1, playerid); //mostra o menu pro player
- TogglePlayerControllable(playerid, 0); //congela ele
- }
- //agora, vamos dar "a��o" aos itens do menu, pra quando clicar em cada um, acontecer algo..:
- //coloque o c�digo abaixo no seu OnPlayerSelectedMenuRow:
- new current = GetPlayerMenu(playerid);
- if(current == menu1) //verifica se o player est� no menu 1 (Veiculos)
- {
- switch(row)
- {
- case 0: //caso o player seleciona o item de ID 0 do menu1 (Carros)
- {
- HideMenuForPlayer(current, playerid); //oculta o menu atual que ele ta (o Veiculos)
- ShowMenuForPlayer(menu2, playerid); //mostra o menu2 pro player (o menu Carros)
- }
- case 1: //caso o player seleciona o item de ID 1 do menu1 (Motos)
- {
- HideMenuForPlayer(current, playerid); //oculta o menu atual que ele ta (o Veiculos)
- ShowMenuForPlayer(menu3, playerid); //mostra o menu3 pro player (o menu Motos)
- }
- }
- } //encerra se ele estiver no menu1...
- if(current == menu2) //agora verifica se o player est� no menu2 (Carros)
- {
- switch(row)
- {
- case 0: //caso o player selecione o item de ID 0 no menu2 (Infernus)
- {
- if(GetPlayerMoney(playerid) >= 1000) //verifica se o player tem 1000 reais pra cima
- {
- HideMenuForPlayer(current, playerid); //oculta o menu...
- new Float:x, Float:y, Float:z, Float:a);
- GetPlayerPos(playerid, x, y, z); //captura a pos do player
- GetPlayerFacingAngle(playerid, a); //captura o angulo do player
- new veiculo = CreateVehicle(411, x, y, z, a, -1, -1); //cria um infernus
- PutPlayerInVehicle(playerid, veiculo, 0); //coloca ele como motorista do infernus
- GivePlayerMoney(playerid, -1000); //tira 1000 reais do player...
- } else { //caso ele n�o tenha 1000 reais...:
- SendClientMessage(playerid, 0xFF0000AA, "Sem grana!");
- }
- }
- case 1: //caso o player selecione o item de ID 1 no menu2 (Cheetah)
- {
- if(GetPlayerMoney(playerid) >= 1500) //verifica se o player tem 1500 reais pra cima
- {
- HideMenuForPlayer(current, playerid); //oculta o menu...
- new Float:x, Float:y, Float:z, Float:a);
- GetPlayerPos(playerid, x, y, z); //captura a pos do player
- GetPlayerFacingAngle(playerid, a); //captura o angulo do player
- new veiculo = CreateVehicle(415, x, y, z, a, -1, -1); //cria um cheetah
- PutPlayerInVehicle(playerid, veiculo, 0); //coloca ele como motorista do cheetah
- GivePlayerMoney(playerid, -1500); //tira 1500 reais do player...
- } else { //caso ele n�o tenha 1500 reais...:
- SendClientMessage(playerid, 0xFF0000AA, "Sem grana!");
- }
- }
- }
- } //encerra o menu2
- //agora entra o menu das motos:
- if(current == menu3) //agora verifica se o player est� no menu3 (Motos)
- {
- switch(row)
- {
- case 0: //caso o player selecione o item de ID 0 no menu3 (NRG-500)
- {
- if(GetPlayerMoney(playerid) >= 500) //verifica se o player tem 500 reais pra cima
- {
- HideMenuForPlayer(current, playerid); //oculta o menu...
- new Float:x, Float:y, Float:z, Float:a);
- GetPlayerPos(playerid, x, y, z); //captura a pos do player
- GetPlayerFacingAngle(playerid, a); //captura o angulo do player
- new veiculo = CreateVehicle(522, x, y, z, a, -1, -1); //cria uma NRG-500
- PutPlayerInVehicle(playerid, veiculo, 0); //coloca ele como motorista da NRG-500
- GivePlayerMoney(playerid, -500); //tira 500 reais do player...
- } else { //caso ele n�o tenha 500 reais...:
- SendClientMessage(playerid, 0xFF0000AA, "Sem grana!");
- }
- }
- case 1: //caso o player selecione o item de ID 1 no menu3 (FCR-900)
- {
- if(GetPlayerMoney(playerid) >= 350) //verifica se o player tem 350 reais pra cima
- {
- HideMenuForPlayer(current, playerid); //oculta o menu...
- new Float:x, Float:y, Float:z, Float:a);
- GetPlayerPos(playerid, x, y, z); //captura a pos do player
- GetPlayerFacingAngle(playerid, a); //captura o angulo do player
- new veiculo = CreateVehicle(521, x, y, z, a, -1, -1); //cria uma FCR-900
- PutPlayerInVehicle(playerid, veiculo, 0); //coloca ele como motorista da FCR-900
- GivePlayerMoney(playerid, -350); //tira 350 reais do player...
- } else { //caso ele n�o tenha 350 reais...:
- SendClientMessage(playerid, 0xFF0000AA, "Sem grana!");
- }
- }
- }
- } //encerra o menu3
- //pronto, terminamos de fazer a a��o dos itens dos menus, agora, como o player sai do menu?
- //temos que fazer pra quando ele apertar F ou ENTER, ele saia do menu, simples:
- //coloque isso no OnPlayerKeyStateChnage:
- if(GetPlayerMenu(playerid) == menu1 || GetPlayerMenu(playerid) == menu2 || GetPlayerMenu(playerid) == menu3) //verifica se ele ta no menu1, menu2 ou menu3
- {
- if(newkeys == KEY_RETURN)
- {
- if(GetPlayerMenu(playerid) == menu1) //verifica se ele ta no menu1
- {
- HideMenuForPlayer(GetPlayerMenu(playerid), playerid); //oculta o menu
- } else if(GetPlayerMenu(playerid) == menu2 || getplayerMenu(playerid) == menu3) //verifica se ele ta no menu 2 ou no menu 3
- {
- HideMenuForPlayer(GetPlayerMenu(playerid), playerid); //oculta o menu
- ShowMenuForPlayer(menu1, playerid); //mostra o menu 1 pro player (menu inicial)
- }
- }
- }
- //prontinho, agora voc� tem um sistema completo de menu e checkpoint...
Add Comment
Please, Sign In to add comment