Timed Item Life

Lghtofthmoon

New Member
Reaction score
0
Hi again, this time I want items that have been on the map but not picked up after 30 seconds disappear. Can anyone give me the trigger guidelines for this one? Thanks and +rep!
 

kaboo

New Member
Reaction score
45
are the item placed in editor or created/bought in the map or both?
 

kaboo

New Member
Reaction score
45
are they created with trigger or the unit has the item and drops it?
 

Lghtofthmoon

New Member
Reaction score
0
The creep has an item drop table. Hero kills creep, item drops on ground. (Creep never carries item). No triggers involved.
 

Ph[o]bia

New Member
Reaction score
7
Trigger:
  • asdasd
    • Events
      • Time - Every 30.00 seconds of game time
    • Conditions
    • Actions
      • Set Region = (Entire map)
      • Set Item = (Picked item)
      • Item - Pick every item in Region and do (Item - Remove Item)
      • Custom script: call RemoveRect(udg_Region)

I don't know if it will work , but it look good for me
 

Lghtofthmoon

New Member
Reaction score
0
and all creeps drop something?

This is getting us nowhere. Haven't you used item tables? There is a chance that a NH unit, when slain, will drop several different items (each with a 5% chance). So, every NH unit has the potential to drop an item, but it is very unlikely.
 

kaboo

New Member
Reaction score
45
im just asking because there is no event like item is droped or something so i have to go around it, now when i got all info i gonna think about it

@phobia - that will remove all items every 30 seconds, not after 30seconds lying on ground
 

tooltiperror

Super Moderator
Reaction score
231
I have a question, are items counted as units?
 

kaboo

New Member
Reaction score
45
i dont know if its the best solution but it is the only one that came to my mind:
Trigger:
  • init
    • Events
      • Time - Elapsed game time is 0.01 seconds
    • Conditions
    • Actions
      • Set integer = 0

-this can be done at map initialization
Trigger:
  • drop from creep
    • Events
      • Unit - A unit owned by Neutral Hostile Dies
    • Conditions
    • Actions
      • Wait 0.10 seconds {the item need some time to spawn there}
      • Item - Pick every item in (Region centered at (Position of (Triggering unit)) with size (250.00, 250.00)) and do (Actions)
        • Loop - Actions
          • Item - Set the custom value of (Picked item) to 0
          • Set integer = (integer + 1)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • integer Equal to 29 {set this to (item variable array size) -1}
            • Then - Actions
              • Set integer = 1
            • Else - Actions
          • Set item[integer] = (Picked item)

-integer is integer variable
-item is item variable with array 30 (i assume that there wont be more than 30 items on ground in the same time, u can also increase it if u want - but then u need to change when should be "integer" set to 1
Trigger:
  • pick
    • Events
      • Unit - A unit Acquires an item
    • Conditions
    • Actions
      • For each (Integer A) from 1 to integer, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Item being manipulated) Equal to item[(Integer A)]
            • Then - Actions
              • Item - Set the custom value of item[(Integer A)] to 16 {u need to change this to (desired time after that item will be removed) +1}
            • Else - Actions

-this prevents picked items from being removed
Trigger:
  • hero drop
    • Events
      • Unit - A unit Loses an item
    • Conditions
    • Actions
      • Item - Set the custom value of (Item being manipulated) to 0
      • Set integer = (integer + 1)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • integer Equal to 29 {and again set this to (item variable array size) -1}
        • Then - Actions
          • Set integer = 1
        • Else - Actions
      • Set item[integer] = (Item being manipulated)

-if your items cannot be dropped or removed from inventory to ground then u dont need this
Trigger:
  • remove from map
    • Events
      • Time - Every 1.00 seconds of game time
    • Conditions
    • Actions
      • For each (Integer A) from 1 to integer, do (Actions)
        • Loop - Actions
          • Item - Set the custom value of item[(Integer A)] to ((Custom value of item[(Integer A)]) + 1)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Custom value of item[(Integer A)]) Equal to 15 {desired time after that unused items will disappear}
            • Then - Actions
              • Item - Remove item[(Integer A)]
            • Else - Actions

-and this one removes idle items from map - i set the time to 15 seconds coz i didnt wanted to wait 30 :p , i assume that u will be able to change this by yourself
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top