• Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by JJNCreator · Aug 01, 2012 at 06:37 PM · playerenemymessagesendhealth

Player Character Health

hey guys. i have a player character script from BurgZergArcade with weapon meshes along with a player combat script. i want each mesh to take a different amount of health away from the enemy using this code:

  EnemyHealth eh = (EnemyHealth)_enemy.GetComponent("EnemyHealth");
  eh.AddjustCurrentHealth(-45);

also, i want to send a message to the player combat script from the functions of the player character script. do you have any suggestions? thanks

Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

2 Replies

· Add your reply
  • Sort: 
avatar image
0

Answer by Loius · Aug 01, 2012 at 06:59 PM

I'd suggest using an actual tutorial instead of grabbing code and worrying your way through it. The changes you're looking for are very simple.

(change -45 to a variable, call a function)

Comment
Add comment · Show 1 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image JJNCreator · Aug 01, 2012 at 08:13 PM 0
Share

Thanks. how do i make this work with the weapon meshes and this script?

using UnityEngine; using System.Collections;

public class PlayerCombat : $$anonymous$$onoBehaviour { public GameObject target; public float attackTimer; public float coolDown;

// Use this for initialization void Start () { attackTimer = 0; coolDown = 2.0f;

}

// Update is called once per frame void Update () { if(attackTimer > 0) attackTimer -= Time.deltaTime;

if(attackTimer < 0) attackTimer = 0;

if(Input.Get$$anonymous$$eyUp($$anonymous$$eyCode.F)) { if(attackTimer == 0) { Attack(); attackTimer = coolDown; } } }

public void Attack() { float distance = Vector3.Distance(target.transform.position, transform.position);

Vector3 dir = (target.transform.position - transform.position).normalized;

float direction = Vector3.Dot(dir, transform.forward);

Debug.Log(direction);

if(distance < 2f) { if(direction > 0) { Send$$anonymous$$essage("$$anonymous$$axDamage");

if(distance < 2f) { if(direction > 0) { Send$$anonymous$$essage("Damage");

if(distance < 2f) { if(direction > 0) { Send$$anonymous$$essage("$$anonymous$$inDamage");

EnemyHealth eh = (EnemyHealth)target.GetComponent("EnemyHealth");

if(eh.curHealth == 0) { Send$$anonymous$$essage("replaceWithRagdoll"); } }

} } }

} } } }

avatar image
0

Answer by IndieScapeGames · Aug 01, 2012 at 07:36 PM

To expand on Vicenti's answer, you want to assign -45 to a variable, and pass that in the method call, and not specifically just a number.

 int damageInflicted = -45;
 
 EnemyHealth eh = (EnemyHealth)_enemy.GetComponent("EnemyHealth");
 eh.AddjustCurrentHealth(damageInflicted); 
 /*
  *Check spelling of AddjustCurrentHealth with the spelling of the method
  *The correct spelling of addjust is adjust
 */
Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Welcome to Unity Answers

If you’re new to Unity Answers, please check our User Guide to help you navigate through our website and refer to our FAQ for more information.

Before posting, make sure to check out our Knowledge Base for commonly asked Unity questions.

Check our Moderator Guidelines if you’re a new moderator and want to work together in an effort to improve Unity Answers and support our users.

Follow this Question

Answers Answers and Comments

8 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Deduct health on collision 2 Answers

I use this script, but the enemy lose health if i don´t target him. 1 Answer

I want to attack me enemy and decrease their health, but t won't work, what am I doing wrong with my script? 4 Answers

Trouble sending message... 2 Answers

How to make my player not lose health when attacking the enemy? 2 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges