Quantcast
Channel: Questions in topic: "enemy"
Viewing all articles
Browse latest Browse all 1488

Making AI attack (My Script Attached)

$
0
0
Hello I'm trying to make my AI attack me and take damage off me. My script is below. Where would I begin in making this happen. EnemyAtk.js var giveUpThreshold = 20; // distance beyond which AI gives up var attackRepeatTime = 1; // delay between attacks when within range private var chasing = false; private var attackTime = Time.time; var myTransform : Transform; //current transform data of this enemy function Awake() { myTransform = transform; //cache transform data for easy access/preformance } function Start() { target = GameObject.FindWithTag("Player").transform; //target the player } function Update () { // check distance to target every frame: var distance = (target.position - myTransform.position).magnitude; if (chasing) { //rotate to look at the player myTransform.rotation = Quaternion.Slerp(myTransform.rotation, Quaternion.LookRotation(target.position - myTransform.position), rotationSpeed*Time.deltaTime); //move towards the player myTransform.position += myTransform.forward * moveSpeed * Time.deltaTime; // give up, if too far away from target: if (distance > giveUpThreshold) { chasing = false; } // attack, if close enough, and if time is OK: if (distance < attackThreshold && Time.time > attackTime) { // Attack! (call whatever attack function you like here) attackTime = Time.time + attackRepeatTime; } } else { // not currently chasing. // start chasing if target comes close enough if (distance < chaseThreshold) { chasing = true; } } } and my player Health Script is attached below. // JavaScript var enemyHealth : int = 100; var backgroundTexture : Texture; var foregroundTexture : Texture; var frameTexture : Texture; var healthWidth: int = 199; var healthHeight: int = 30; var healthMarginLeft: int = 41; var healthMarginTop: int = 38; var frameWidth : int = 266; var frameHeight: int = 65; var frameMarginLeft : int = 10; var frameMarginTop: int = 10; function OnGUI () { GUI.DrawTexture( Rect(frameMarginLeft,frameMarginTop, frameMarginLeft + frameWidth, frameMarginTop + frameHeight), backgroundTexture, ScaleMode.ScaleToFit, true, 0 ); GUI.DrawTexture( Rect(healthMarginLeft,healthMarginTop,healthWidth + healthMarginLeft, healthHeight), foregroundTexture, ScaleMode.ScaleAndCrop, true, 0 ); GUI.DrawTexture( Rect(frameMarginLeft,frameMarginTop, frameMarginLeft + frameWidth,frameMarginTop + frameHeight), frameTexture, ScaleMode.ScaleToFit, true, 0 ); } I was thinking of adding something to do with the collision to the enemy's attack script but I've only just started learning coding and not sure about how I would code it, I know the idea of what I want to do like Collision>Enemy=attack>player health goes down -3 but how would I make that happen and what sort of tutorial will help me?

Viewing all articles
Browse latest Browse all 1488

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>