-
Total de itens
24 -
Registro em
-
Última visita
Tudo que ViniciuszXL postou
-
dúvida resolvida ERRO Could not pass event BlockPlaceEvent
tópico respondeu ao S0_Dev de ViniciuszXL em Dúvidas resolvidas
Amigo, seguinte. o "if (e.getPlayer instanceof Player)" não é necessário. Pois, você já está pegando o jogador. Não é necessário verificar se ele é realmente uma entidade jogador. Você só faria essa checagem caso pegasse uma entidade que não deixa explícito que é um jogador. Exemplo: "e.getEntity()", "e.getWhoClicked()", "e.getDamager()", entre outros. Nesse código onde você verifica o item do jogador se é nulo, você tem que fazer um return. Não é para continuar o código se o item em questão for nulo. O código ficaria assim: @EventHandler public void aoColocarBloco(BlockPlaceEvent e) { Player p = e.getPlayer(); ItemStack hand = p.getItemInHand(); if (hand == null || hand.getType == Material.AIR) // linha 5 return; if (hand.hasItemMeta() && hand.getItemMeta().hasDisplayName()) { if (hand.getItemMeta().getDisplayName().equalsIgnoreCase("§cMaquina sangrenta")) { // linha 9 Block block = e.getBlockPlaced(); block.setMetadata("Maquina", new FixedMetadataValue(main, 10)); } } } Agora vamos revisar as modificações no código que eu fiz. Na "linha 5" eu implementei corretamente a checagem do item, caso o item da mão do jogador fosse nulo ou ar, na linha seguinte eu desse um return e não seguisse mais adiante no código. Você colocaste para verificar se o item for nulo ou ar, continuasse o código. Isso está errado. Pois logo adiante ele faria uma verificação se aquele item na mão do jogador tivesse uma ItemMeta e um nome de Display. E não tem como verificar algo de uma coisa inexistente né? Então... seguindo a lógica, você tem que entender um pouco das verificações e o que o código tá escrito e o que ele irá fazer. Não adianta colocar ele e rodar para funcionar, sendo que você não entendeu ele. Essa linha de código que o moderador enviou, faz com que se a condição for verdadeira (que está dentro dos parênteses e dentro de um if), ele irá fazer o que estará dentro daquele if. Caso eu fosse arrumar o seu código mudando apenas essa parte da condição, ficaria assim a nova linha: "if (hand != null && hand.getType == Material.BRICK)", onde na primeira verificação, ele irá ver se o item não é nulo, e seguindo da 2º verificação, se o material é do tipo BRICK (tijolo). Na "linha 9" eu coloquei um "equalsIgnoreCase" pois a verificação fica até mais prática se houver alguma caractere maiúscula ou diferente. O "equals" é usado para caso você queira realmente que tenha todas as caracteres iguais. O nome da primeira no qual eu mencionei já até fala. Ele ignora os caps-lock da String e faz com que toda a String verificada será em minúscula. Assim, não ocorrendo erros de verificação caso você digite alguma caractere maiúscula. Recomendo para você dar uma revisada nos seus códigos e ter uma aulinha prática de alguns tutoriais no YouTube! Você tá errando muito em lógica de programação e análise de algoritmos... E isso é um problema futuramente para você amigo. Abraços! -
Opa amigo. Te mandarei um convite lá no Discord!
-
dúvida resolvida SimpleClans API para ScoreBoard
tópico respondeu ao S0_Dev de ViniciuszXL em Dúvidas resolvidas
Faz um runnable que atualiza. Mas, pegue a scoreboard do jogador já criada, e não crie uma nova. Deve ter um tutorial disso no youtube... -
dúvida resolvida SimpleClans API para ScoreBoard
tópico respondeu ao S0_Dev de ViniciuszXL em Dúvidas resolvidas
Nada ué. O código da linha 34 é justamente o erro. Você tem que incluir ele dentro de um if onde tenha certeza que o jogador tenha um clan. Eu expliquei acima. -
dúvida resolvida SimpleClans API para ScoreBoard
tópico respondeu ao S0_Dev de ViniciuszXL em Dúvidas resolvidas
Mano, primeiro. Não crie a Scoreboard no evento PlayerMoveEvent. Sério. Nunca crie uma scoreboard nesse evento. Ele criará uma scoboard nova para o jogador a cada movimento dele. Não importa se é pelo teclado, ou pelo mouse. Segundo, mude o evento "PlayerMoveEvent" para "PlayerJoinEvent", pois a scoreboard será criada para o jogador após ele entrar no servidor, e apenas 1(uma) vez. Terceiro, na linha 34, você está pegando a tag do clan do jogador... Isso está errado. Pois como você falou, ele para de funcionar pois ao tentar pegar a tag do clan de um jogador que está sem clan, ele está tentando pegar a tag de algo que não existe! (nulo). O que eu recomendaria para você é: na linha 43, ele faz a verificação de que se o clan do jogador for nulo, e na linha seguinte, colocar "Clan: Nenhum" na scoreboard do jogador. Isso está certo. Agora, na linha 45 onde tem um " } ", crie um else e dentro desse else, pegue o código da linha 34 e coloque lá. Aí é só mostrar na scoreboard do jogador a tag do clan dele. Com isso, não dará erro pois primeiro ele faz uma verificação (na linha 42/43) se o jogador está em um clan ou não. -
Cara... Seria mais fácil você já pegar a Array de uma config sem declarar novamente a Array. A exemplo disso, temos isso: ArrayList<String> array = this.getConfig().getStringList("nome"); itemStack.setLore(array); Ao pegar os valores de uma Array pelo "getStringList", ele já cria uma Array pra você e já implementa os valores nela no qual estão colocados na config. Não é necessário criar uma nova array nem nada, apenas é necessário chamar a classe construtor e colocando como valor o "this.getConfig().getStringList();" Na parte "nome" onde coloquei como valor na "getStringList", é onde está a array na config. Exemplo: tags: mensagens: - 'Teste' - 'Teste' Para pegar os valores de "mensagens", você utilizaria: getStringList("tags.mensagens"); Para cada ' : ' que contém na configuração, você o substitui por ' . ' na hora de pegar valores pelo FileConfiguration. Quando for obter um valor, a substituição do ' : ' pelo ' . ' só é necessária para quando tiver uma outra configuração dentro de uma configuração. A exemplo disso temos no caso da mensagens ali em cima. Aí no caso de "não substituição" temos assim: tags: - 'Teste' - 'Teste' Nesse caso não é necessário colocar o ' . ' para obter o valor de "tags". Somente colocando o nome da configuração, que no caso é "tags".
-
inativo Desenvolvedor disponível para trabalhos!
tópico respondeu ao ViniciuszXL de ViniciuszXL em Arquivos
Enviei um convite no Discord pra tu -
inativo Desenvolvedor disponível para trabalhos!
tópico respondeu ao ViniciuszXL de ViniciuszXL em Arquivos
Obrigado mano! ❤️ -
Olá! Me chamo Marcus Vinícius, estou cursando Ciências da Computação e sou Desenvolvedor Web e Software. As principais linguagens no qual eu trabalho é Java, MySQL e SQLite. Também possuo conhecimento em HTML5, CSS3, PHP, JavaScript, jQuery, AJAX, Maven, Git, Bootstrap e JavaFX. Atualmente estou disponível para trabalho, seja para criação de software para web, ou de plugins para servidores. Desenvolvo plugins à anos, e muitos aqui não podem me conhecer, mas estou acostumado a trabalhar em projetos grandes de network, como Minigames, servidor de PvP, entre outros, e nem sempre tenho tempo para contribuir com a comunidade com projetos grátis, trabalhos e entre outras coisas. Serviços: Desenvolvimento de plugins para servidores; Desenvolvimento de projetos grandes; Desenvolvimento de sites simples; Desenvolvimento de sites completo; Entrega antes do prazo estipulado; Correções de bugs caso haja algum; Dicas e sugestões do que melhorar em seu servidor; Correções de erros não relacionados aos meus serviços; Sobre: Bom, possuo um site simples hospedado no Github Pages onde lá mostra um pouco sobre minha pessoa, e os projetos nos quais (nem todos) eu já fiz. O link é esse: https://viniciuszxl.github.io/ Além do mais, também tenho um canal no youtube com alguns tutoriais: https://www.youtube.com/user/GriimDzn Lá também tem alguns contatos e repositórios meus, como Linkedin e o Github. Extra: Possuo um tópico criado aqui na Gamersboard onde vendo meu projeto completo de criação de servidores. Caso tenha algum interesse em ver como é meu serviço, lá explica bastante de que eu utilizo, faço, e etc. O link é esse: https://gamersboard.com.br/topic/71318-venda-projeto-completo-para-criação-de-servidores-de-minecraft/ Preço: O preço varia para cada coisa que você deseja. Os projetos não são caros, e eu ainda faço um desconto para você. Caso deseja saber mais sobre meus serviços ou contratar meu serviço, meu Discord é: ViniciuszXL#6269 Isso é tudo! ?
-
dúvida resolvida ERRO no console - Ajuda por favor
pergunta respondeu ao SenhorLukaas de ViniciuszXL em Dúvidas resolvidas
Adicionando mais informação à essa resposta... Você provavelmente clicaste no arquivo .jar do Spigot para que iniciasse o servidor sem ter um console. Para resolver isso, faça o seguinte: Botão direito na barra de tarefas > Gerenciador de Tarefas > Processos em Segundo Plano > Procure por processos Java > Clique em finalizar tarefa no canto inferior direito Pronto! Assim, você fecha o processo, e não precisará mudar de porta. -
Para acessar os arquivos do servidor, depende de qual sistema você instalará. Caso seja o Windows Server, é como se fosse uma máquina rodando o Windows doméstico, tem a interface e outras coisas iguais ao do Windows. Caso seja o CentOS ou alguma distribuição Linux, você precisaria de um cliente SSH para acessar tanto os arquivos do servidor, como também o console do dedicado. (É do dedicado, e não do servidor de minecraft)
-
No arquivo de inicialização de um servidor, você pode determinar quanta memória será utilizada por aquele servidor. É aí que a memória é distribuída. Mas depende de como é o sistema do dedicado. Recomendo usar o Windows Server, caso não tenha um conhecimento em CentOS (recomendável pois não utiliza-se muito recurso do dedicado). E sobre o caso de reiniciar um dedicado, sim... ele irá reiniciar todos os servidores ligados.
-
inativo [VENDA] Projeto completo para criação de servidores de Minecraft
tópico respondeu ao ViniciuszXL de ViniciuszXL em Arquivos
Valeu pelos elogios mano! E pela sorte nas vendas! E realmente, vender aqui no Brasil é dificil um projeto desses, mas... não impossível... tem gente que compra kkkkk E está até mais barato do que realmente eu queria nele... eu tentei vender com preço full mas não deu certo, aí coloquei esses preços e vou tentar achar um comprador -
inativo [VENDA] Projeto completo para criação de servidores de Minecraft
tópico respondeu ao ViniciuszXL de ViniciuszXL em Arquivos
Obrigado mano! Mandei solicitação lá, só aceitar -
Provavelmente você não tem o "placeholder API" na sua pasta de plugins. O erro está especificamente falando sobre a falta desse plugin.
-
inativo [VENDA] Projeto completo para criação de servidores de Minecraft
um tópico no fórum postou ViniciuszXL Arquivos
Olá pessoal, tudo certo? Bom, pra quem não me conhece, eu sou o Marcus Vinícius, e neste tópico estarei vendendo um projeto completo para criação de servidores de Minecraft. Primeiramente, estarei esclarecendo algumas dúvidas quanto à esse projeto. Desde 2016, eu venho-o mantendo atualizado e adicionando novas funcionalidades, nos quais dado ao tipo de projeto que eu pegaste, tive a necessidade de adicionar funcionalidades para poder prosseguir com o mesmo. Utilizei esse projeto primeiro no SigmaCraft. Servidor do Afreim de Minigames. Bem, o projeto nessa época era precoce, e ocorria alguns bugs indesejáveis. Com o passar do tempo, me dedicando mais ainda à esse projeto e atualizando-o para que não ocorra bugs, eu vinha utilizando-o no mais recentes projetos, desde o SigmaCraft no qual mencionei para vocês. Os minigames que o servidor oferecia era: SkyWars, BedWars, Arcade, Desastres e EggWars. O segundo servidor no qual utilizei esse projeto, foi o FireNetwork. Servidor também de Minigames do ReFleTz. Nele, havia mais estabilidade e funcionalidade por parte do projeto, além de ter várias coisas nos quais não haviam no SigmaCraft. Os minigames que o servidor oferecia, eram os: SkyWars, BedWars e TheRush. E o último projeto no qual utilizei, foi o MC-Dust. Servidor de PvP. É o mesmo processo do antigo projeto. Bugs corrigidos, mais estabilidade, e entre outras novas funcionalidades adicionadas. Neste servidor, os minigames eram: HardcoreGames, PvP e Rank UP OP (Não concluído). Bom, as linguagens e tecnologias utilizadas no projeto, são: Java, MySQL, Redis e Maven. Java é a linguagem no qual o projeto foi construído, utilizando a API do spigot para criação de sistemas para servidores de Minecraft. MySQL foi utilizado para guardar as informações em massa como por exemplo os dados dos jogadores. Redis foi utilizado somente para informações nos quais sejam fáceis de serem acessadas, rápidas, e que não necessitam de um sistema complexo para o mesmo. Maven utilizado para integração do Core com os projetos. Para criar um projeto novo, é necessário do Core no qual o mesmo prover de uma grande quantidade de funcionalidades e além disso, funcional. A seguir, as prints do projeto, e também um breve resumo (ou um resumão mesmo) das classes contidas na imagem. Core Esse é o projeto principal. Todo projeto secundário terá de ter o projeto Core integrado para que seja possível a integração com os outros projetos. Nele, há vários conteúdos que você mesmo poderá explorar, além de modificar. Conteúdo do Core AntiCheat AntiCheat: É um AntiCheat que primeiramente foi pensado para projetos de Minigames. Atualmente o mesmo não está funcional nos projetos de PvP (Player Vs Player). Porém não sei como está para servidores de Minigames. Ele bloqueia alguns tipos de Hacks, como Cringed, Fly, Glide, Speed e entre outros. API Aqui é a API que o Core disponibiliza. Há a API de Holograma, Cooldown, Mojang, entre outros. Comandos Aqui está todos os comandos que estão disponíveis no Core. Data Aqui é onde ocorrerá as operações de MySQL. Na classe 'BaseDataHandler', há uma quantidade enorme de funções, além de ter uma forma de atualizar dados mais simples. Networking (Conexão Proxy-Server, Server-Server, Server-Proxy) Aqui é o conjunto de classes responsável por organizar, enviar, receber todo o tipo de dados entre os servidores. O Proxy ficará responsável por ser o transmissor dos pacotes para todos os servidores, caso o pacote seja 'Server-Server'. Mas, caso o pacote seja 'Server-Proxy', ele não enviará esse pacote para todos os servidores registrados no Bungee. Para criar as classes com esses pacotes, é obrigatoriamente criar tanto na parte IN, como na parte OUT. Para que assim, o pacote OUT seja enviado até o Proxy, e do Proxy o servidor receba o pacote sem ocorrer um problema no mesmo. Pacotes IN (Receber) Os pacotes IN (Receber), trabalham com o recebimento de outros pacotes que foi enviado de um servidor. Ele primeiramente passa pelo Bungee, para que o Bungee faça a verificação deste pacote e no final enviará para todos os servidores para que o pacote seja tratado. Porém, há também as opções onde o pacote seja destinado à apenas um servidor X, e ele só será destinado a esse servidor em específico. Logo mais na imagem, temos todos os pacotes in criados. A exemplo de apenas um, é o 'PacketInGroup'. Ele foi criado especificamente para atualizar o grupo de um jogador que não esteja no servidor atual de quem utilizou o comando. Ou seja, mesmo que o comando seja executado em um servidor A - por exemplo, o jogador, no qual o grupo foi modificado, receberá o pacote no servidor B, através da conexão com o Server-Proxy-Server (Lembrando, que caso o mesmo não esteja no servidor) Pacotes Out (enviar) Aqui é onde os dados serão enviados através da conexão Server-Proxy-Server. Você poderá selecionar qual tipo de conexão utilizará. Se é para que os servidores recebam esse pacote, ou para que apenas o Proxy receba. A exemplo disso, temos o pacote 'PacketOutSendPlayerToServer'. Ele não está criado na parte dos pacotes IN, e é específico do Proxy. Como o nome do pacote já diz, ele envia um jogador (UUID), para um servidor que no qual foi especificado dentro da função. E esse pacote será tratado apenas no Proxy onde ele tem acesso a todos os servidores disponíveis (e criados), para que assim seja feita a compilação do pacote sem problemas. A seguir, outras imagens das packages do Core. Cujo o nome são auto-explicativos. Permissions Classes responsáveis pela permissão dos grupos. Inventory Classes de inventário intuitivo e funcional. Você poderá criá-los utilizando o "extend InventoryExecutor" e se houver necessidade inserir na classe "InventoryType". Ele funciona por dois modos: Tipos e Executor. O tipo é onde o mesmo está criado no "InventoryType" (recomendável para inventários que não necessitam receber valores) O executor é a forma "cru" do inventário. Onde você utilizará em específico para inserção de valores. Player Classe que armazena e organiza os jogadores. Nela, há a classe de grupos onde você colocará os grupos e entre outros valores. Há também a classe de Scoreboard que contém funcionalidades para que não haja o "flick" da score. A atualização da mesma pode ser feita em menos de 1 segundo, que não ocorrerá o "flick". Há também os "Toggles", onde são as preferências. Há várias preferências para ser habilitadas e desabilitadas pelo próprio jogador. Punishment Classes responsáveis pelo banimentos dos jogadores. Há o Ban, BanIP e o Mute. Utilitaries Pacote de utilidades. Como o nome na imagem são autoexplicativos, não há necessidade de listar o que faz cada classe. Esses são os projetos do MC-Dust. Além do Core, há também os seguintes projetos que utilizaram o Core como base. Provavelmente terá alguma informação abaixo da imagem que falará para que serve as classes, e etc. HardcoreGames (Modo de jogo): https://imgur.com/a/7tsFzBy Lobby (Servidor): https://imgur.com/a/xxOpdSU Proxy (Bungee): https://imgur.com/a/TIL5pUa PvP (Modo de jogo): https://imgur.com/a/icGpa6z RankUP OP (Modo de jogo): https://imgur.com/a/FtcP2Z0 VERSÃO Jogadores das versões 1.8 até à recente versão, poderão entrar no servidor com auxílio de plugins de terceiros (como por exemplo, ViaVersion) para que isso aconteça. Não há um sistema específico que deixe os jogadores dessa versão entrarem no servidor. Dito isso, o projeto é feito na versão 1.8, e não tem suporte para 1.7 (Se não me engano, o ViaVersion com um plugin de addon, dá suporte para as versões anteriores) LOGIN O Core possui um sistema de login já integrado. Ele tem a verificação se o jogador é original ou não e com isso, apenas jogadores piratas registram no servidor. Há uma verificação também se o jogador não está tentando burlar o servidor utilizando o nick de algum cargo alto. O login utiliza o Redis para obter informações de conexão (como por exemplo, se é original ou não), e faça com que o sistema de login identifique se é necessário registrar. CONEXÃO RÁPIDA O projeto tem uma funcionalidade de extrema importância. Cujo nome é "Fast Connection" - que traduzindo, "Conexão Rápida". Ele utiliza alguns pacotes modificados na conexão para que o jogador entre no servidor no tempo mais rápido possível. Alinhado à isso, o Core também modifica a inicialização do mundo, fazendo com que o jogador faça o download do mesmo mais rapidamente - e, consequentemente, entre no servidor mais rapidamente. FAKE O projeto contém o comando /fake. Ele além de modificar o nome do jogador no próprio servidor e atualizar para os demais jogadores, ele também é contínuo, ou seja, quando você digita o comando em um servidor, entrando em outro, você estará com o nome fake digitado, ao invés do original. Há também o comando /fakelist, onde como o próprio nome diz, mostra todos os jogadores utilizando fake na network. Ele mostra o nome fake do jogador, nome real e servidor conectado. A mudança do fake é rápida, feita antes mesmo da conexão total com o servidor, para que assim não tenha erros futuros em qualquer sistema feito. SKIN Possui também a funcionalidade de modificar a skin do jogador ou de um jogador. Não é necessariamente logar novamente no servidor para que a skin seja modificada. Ela já é setada no próprio servidor e é contínua, como o fake. ASYNC Todas as funcionalidades que demandam manipulação de dados, atualizações, requerimentos, e etc, são feitas em segundo plano. Obtenção de dados, atualizações, deletes, tudo que você possa imaginar, é feito em segundo plano. Para que assim, o servidor não tenha um desempenho péssimo, pois o projeto é grande, e ter um balanceamento entre qualidade, funcionalidade e desempenho, é extremamente difícil, como foi no inicio do Sigma. Com o tempo de aprimoramento, foi ficado mais estável, e mais polido chegando até esse estágio. LOBBY O projeto do lobby possui mais de 400 cosméticos, entre bandeiras, cabeças, emoções, engenhocas, e etc! Um dos meus projetos mais bem desenvolvidos, o lobby conta com várias funcionalidades nessa área, e ele se destaca por causa disso. Holograma atualizável sem precisar remover e criar a entidade do holograma. Ele atualiza modificando o nome da entidade. Possibilidade de colocar imagens no lobby através do comando /fp. Sabe aqueles banner que os grandes servidores tem em seus lobbies? O projeto também possui! É simples adicionar uma imagem em seu servidor. Os valores são meios salgados, afinal, o projeto é excelente em alguns quesitos, e você não terá trabalho adicional em criar a integração com o Bungee ou recriar um projeto para que atenda ao aquilo que você deseja. Lembrando que, esse projeto é para projetos grandes, que demanda ou de uma VPS, ou um dedicado para hospedá-lo. E motivo? É por causa de haver a necessidade de ter o Bungee para a interconexão dos servidores. Você pode criar o projeto apenas contendo três servidores (Proxy, Lobby e RankUP - exemplo). Caso deseja adquirir, eu dou o suporte para que você tenha um entendimento do projeto sem que você se perca. Também ensino como criar os servidores, configuração para que tenha a interconexão dos mesmos, e entre outras coisas. VALOR DO CORE E PROXY: R$ 525,00. VALOR DO CORE, PROXY E LOBBY: R$ 670,00. VALOR DO DE TODOS OS PROJETOS: R$ 925,00. Como falei no início, eu também tenho outros projetos além desses. Caso você queira adicionar alguns deles no pacote, você poderá falar comigo através do meu discord: ViniciuszXL#6269 Valor não negociável. PAGAMENTOS APENAS POR: TRANSFERÊNCIA BANCÁRIA ou DEPÓSITO. (Em raros casos eu faço por PagSeguro ou MercadoPago.) Ficaste interessado? Mande-me uma solicitação no discord para conversarmos! -
[Exposição] Loja de venda de plugins para minecraft
tópico respondeu ao ViniciuszXL de ViniciuszXL em Projetos
KK foi mal. é que eu não sabia que havia como tirar foto da página inteira. Baixei uma extensão e consegui tirar. (A imagem está meio borrada por causa da extensão e eu ainda não fiz para o desktop, tem somente o mobile. Quando terminar o painel e outras coisas, vou começar a adaptá-lo para as outras telas.) O que eu poderia melhorar no layout? tem alguma sugestão? -
Boa noite pessoal. Bom, sou o Marcus para quem não me conhece, e recentemente iniciei a programação de sites para projetos próprios. Já possuo um na minha página de GitHub e lá mostra quem sou e alguns dos meus projetos nos quais eu já havia feito. Bem, não devo negar que este site que já está publicado é igual à de um certo usuário aqui na Gamersboard, e creio eu que se vocês entrassem no mesmo, já saberiam quem é. Bom, deixando isso de lado, eu gostaria de mostrar para vocês o meu outro site. Nele consiste em publicar meus plugins para servidores de minecraft e vendê-los de forma automatizada. Onde nele terá uma chave de acesso e só será utilizada caso o IP requisitado seja adicionado à esta chave. É similar ao sistema do Minemarket. Eu já havia um outro site quase 70% pronto nesse quesito, porém não gostei do design e comecei outro do zero. Eu começo a programar os sites para o mobile, e depois vou adaptando para outras telas por eu achar que é mais fácil do que fazer o "porte" do desktop para o mobile. Bem, aqui está algumas imagens da tela inicial (index) Tela de início Notícias Aqui é a área de notícias. Onde nela eu criaria uma notícia através do painel de administração (no qual eu ainda não fiz), e só aparecia duas por página. Estatísticas Aqui apareceria algumas estatísticas da loja como o total de usuários cadastrados, plugins publicados, adquiridos e etc. Plugin mais vendido & rodapé Aqui irá aparecer o plugin mais vendido da loja E aí, alguma sugestão de melhoria ou implementação? Eu ainda irei fazer o restante das páginas, além do carrinho, painel (que poderá ser usado tanto por mim quanto pelos usuários), entre outras coisas. É isto ?