[Script] Sistema de headshot estilo sniper elite [BÁSICO]
+3
Encracker
Gabriel César O
PauloFR
7 participantes
Página 1 de 1
[Script] Sistema de headshot estilo sniper elite [BÁSICO]
Vídeo Demonstrativo
Próxima att pretendo fazer um sistema com sons,corpo do inimigo ficar escuro,uma camera que irá rotacionar a bala (a camera já ta pronta estou apenas melhorando)
e se alguém quiser saber se irei fazer um jogo com esse sistema a resposta é não ._. só fiz esse script porque não tinha nada melhor pra fazer,essa é a verdade nua e crua.
a qualidade está ruim porque não usei um bom gravador >_< e nem editei
Esse script é um complemento do Sistema de tiro com raycast portanto você terá que ter o script Atirar...
1° - Coloque o script Inimigo na cabeça do seu inimigo e marque a opção Cabeça,Coloque no Inim o corpo completo do inimigo e no Osso o esqueleto do inimigo...
2° - Faça um prefab com uma camera e coloque o script Bala nele.
3° - Ajuste o ConfigHS a sua necessidade..
4° - Configure o osso do modo q você quiser... no Vídeo o shader do osso é o GUI Text... se estiver com o standard e o osso do inimigo dentro do corpo não irá aparecer...
Obs:Não deixe a bala em cena,Dará um erro no console de um inimigo para o outro mas não bugará o sistema.... Pretendo arrumar mas não agora... ;-; por pura preguiça ;-;
Script Inimigo
Script Bala
Script ConfigHS
Próxima att pretendo fazer um sistema com sons,corpo do inimigo ficar escuro,uma camera que irá rotacionar a bala (
e se alguém quiser saber se irei fazer um jogo com esse sistema a resposta é não ._. só fiz esse script porque não tinha nada melhor pra fazer,essa é a verdade nua e crua.
a qualidade está ruim porque não usei um bom gravador >_< e nem editei
Esse script é um complemento do Sistema de tiro com raycast portanto você terá que ter o script Atirar...
1° - Coloque o script Inimigo na cabeça do seu inimigo e marque a opção Cabeça,Coloque no Inim o corpo completo do inimigo e no Osso o esqueleto do inimigo...
2° - Faça um prefab com uma camera e coloque o script Bala nele.
3° - Ajuste o ConfigHS a sua necessidade..
4° - Configure o osso do modo q você quiser... no Vídeo o shader do osso é o GUI Text... se estiver com o standard e o osso do inimigo dentro do corpo não irá aparecer...
Obs:Não deixe a bala em cena,Dará um erro no console de um inimigo para o outro mas não bugará o sistema.... Pretendo arrumar mas não agora... ;-; por pura preguiça ;-;
Script Inimigo
- Código:
using UnityEngine;
using System.Collections;
public class Inimigo : MonoBehaviour {
public static GameObject CabecaReal, Cano, BalaD, Osso;
public GameObject Inim, Esqueleto;
public float vida = 100;
public bool Cabeca;
bool CabecaMorte,Ignore;
bool chamouMorte = false;
void Start (){
Esqueleto.SetActive (false);
if (Cabeca == true) {//
vida = 1; // Remova essa linha caso não queira que seja apenas 1 tiro
}//
}
void Update () {
if (Cabeca == false) {
if (vida <= 0) {
vida = 0;
if (chamouMorte == false) {
chamouMorte = true;
StartCoroutine ("Morrer");
}
}
}
if (Cabeca == true) {
if (vida <= 0) {
vida = 0;
if (CabecaMorte == false) {
CabecaMorte = true;
Ignore = true;
Instantiate (BalaD, new Vector3 (Cano.transform.position.x, Cano.transform.position.y, Cano.transform.position.z), Quaternion.identity);
CabecaReal = (this.gameObject);
Osso = Esqueleto;
}
}
}
if (Ignore == true) {
if (Vector3.Distance (transform.position, Bala.ProJB.transform.position) < Bala.Distancia) {
StartCoroutine ("Falecer");
}
}
}
IEnumerator Falecer(){
yield return new WaitForSeconds (Bala.Distancia);
Destroy (Inim);
Ignore = false;
}
IEnumerator Morrer(){
GetComponent<MeshRenderer> ().material.color = Color.red;
yield return new WaitForSeconds (2);
Destroy (Inim);
}
}
Script Bala
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Bala : MonoBehaviour {
public static float Velocidade, Distancia;
bool Perto;
float VelocidadeSalva;
public static GameObject ProJB;
void Start (){
ProJB = this.gameObject;
VelocidadeSalva = Velocidade;
}
void Update () {
transform.position = Vector3.Lerp (transform.position, Inimigo.CabecaReal.transform.position, Time.deltaTime * Velocidade);
if (Vector3.Distance (transform.position, Inimigo.CabecaReal.transform.position) < Distancia) {
StartCoroutine ("Destruir");
Inimigo.Osso.SetActive (true);
Velocidade = Velocidade - 10; // Você pode mudar o 10 para ficar + lento ao chegar no inimigo...
} else {
Inimigo.Osso.SetActive (false);
}
}
IEnumerator Destruir (){
yield return new WaitForSeconds (Distancia);
Velocidade = VelocidadeSalva;
Destroy (this.gameObject);
}
}
Script ConfigHS
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ConfigHS : MonoBehaviour {
public GameObject LocalTiro, Projetil;
public float VelTiro, DisEsqueleto;
void Update () {
Bala.Velocidade = VelTiro;
Inimigo.BalaD = Projetil;
Inimigo.Cano = LocalTiro;
Bala.Distancia = DisEsqueleto;
}
}
Última edição por PauloFR em Qua Mar 29, 2017 11:17 pm, editado 4 vez(es)
Re: [Script] Sistema de headshot estilo sniper elite [BÁSICO]
MUITO TOP MESMO!PauloFR escreveu:Vídeo Demonstrativo
Em Breve
Esse script ainda é básico... para utilizar o headshot vc terá que ter o script do "Sistema de tiro com raycast" depois coloque o script "Inimigo" na cabeça do personagem com o collider,marque a opção cabeça e preencha o Inim com o corpo completo do inimigo, O Cano com o local onde a Bala sairá e a Bala com o prefab da bala...
Depois faça um objeto qualquer que será a bala e coloque o script "Bala" nele e configurei ao seu gosto, com uma camera como filha... quando terminar faça um prefab e coloque no script do inimigo.
Obs:não deixe a bala em cena, o script só funcionara corretamente para cabeça, não irá mostrar os ossos do inimigo...
Script Inimigo
- Código:
using UnityEngine;
using System.Collections;
public class Inimigo : MonoBehaviour {
public static GameObject CabecaReal;
public GameObject Inim, Cano, Bala;
public float vida = 100;
public bool Cabeca;
bool CabecaMorte;
bool chamouMorte = false;
void Start (){
if (Cabeca == true) {
vida = 1; // Remova essa linha caso não queira q seja apenas 1 tiro na cabeça q levará a morte do inimigo... e ajuste a vida...
}
}
void Update () {
if (Cabeca == false) {
if (vida <= 0) {
vida = 0;
if (chamouMorte == false) {
chamouMorte = true;
StartCoroutine ("Morrer");
}
}
}
if (Cabeca == true) {
if (vida <= 0) {
vida = 0;
if (CabecaMorte == false) {
CabecaMorte = true;
StartCoroutine ("HS");
Instantiate(Bala,new Vector3(Cano.transform.position.x,Cano.transform.position.y,Cano.transform.position.z), Quaternion.identity);
CabecaReal = (this.gameObject);
}
}
}
}
IEnumerator Morrer(){
GetComponent<MeshRenderer> ().material.color = Color.red;
yield return new WaitForSeconds (2);
Destroy (Inim);
}
IEnumerator HS(){
yield return new WaitForSeconds (8); // Troque o 8 por um tempo adequado ao seu jogo... Recomendo deixar igual ao Tempo do script Bala...
Destroy (Inim);
}
}
Script Bala
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Bala : MonoBehaviour {
public float Velocidade;
public int Tempo;
void Update () {
transform.position = Vector3.Lerp (transform.position, Inimigo.CabecaReal.transform.position, Time.time * Velocidade);
StartCoroutine ("Faliceu");
}
IEnumerator Faliceu (){
yield return new WaitForSeconds (Tempo);
Destroy (this.gameObject);
}
}
Qualquer dúvida só perguntar...
Gabriel César O- Profissional
- PONTOS : 3738
REPUTAÇÃO : 217
Idade : 22
Áreas de atuação : (ESTUDANDO SEGUNDO GRAU), (FUÇANDO NO UNITY)){
Respeito as regras :
Re: [Script] Sistema de headshot estilo sniper elite [BÁSICO]
Faliceu kkkkkkkkkkkk parabens cara...muito top...vo testa aqiui...fez o sistema de slow motion? Kkkkk se tiver ta massaPauloFR escreveu:Vídeo Demonstrativo
Em Breve
Esse script ainda é básico... para utilizar o headshot vc terá que ter o script do "Sistema de tiro com raycast" depois coloque o script "Inimigo" na cabeça do personagem com o collider,marque a opção cabeça e preencha o Inim com o corpo completo do inimigo, O Cano com o local onde a Bala sairá e a Bala com o prefab da bala...
Depois faça um objeto qualquer que será a bala e coloque o script "Bala" nele e configurei ao seu gosto, com uma camera como filha... quando terminar faça um prefab e coloque no script do inimigo.
Obs:não deixe a bala em cena, o script só funcionara corretamente para cabeça, não irá mostrar os ossos do inimigo...
Script Inimigo
- Código:
using UnityEngine;
using System.Collections;
public class Inimigo : MonoBehaviour {
public static GameObject CabecaReal;
public GameObject Inim, Cano, Bala;
public float vida = 100;
public bool Cabeca;
bool CabecaMorte;
bool chamouMorte = false;
void Start (){
if (Cabeca == true) {
vida = 1; // Remova essa linha caso não queira q seja apenas 1 tiro na cabeça q levará a morte do inimigo... e ajuste a vida...
}
}
void Update () {
if (Cabeca == false) {
if (vida <= 0) {
vida = 0;
if (chamouMorte == false) {
chamouMorte = true;
StartCoroutine ("Morrer");
}
}
}
if (Cabeca == true) {
if (vida <= 0) {
vida = 0;
if (CabecaMorte == false) {
CabecaMorte = true;
StartCoroutine ("HS");
Instantiate(Bala,new Vector3(Cano.transform.position.x,Cano.transform.position.y,Cano.transform.position.z), Quaternion.identity);
CabecaReal = (this.gameObject);
}
}
}
}
IEnumerator Morrer(){
GetComponent<MeshRenderer> ().material.color = Color.red;
yield return new WaitForSeconds (2);
Destroy (Inim);
}
IEnumerator HS(){
yield return new WaitForSeconds (8); // Troque o 8 por um tempo adequado ao seu jogo... Recomendo deixar igual ao Tempo do script Bala...
Destroy (Inim);
}
}
Script Bala
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Bala : MonoBehaviour {
public float Velocidade;
public int Tempo;
void Update () {
transform.position = Vector3.Lerp (transform.position, Inimigo.CabecaReal.transform.position, Time.time * Velocidade);
StartCoroutine ("Faliceu");
}
IEnumerator Faliceu (){
yield return new WaitForSeconds (Tempo);
Destroy (this.gameObject);
}
}
Qualquer dúvida só perguntar...
Re: [Script] Sistema de headshot estilo sniper elite [BÁSICO]
hackernew404 escreveu:Faliceu kkkkkkkkkkkk parabens cara...muito top...vo testa aqiui...fez o sistema de slow motion? Kkkkk se tiver ta massa
kkkk só deixar a velocidade menor e o tempo maior huehuehue
má to pensando em deixar o slow + detalhado... mas antes vo deixar + automatizado ._. pq tem muita coisa manual para poder ficar bom...
Re: [Script] Sistema de headshot estilo sniper elite [BÁSICO]
Sistema atualizado...
Adicionado: Jogador conseguir ver o esqueleto quando estar perto, Script para poder estar configurando de um modo + rápido...
Adicionado: Jogador conseguir ver o esqueleto quando estar perto, Script para poder estar configurando de um modo + rápido...
rafaelllsd- ProgramadorMaster
- PONTOS : 4994
REPUTAÇÃO : 507
Idade : 23
Áreas de atuação : Unity, Audacity, Blender, Gimp, C#, JS, MySQL.
Respeito as regras :
Re: [Script] Sistema de headshot estilo sniper elite [BÁSICO]
Obrigado dstaroski e rafaellsd
só q há muitos bugs na parte de destruição da bala e do inimigo... se estiver muito longe costuma bugar, um dia eu arrumo isso :/ e melhoro o script.
só q há muitos bugs na parte de destruição da bala e do inimigo... se estiver muito longe costuma bugar, um dia eu arrumo isso :/ e melhoro o script.
Re: [Script] Sistema de headshot estilo sniper elite [BÁSICO]
Dahora! vc quem fez o script?
Última edição por MateusWTP em Qui Mar 30, 2017 11:16 pm, editado 1 vez(es) (Motivo da edição : Erros)
Re: [Script] Sistema de headshot estilo sniper elite [BÁSICO]
MateusWTP escreveu:Dahora! vc quem fez o script?
O Script completo não,porque quem fez a paradinha do tiro com raycast e a base do script "inimigo" foi o marcos... mas o resto fiz sozinho...
Re: [Script] Sistema de headshot estilo sniper elite [BÁSICO]
Surpreendente jovem! Parabéns! Script é o que desenvolvedores independentes mais precisam!
joabr- Mestre
- PONTOS : 3259
REPUTAÇÃO : 178
Idade : 32
Áreas de atuação : Modelagem, textura, animação, partícula e otimização.
Respeito as regras :
Tópicos semelhantes
» [TUTORIAL] Unity 5 - Sistema básico de jogo estilo ANGRY BIRDS
» [DÚVIDA] SISTEMA DE HEADSHOT
» [TUTORIAL] Sistema de dia e noite básico
» [TUTORIAL]Sistema Basico de Combustivel (PC e Android)
» Como Fazer Um Sistema Basico De Dinheiro
» [DÚVIDA] SISTEMA DE HEADSHOT
» [TUTORIAL] Sistema de dia e noite básico
» [TUTORIAL]Sistema Basico de Combustivel (PC e Android)
» Como Fazer Um Sistema Basico De Dinheiro
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos