All pastes #2127757 Raw Edit

Stuff

public text v1 · immutable
#2127757 ·published 2012-03-13 11:20 UTC
rendered paste body
var relative : boolean;
var rot : Vector3;
var apagavel : boolean;
var sangue : boolean;
var exposure : float;
var pancada : float;
var HitPlayer : boolean;
var HitEnemy : boolean;
var explosion : Transform;
var force : float;
var radius : float;
var timeOut = 2.0;
var inflamavel : boolean;
var rotateBullet : boolean;
var rotateR : float;
var rotateF : float;
var rotateU : float;
var pai : Transform;
var hitJustPlayer : boolean;
private var pipoco : Transform;
private var pcount : explosionMeelee;
private var contact : ContactPoint;
private var rotation : Quaternion;
var seletiva : boolean;
var timexplode : float = 20;
var tx : float;
var canexplode : boolean = true;
var imi : boolean;


function Start () {
	
	Invoke("Kill", timeOut);
	Invoke ("explode", timexplode);
	tx = Time.time + timexplode;
	if(timexplode < 0.2){
		imi = true;
	}
}

function Update(){
	if(Time.time > tx){
		explode();
	
	}
	
	
	if(pai){
		transform.position = pai.position;
		if(!rotateBullet){
			transform.rotation = pai.rotation;
		}
	}
	if(rotateBullet){
	
		transform.Rotate(Vector3.right * Time.deltaTime*rotateR);
		transform.Rotate(Vector3.forward * Time.deltaTime*rotateF);
		transform.Rotate(Vector3.up * Time.deltaTime*rotateU, Space.World);
		
	
	}

}

function OnCollisionEnter (other : Collision) {
	if(!imi){
		if(hitJustPlayer){
				if(other.gameObject.tag == "Player"){
				canexplode = false;
				gameObject.transform.collider.isTrigger = true;
				contact = other.contacts[0];
				rotation = Quaternion.FromToRotation(Vector3.up, contact.normal);
				yield WaitForSeconds (0.1);
				rot = rigidbody.velocity;
				pipoco = Instantiate (explosion, contact.point, rotation);
				pcount = pipoco.GetComponent(explosionMeelee);
				pcount.dano = pancada;
				pcount.explosionPower = force;
				pcount.explosionRadius = radius;
				pcount.inflamavel = inflamavel;
				pcount.HitPlayer = true;
				pcount.HitEnemy = false;
				pcount.sangue = sangue;
				pcount.relative = relative;
				pcount.rot = rot;
				Kill ();
			}
		}
		
		if(!hitJustPlayer){
		if(seletiva){
		
		if(other.gameObject.tag == "pegavelE"){
				canexplode = false;
				gameObject.transform.collider.isTrigger = true;
				contact = other.contacts[0];
				rotation = Quaternion.FromToRotation(Vector3.up, contact.normal);
				yield WaitForSeconds (0.1);
				rot = rigidbody.velocity;
				pipoco = Instantiate (explosion, contact.point, rotation);
				pcount = pipoco.GetComponent(explosionMeelee);
				pcount.dano = pancada;
				pcount.explosionPower = force;
				pcount.explosionRadius = radius;
				pcount.inflamavel = inflamavel;
				pcount.HitPlayer = HitPlayer;
				pcount.HitEnemy = HitEnemy;
				pcount.sangue = sangue;
				pcount.relative = relative;
				pcount.rot = rot;
				 
				Kill ();
		
		}
				if(other.gameObject.tag == "meelee"){
				canexplode = false;
				gameObject.transform.collider.isTrigger = true;
				contact = other.contacts[0];
				rotation = Quaternion.FromToRotation(Vector3.up, contact.normal);
				yield WaitForSeconds (0.1);
				rot = rigidbody.velocity;
				pipoco = Instantiate (explosion, contact.point, rotation);
				pcount = pipoco.GetComponent(explosionMeelee);
				pcount.dano = pancada;
				pcount.explosionPower = force;
				pcount.explosionRadius = radius;
				pcount.inflamavel = inflamavel;
				pcount.HitPlayer = HitPlayer;
				pcount.HitEnemy = HitEnemy;
				pcount.sangue = sangue;
				pcount.relative = relative;
				pcount.rot = rot;
				 
				Kill ();
		
		}
		
		if(other.gameObject.tag == "enemy"){
				canexplode = false;
				gameObject.transform.collider.isTrigger = true;
				contact = other.contacts[0];
				rotation = Quaternion.FromToRotation(Vector3.up, contact.normal);
				yield WaitForSeconds (0.1);
				rot = rigidbody.velocity;
				pipoco = Instantiate (explosion, contact.point, rotation);
				pcount = pipoco.GetComponent(explosionMeelee);
				pcount.dano = pancada;
				pcount.explosionPower = force;
				pcount.explosionRadius = radius;
				pcount.inflamavel = inflamavel;
				pcount.HitPlayer = HitPlayer;
				pcount.HitEnemy = HitEnemy;
				pcount.sangue = sangue;
				pcount.relative = relative;
				pcount.rot = rot;
				 
				Kill ();
			}
			}
			if(!seletiva){
				if(other.gameObject){
					canexplode = false;
					gameObject.transform.collider.isTrigger = true;
					contact = other.contacts[0];
					rotation = Quaternion.FromToRotation(Vector3.up, contact.normal);
					yield WaitForSeconds (0.1);
					rot = rigidbody.velocity;
					pipoco = Instantiate (explosion, contact.point, rotation);
					pcount = pipoco.GetComponent(explosionMeelee);
					pcount.dano = pancada;
					pcount.explosionPower = force;
					pcount.explosionRadius = radius;
					pcount.inflamavel = inflamavel;
					pcount.HitPlayer = HitPlayer;
					pcount.HitEnemy = HitEnemy;
					pcount.sangue = sangue;
					pcount.relative = relative;
					pcount.rot = rot;
				 
					Kill ();
				}
			}
			}
			}	
		
		}
				
	

	


function OnTriggerEnter(other : Collider){

	
if(apagavel && other.gameObject.tag == "agua"){

Destroy(gameObject);
}



}



function Kill (){

var emitter : ParticleEmitter= GetComponentInChildren(ParticleEmitter);
	if (emitter)
		emitter.emit = false;
		transform.DetachChildren();
		Destroy(gameObject);
	}
@script RequireComponent (Rigidbody)

function explode(){

	if(canexplode){
		canexplode = false;
var emitter : ParticleEmitter= GetComponentInChildren(ParticleEmitter);


	if(hitJustPlayer){
		
				pipoco = Instantiate (explosion, pai.position, Quaternion.identity);
				pcount = pipoco.GetComponent(explosionMeelee);
				pcount.dano = pancada;
				pcount.explosionPower = force;
				pcount.explosionRadius = radius;
				pcount.inflamavel = inflamavel;
				pcount.HitPlayer = true;
				pcount.HitEnemy = false;
				pcount.sangue = sangue;
				pcount.relative = relative;
				pcount.rot = rot;
				
					if (emitter){
						emitter.emit = false;
						transform.DetachChildren();
						Destroy(gameObject);
					}
				return;
			}
		
		if(!hitJustPlayer){

				//gameObject.transform.collider.isTrigger = true;
	
				//rotation = Quaternion.FromToRotation(Vector3.up, contact.normal);
				//yield WaitForSeconds (0.1);
				//rot = rigidbody.velocity;
				pipoco = Instantiate (explosion, pai.position, Quaternion.identity);
				pcount = pipoco.GetComponent(explosionMeelee);
				pcount.dano = pancada;
				pcount.explosionPower = force;
				pcount.explosionRadius = radius;
				pcount.inflamavel = inflamavel;
				pcount.HitPlayer = HitPlayer;
				pcount.HitEnemy = HitEnemy;
				pcount.sangue = sangue;
				pcount.relative = relative;
				pcount.rot = rot;
					if (emitter){
						emitter.emit = false;
						transform.DetachChildren();
						Destroy(gameObject);
					}
				return;
			
			}
		return;
		}		
}