Ir para conteúdo

Pesquisar na Comunidade

Mostrando resultados para as tags ''tutorial''.

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Fóruns

  • Comunidade
    • Informações Importantes
    • Anúncios
    • Membros
    • Lista negra
    • Eventos
  • Minecraft
    • Seu servidor hospedado no lugar certo!
    • Servidores
    • Construções
    • Plugins
    • Skripts
    • Serviços
    • Geral
  • FiveM
    • Servidores
    • Desenvolvimento
    • Serviços
    • Outros
  • Programação
    • Geral
    • Java
    • Web & Desktop
    • Discord
    • Servidores dedicados para grandes projetos.
  • Sistemas operacionais
    • Windows
    • Linux
    • Celular
  • Fóruns
    • Invision Power Services (IPS)
    • XenForo
    • Legacy IPB
    • Outros
  • Design
    • Pedidos
    • Dúvidas
    • Exposição
    • Tutoriais
    • Recursos
  • Jornalismo
    • Notícias
    • Entrevistas
    • Eventos
    • Outros
  • Jogos
    • Geral
    • Novidades
    • Tutoriais
    • Gêneros
    • Outros Jogos
  • Outros
    • Tutoriais Gerais
    • Mercado
    • Assuntos diversos
    • Barzinho
    • Arquivos

Encontrar resultados em...

Encontrar resultados que...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


Discord


Instagram


X (Ex-Twitter)


WhatsApp


GitHub


Localização


Nick do Minecraft

  1. [Tutorial Plugin] Usando MySQL em seus Plugins! Fala aê pessoal, tranquilos? Como muitos sabem sou o Afonso e sou mais conhecido na parte de scripts, porém hoje venho trazer um tutorial de plugin usando mysql, em 1 lugar queria agradecer ao huskehhh e o tips48 do fórum bukkit que merecem seus devidos créditos neste tutorial. Ah, e antes de lerem este tutorial saibam que Statement é o mesmo que Declaração em português! Primeiramente coloque isso no seu projeto em sua área de trabalho: https://github.com/Huskehhh/MySQL Em seguida adicione em sua class principal: MySQL MySQL = new MySQL(plugin, "host.name", "port", "database", "user", "pass"); Connection c = null; Importe a conexão java.sql.Connection e Logo após abra sua conexão Em onEnable() adicione: c = MySQL.openConnection(); Agora você terminou de se conectar ao banco de dados. Obtendo Valores: Para obter valores do banco de dados, é necessário configurar mais algumas coisas. Statements(afirmações): [java.sql.Statement] Statements podem ser declarados assim: Statement statement = c.createStatement(); 'c' sendo a conexão Agora nós começamos a recuperar valores. ResultSet res = statement.executeQuery("SELECT * FROM tokens WHERE PlayerName = '" + name + "';"); res.next(); Este é um exemplo que Huskehhh usou dos outros plugins dele, ele recupera informações dos tokens db, onde a tabela 'PlayerName' = a variável 'name'. Então podemos obter as informações usando if(res.getString("PlayerName") == null) { tokens = 0; } else { tokens = res.getInt("tokens"); } Setando informações: Para definir as informações no banco de dados, usamos Statements novamente, mas nós usamos um método diferente no Statement. Código de exemplo: statement.executeUpdate("INSERT INTO tokens (`PlayerName`, `tokens`) VALUES ('" + name + "', '0');"); System.out.println("Inserted info"); Que irá inserir na tabela, lembrando que isso é dos tutoriais de Huskehhh Statements preparados: Para lidar com statements preparados, faça algo como isso: PreparedStatement ps = connection.prepareStatement("INSERT INTO `yourTable`(X, Y, Z) VALUES (?, ?, ?);"); ps.setString(1, "Este é o primeiro ponto de interrogação"); ps.setString(2, "Segundo ponto de interrogação."); ps.setString(3, " Acho que você entendeu agora."); ps.executeUpdate(); Créditos ao evilmidget38 por esse código. Se você estiver tendo problemas para obter um NullPoint ao chamar Statement statement = c.createStatement(); Tente colocar antes de fazer o Statement Statement s = MySQL.open().createStatement(); Se gostaram do tutorial deixem o like, querem adicionar algo ao tutorial? MP, terá os créditos logo na parte que colocar. Meu Blog: http://afonsohub.blogspot.com.br/
  2. Aula GUI - Como fazer uma GUI em script? Bom, primeiramente eu sou o AfonsoSK(!Afonso) na gamersboard e hoje vou ensiná-los como fazer uma GUI no minecraft em script. Um resumo básico: GUI é quando você digita um comando e aparece como se fosse um bau virtual onde você pode clicar e ver comandos, infos, clicar e exécutá-los, etc. Primeiro passo: Você deve colocar para abrir um baú, definir o nome do baú(chest) e quantas linhas(rows) terão na GUI. open chest with 1 row named "Afonso" to player Segundo passo: >>Fechando o menu ao executar o comando. Você deve formar os espaços(slots) baseado no que você quer que eles façam. Os slots são baseados em zero, o que logo significa que slot 0 é o primeiro slot na parte superior mais à esquerda. Eu coloquei um exemplo abaixo que vai mostrar uma bedrock nomeada que ao clicar nela eu executarei um comando com a lore "Bederoqui", que no exemplo abaixo coloquei um simples, como o famoso "/spawn" format slot 0 of player with bedrock named "Bederoqui" with lore "Bederoqui" to close then run [make player execute command "/spawn"] Logicamente ao clicar a gui será fechada, pois tem o close then run e logo após tem o make player execute command, que é pro jogador executar o comando, mas da pra por console, exemplo se eu tivesse com um plugin/script que precisaria usar money pra clicar ficaria >> [make console execute command "money take %player% 1000], como se o console tirasse tal money do player ou fizesse tal função na qual você colocaria no script, podem ser diversas funções. >>Não fechando o menu ao executar o comando. Esse exemplo irá fazer um slot que ao clicar no item a gui não será fechada e mesmo assim executará o comando, é bom para animação no menu ou para outras páginas do menu. Este exemplo eu fiz em um slot diferente com item diferente e um nome/comando diferente. format slot 1 of player with redstone named "Pagina 2" with lore "clique aqui" to run [make player execute command "/menuguiredstone pagina2"] Isso vai fazer com que o menu gui não feche e obviamente você teria que criar o comando sem ser por gui, e obviamente não deixar seus players saberem do comando. (Poder até pode, mas aí eles não usariam a gui para executar o comando.) >> Deixando um slot reservado sem comandos(útil para ficar bonito) Isso vai fazer um slot pra não fazer nada, não vai executar comandos e nem vai fechar o menu. É muito bom para espaços reservados. Observe o exemplo: format slot 0 of player with glass pain named "Espaco Reservado" with lore "Espaco Reservado" to be unstealable >>E por fim este fechará o menu Apenas fechará o menu e nada mais. format slot 0 of player with coal named "fechar" with lore "clique aqui" to close Resumo Básico para relembrar o que aprendeu: Abrir báu: open chest with 1 row named "NomeDoBau" to player Slot para executar comando e fechar: format slot (slot) of player with (item) named "NomeDoItem" with lore "OqueEstaráEscritoNoItem" to close then run [make player ou console execute command "comando" para console e "/comando" para player] Slot para não fechar/mudar de página: format slot (slot) of player with (item) named "NomeDoItem/Pagina" with lore "Oque estar escrito" to run [make player/console execute command "o comando"] Slot para deixar um espaço reservado: format slot (slot) of player with (item) named "NomeDoEspaçoReservado" with lore "OqueEstarEscrito" to be unstealable Slot apenas para fechar o menugui: format slot (slot) of player with (item) named "NomeEscrito" with lore "OqueEstarEscrito" to close Realmente, se você gostou do tutorial e achou muito útil ajuda com um curtir, pois é de graça, a mão não cai e perdi meu tempo para ajudar pessoas que necessitam de ajuda e essas pessoas uma delas podem ser você, e mesmo se não gostou ou não achou útil, ajudar com um mísero like não custa nada.
  3. - ACABANDO COM OS PILANTRAS - PARTE 1. Olá pessoal da gamersboard! Depois de ver uns 200 retardados perguntando como bloqueava para ninguem ver os plugins nem conseguir usar o /ver [tab], /[tab] etc... resolvi fazer 1 tutorial! Primeiramente, instale o plugin PermissionsEx ou algum outro plugin de permissões. Logo após isso 'negue' as seguintes permissões: - -bukkit.command.plugins - -bukkit.command.version - -bukkit.command.help - -minecraft.command.help - -minecraft.command.me Após ter feito a sua configuração ira ficar mais ou menos desse jeito: DEPOIS DE FAZER ISSO NÃO PRECISA FAZER MAIS NADA!! AGORA TA TUDO PRONTO. NINGUEM MAIS VAI CONSEGUIR OLHA A PORA DO SEUS PLUGINS DA NET! Caso alguém não sabia oque significa negar uma permissão ou caso alguém não saiba como negar uma permissão clique aqui: SE FICOU COM ALGUMA DUVIDA COMENTA AI! E POR FAVOR PAREM DE SER RETARDADOS! ESPALHEM ESSE TÓPICO!
  4. Boa noite! Ultimamente tenho visto diversas pessoas com dúvidas em relação a TerrainControl. Já que é algo que sou relativamente familiar, decidi ajudar : ) Qualquer dúvida que tiverem, não hesitem em comentar ou me chamar no DM. Baixe os arquivos aqui: download em breve. 1 - Instalação 1.1 - Arquivos e suas funções 2 - Gerando os mundos e gerenciando-os. 1.1 - Minérios 1.2 - Blocos customizados 1.3 - Árvores. 3 - Estruturas customizadas 4 - Comandos 5 - Estruturas aleatorias 6 - Recursos a mais
  5. Tutorial ConnectionPool MySql Introdução Criei esse tutorial com o intuito de repassar meu pouco conhecimento em relação a Java para a comunidade, gostaria desde já convidar todos aqueles que possuem tal habilidade na linguagem ou qualquer outra área que passem a ser mais ativos na comunidade, repassando conhecimento e sabedoria para que todos nós sejamos beneficiados. Nesse tutorial é importante que você tenha alguns requisitos para que vocês consigam tirar maior proveito do tutorial, sendo eles: HikariCP (http://search.maven.org/remotecontent?filepath=com/zaxxer/HikariCP/2.7.6/HikariCP-2.7.6.jar); Básico do Java (incluindo orientação orientada a objetos). O que é conexão ? Para entender o que é ConnectionPool, precisamos primeiro entender o que é conexão. Conexão basicamente é uma ligação entre o seu aplicativo e um banco de dados SQL(nesse caso). Toda vez que é feito uma consulta ou um update ao banco de dados, demora cerca de 1~2 segundos para esse consulta ser realizada. Caso essa consulta seja realizada na Thread principal do seu plugin, ele ficaria lagado em 1~2 segundos. Toda vez que você realizar uma consulta através de uma conexão temos os seguintes passos: A conexão é criada; A consulta é enviada através da conexão ; A resposta do SQL é enviada de volta através da conexão; A conexão é encerrada. Durante esse passo-a-passo o que mais consome recursos da sua aplicação é a abertura de conexão, os outros passos são insignificante em termos de consumo. Levando isso em consideração, como podemos resolver isso? O que é ConnectionPool ? ConnectionPool, se traduzido ao pé da letra do inglês seria basicamente uma piscina de conexão. Ai você me pergunta, como assim uma piscina Gcunha ? Bom, os falantes da língua inglesa usam o termo piscina para se referenciar à um conjunto. Uma piscina de contatos para eles seriam um conjunto de contatos. Agora que vocês sabem o que quer dizer a tradução, eu gostaria de voltar um pouco no ultimo tópico, onde eu disse que o problema é a abertura de conexão, como resolver isso ? Simples, use um conjunto de conexão que está sempre aberto, dessa maneira não é necessário abrir e fechar toda hora! Mas como fazer isso ? Facil, basicamente você envia pequenos pacotes de dados de 130kb, que é um tamanho irrelevantes, constantemente para que a conexão nunca seja fechada. Dessa maneira temos uma conexão que está sempre aberta, portanto não é necessário abrir e fechar uma conexão toda vez que vai fazer uma consulta melhorando a velocidade em que uma consulta é feita em até 100 VEZES ! Como usar O primeiro passo é baixar o HikariCP e importar ele para o seu projeto ( mesma coisa que importar o Spigot). Feito isso vamos para a programação: *IMPORANTE LER OS COMENTARIOS NOS CÓDIGOS PARA ENTENDER * Crie uma classe chamada ConnectionPoolManager: Bom, agora temos tudo pronto e podemos partir para as QUERY'S, para isso crie uma classe chamada SQLManager: Agora temos tudo pronto para utilizar em nosso plugin, apenas iniciar a conexao no onEnable() e fecha-la no onDisable() de nosso plugin: É extremamente importante que você não crie diversas instancias do SQLManager e sempre utilize a que foi inicializada na main. Para fazer isso é simples, apenas instanciar a main e utilizar o método getSQLManager(). Exemplo: plugin.getSQLManager().metodo() Importante GitHub do HikariCP(recomendo dar uma lida): https://github.com/brettwooldridge/HikariCP Se gostou e te ajudou não se esqueça de deixar um Like no tópico ! Propriedades No próprio GitHub do projeto, existem algumas propriedades que o desenvolvedor recomenda para utilizar em conexões ao MySQL, sendo elas:
  6. "Tô sem ideia do que fazer" / "preciso de inspiração" / "quero kibar na cara dura mesmo": "Quero escrever algo em alguma imagem no estilo de minecraft": "Não tenho photoshop / Não sei usar / bla bla bla": Quero criar um avatar em estilo mangá, como faço isso? Sites essenciais quando se trata de imagens: Um spoiler especial para o meu queridinho: Tenho um servidor / sou designer de um servidor / blá blá blá: Sou youtuber: Como fazer um avatar "perfeito" de uma forma rápida e prática: Como criar um server icon (ícone para o seu servidor) Como fazer uma assinatura de forma rápida mas personalizada: Embora eu recomende que você use o photoshop, existe uma maneira de fazer isso online: Como fazer um formulário / votação pelo google: Amanhã eu coloco mais coisas aqui, preciso dormir agora!
  7. Com o recente sucesso da minha última matéria sobre a Deep Web, estou fazendo, enste tópico a continuação direta do mesmo, no outro tópico, eu introduzi e falei do que se tratava a Deep Web, e neste tópico, vou ensinar como entrar (Superficialmente) nela. Observação: Eu fui autorizado pelo @lucakiksd07 a postar esse tutorial! Com isso podemos começar o nosso tutorial. Vocês devem primeiramente baixar o navegador Tor, por este link: https://www.torproject.org/download/download.html.en Escolher um sistema operacional e idioma, e então o download será iniciado. Gif demonstrando o 1º Passo. (Abra o Spoiler) Já com o instalador baixado no computares dos senhores, vocês vão abrir o instalador e fazer a instalação comum. Gif do Processo: (Abra o Spoiler) Obs: Não se esqueçam de marcar a opção para gerar um ícone na área de trabalho. Na primeira vez que o browser for executado vai aparecer a seguinte tela Então, clique em Conectar, e você já estará com o browser instalado. Como você está conectado ao Tor, pode navegar em qualquer site pelo Tor Browser como anônimo. Isso porque, em vez de acessar diretamente o servidor do site de destino, seu computador se conectará a uma máquina do Tor, que se conectará a outra máquina, que se conectará a outra máquina e assim por diante, como em um túnel. O site de destino, portanto, receberá não o seu endereço IP, mas o IP de outro nó da rede. Mas para acessar os sites escondidos na deep web, é preciso entender que não é possível encontrá-los em um buscador convencional, como o Google — e nem existe um buscador tão eficiente quanto o Google dentro da deep web. Por isso, o ponto de partida mais comum é procurar um diretório de sites, como se você estivesse na década de 1990. No Tor, os links são formados por caracteres aleatórios seguidos da terminação .onion. O diretório mais famoso do Tor é a Hidden Wiki. Pelo Tor Browser, abra o endereço http://zqktlwi4fecvo6ri.onion/wiki/index.php/Main_Page. Nessa página, você encontrará uma série de links que o levarão para blogs, sites, fóruns de discussão e outras páginas da deep web. Pronto, agora você já sabe como acessar a Deep Web, deixa um Like ai amigão ? xD Para conferir a minha outra matéria clique na imagem: Fonte 1: https://goo.gl/TBG1S7
  8. TÓPICO EM DESENVOLVIMENTO! » ▬▬▬▬▬▬▬▬▬ MyCommand ▬▬▬▬▬▬▬▬▬ « No tutorial de hoje irei ensinar vocês a criar todos os tipos de comandos, menus, gambiaras etc... tudo dentro do nosso famoso MyCommand. Primeiramente vou ensinar as coisas básicas que você irão utilizar em todos os comandos. OBS: Estas opções não são obrigatórias nos comandos. Você pode criar os comandos sem essas opções, tudo vai depender do tipo do comando que você vai criar. permission-required: false Está opção ira definir se o player precisa ou não de permissão para poder executar o comando. permission-error: '&cVocê não tem permissão!' Está opção ira definir a mensagem que é enviada quando o player não tem permissão para executar o comando. permission-node: mycommand.cmd.<comando> Está opção serve para definir a permissão que o player ira precisar para usar o comando. error-message: "Comando incorreto, use /divulgar <mensagem>" Está opção ira definir qual mensagem ira aparecer quando o player não colocar todos os argumentos que o comando pede. success-message: "&aVocê divulgou no chat!" Está opção ira definir qual mensagem ira aparecer quando o comando for executado com sucesso. require_all_arguments: true Está opção serve para definir se o player ira precisar colocar os argumentos po comando funcionar, caso ele não colocar os argumentos necessários ira aparecer a mensagem de erro "error-message" register: false Está opção serve para definir se o comando sera registrado no MyCommand. Caso está opção for definida como true o comando ira aparecer no /(tab) e ele também não poderá ser usado quando o player estiver em combate. delaytimer: 2 Está opção serve para definir o delay usado pela variável $delay$ ou seja se você colocar $delay$/warp arena" o comando só sera executa depois de 2 segundos. tab_completer: - creative - survival Está opção serve para auto completar um comando. Por exemplo /gamemode (tab) ira aparecer creative e survival facilitando a sua vida XD. itemcost: "COBBLESTONE:5" Está opção serve para cobrar itens para poder executar um comando. Por exemplo para executar o comando /divulgar o player ira precisar de 5 pedras no inventario. Agora que nós já aprendemos as opções dos comandos vamos fazer um comando para testar tudo isso. Exemplo 1: Alerta: command: /Alerta type: BROADCAST_TEXT text: - '§2[ALERTA] $multiargs' error-message: "Comando incorreto, use /alerta <mensagem>" success-message: "&aVocê enviou um alerta no chat!" require_all_arguments: true permission-required: true permission-node: mycommand.cmd.Alerta permission-error: "&cVocê não tem permissão para utilizar este comando." register: false Exemplo 2: gamemode: command: /gamemode type: RUN_COMMAND runcmd: - '/gm $arg1' required_args: 1 register: true tab_completer: - survival - creative - spectator - adventure error-message: '&cVocê deve usar /gamemode <modo-de-jogo>' permission-error: '&cVocê não tem permissão para utilizar este comando' permission-required: true No primeiro código nós criamos um comando básico de /alerta onde você envia um alerta no chat, e no segundo código nós encurtamos o comando /gamemode para /gm. Agora que vocês já sabem sobre as opções dos comandos vamos aprender sobre os tipos de comandos que podem ser criados no MyCommand. No final irei mostrar 1 exemplo de cada tipo de comando! type: TEXT Este tipo de comando mostra uma texto no chat do player quando o comando é usado. type: BROADCAST_TEXT Este tipo de comando mostra uma texto no chat para todos os players do servidor. type: RUN_COMMAND Este tipo de comando executa um skript ou uma série de comandos e códigos (é um dos tipos mais usados). type: RUN_COMMAND_RANDOM Este tipo de comando executa um comando aleatório dentro de uma lista de comandos. Exemplo: você tem 10 comandos e quer executar 1 aleatoriamente. type: RUN_CONSOLE Este tipo de comando executa um código ou um comando dentro do console. (é bem útil) type: ADD_PERMISSION Este tipo de comando serve para criar uma permissão ou bloquear um comando como o /plugins. type: RUN_AS_OPERATOR Este tipo de comando serve para executar um comando como se o player tivesse OP, ou seja ele burla a permissão do comando (não é muito confiável e é meio inútil) type: ICONMENU Este tipo de comando serve para criar um menu GUI em varios formatos (é o meu preferido). type: SCOREBOARD Este tipo de comando serve para criar uma scoreboard temporaria bem simples e com pouquíssimas variaveis. type: ALIAS Este tipo de comando serve para encurtar um comando ou criar um variação do comando (gamemode -> gm) type: CALL_URL Executa ou verifica um skript em um site ou documento php (nunca usei e também não sei como usar kkkk) type: TITLE Este tipo de comando envia um title na tela do player (igual TitleManager) type: BROADCAST_TITLE Este tipo de comando envia um title na tela de todos os players do servidor (igual TitleManager) type: RAW_TEXT Este tipo de comando mostra uma texto em JSON no chat do player (JSON são aqueles texto que você consegue passar o mouse em cima e clicar). type: BROADCAST_RAW_TEXT Este tipo de comando mostra uma texto em JSON no chat de todos os player do servidor (JSON são aqueles texto que você consegue passar o mouse em cima e clicar). type: EXP_BAR Este tipo de comando cria uma contagem regressiva na barra de XP. O seu nivel de XP vai descendo 10, 9, 8.... até 0 ai o seu xp volta ao normal. type: ACTION_BAR type: BROADCAST_ACTION_BAR Estes dois tipos de comandos enviam mensagens na action bar do player ou do servidor. Por algum motivo desconhecido eles não funcionam em servidores 1.8. type: BUNGEE_TP Este tipo de comando serve para teleportar players de 1 servidor para o outro, igual o comando /server ou /send. Agora que vocês já sabem sobre os tipos de comandos que podem ser criados pelo MyCommand vamos aprender um pouco sobre as variáveis do plugin e depois vamos ver alguns exemplos de comandos. $player - Retorna o nome do player. $getdisplayname - Retorna o nome de exibição do player. $uuid - Retorna a UUID do player. $getaddress - Retorna o IP do player. $health - Retorna o HP do player. $food - Retorna a fome do player. $exp - Retorna o XP do do player. $level - Retorna o level de XP do player. $getexptolevel - Retorna a quantia de XP que falta pra upar de level. $gamemode - Retorna o modo de jogo do player. $world - Retorna o nome do mundo. $biome - Retorna o nome do bioma. $locX - Retorna a coordenada X. $locY - Retorna a coordenada Y. $locZ - Retorna a coordenada Z. $loc_pitch - Retorna o pitch. $loc_yaw - Retorna o yaw. $loc_highestY - Retorna a coordenada Y onde esta o bloco mais alto. $getallowflight - Retorna TRUE e FALSE, mostra se o player esta de fly. $oplist - Retorna a lista de players com OP no servidor. $online - Retorna o número de players online no servidor. $ponline - Retorna a lista com o nome de todos os players online no servidor. $server-name - Retorna o nome do servidor (configurado no server.properties) $server-motd - Retorna a motd do servidor (configurada no server.properties) $todaydate - Retorna o dia atual. $wgregionname - Retorna o nome da region no worldguard. $primarygroup - Retorna o grupo do PEX. $chatprefix - Retorna o prefixo do chat. $chatsuffix - Retorna o suffixo do chat. $iteminhand - Retorna o nome do tipo do item que o player esta segurando. $amount_iteminhand - Retorna a quantidade do item que o player esta segurando. $name_iteminhand - Retorna o nome do item que o player esta segurando $arg1 , $arg2 , $arg3 .... $arg9 - Retorna os argumentos digitados pelo player. $multiargs - Retorna os varios argumentos digitados pelo player (tipo uma frase curta) '%Repeat%10% Oi' - Repete a mensagem X vezes. '%ExpBar%10%' - Cria uma contagem regressiva de 10 segundos na ExpBar. '$text$ Oi' - Envia um texto (isso é usado muito nos run_command) '$broadcasttext$ Oi' - Envia um texto broadcast (isso é usado muito nos run_command) $random_color - Retorna uma cor aleatória. $randomplayer - Retorna o nome de um player aleatório online. $randomnumber%100% - Retorna um numero aleatório de 0 a 100. Esse número pode ser configurado para quando você quiser, por exemplo $randomnumber%5% retorna um número aleatório de 0 a 5 OBS: Essas variáveis podem ser usadas em qualquer tipo de comando, seja ele texto, title, runcommand, menu_gui etc... Agora que vocês sabem um pouco mais sobre as variáveis do MyCommand vou ensinar um pouco sobre o Player API que é uma série de eventos que a gente pode usar nos comandos do tipo RUN_COMMAND. TRUE ou FALSE "%PlayerOptions%setAllowFlight: true" - Liga ou desliga o Fly do player. "%PlayerOptions%setBanned: true" - Bane ou desbane o player (só funciona quando ele relogar no server) "%PlayerOptions%setOp: false" - Tira e coloca o OP do player. "%PlayerOptions%setWhitelisted: false" - Tira e colocar o player da Whitelist. APENAS TRUE "%PlayerOptions%leaveVehicle: true" - Tira o player de dentro do veiculo. "%PlayerOptions%closeInventory: true" - Fecha o inventario ou o menu gui do player. "%PlayerOptions%clearInventory: true" - Limpa o inventario do player. ALTERA O NOME DO PLAYER (tipo /fake) "%PlayerOptions%setCustomName: $arg1" "%PlayerOptions%setDisplayName: $arg1" "%PlayerOptions%setPlayerListName: $arg1" O $arg1 vai ser definido pelo player, caso você queira colocar um nome especifico é só apagar o $arg1 e colocar o nome que você quer. OUTROS "%PlayerOptions%setGameMode: CREATIVE" - Altera o modo de jogo do player. "%PlayerOptions%teleport: nome_do_mundo:X:Y:Z" - Teleporta o player para uma coordenada do mapa. "%PlayerOptions%setBedSpawnLocation: nome_do_mundo:X:Y:Z" - Define o ponto de renascimento do player (spawn point) "%PlayerOptions%kickPlayer: Você foi kickado do servdor!" - Kicka o player do servidor (você pode alterar a mensagem) "%PlayerOptions%sendMessage: Ola $player" - Envia uma mensagem pro player (igual o $text$) "%PlayerOptions%playSound: ANVIL_BREAK:1.0:1" - Envia um som para o player. (NOME_DO_SOM:VOLUME:BYTE_DATA) "%PlayerOptions%playEffect: RECORD_PLAY:2260" - Executa efeito de particulas para o player (NOME_DO_EFEITO:INT_DATA) "%PlayerOptions%addPotionEffect: SPEED:1200:0" - Adiciona um efeito para o player (NOME_DA_POÇÃO:TEMPO_EM_TICKS:LEVEL) "%PlayerOptions%setFlySpeed: 5" - Define a velocidade do fly do player. "%PlayerOptions%setHealth: 20" - Define o HP do player. "%PlayerOptions%setFoodLevel: 20" - Define a fome do player. "%PlayerOptions%giveExp: 200" - Envia uma quantidade de XP para o player. "%PlayerOptions%giveExpLevels: 10" - Envia uma quantidade de Levels de XP para o player. "%PlayerOptions%damage: 2" - Aplica um dano no player. "%PlayerOptions%setFireTicks: 100" - Faz o player pegar fogo. OBS: 20 TICKS = 1 SEGUNDO, 200 TICKS= 10 SEGUNDOS, 1200 TICKS = 1 MINUTO, 6000 TICKS = 5 MINUTOS PARA ADICIONAR E SETAR ITENS PARA O PLAYER É FACIL XD Este é o padrão! ITEM:QUANTIDADE:DATA_TAG Exemplo: '%PlayerOptions%setItemInHand: DIAMOND_SWORD:1:0' - Seta um item na mão do player. '%PlayerOptions%setHelmet: DIAMOND_HELMET:1:0' - Seta um item na cabeça do player. '%PlayerOptions%setChestplate: DIAMOND_CHESTPLATE:1:0' - Seta um item no peitoral do player. '%PlayerOptions%setLeggings: DIAMOND_LEGGINGS:1:0' - Seta um item na calça do player. '%PlayerOptions%setBoots: DIAMOND_BOOTS:1:0' - Seta um item nas botas do player. '%PlayerOptions%addItem: GOLDEN_APPLE:32:1' - Seta um item no inventario. Caso a gente quiser colocar um nome personalizado ou colocar encantamentos devemos seguir este padrão 'ITEM:QUANTIDADE:DATA_TAG:NOME_DO_ENCANTAMENTO;NIVEL:NOME_DO_ITEM:LORE' Exemplo: '%PlayerOptions%addItem: DIAMOND_SWORD:1:0:DAMAGE_ALL;5;FIRE_ASPECT;2;DURABILITY;3:&4Espada Suprema:Espada Foda' '%PlayerOptions%setBoots: DIAMOND_BOOTS:1:0:PROTECTION_ENVIRONMENTAL;4;DURABILITY;3:&4Bota Suprema:Lore Linha1;Lore Linha2;Lore Linha3' OBS: Caso a gente queira setar mais de 1 linha na lore basta colocarmos ; Agora quer vocês já conhecem todas a variaveis e todas as options do Player API do MyCommand vamos começar a criar comandos! Eu irei criar vários comandos de vários tipos para vocês entenderem bem! Exemplos de comandos do tipo TEXT Exemplos de comandos do tipo BROADCAST_TEXT Exemplos de comandos do tipo RUN_COMMAND_RANDOM Exemplos de comandos do tipo RUN_CONSOLE Exemplos de códigos do tipo ADD_PERMISSION Exemplo de comando do tipo RUN_AS_OPERATOR Exemplos de comandos do tipo ALIAS Exemplos de comandos do tipo TITLE Exemplos de comandos do tipo BROADCAST_TITLE Exemplos de comandos do tipo RAW_TEXT Exemplos de comando do tipo BROADCAST_RAW_TEXT Exemplo de comando do tipo BUNGEE_TP Exemplos de comandos do tipo EXP_BAR (o melhor) Exemplos de comandos do tipo RUN_COMMAND (menu gui) Exemplos de comando do tipo ICON_MENU
  9. ZiCooldownUtil Eae pessoas, vim hoje ensinar como fazer Cooldowns (quantos quiser, infinitos) para qualquer coisa que você quiser usando minha util que fiz agora pouco, bem fácil, segue o tutorial Coloque a util em seu plugin: (Leia as anotações no código) Em sua Main, coloque no onEnable e no onDisable os seguintes códigos: (Leia as anotações no código) Exemplo de Cooldown em um comando: (Leia as anotações no código) Resultado: Se tiver algum bug, erro ou alguma sugestão, manda aí! xD
  10. Fala Galera, hoje novamente, trago a vocês, como adicionar uma ShoutBox ao seu Fórum Advanced Electron Fórum, um tutorial muito simples, porém, irá ajudar alguns que estejam perdidos. Primeiramente, faça o Login como Administrador. Vá na aba Admin >> Control Panel http://prntscr.com/eaoc2a Vá na aba Control Panel, do lado esquerdo de sua tela. http://prntscr.com/eaocgv Selecione ShoutBox Settings. http://prntscr.com/eaocsz Nesta parte você poderá configurar sua ShoutBox. http://prntscr.com/eaoczy Em Enable ShoutBox, marque, para haver a opção dos usuários poderem utiliza-la. http://prntscr.com/eaodfj Em Number of Shouts, serão as linhas que os usuários irão digitar e automaticamente a conversa será deletada, recomendo colocar 30. http://prntscr.com/eaoe9a Em Shout Life, é o número em tempo, que a ShoutBox, pode ficar sem deletar a conversa, deixe em 0. Em Enable Smilies, fica a seu critério, são carinhas coloridas que aparecem ao invés de símbolos. Em Enable Normal Normal BBC, é a variedade de estilos de fontes, tamanhos, letras grossas que os usuários podem utilizar, isso também fica a seu critério. Em Enable Special BBC, é utilizado para enviar flash, imagens, etc. Não recomendo a utilização, mas fica a gosto. Você pode deletar todos os Shouts na aba abaixo Delete All Shouts, marcando e clicando em Delete. http://prntscr.com/eaoj6e Quando terminar as suas alterações, clique em Submit. http://prntscr.com/eaojdi Volte ao Index do Fórum >> Quick Links >> ShoutBox. http://prntscr.com/eaoko0 Sua ShoutBox ficará assim.: http://prntscr.com/eaol0g Pronto! Sua ShoutBox, está ativa, configurada e pronta para uso, caso tenha alguma dúvida, deixe nos comentários, e se gostou deixe seu like, ajuda muito. :v Até Mais :hi:
  11. Olá, hoje venho aqui com mais um tutorial, mas dessa vez, um bem simples, para aqueles que ainda não sabem como usar MySQL e colocar ele em seus Plugins! Primeiramente vamos saber um pouco do MySQL. O que é MySQL? (Resumidamente) MySQL, para quem não sabe é um sistema de gerenciamento de banco de dados, que no Minecraft, é como se fosse a nuvem de seu servidor, quando seus Plugins estão conectados ao MySQL, os dados do Plugin serão armazenados, agora, no MySQL, além de, o Lag ser diminuído em uma escala muito grande, os dados serem guardados com mais segurança, e também, economiza memória, comparando se os dados estivessem sendo guardados na Config dos Plugins. Como conectar seus Plugins ao MySQL? 1 - Bom, primeiramente, você precisa criar sua DataBase, e para isso, você precisa, entrar no seu Painel do seu Servidor, e, se for MultiCraft, que é o que estou usando, ir em, Advanced, e lá estará MySQL database, e então você clica nessa aba. 2 - Depois disso, você será redirecionado a uma aba que estará em branco, apenas com essa mensagem: "There is currently no database associated with this server", e isso quer dizer, que ainda não existe Database em seu servidor. E então, á sua esquerda, estará escrito Create DataBase, e então, é só clicar, que irá criar. 3 - Depois de criar, deixe esta página de seu navegador aberto, e vamos para a parte de conectar o Plugin ao MySQL! Acesse a sua FTP, e ache um Plugin que esteja escrito em alguma parte de sua Config, MySQL, Enabled: false, ou algo parecido. Exemplo: 4 - Depois maximize o seu navegador novamente, ou abra, e vá naquela página de MySQL Database, lá, vai estar os dados do MySQL de seu servidor, que no meu caso estava assim: 5 - Agora, é fácil, é só você copiar os dados de seu MySQL e passar para a config de seu Plugin! Em enabled, você coloca true, em user, o nome de usuário do seu MySQL, em password, a senha, em database, o nome, em host, obviamente a host, e na porta, você deixa a padrão, a porta você não muda, deixa padrão. E depois que eu fiz isso, na minha ficou assim: 6 - Depois disso, é só salvar o arquivo, e reiniciar o servidor, e os dados de seu Plugin, estão, agora, conectados em MySQL! SUGESTÃO: Deixar todos os Plugins possíveis de salvar os dados em MySQL, conectados ao MySQL, isso diminuirá muito o Lag de seu servidor, e aumentará a qualidade do mesmo! OBS: Esse tutorial é um tutorial básico, apenas para iniciantes, não expliquei os detalhes, para ficar mais fácil de entender para aqueles que estão começando agora. Like?
  12. Tutorial simples e fácil de como colocar um assinatura com progresso. Dor de Barriga 50%50% Namoro 3%3% Prints: 1º abra seu painel de controle 2º Edite sua assinatura 3º Adicione os códigos ao painel Você pode copiar o codigo e colocar em baixo sem problema ai você define oque aprendeu sei-la Tutorial simples só para ajudar a quem não sabe :)
  13. McMMO Olá , estarei dando algumas dicas para o plugin mcmmo ; No tópico vai conter ; • Como Traduzir ?!? • Remover o temido , bug de duplicação ! • Dificultando as Skills ! • E desativando a ScoreBoard , fazendo para que as skills apareçam no chat Vamo começar e,e • Traduzindo mcMMO • • Desativando bug de duplicação de itens • • Dificultando Skills ! • • Desabilitando ScoreBoards de /stats , /mctop , entre outros • Como todos devem saber , quando poe o mcmmo , no servidor ao usar o comando /stats , /mctop , /mcrank , etc Os valores aparecem em uma ScoreBoard , muitos nao acham agradavel. Então aqui esta a solução ! Na linha 30 , você encontrará , "ScoreBoards" Inspect: Use: true Display_Time: 10 # Should mcMMO use scoreboards for /mcrank? # Amount of time (in seconds) to display. To display permanently, set to -1 Mcrank: Use: true Display_Time: 10 # Should mcMMO use scoreboards for /mcstats? # Amount of time (in seconds) to display. To display permanently, set to -1 Mcstats: Use: true Display_Time: 10 # Should mcMMO use scoreboards for /mctop? # Amount of time (in seconds) to display. To display permanently, set to -1 Mctop: Use: true Display_Time: 10 # Should mcMMO use scoreboards for /skillname (/mining, /fishing, etc.)? # Amount of time (in seconds) to display. To display permanently, set to -1 Skillname: Use: true Display_Time: 10 Troque true , por false ! Pronto ! E apenas isto , espero que tenha gostado e tenha te ajudado a configurar o seu mcMMO Tome muito cuidado ao botar ele em seu servidor :lol: OBS : Isto não passa de um super pequeno tutorial do mcMMO ! (Qualquer erro avise-me , sugestões são bem vindas) Fiz este tutorial em base do mcmmo para versão 1.5.2 *..Tchau..*
  14. TUTORIAL FEATHERBOARD Olá, pessoas estou aqui para trazer um tutorial para vocês, bem simples! Mas porèm util esteticamente. :) Vamos Iniciar o Tutorial, eu estou usando uma Versão do FeatherBoard (BlackSpigot) Funciona em todas Versões... Basta seguir as imagens seguintes, caso você tiver alguma duvida é só comentar ai em baixo :) Para você fazer esse Sistema é simples tem que ir na Pasta seguinte: /plugins/FeatherBoard/events IMAGENS: Se você gostou desse tutorial, deixa like. Ou deixa um Comentario apoiando :)
  15. Como criar poções personalizadas no Essentials Tutorial criado a pedido do Emanuel Boaventura Para criar poções personalizadas no Essentials é muito simples. Basta seguir os passos: 1) Passo: Segure uma poção qualquer na mão e digite /potion. 2) Passo: Logo após digitar o comando /potion ira aparecer uma mensagem no chat contendo algumas dicas muito importantes. Para facilitar o entendimento irei criar uma poção de Força II com tempo 3:00. Algumas poções personalizadas que eu criei: Resumindo: para criar uma poção personalizada basta segurar uma poção na mão e digitar: /potion effect:<efeito> power:<amplificador> duration:<tempo>
  16. TUTORIAL DO GCUNHA Fala galerinha do mal, tudo bem? A pouco tempo dando uma fuçada na NMS do ItemStack acabei descobrindo esse recurso bem bacana que possibilitaria gravar,editar e acessas informações salvas em uma ItemStack(quais quer que seja). O que é NBT Tag? Bom, basicamente NBTag é um conjunto de bytes que o Minecraft usa para salvar algumas informações, que tipos de informações Gcunha? Informações como por exemplo a velocidade de ataque de uma espada, o dano que ela causa, durabilidade e outros atributos. Mas não para por ai, além de ser possível modificar os atributos já existentes a gente pode criar uma Tag que armazena uma String por exemplo, sendo assim conseguimos salvar informações em um Item e resgatar de uma maneira muito melhor do que verificar o Titulo ou Lore do ItemStack. API Desenvolvi essa API em 5 minutos apenas para demonstrar de maneira dinâmica como acessar a classe NMS do item sendo assim verificar, editar e gravar TAGS do item. (Levem em conta que essa classe é apenas exemplo, caso você queria que seja compatível com diversas versões tem que dar uma editada) Criando item Verificando se item possui a TAG Se te ajudei não se esqueça de deixar um like, é isso ai, é nois ?
  17. Plugin Broadcast/Anuncio Bom no ultimo tutorial aprendemos o mais básico do bukkit,neste tutorial vamos aprender algo fácil e útil, o broadcast, broadcast é um plugin simples de anuncio,onde nós faremos com quem tenha permissão de broadcast possa usar o comando /anuncio [mensagem] para todos online verem. Clique aqui para ler mais. ​Fonte MinecraftGames
  18. O que é reflection? Reflection é um recurso do java que permite manipular e editar classes, métodos, atributos, etc em tempo de execução. Com isso, por exemplo, é possível instanciar uma classe sem que a mesma seja adicionada ao projeto. Além disso, dá até para modificar e acessar construtores, atributos e métodos privados. Sabe aquela string privada que você ficava doido querendo mudar? Com reflection isso é possível. Mas como manipular as classes? Primeiro é preciso adquirir uma referência à classe, mas como fazer isso? Existem três maneiras de fazer isso: // Através de uma instância da classe String string = "Reflection é legal"; Class<?> clazz = string.getClass(); // Através da própria classe Class<String> clazz = String.class; // Através do método Class#forName(String className); try { Class<?> clazz = Class.forName("java.lang.String"); } catch (ClassNotFoundException e) { e.printStackTrace(); } Como foi possível observar, nos dois primeiros métodos é necessário que as classes em questão façam parte do projeto. Já no último método, basta que você tenha o nome da classe. Mas é só isso? Não, isso é só a ponta do iceberg, a partir daqui infinitas possibilidades são abertas para a manipulação da classe. Constructor (docs) O que é um Constructor? É uma classe que permite instanciar as classes. Como conseguir os construtores de uma classe? // Através do método Class#getConstructors(); Constructor[] constructors = clazz.getConstructors(); /* Através do método Class#getConstructor(Class<?>... parameterTypes); * Note que com esse método é necessário especificar os parâmetros do construtor */ try { Constructor<?> constructor = clazz.getConstructor(String.class); } catch (NoSuchMethodException e1) { e1.printStackTrace(); } catch (SecurityException e2) { e2.printStackTrace(); } Construtor em mãos, mas como conseguir uma instância da classe? É agora que utilizaremos o método Constructor#newInstance(Object... initargs); /* Note que os parâmetros que você utilizar no newInstance(); * Devem ser idênticos ao do construtor que você está utilizando */ try { Constructor<?> constructor = clazz.getConstructor(String.class); Object string = constructor.newInstance("Criei uma string com Reflection =D"); } catch (Exception e) { e.printStackTrace(); } Mas se o método newInstance() retorna um Object, como que eu irei utilizar os métodos e atributos da instância? Eu tive todo esse trabalho para instância uma classe atoa? Não. Veremos a seguir como manipular os métodos e atributos da nossa instância. Field (docs) Esta é a classe que permite acessar e modificar os atributos de uma instância. Para acessar os atributos da classe vamos utilizar o método Class#getDeclaredFields(); Field[] field = clazz.getDeclaredFields(); Mas e se eu precisar de buscar por um atributo específico? Tal como a array de carácteres de uma String? // Para isso utilizaremos o método Class#getDeclaredField(String name); try { Field field = clazz.getDeclaredField("value"); } catch (Exception e) { e.printStackTrace(); } Talvez você tenha percebido que para conseguir aquele atributo, utilizamos o método da Classe, e não da instância que criamos agora a pouco. Se não percebeu, tudo bem, mas agora deve estar se perguntando, onde entra o objeto que fizemos? Nós iremos utilizar o método Field#get(Object object); onde object é a instância de onde vamos buscar o atributo especificado. Mas e se for um atributo estático, que não pertence ao escopo da instância mas sim ao da classe? Basta colocar null. Mas antes de acessarmos o atributo, você talvez tenha pensado: "Mas eu não sabia da existência desse atributo". Pois é, eu também não sabia, tive que olhar na source da classe String. Isso é porque o atributo é privado, então para acessarmos ele é necessário um método bem especial, o AccessibleObject#setAccessible(boolean flag); field.setAccessible(true); Agora sim podemos pegar o atributo. try { Object value = field.get(string); } catch (Exception e) { e.printStackTrace(); } Mas o atributo value é uma array, o que fazer? try { Object[] value = (Object[]) field.get(string); } catch (Exception e) { e.printStackTrace(); } Basta fazer um cast. Method (docs) Agora chega a parte mais interessante, os métodos. Assim como o Field, para conseguir os métodos de uma classe utilizaremos Class#getDeclaredMethods(); Method[] methods = clazz.getDeclaredMethods(); Apesar da semelhança para conseguir os métodos declarados, existe uma pequena diferença na hora de buscar por um método específico, pois além do nome, é necessário apresentar os parâmetros do método em questão. Como exemplo pegaremos o método String#length(); /* Note que caso o método em questão não precise de argumentos * Só é necessário o nome do mesmo: clazz.getDeclaredMethod("length"); /* try { Method method = clazz.getDeclaredMethod("indexOf", String.class); } catch (Exception e) { e.printStackTrace(); } Agora você deve ter notado que a nossa instância não fui utilizada né? Para chamar o método nós precisamos do método Method#invoke(Object obj, Object... args); try { method.invoke(string, "Criei"); } catch (Exception e) { e.printStackTrace(); } Observação: Assim como no Field, se o método for estático basta colocar o primeiro parâmetro como null. Considerações finais Este tutorial foi bem simples pois ele foca nas classes mais usadas do pacote java.lang.reflect Você pode ter mais informações sobre reflection acessando esses links: https://docs.oracle.com/javase/tutorial/reflect/ http://www.oracle.com/technetwork/articles/java/javareflection-1536171.html
  19. MINELC

    COMO FAZER CASAS MEDIEVAIS!

    Eae galera tudo sussa? Seguinte hoje venho trazer para vocês um tutoral de CASAS MEDIEVAIS! Para deixar seu mundo mais bonito! Espero que gostem!! (PARA VER O VÍDEO CLICA NA IMAGEM E SERÁ REDIRECIONADO)
  20. Por meio deste tópico venho tentar ensinar a vocês como manter um bom deck. Cada jogador tem 10 em elixir. Um deck consiste em um conjunto de cartas. No Clash Royale há inumeras cartas, contáveis, só que to com preguiça de ir lá ver. E, cada deck, pode ter até 8 cartas Sendo elas (da > para <): lendárias, épicas, raras ou comuns. Um deck deve sempre ter um "combo". Como por exemplo: Eu taco 1 Gigante e logo atrás jogo 1 Bebê Dragão. O Gigante, como tem muita vida, vai ir diretamente para torre e ataca-la. O Bebe dragão irá matar as tropas que tentarão entrar no caminho do Gigante. Essas tropas, estarão atacando o Gigante, já que ele está na frente, eles o priorizam. E estará tudo livre para que o dragão bebe mate! Mas, sempre junte elixir! Se você tacar um combo que gaste todo seu elixir, você não terá elixir suficiente para defender um possível contra-ataque. Priorize isso. Flw galera, era só isso ai basicão... Até a próxima!
  21. Tinham me pedido para fazer um plugin do tipo, quando estava prestes a começar resolvi pesquisar no Spigot. E achei este aqui: https://www.spigotmc.org/resources/queuesystem-api-included.44013/ A configuração é simples: #Mensagem enviada quando o jogador entra na fila. %position% é a posição do jogador na fila, %size% é o tamanho total da fila. message: '&4[Queue] &7You have been added to a queue! Position: &c#%position%/%size%' #O tempo de checagem se há vagas nos servidores delay: 2 #Os servidores que terão a função de fila servers: - Hub - Factions - Survival #Deixe aqui 0 para ativar sempre a fila. Se escolher outro número, precisará desta quantidade de players para ativar a fila. players: 0 O autor disse que vai implementar em breve uma permissão para VIPs irem para o topo da fila. Sigam o projeto no Spigot. É isso, se tiverem dúvidas, perguntem aí e tento ajudar. :)
  22. Fala galera, beleza? Hoje estou aqui para fazer um tutorial bem básico à aqueles que não sabem tirar aquelas mensagens que no começo de um servidor que não está tão bem configurado ficam floodando. A maioria dos membros daqui já sabem, mas de qualquer jeito, vamos tirar a dúvida daqueles que precisam. 1 - Primeiramente, abra a página inicial dos arquivos de seu servidor, de preferência no FileZilla. 2 - Depois dessa um pouco até achar o arquivo server.properties. 3 - Abra ela, e então, você achará, na linha 16 (nem todas as vezes nessa linha) escrito "announce-player-achievements". Se você nunca mexeu nele, estará do lado, em true, altere para false. E pronto, depois de alterar para false, você não terá mais aquelas mensagens repetitivas e chatas em seu servidor! Então, o tutorial foi esse, bem básico, para iniciantes mesmo, se quiserem mais, só deixar um comentário ou um gostei que vou entender! Obrigado.
  23. 'HealthBar' com ScoreBoard do Minecraft! Oi, Aqui neste tópico, irei ajudar ou tentar ajudar, à adcionar a quantia de vida em cima da cabeça do(a) jogador(a). Como se fosse usando o plugin HealthBar, mas não é. E sim usando o /scoreboard, do Minecraft! Com apenas 2 comandos. » /scoreboard objectives add ❤ health » /scoreboard objectives setdisplay belowName ❤ ❤ = Icone ou nome que vai aparecer após a quantidade de VIDA do player, altere para oque quiser. Como na imagem abaixo. Utilize o comando pelo console e assim vai conseguir a adicionar cores no item que você deixar. Exemplo: §c❤ = ficaria vermelho. Obrigado becca, por me ajudar a testar isto :lol:! É isto =] Espero que tenha gostado. É bem útil para Servidores que usam o Gladiador que não é compativel com HealthBar, ou algo do tipo. Usando o ScoreBoard do minecraft, não gera nenhum problema/conflito.
  24. Tutorial Skript #2 Bom Dia, Boa Tarde, Boa noite! Fala galera, tudo bem? Trouxe um tutorial para vocês, é meu segundo tutorial postado hoje. Não faz nem 1 hora que postei o outro, mas estou bem ansioso então kk' Através deste tutorial irei ensinar a criar um Menu GUI... Primeiramente, para abrir seu GUI use este código! Rows = Números de slots que terá o GUI: 6 rows = É um chest duplo. 3 rows = Um Chest Normal. Você escolhe. open chest with 6 rows named "Informações" to player Para mudar um slot você terá algumas opções abaixo. Executar uma ação e fechar o menu em seguida. format slot 0 of player with paper to close then run "" Executar uma ação e manter o menu aberto. format slot 0 of player with paper to run "" Deixar o item lá sem executar nada (Não fecha o menu). format slot 0 of player with paper to be unstealable Deixar o item lá e quando o jogador clica ele fecha; format slot 0 of player with paper to close Bom já que aprendemos como faz as coisas e tals, que tal colocar um nome e uma lore pra ficar bonitinho? format slot 0 of player with paper named "&aPapel da felicidade" with lore "&7Clique para ser feliz ;-;" to be unstealable Vamos fazer o console executar algo quando ele clicar. format slot 0 of player with paper named "&aPapel da felicidade" with lore "&7Clique para ser feliz ;-;" to run [execute console command "say %player% é Feliz!"] Você também pode adicionar +1 comando/evento no mesmo slot. Tirei o named e o lore pra não ficar muito grande. format slot 0 of player with paper to run [execute console command "say %player% é Feliz!"] -> [play "CLICK" to player at volume 1.0] Pronto, vou deixar o código abaixo para vocês copiarem e entenderem melhor. command /feliz: trigger: wait 0.43 tick open chest with 6 rows named "Informações" to player wait 0.43 tick format slot 0 of player with paper to close then run "" format slot 1 of player with paper to run "" format slot 2 of player with paper to be unstealable format slot 3 of player with paper to close format slot 4 of player with paper named "&aPapel da felicidade" with lore "&7Clique para ser feliz ;-;" to be unstealable format slot 5 of player with paper named "&aPapel da felicidade" with lore "&7Clique para ser feliz ;-;" to run [execute console command "say %player% é Feliz!"] format slot 6 of player with paper to run [execute console command "say %player% é Feliz!"] -> [play "CLICK" to player at volume 1.0] Aqui vai uma ajudinha para vocês saberem as slots certas. Tutorial: Criando menu GUI #2 Dependências: Skript (Óbvio), SkQuery (GUI) Dicas para o próximo tutorial? Sou uma pessoa muito sem criatividade, eu admito, mas se vocês me derem dicas trarei tutoriais assim que possível!
  25. Bom, vejo muitos novatos que estão iniciando agora em skript, e quero ajuda-los, sei que tem muitos tutoriais sobre isto aqui no fórum, mas deu vontade de fazer kkk Bom, vamos lá! 1. Criando um comando. Bom primeiramente para criar um comando, você deve inicia-lo. Mais como? command /seucomando: Bom, vamos adicionar argumentos! Assim: command /seucomando [<text>]: Então, você já tem "a base" de seu comando, já pode começar a faze-lo. Que tal adicionarmos umas permissões? command /seucomando [<text>]: permission: suapermissao permission message: &cVocê não tem permissão! Antes de começar o código você tem que colocar isto: 'trigger:' abaixo da mensagem de permissão ! Assim: command /seucomando [<text>]: permission: suapermissao permission message: &cVocê não tem permissão! trigger: Bom, eu vou fazer um comando o /voar mas como muitos gostam de usar /fly, que tal adicionar aliases? command /voar [<text>]: aliases: fly permission: suapermissao permission message: &cVocê não tem permissão! trigger: Agora vamos começar a fazer o comando, e primeiramente precisamos checar se o argumento é on/off. command /voar [<text>]: aliases: fly permission: GVoar.use permission message: &cVocê não tem permissão! trigger: if arg 1 = "on": if arg 1 = "off": No caso, traduzido em Português ficaria: "Se o argument 1 for igual à on/off" Bom agora vamos checar se o fly do jogador já está ligado. command /voar [<text>]: aliases: fly permission: GVoar.use permission message: &cVocê não tem permissão! trigger: if arg 1 = "on": if player's flight mode is true: send "&cSeu fly já está ativado!" stop if arg 1 = "off": Use 'stop' pois caso o modo do jogador estiver true, ele não vai executar o que está embaixo. Que no caso seria: command /voar [<text>]: aliases: fly permission: GVoar.use permission message: &cVocê não tem permissão! trigger: if arg 1 = "on": if player's flight mode is true: send "&cSeu fly já está ativado!" stop set player's flight mode to true send "&aVocê ativou seu fly com sucesso!" if arg 1 = "off": Bom ai já terminamos a parte de ativar o fly, agora vou explicar algumas coisas. send "coloque sua mensagem aqui" - Use isto para enviar uma mensagem ao executor do comando. set player's flight mode to true/false - Ativa/Desativa o fly do jogador. Agora você vai copiar os códigos do on, e vai colar no off. Assim: command /voar [<text>]: aliases: fly permission: GVoar.use permission message: &cVocê não tem permissão! trigger: if arg 1 = "on": if player's flight mode is true: send "&cSeu fly já está ativado!" stop set player's flight mode to true send "&aVocê ativou seu fly com sucesso!" if arg 1 = "off": if player's flight mode is true: send "&cSeu fly já está ativado!" stop set player's flight mode to true send "&aVocê ativou seu fly com sucesso!" Poxa cara, então desse jeito ele só ligar o fly.. Como vou desligar então? Simples! Mude as mensagens de acordo com seu gosto, e troque 'true' por 'false'. Vai ficar assim: command /voar [<text>]: aliases: fly permission: GVoar.use permission message: &cVocê não tem permissão! trigger: if arg 1 = "on": if player's flight mode is true: send "&cSeu fly já está ativado!" stop set player's flight mode to true send "&aVocê ativou seu fly com sucesso!" if arg 1 = "off": if player's flight mode is false: send "&cSeu fly já está desativado!" stop set player's flight mode to false send "&aVocê desativou seu fly com sucesso!" Prontinho, seu fly já está pronto. Mas pra finalizar mesmo, vamos fazer com que quando o argumento não estiver setado ou não for on/off ele enviar uma mensagem ao jogador! command /voar [<text>]: aliases: fly permission: GVoar.use permission message: &cVocê não tem permissão! trigger: if arg 1 isn't set: send "&cUtilize /voar <on/off>." stop if arg 1 isn't "on" or "off": send "&cUtilize /voar <on/off>." stop if arg 1 = "on": if player's flight mode is true: send "&cSeu fly já está ativado!" stop set player's flight mode to true send "&aVocê ativou seu fly com sucesso!" if arg 1 = "off": if player's flight mode is false: send "&cSeu fly já está desativado!" stop set player's flight mode to false send "&aVocê desativou seu fly com sucesso!" if arg 1 isn't set: Caso o argumento 1 não estiver setado, ele envia ao player uma mensagem -"Utilize /voar <on/off>." if arg 1 isn't "on" or "off": Caso o argumento 1 não for nem on, nem off, ele envia uma mensagem ao player -"Utilize /voar <on/off>." 2. Criando um evento! Bom, criamos o fly ali em cima não é mesmo? Que tal adicionarmos um evento para que quando ele receba dano o fly desativar automaticamente? E melhor ainda, adicionar um delay caso ele esteja em combate, ficará em um delay de 5s pra poder usar novamente. Pra isso vamos usar o evento 'on damage:' Vamos lá! Aqui é diferente, você terá que usar 'victim' para executar alguma ação para o jogador que recebeu o dano, e 'attacker' para o que está atacando. Assim: on damage: if victim's flight mode is true: set victim's flight mode to false send "&cSeu fly foi desativado automaticamente." to victim set {delay::%victim%} to now Bom, fizemos o evento, adicionamos o delay, mas como vamos usar esse delay? '-' Simples, teremos que adicionar este código o nosso fly! command /voar [<text>]: aliases: fly permission: GVoar.use permission message: &cVocê não tem permissão! trigger: set {_delay} to difference between {delay::%player%} and now if {_delay} is less than 5 seconds: set {delay.Traduzido} to "%difference between 5 seconds and {_delay}%" replace all "hour" with "hora" in {delay.Traduzido} replace all "second" with "segundo" in {delay.Traduzido} replace all "minute" with "minuto" in {delay.Traduzido} replace all "and" with "e" in {delay.Traduzido} send "&cVocê precisar esperar %{delay.Traduzido}% para usar o fly novamente." stop if arg 1 isn't set: send "&cUtilize /voar <on/off>." stop if arg 1 isn't "on" or "off": send "&cUtilize /voar <on/off>." stop if arg 1 = "on": if player's flight mode is true: send "&cSeu fly já está ativado!" stop set player's flight mode to true send "&aVocê ativou seu fly com sucesso!" if arg 1 = "off": if player's flight mode is false: send "&cSeu fly já está desativado!" stop set player's flight mode to false send "&aVocê desativou seu fly com sucesso!" Bom adicionamos o delay ao comando, e o-traduzimos! Então é isso, você já tem um fly com delay e tudo mais, eu não testei nenhum destes códigos, então caso tenha erros me falem e eu corrigirei Tutorial: #1 Comando: /voar (Fly) Dependências: SkQuery Bom comecei com o fly, pois acho que começar fazendo comando de texto não vai ajudar ninguém né. Dicas para o próximo tutorial? Desculpe se tiver algo errado aí, creio que não tenha, mas caso tenha, eu arrumo é só falar! ^-^ Você também pode aprender bastante na Documentação do Skript (SkUnity).
×
×
  • Criar Novo...