hello guys my name is john and i working in my script, things going good but i have a small problem, i want to collect bullets from boxes … the first thing i do was to make a transfrom variable and with vector3 when i wan something like player position < 3 in the transfrom i can press the “e” key and collect the bullets (variable + bullets) - ( BulletsLeft + 15); but i am not sure why is not working… here is my script, i have mark with // the problem start - end. please help, if you find something usefull for my scipt add comment.
var Range : float = 1000;
var Force : float = 1000;
var Clips : int = 20;
var BulletPerClip : int = 60;
var BulletsLeft : int = 0;
var ReloadTime : float = 3.3;
var Damage : int = 10;
var BurstingDamage : int;
var isSimpleMode : boolean;
var PistolAmmoBox : Transform;
var RiffleAmmoBox : Transform;
var ShotgunAmmoBox : Transform;
var SniperAmmoBox : Transform;
var HealthKit : Transform;
var Grenade : Transform;
var mySkin : GUISkin;
var MoveSpeed: float = 1;
var ShootTimer : float = 0;
var ShootCooler : float = 0.5;
var ShootAudio : AudioClip;
var EmptyFullWeaponAudio : AudioClip;
var SwitchModeSound : AudioClip;
var ReloadAudio : AudioClip;
var muzzleFlash : ParticleEmitter;
var hitParticles : ParticleEmitter;
var BloodEffect : ParticleEmitter;
var BloodEffectMain: ParticleEmitter;
var Metal : ParticleEmitter;
var muzzleFlashTimer : float = 0;
var KeyCooler : float = 0.5;
var KeyTimer : float = 0;
var muzzleFlashCooler : float = 0.5;
var Light1 : Light;
var Light2 : Light;
var Light3 : Light;
var crosshairFirstModeHorizontal : Texture2D;
var crosshairFirstModeVertical : Texture2D;
var crosshairSecondMode : Texture2D;
private var adjustMaxCroshairSize : float = 6.0;
var canSwicthMode : boolean = true;
var bursting : boolean = false;
var maxDist : float = 1000000000;
var woodHitWall : GameObject;
var concreteHitWall : GameObject;
var floatInFrontOfWall : float = 0.00001;
var gunGUI : GUIStyle;
var rect1: float;
var rect2: float;
var rect3: float;
var rect4: float;
var IdleAnim : GameObject;
var ShootAnim : GameObject;
var ReloadAnim : GameObject;
var Reload2Anim : GameObject;
var EmptyAnim : GameObject;
var RunAnim : GameObject;
var ShiftRunAnim : GameObject;
function Start(){
BulletsLeft = BulletPerClip;
isSimpleMode = true;
DefaultPos = transform.localPosition;
muzzleFlash.emit = false;
hitParticles.emit = false;
BloodEffect.emit = false;
Metal.emit = false;
BloodEffectMain.emit = false;
Light1.enabled = false;
Light2.enabled = false;
Light3.enabled = false;
}
function OnGUI (){
GUI.Label(new Rect(Screen.width/rect1,Screen.height/rect2, Screen.width/rect3,Screen.height/rect4 ),""+BulletsLeft+"/"+Clips+"",gunGUI);
}
function Update(){
if( KeyTimer > 0){
KeyTimer -= Time.deltaTime;
}
if( KeyTimer < 0){
KeyTimer= 0;
}
if( muzzleFlashTimer > 0){
muzzleFlashTimer -= Time.deltaTime;
MuzzleFlash();
}
if( muzzleFlashTimer < 0){
muzzleFlashTimer = 0;
}
if( ShootTimer > 0){
ShootTimer -= Time.deltaTime;
}
if(ShootTimer < 0){
ShootTimer = 0;
}
if( KeyTimer == 0){
if(Input.GetMouseButtonDown(0) && BulletsLeft ){
if( ShootTimer == 0){
PlayShootAudio();
RayShoot();
ShootTimer = ShootCooler;
KeyTimer = KeyCooler;
}
if( muzzleFlashTimer == 0){
muzzleFlashTimer = muzzleFlashCooler;
MuzzleFlash ();
}
}
}
}
function MuzzleFlash (){
if( muzzleFlashTimer > 0){
muzzleFlash.emit= false;
Light1.enabled = false;
Light2.enabled = false;
Light3.enabled = false;
}
if( muzzleFlashTimer == muzzleFlashCooler){
muzzleFlash.transform.localRotation = Quaternion.AngleAxis(Random.value * 360 , Vector3.forward);
muzzleFlash.emit = true;
Light1.enabled = true;
Light2.enabled = true;
Light3.enabled = true;
//////////////START PROBLEM///////////////
}
if(Vector3.Distance(PistolAmmoBox.position, transform.position) < 3){
BulletsLeft * 1.5;
}
}
//////////////END PROBLEM ///////////
function RayShoot (){
var hit : RaycastHit;
if (Physics.Raycast(transform.position, transform.forward, hit, maxDist))
{
if (concreteHitWall && hit.transform.tag == "Concrete")
Instantiate(concreteHitWall, hit.point + (hit.normal * floatInFrontOfWall), Quaternion.LookRotation(hit.normal));
}
var direction : Vector3 = transform.TransformDirection(Vector3.forward);
Debug.DrawRay(transform.position , direction * Range , Color.red);
if(Physics.Raycast(transform.position , direction , hit, Range)){
var hitRotation = Quaternion.FromToRotation(Vector3.up, hit.normal);
if(hit.rigidbody){
if(hitParticles){
hitParticles.transform.position = hit.point;
hitParticles.transform.localRotation = Quaternion.FromToRotation(Vector3.up, hit.normal);
hitParticles.Emit();
hit.rigidbody.AddForceAtPosition( direction * Force , hit.point);
hit.collider.SendMessageUpwards("ApplyDamage" , Damage , SendMessageOptions.DontRequireReceiver);
}
if(hit.collider.gameObject.CompareTag("Enemy")){
if( BloodEffect ){
if( BloodEffectMain){
BloodEffect.transform.position = hit.point;
BloodEffect.transform.position = hit.point;
BloodEffect.transform.localRotation = Quaternion.FromToRotation(Vector3.forward, hit.normal);
BloodEffectMain.transform.localRotation = Quaternion.FromToRotation(Vector3.forward, hit.normal);
BloodEffect.Emit();
BloodEffectMain.Emit();
}
}
}
}
}
BulletsLeft --;
if(BulletsLeft < 0){
BulletsLeft = 0;
}
if( BulletsLeft == 0 ){
SwitchMode();
Reload();
}
}
function SwitchMode(){
if(Input.GetButtonDown("SwitchMode") && isSimpleMode == true){
bursting = true;
if (bursting == true){
Damage = 25;
isSimpleMode = false;
}
else if(Input.GetButtonDown("SwitchMode") && isSimpleMode == false){
bursting = false;
}
if(bursting == false){
Damage = 50;
}
isSimpleMode = true;
}
}
function Reload(){
PlayReloadAudio();
yield WaitForSeconds(0.2);
yield WaitForSeconds( ReloadTime);
if(Clips > 0){
BulletsLeft = BulletPerClip;
Clips -= 1;
}
}
function PlayShootAudio(){
audio.PlayOneShot( ShootAudio);
}
function PlayReloadAudio(){
audio.PlayOneShot( ReloadAudio);
}