Ammo

WastedSavior

A day without sunshine is like, well, night.
Reaction score
217
Okay i have a buildable unit with inventory, The archer, but i dont want the archer to be able to attack without "arrows"
and i want it so that every time the archer attacks it loses an arrow.. so i figured id get the "arrows" first then worry about the attacking..
this is what i have..
naturally :p i needa ask whats wrong with this trigger XD
Code:
Archer
    Events
        Unit - A unit Is attacked
    Conditions
        (Unit-type of (Attacking unit)) Equal to Archer
    Actions
        Item - Set charges remaining in (Item carried by (Triggering unit) of type Arrows +10) to ((Charges remaining in (Item carried by (Triggering unit) in slot 1)) - 1)
 
R

Razthemapper

Guest
It's way easier. When you buy a set of arrows increase lumber by 10 or what you want to be the number of arrows. When the archer attacks , check if there is any lumber , if it is , decrease one lumber from the player resources and make it attack. Try to make the decrease before the archer attacks so it could stop , if you use wood for building , I'm sorry I couldn't help but your trigger looks fine except it has some buggies that may cause a problem. Maybe Item carried by (Triggering unit) isn't good and you should make Attacking Unit , are you sure the arrows are always in slot 1?? (Item carried by (Triggering unit) in slot 1)
 

Rad

...
Reaction score
228
Need an if/then/else like so:

Code:
IF Integer - Number of charges remaining in (Item carried by (Attacking unit) in slot 1) equal to 0
Then <Disable attack or whatever>
Else do nothing

Theres alot you can do to disable the attack, order it to stop (If you like infinite loops). You can disable attack type (Many ways to do this too), or someone can suggest another ive never made an ammo system :p
 

WastedSavior

A day without sunshine is like, well, night.
Reaction score
217
the archer unit only has 1 slot, so i know its in the right one, Also.. i use wood for building.. X.x meh..

how do i code triggers? So i can save ace the trouble :shades:

Code:
Bla Bla Bla Oo
 

Bartuc08

Mostly known as Zomby Jezuz
Reaction score
154
instead of (triggering unit) try (attacking unit)
 

Darthfett

Aerospace/Cybersecurity Software Engineer
Reaction score
615
Try this:

Code:
Disable Attack
    Events
        Player - Player 1 (Red)'s Current lumber becomes Equal to 0.00
    Conditions
    Actions
        Unit - Set Your_Unit[(Player number of (Triggering player))] acquisition range to 0.00
Code:
Enable Attack
    Events
        Player - Player 1 (Red)'s Current lumber becomes Greater than 0.00
    Conditions
    Actions
        Unit - Set Your_Unit[(Player number of (Triggering player))] acquisition range to (Default acquisition range of Your_Unit[(Player number of (Triggering player))])
Since setting aquisition range seems to change a units range, it will make it unable to attack. BTW, add the "Player - Player 1 (Red)'s Current lumber becomes Greater than 0.00" event for every single player that is playing. Good luck on your map!

EDIT: Oh, you wanted it per unit? Try a periodic event of some sort, that disables all archers' attacks that dont have enough lumber. (Also do the same thing for enabling it).
 

xPheRe

New Member
Reaction score
43
Create a custom ability with, say, 100 levels. Base it from a passive ability and remove all effects, buffs and extras.
When you acquire an item of 10 arrows, add 10 levels to the ability of the unit (checking the type of the unit, maybe) and add attack to your unit.
Every attack decreases the level of the ability, if reaches 0, remove attack from your unit.
Your arrow items should be marked as "Used instantly when acquired" and do nothing (dummy items)

I don't think if it would work... Only an idea
I hope this helps
 

WastedSavior

A day without sunshine is like, well, night.
Reaction score
217
Darthfett said:
Try this:

Code:
Disable Attack
    Events
        Player - Player 1 (Red)'s Current lumber becomes Equal to 0.00
    Conditions
    Actions
        Unit - Set Your_Unit[(Player number of (Triggering player))] acquisition range to 0.00
Code:
Enable Attack
    Events
        Player - Player 1 (Red)'s Current lumber becomes Greater than 0.00
    Conditions
    Actions
        Unit - Set Your_Unit[(Player number of (Triggering player))] acquisition range to (Default acquisition range of Your_Unit[(Player number of (Triggering player))])
Since setting aquisition range seems to change a units range, it will make it unable to attack. BTW, add the "Player - Player 1 (Red)'s Current lumber becomes Greater than 0.00" event for every single player that is playing. Good luck on your map!

EDIT: Oh, you wanted it per unit? Try a periodic event of some sort, that disables all archers' attacks that dont have enough lumber. (Also do the same thing for enabling it).



Just curious, but you did read that i dont want to use lumber? i wanna use the item? because i use lumber to build farms, fences, etc?
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top