Ir para conteúdo

[AJUDA] Plugin de Armas


NeoaK_GamesBR

Posts Recomendados

Fala tropa, fmz? Estou há alguns meses tentando criar ou encontrar um plugin que atenda tudo que eu quero nele. O mais proximo que eu encontrei foi o CrackShot e CrackSHot Plus. Tentei configurar ele e falhei inúmeras vezes. Vê se alguém consegue me ajudar.


Obs.: Seria pra versão 1.8.X +

Segue tudo que preciso nele:


 

🚀 PLUGIN NOVO DE ARMAS REALISTAS - ESPECIFICAÇÃO COMPLETA


1. Funcionalidades principais

🔫 Armas com balística realista

  • Balas que viajam em linha reta com velocidade configurável.

  • Recuo que afeta a mira do jogador (movimento da câmera).

  • Dano que diminui com a distância.

  • Penetração de paredes: balas atravessam blocos específicos com redução de dano.

  • Penetração de múltiplos jogadores (acerta vários alvos numa linha).

🎯 Munição realista

  • Cada arma consome munição específica, com tipos de cartuchos reais (ex: 9mm, 5.56, 7.62).

  • Municão representada como itens custom no inventário.

  • Sistema de recarga com tempo e animação sonora.

⚙️ Sistema de armas e customizações

  • Armas configuráveis por arquivo YAML/JSON (dano, cadência, recoil, penetração, som, etc).

  • Customização de acessórios (mira telescópica, silenciador, grip) que alteram stats da arma.

🎮 Interface

  • Sistema de mira: crosshair que reage ao recoil.

  • Feedback visual (partículas de bala, fumaça no disparo).

  • Sons de disparo, recarga, clique vazio.

💥 Efeitos de dano

  • Sangramento (dano ao longo do tempo).

  • Knockback (empurrar o jogador atingido).

  • Possibilidade de status (exemplo: atordoamento, desaceleração).

🔄 Economia e progressão

  • Integrar com economia para comprar munição e armas.

  • Permissões e ranks para desbloquear armas.


2. Estrutura de dados sugerida

 
yaml
 
weapons: ak47: name: "AK-47" ammo_type: "7.62x39mm" damage: 7.5 fire_rate: 600 # tiros por minuto recoil: vertical: 2.5 horizontal: 1.2 recovery: 0.5 penetration: enabled: true max_blocks: 2 damage_loss_per_block: 0.25 max_entities: 2 damage_loss_per_entity: 0.4 reload_time: 2.5 # segundos projectile_speed: 80 sound_shoot: "ak47_shoot_sound" sound_reload: "ak47_reload_sound" ammo: 7.62x39mm: item_id: "custom_ammo_7_62" stack_size: 30

3. Conceitos e lógica para implementação

3.1. Disparo da arma

  • Quando o jogador dispara:

    • Verificar se tem munição suficiente.

    • Remover munição do inventário.

    • Criar um "projectile" invisível (ex: um ray trace ou entidade custom) que viaja na direção da mira.

    • A cada tick, avançar o projectile e checar colisão com blocos e jogadores.

3.2. Penetração de paredes e jogadores

  • Para cada bloco no caminho:

    • Se o bloco é penetrável, reduzir dano e continuar.

    • Se não, para o projectile.

  • Para cada jogador no caminho:

    • Aplicar dano reduzido (baseado no dano atual do projectile).

    • Continuar até atingir o limite máximo de entidades atingidas.

3.3. Recuo

  • Após cada tiro, aplicar um deslocamento no ângulo da câmera do jogador.

  • Esse deslocamento deve ser suavizado/recover com o tempo.

3.4. Recarga

  • Jogador inicia recarga.

  • Após o tempo de recarga, munição é adicionada ao pente da arma.

  • Durante a recarga, não pode atirar.

3.5. Interface visual e sonora

  • Usar efeitos de partículas na boca da arma quando disparada.

  • Sons sincronizados com tiro e recarga.

  • Crosshair que se expande com o recoil.


4. Exemplo de pseudocódigo para disparo

 
java
 
void onPlayerShoot(Player player, Weapon weapon) { if (!playerHasAmmo(player, weapon.ammo_type)) { playSound(player, "empty_click"); return; } consumeAmmo(player, weapon.ammo_type); Vector direction = player.getLookDirection(); Projectile projectile = new Projectile(player.getEyeLocation(), direction, weapon.projectile_speed, weapon.damage); while (projectile.isActive()) { projectile.moveForward(); Block hitBlock = projectile.checkCollisionWithBlocks(); if (hitBlock != null) { if (weapon.penetration.enabled && isPenetrable(hitBlock)) { projectile.damage *= (1 - weapon.penetration.damage_loss_per_block); projectile.penetratedBlocks++; if (projectile.penetratedBlocks > weapon.penetration.max_blocks) { projectile.deactivate(); } } else { projectile.deactivate(); } } Player hitPlayer = projectile.checkCollisionWithPlayers(); if (hitPlayer != null) { hitPlayer.applyDamage(projectile.damage); projectile.entitiesHit++; if (projectile.entitiesHit >= weapon.penetration.max_entities) { projectile.deactivate(); } else { projectile.damage *= (1 - weapon.penetration.damage_loss_per_entity); } } } applyRecoil(player, weapon.recoil); playSound(player, weapon.sound_shoot); spawnParticles(player.getEyeLocation()); }

5. Extras para o plugin

  • Sistema de acessórios: Os jogadores podem comprar acessórios para as armas que melhoram recoil, dano, penetração, etc.

  • Customização visual: Skins para armas, camuflagem.

  • Logs de tiros e kills: Para monitorar stats e possíveis cheats.

  • Modo de treino: Área segura para testar armas sem perder vida.


6. Tecnologias / APIs úteis

  • Spigot API (para Minecraft Java Edition).

  • Packet listeners para manipular visão do jogador (recoil).

  • NMS (net.minecraft.server) para efeitos avançados (se necessário).

  • Libs de particulas e sons customizados.

Editado por NeoaK_GamesBR
Acrescentar versão do jogo
Link para o comentário
Compartilhar em outros sites





Consistent Servicing Prevents Costly Repairs

Regular roofing care can avoid extensive and expensive repairs if neglected unaddressed for extended times. Small issues like seepages, cracks, or missing shingles can escalate into significant troubles if neglected. Homeowners ought to plan routine examinations with licensed roof experts to detect any problems quickly and resolve them ahead of they turn pricey headaches. Keeping roofing in top shape can prolong its lifespan and conserve residents costs eventually.

For instance A property owner sees a small leak in their roof and calls a licensed contractor to examine. The contractor identifies several issues that may have resulted in significant damage if ignored. Addressing these concerns quickly conserves the property owner a lot of cash in possible restorations.

For the purpose of illustration One landlord schedules yearly checks for their roofing. During one of these examinations, the contractor discovers beginning symptoms of deterioration. Preventative maintenance performed immediately prolongs the longevity of the roof and prevents high-priced restorations in the future.







Full roofing evaluation services by Leland North Carolina

Crucial Significance of Rooftop Sealing in Drip Prevention e898c7d
Link para o comentário
Compartilhar em outros sites

Participe da Conversa

Você pode postar agora e se cadastrar mais tarde. Se você tiver uma conta, a class='ipsType_brandedLink' href='https://gamersboard.com.br/login/' data-ipsDialog data-ipsDialog-size='medium' data-ipsDialog-title='Sign In Now'>acesse agora para postar com sua conta.
Observação: sua postagem exigirá aprovação do moderador antes de ficar visível.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.

Processando...
×
×
  • Criar Novo...