Hack and Slash Attack System?

deathreaper9

New Member
Reaction score
0
Hey, I looked through the forums and found no similar topics to what I'm about to ask.

I was trying to make this system where you press a hotkey for skill/item and you attack, similar to hack and slash style. I believe this can relate to Dark Invasion 2.
I have my hero with no attack by the way.

Any advice or help?
 

MorbazanRhot

New Member
Reaction score
7
Well, I'm not 100% on what you want, but I think I have an idea. You could do something with this:

Code:
Player - Player 1 (Red) Presses the Left Arrow key

Obviously with whichever player, and you can use all 4 arrow keys and tie them to different attacks. Then have the Events play your unit's attack animation, play his weapon sound (metal slice for a sword, etc.), and create a special effect on the attacked unit (probably using blood, you could use different blood effects [like the stampede one or a couple of the human death ones] to denote the different attacks).

The kicker is how you select which unit gets attacked with the ability. You could probably just have the trigger find the closest unit within a certain short range, but that seems relatively inaccurate. I would probably go 1 of 2 routes:

1) Whenever you right-click on a unit with your hero selected, that unit becomes the target (and assuming you're within something like 100 range of the unit, when you press your arrows you attack that unit). Do this by having a trigger with the event "Unit is issued an order targeting an object" then have the condition make sure the order is move and obviously have the unit be your hero (or you can specify the unit(s) that can do this within the conditions). Then set the target unit of the issued order = to your variable, and have your attacks hit that unit if it's within 100 or whatever of your hero.

2) You could have an ability that you can use that doesn't actually do anything, but sets your unit's target for his attacks and assuming you're within some certain range of that unit, your attacks hit that unit when you press the arrow keys.


Was this the sort of thing that you were looking for? Is there anything I can clarify?
 

deathreaper9

New Member
Reaction score
0
Currently, my problem right now is how can I possibly pick a unit in range and actually attack that one.

Example: 2 Creeps come forward to your hero, you press a button and you attack ONE creep. I don't want it to be like an AOE kind of thing. How do I really pick a unit and actually reduce the life of that instead of using the pick group and reduce life of everyone.
 

Psiblade94122

In need of sleep
Reaction score
138
your gona need a targetting system, i would suggest useing two dummy skills, one is manual targeting and the other is the attack itself

this will call for some AI in the targeting system unless you want everyone to declare their target before the battle starts, but yea, the point is, is to have a system that tracks a single unit and your hero, from there the hack and slash is as easy as....

Player "Attacks"
Detection of range between attacker and target
Run counculations
Deal damage accordingly

As for the auto targeting system, i would suggest you do this
If the target is either dead or "far" away, then pick a random unit thats close to the caster of the attack, this is set before the attack is dealt therfor the attack will be dealt to that target instead of it being wasted
 

deathreaper9

New Member
Reaction score
0
Is there such a system like you mentioned? Like PUI or something? I admit that I'm still unfamilar with those kind of libraries.
 

MorbazanRhot

New Member
Reaction score
7
Here:

Trigger:
  • Example Trigger
    • Events
      • Unit - A unit Is issued an order targeting an object
    • Conditions
      • (Triggering unit) Equal to YourUnit
      • (Issued order) Equal to (Order(move))
    • Actions
      • Set YourUnitTarget = (Target unit of issued order)


Trigger:
  • Example Trigger 2
    • Events
    • Conditions
    • Actions
      • Set TempPoint1 = (Position of YourUnit)
      • Set TempPoint2 = (Position of YourUnitTarget)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Integer((Distance between TempPoint1 and TempPoint2))) Less than or equal to 100
        • Then - Actions
        • Else - Actions
      • Custom script: call RemoveLocation (udg_TempPoint1)
      • Custom script: call RemoveLocation (udg_TempPoint2)


That should work as the basis for a targetting system, then just fill in the rest of your trigger for the 2nd one -
-the event should be your keyboard arrow press
-the Then - Actions should be your attack animation, etc. (whatever else you want the ability to do)

Do you understand?
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top