Items - Basics

Discussion in 'Tutorial Repository' started by Tinki3, Oct 1, 2006.

  1. Tinki3

    Tinki3 Special Member

    Ratings:
    +418 / 0 / -0
    Items & Item Triggers

    This tutorial was written for people who want to fill their knowledge from alot of things about items and using item triggers. I will be covering things relating to items in the Object Editor, item triggers in general, and also item recipes specifically, for all those people who wanted to know how to create them.

    Please note that to be able to understand the full concepts of this tutorial, you will need some decent knowledge in GUI of how to use variables, custom scripts, and have some basic understanding of how to use the Items tab of the Object Editor.

    Let's begin!


    Contents
    • Chapter 1
      • 1. Creating Items
      • 2. Removing Items
      • 3. Hiding/Showing Items
      • 4. Moving Items
      • 5. Setting the life of Items
      • 6. Setting the charges remaining of Items
      • 7. Making Items invulnerable/vulnerable
      • 8. Making Items pawnable/unpawnable
      • 9. Making Items droppable/undroppable
      • 10. Making Items Drop/Stay with heroes upon death
      • 11. Changing the ownership of Items
      • 12. Setting the custom value of Items
      • 13. Picking every Item in a region & doing multiple actions
      • 14. Making an Item Recipe
    • Chapter 2
      • 15. Item Classifications
      • 16. Item Abilities
      • 17. Items in the Object Editor



    -------------------------------------------------------------------------------

    Chapter 1

    1. Creating Items

    What could this function be used for?
    -Creating a key to open a gate
    -Creating an item when a hero uses an ability


    Lets start our first item trigger, using the simple event "Unit enters region" and the basic action "Item - Create":
    Code:
    Creating Items 1
        Events
            Unit - A unit enters Region <gen>
        Conditions
        Actions
            Set TempPoint = (Center of Region <gen>)
            Item - Create Gate Key at TempPoint
            Custom script:    call RemoveLocation(udg_TempPoint)
    
    Next, we will be using the following trigger to understand how to create an Item at a point after a hero uses an ability (note that we want to use a "clean" trigger by preventing memory leaks. You can make the ability specific by adding in an ability comparison condition):
    Code:
    Creating Items 2
        Events
            Unit - A unit Starts the effect of an ability
        Conditions
        Actions
            Set TempPoint = (Position of (Triggering unit))
            Item - Create Claws of Attack +15 at TempPoint
            Custom script:   call RemoveLocation(udg_TempPoint)
    For our next trigger, we will be creating an item at the position of a dead destructible.
    This trigger could be useful for a custom melee map that when a destructible dies, players can acquire the destructible's soul and sell it for 50 gold or something:
    Code:
    Creating Items 3
        Events
            Time - Every 1.00 seconds of game time
        Conditions
        Actions
            Destructible - Pick every destructible in (Playable map area) and do (Actions)
                Loop - Actions
                    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        If - Conditions
                            ((Picked destructible) is dead) Equal to True
                        Then - Actions
                            Set TempPoint = (Position of (Picked destructible))
                            Item - Create Destructible's Soul at TempPoint
                            Custom script:   call RemoveLocation(udg_TempPoint)
                            Destructible - Remove (Picked destructible) [COLOR="Green"]//We remove the dest. so it can't have more than 1 item created on it[/COLOR]
                        Else - Actions
    Other possible item creations:
    Code:
    Creating Items 4
        Events
            Time - RandomItemTimer expires
        Conditions
        Actions
            For each (Integer A) from 1 to 2, do (Actions)
                Loop - Actions
                    Wait 2.00 seconds
                    Set RandomPoint = (Random point in (Playable map area))
                    Item - Create Orb of Frost at RandomPoint
                    Custom script:   call RemoveLocation(udg_RandomPoint)
    Creates 2 Orbs of Frost at random points on the map after a timer has expired ^
    Note that you might want to specify these points inside a large region that doesn't contain places that
    make the items impossible to reach.
    Code:
    Creating Items 5
        Events
            Time - RandomItemTimer expires
        Conditions
        Actions
            Custom script:    set bj_wantDestroyGroup = true
            Unit Group - Pick every unit in (Units in (Playable map area) matching (((Matching unit) is A Hero) Equal to True)) and do (Actions)
                Loop - Actions
                    Hero - Create Orb of Frost and give it to (Picked unit)
    
    Creates an Orb of Frost for every hero on the map and gives it to them after a timer has expired ^


    -------------------------------------------------------------------------------

    2. Removing Items

    What could this function be used for?
    -Removing items so units can't acquire them unless they do some actions to make it so they can
    -Removing specific items


    We need to start here, using the following trigger to make it so a unit can NOT acquire an item (can be specific),
    unless they are a certain level and they are a certain type of hero (melee or ranged in this case):
    Code:
    Removing Items 1
        Events
            Unit - A unit Acquires an item
        Conditions
            (Item-type of (Item being manipulated)) Equal to Orb of Frost
        Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                If - Conditions
                    ((Triggering unit) is A melee attacker) Equal to True
                Then - Actions
                    Hero - Drop (Item being manipulated) from (Triggering unit)
                    Game - Display to (All players matching ((Owner of (Triggering unit)) Equal to (Owner of (Triggering unit)))) for 5.00 seconds the text: Only ranged heros c...
                Else - Actions
                    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        If - Conditions
                            (Level of (Triggering unit)) Greater than or Equal to 6 and ((Triggering unit) is A ranged attacker) Equal to True
                        Then - Actions
                            [COLOR="Green"]//If the level and type of the trig unit is of the conds above, we don't do anything to them, as they are of satisfaction[/COLOR]
                        Else - Actions
                            Hero - Drop (Item being manipulated) from (Triggering unit)
                            Game - Display to (All players matching ((Owner of (Triggering unit)) Equal to (Owner of (Triggering unit)))) for 5.00 seconds the text: You are not a high ...
    The above trigger is fired when a hero acquired an Orb of Frost.
    If the hero is a:
    -Ranged attacker
    and
    -Level of 6 or greater,

    We don't remove the item from them.

    Else if the hero is a:
    -Melee attacker
    or
    -Level of less then 6,

    We remove the item from them, as they don't meet the conditions of the trigger.

    For our next trigger, we are going to make it so that an item is removed from the game
    (this is just a simple version of the previous trigger):
    Code:
    Removing Items 2
        Events
            Unit - A unit Acquires an item
        Conditions
            (Item-type of (Item being manipulated)) Equal to Orb of Frost
        Actions
            Item - Remove (Item being manipulated)
    Not much point to the above trigger, but it gives you an idea none the less ^

    Other possible item removal triggers:

    This one is quite handy if a group of players is going to face a boss and they are moved to a region and
    are not allowed to use any items aganist it for some reason (ie, to make the situation harder).
    Note that this trigger would only really be useful if the game ends after the boss dies, as the heroes would not get their items back:
    Code:
    Removing Items 3
        Events
            Unit - A unit enters Region <gen>
        Conditions
            ((Triggering unit) is A Hero) Equal to True
        Actions
            For each (Integer A) from 1 to 6, do (Actions)
                Loop - Actions
                    Item - Remove (Item carried by (Triggering unit) in slot (Integer A))

    -------------------------------------------------------------------------------

    3. Hiding/Showing Items

    What could this function be used for?
    -Hiding keys for gates and then unhiding them after a unit enters a region


    Let's use the "Map initialization" event to start off, then we are going to use the hide item function multiple times to hide all 3 of some random gate keys. After each key is created, we need to store that created item into a variable array, so we can reference it for later use, if need be.
    Code:
    Hiding or Showing Items 1
        Events
            Map initialization
        Conditions
        Actions
            Item - Create Gate Key at A
            Set LastCreatedItem[1] = (Last created item)
            Item - Create Gate Key at B
            Set LastCreatedItem[2] = (Last created item)
            Item - Create Gate Key at C
            Set LastCreatedItem[3] = (Last created item)
    And now let's unhide each key after a unit enters A, B, or C:
    Code:
    Unhide Keys
        Events
            Unit - A unit enters A <gen>
            Unit - A unit enters B <gen>
            Unit - A unit enters C <gen>
        Conditions
            ((Triggering unit) is A Hero) Equal to True
        Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                If - Conditions
                    (A <gen> contains (Triggering unit)) Equal to True [COLOR="Green"]//If the trig unit is in region A, LCI[1] will be shown[/COLOR]
                Then - Actions
                    Item - Show LastCreatedItem[1]
                Else - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                If - Conditions
                    (B <gen> contains (Triggering unit)) Equal to True [COLOR="Green"]//If the trig unit is in region B, LCI[2] will be shown[/COLOR]
                Then - Actions
                    Item - Show LastCreatedItem[2]
                Else - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                If - Conditions
                    (C <gen> contains (Triggering unit)) Equal to True [COLOR="Green"]//If the trig unit is in region C, LCI[3] will be shown[/COLOR]
                Then - Actions
                    Item - Show LastCreatedItem[3]
                Else - Actions

    -------------------------------------------------------------------------------

    4. Moving Items

    What could this function be used for?
    -Moving an item to specific points (obviously). I have whipped up a few triggers for this function to show people what things it is capable of.


    In this first trigger, I came up with an idea of the item "moving" around continuously
    in a region just to make it harder to acquire by a unit (quite harsh):
    Code:
    Moving Items 1
        Events
            Time - Every 1.00 seconds of game time
        Conditions
        Actions
            Set TempPoint = (Random point in Region <gen>)
            Item - Move Orb of Frost 0003 <gen> to TempPoint
            Custom script:    call RemoveLocation(udg_TempPoint)
    This next trigger will move the Orb of Frost from its current location offset by 10, towards an angle equal to its current hit points.
    (quite creative IMO, but also extremely lame):
    Code:
    Moving Items 2
        Events
            Time - Every 1.00 seconds of game time
        Conditions
        Actions
            Set TempPoint[1] = (Position of Orb of Frost 0003 <gen>)
            Set TempPoint[2] = TempPoint[1] offset by 10.00 towards (Current life of Orb of Frost 0003 <gen>) degrees
            Item - Move Orb of Frost 0003 <gen> to TempPoint[2]
            Custom script:    call RemoveLocation(udg_TempPoint[1])
            Custom script:    call RemoveLocation(udg_TempPoint[2])
    -------------------------------------------------------------------------------

    5. Setting the Life of Items

    Fact: the default life value for any item is 75

    What could this function be used for?
    -An idea would be to have a number of seconds to reach an item that opens the last gate so they can complete the game.
    If the item dies, everyone loses (or something devastating should take place).


    The following trigger will set the life of the Orb of Frost, to its current life - 1.
    In other words, or, should I say, in other numbers, its life would end up looking like the following over 3 seconds:
    74
    73
    72
    ...

    Remember that if the item 'dies', we defeat all players:
    Code:
    Setting the Life of Items 1
        Events
            Time - Every 1.00 seconds of game time
        Conditions
        Actions
            Item - Set life of Orb of Frost 0003 <gen> to ((Current life of Orb of Frost 0003 <gen>) - 1.00)
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                If - Conditions
                    (Current life of (Orb of Frost 0003 <gen>)) Equal to 0.00
                Then - Actions
                    For each (Integer A) from 1 to 12, do (Actions)
                        Loop - Actions
                            Game - Defeat (Player((Integer A))) with the message: Defeat!
                Else - Actions
    
    -------------------------------------------------------------------------------

    6. Setting the Charges Remaining of Items

    Fact: Using a value of 0 for charges of an item will give the item unlimited charges, regardless if it was set through triggers,
    or the Object Editor. Cooldown and mana are still used however.


    What could this function be used for?
    -Combining Charges of items into one inventory slot


    The following trigger "combines" the charges of 2 items together to save inventory slots.
    (very useful):
    JASS:
    function Combine_Items_Conditions takes nothing returns boolean
        return GetItemCharges(GetManipulatedItem()) > 0 
    endfunction
    
    function Combine_Items_Actions takes nothing returns nothing
        local item NEWITEM = GetManipulatedItem()
        local unit OURUNIT = GetManipulatingUnit()
        local integer MAXIMUM = 15  //The max no. of charges allowed
        local integer ITEMCOUNT = 0
        local integer ITEMLOOP = 0
        local integer CHARGES = 0
        
        loop
            exitwhen ITEMLOOP > 6
            if GetItemTypeId(NEWITEM) == GetItemTypeId(UnitItemInSlot(OURUNIT, ITEMLOOP)) then
                if GetItemCharges(UnitItemInSlot(OURUNIT, ITEMLOOP)) + GetItemCharges(NEWITEM) <= MAXIMUM then
                    if not (UnitItemInSlot(OURUNIT, ITEMLOOP) == NEWITEM) then                
                        set CHARGES = GetItemCharges(UnitItemInSlot(OURUNIT, ITEMLOOP)) + GetItemCharges(NEWITEM)
                        call SetItemCharges(UnitItemInSlot(OURUNIT, ITEMLOOP), CHARGES)
                        call RemoveItem(NEWITEM)
                        set ITEMLOOP = 7
                    endif
                endif
            endif
            if (ITEMLOOP < 7) then
                set ITEMLOOP = ITEMLOOP + 1
            endif
        endloop
    
        set NEWITEM = null
        set OURUNIT = null
    endfunction
    
    function InitTrig_Combine_Items takes nothing returns nothing
        set gg_trg_Combine_Items = CreateTrigger(  )
        call TriggerRegisterAnyUnitEventBJ( gg_trg_Combine_Items, EVENT_PLAYER_UNIT_PICKUP_ITEM )
        call TriggerAddCondition( gg_trg_Combine_Items, Condition( function Combine_Items_Conditions ) )
        call TriggerAddAction( gg_trg_Combine_Items, function Combine_Items_Actions )
    endfunction

    To implement this trigger into your map, simply create a new trigger called "Combine Items",
    then go to Edit > Convert to custom script > hit ok > delete everything > copy + paste the above trigger into your's.

    Credits go to SD_Ryoko for the original trigger.


    -------------------------------------------------------------------------------


    7. Making Items invulnerable/vulnerable

    Fact: Items are not damaged by non-triggered spells AT ALL, regardless if the ability can target items.

    What could this function be used for?
    -Making items invulnerable or vulnerable, of course! I havn't been too creative here, so you'd have to decide what you'd use it for.


    How to make an item invulnerable (for novices):
    Code:
    Making Items Invulnerable
        Events
            Map initialization
        Conditions
        Actions
            Item - Make Orb of Frost 0003 <gen> Invulnerable
    Makes the Orb of Frost invulnerable ^


    -------------------------------------------------------------------------------

    8. Making Items pawnable/unpawnable

    Fact: A pawnable item can be sold to item vendors, whilst an unpawnable one cannot.

    What could this function be used for?
    -To make an extremely rare/powerfull item unpawnable


    Pawnable/unpawnable triggers:
    Code:
    Making Items pawnable or unpawnable 1
        Events
            Unit - A unit Acquires an item
        Conditions
            (Item-type of (Item being manipulated)) Equal to Orb of Frost
        Actions
            Item - Make Orb of Frost 0003 <gen> Unpawnable
    
    Makes the Orb of Frost unpawnable; it can't be sold to item vendors ^

    Code:
    Making Items pawnable or unpawnable 2
        Events
            Unit - A unit Acquires an item
        Conditions
            (Item-type of (Item being manipulated)) Equal to Orb of Frost
        Actions
            Item - Make Orb of Frost 0003 <gen> Pawnable
    Makes the Orb of Frost pawnable; it can be sold to item vendors ^

    -------------------------------------------------------------------------------

    9. Making Items droppable/undroppable

    What could this function be used for?
    -Every played DotA? Well, that game has an item called 'Aghanims Scepter'. This item permanantly upgrades the ultimate ability of the holder.
    The item is not droppable, for obvious reasons, one of which is because it would be too pesky changing the hero's ability around
    every time the item was manipulated.


    Here is a suitable trigger for that item trigger function idea:
    Code:
    Making Items droppable or undroppable 1
        Events
            Unit - A unit Acquires an item
        Conditions
            (((Triggering unit) is A Hero) Equal to True) and ((Item-type of (Item being manipulated)) Equal to Aghanim's Scepter)
        Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                If - Conditions
                    ((Unit-type of (Triggering unit)) Equal to Mountain King) and ((Level of Avatar for (Triggering unit)) Greater than 0)
                Then - Actions
                    Unit - Remove Avatar from (Triggering unit)
                    Unit - Add Avatar (Upgraded) to (Triggering unit)
                Else - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                If - Conditions
                    ((Unit-type of (Triggering unit)) Equal to Archmage) and ((Level of Mass Teleport for (Triggering unit)) Greater than 0)
                Then - Actions
                    Unit - Remove Mass Teleport from (Triggering unit)
                    Unit - Add Mass Teleport (Upgraded) to (Triggering unit)
                Else - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                If - Conditions
                    ((Unit-type of (Triggering unit)) Equal to Blood Mage) and ((Level of Phoenix for (Triggering unit)) Greater than 0)
                Then - Actions
                    Unit - Remove Phoenix from (Triggering unit)
                    Unit - Add Phoenix (Upgraded) to (Triggering unit)
                Else - Actions
    
    The above trigger basically checks what type of hero/unit is manipulating the upgrader item,
    and if that specific hero's ultimate is learned.

    And, if that ultimate was learned, it was removed, and the upgraded ultimate was added to the hero.


    -------------------------------------------------------------------------------

    10. Making Items Drop/Stay with heroes upon death

    What could this function be used for?
    -Like in DotA, an ultra item like the Divine Rapier that gives you +250 damage is so powerfull, that it drops upon death because otherwise your hero could go on an unstoppable rampage.


    I have made a trigger for this function below:
    Code:
    Making Items Drop from heroes upon death
        Events
            Unit - A unit Acquires an item
        Conditions
            (Item-type of (Item being manipulated)) Equal to Divine Rapier
        Actions
            Item - Make (Item being manipulated) Drop from Heroes upon death
    This can also be done via Object Editor.


    -------------------------------------------------------------------------------

    11. Changing the ownership of Items

    What could this function be used for?
    -This function doesn't do much. It will usually only change the colour of the item.


    <If anyone discovers something new for this function, please tell me via PM>

    -------------------------------------------------------------------------------

    12. Setting the custom value of Items

    Fact: Custom values are used only in triggers and can be used to store any integer value.

    What could this function be used for?
    -To store an integer value of course!


    A simple trigger showing you how to store a custom value to an item:
    Code:
    Setting the Custom Value of an Item 1
        Events
            Unit - A unit Acquires an item
        Conditions
            ((Triggering unit) is A Hero) Equal to True and (Item-type of (Item being manipulated)) Equal to (Item-type of Orb of Frost <gen>)
        Actions
            Item - Set the custom value of (Item being manipulated) to 1
    I havn't been very creative here, but I'm sure you can be!


    -------------------------------------------------------------------------------

    13. Picking every Item & doing multiple actions

    What could this function be used for?
    -Tiny to Gigantic amounts of things.
    We can use this function to include all of the stuff you have read about above and all of the functions of an item in a trigger (note that this function does not pick any item(s) in a hero('s) item slot - only items that are on the ground. However, items can be added to a hero's item slot using this function)


    Example overview trigger using this function:
    Code:
    Picking Every Item in a Region and doing multiple actions 1
        Events
            Unit - A unit enters Region <gen>
        Conditions
        Actions
            Item - Pick every item in (Playable map area) and do (Actions)
                Loop - Actions
                    Set PickedItem = (Picked item)
                    -------- What we could do with this picked item: --------
                    -------- [COLOR="Green"]create[/COLOR] an item at the position of it --------
                    -------- [COLOR="Green"]remove[/COLOR] the picked item --------
                    -------- [COLOR="Green"]hide/show[/COLOR] the picked item --------
                    -------- [COLOR="Green"]move[/COLOR] the picked item --------
                    -------- [COLOR="Green"]set the life[/COLOR] of the picked item --------
                    -------- [COLOR="Green"]set the charges remaining[/COLOR] of the picked item --------
                    -------- [COLOR="Green"]set the custom value[/COLOR] of the picked item --------
                    -------- [COLOR="Green"]change the ownership[/COLOR] of the picked item --------
                    -------- [COLOR="Green"]give[/COLOR] the picked item to a hero --------
                    -------- make the picked item [COLOR="Green"]invulnerable/vulnerable[/COLOR]  --------
                    -------- make the picked item [COLOR="Green"]pawnable/unpawnable[/COLOR]  --------
                    -------- make the picked item [COLOR="Green"]droppable/undroppable[/COLOR]  --------
                    -------- make the picked item [COLOR="Green"]drop from heroes upon death[/COLOR]  --------

    -------------------------------------------------------------------------------

    14. Making an Item Recipe


    What could this function be used for?
    -To look like it combines a certain number of items into 1 powerfull one, with "upgraded" abilities from the original items


    Item recipe trigger:
    Code:
    Item Recipe 1
        Events
            Unit - A unit Acquires an item
        Conditions
            ((Hero manipulating item) has an item of type Orb of Frost) Equal to True
            ((Hero manipulating item) has an item of type Claws of Attack +15) Equal to True
            ((Hero manipulating item) has an item of type Kelen's Dagger of Escape) Equal to True
        Actions
            Item - Remove (Item carried by (Hero manipulating item) of type Orb of Frost)
            Item - Remove (Item carried by (Hero manipulating item) of type Claws of Attack +15)
            Item - Remove (Item carried by (Hero manipulating item) of type Kelen's Dagger of Escape)
            Hero - Create Shield of the Deathlord and give it to (Hero manipulating item)
            Special Effect - Create a special effect attached to the origin of (Hero manipulating item) using 
    Abilities\Spells\Orc\FeralSpirit\feralspiritdone.mdl
            Special Effect - Destroy (Last created special effect)
    What is does:
    It checks that if the hero manipulating the item has all 3 needed to create the 'Shield of the Deathlord'.
    If it does have all 3 needed, they are removed, and the Shield is created and given to the hero.
    Special Effects are also created for eye-candy.


    -------------------------------------------------------------------------------

    Chapter 2

    15. Item Classifications

    Info on Classifications:


    -Item Classifications can be used in triggers
    -Item Classifications do not actually physically do anything to the item themselves
    -Item Classifications help to classify an item to make it easier to find in the Object Editor
    -Item Classifications categorise items in the object editor

    Example trigger using item classifications:
    Code:
    Item Classifications 1
        Events
            Map initialization
        Conditions
        Actions
            Item - Pick every item in (Playable map area) and do (Actions)
                Loop - Actions
                    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        If - Conditions
                            (Item-class of (Picked item)) Equal to Permanent
                        Then - Actions
                            Item - Remove PickedItem
                        Else - Actions
                            Player - Add 200 gold to Player 1 (Red) current gold

    -------------------------------------------------------------------------------

    16. Item Abilities

    Info on Item Abilities:

    -Item Abilities can use mana, can have a cooldown and can have a set amount of charges which tells you how many times you can use the item ability
    -As a charge for an item decreases, the item's value will decrease as well
    -Items can have up to 4 abilities. All can be passive. If an item has more than 1 castable ability (like shockwave), it will only be able to let the caster use 1 castable ability
    -For a castable item ability to be used, the item must have this option set as true: Stats- Activley Used true/false
    -Item abilities can have no cooldown and an unlimited amount of charges (use 0)


    -------------------------------------------------------------------------------

    17. Items in the Object Editor

    Abilities- Abilities: What abilities the item can have
    Art- Button Position (X) Works the same as a hero ability button position when the item is in a shop, and only when an item is in a shop.
    Art- Button Position (Y) " " "
    Art- Interface Icon What icon is assigned to the item
    Art- Model Used What the item looks like when it is on the ground. eg: treasure chest
    Art- Scaling Value How big the item's model file looks when it is on the ground
    Art- Selection Size- Editor: How big the selection scale of the item is in the World Editor.
    Art- Tinting Color 1 (Red): How much of the color red is in the model file of the item
    Art- Tinting Color 2 (Green): How much of the color green is in the model file of the item
    Art- Tinting Color 3 (Blue): How much of the color blue is in the model file of the item
    Combat- Armor Type The armour type of the item(only used when the item is on the ground)
    Stats- Activley Used True: 1 of the abilities of the item is castable. False: the abilities of the item are all passive or the item has no abilities
    Stats- Can Be Dropped If False: the item cannot be dropped
    Stats- Can Be Sold By Merchants If False: the item cannot be sold by merchants
    Stats- Can Be Sold To Merchants If False: the item cannot be sold to merchants
    Stats- Classification How the item is categorised in the object editor
    Stats- Cooldown Group What cooldown group the item is in after it uses a castable ability like shockwave
    Stats- Dropped When Carrier Dies If False: the item will not drop when the carrier dies
    Stats- Gold Cost How much gold is needed to purchase the item
    Stats- Hit Points How much life the item has when it is on the ground
    Stats- Ignore Cooldown If False: after a castable ability of that item is used, the ability will need to cooldown as hero abilities do
    Stats- Include As A Random Choice Used for item tables
    Stats- Level The level of the item
    Stats- Level(Unclassified) The level of the item that is used if the above Stats have been set to 0
    Stats- Lumber Cost How much lumber is needed to purchase the item
    Stats- Number Of Charges: How many times the castable abilities of the item can be used
    Stats- Perishable If False: the item will not be destroyed after all charges have been used
    Stats- Priority Not Important
    Stats- Stock Maximum The quantity that the item can be reached to when in stock
    Stats- Stock Replenish Interval How long the item takes to replenish it's stock after been purchased
    Stats- Stock Start Delay How much time it takes before the item is in stock
    Stats- Use Automatically When Acquired Automatically used when it is acquired.(It doesn't matter whether tomes have this stat as true OR false; the hero will always be able to gain +1 str,agi,int if the tome has the tome ability for that stat increase)
    Stats- Valid For Target Transformation Not sure, however, this option is not needed 99% of the time
    Stats- Techtree Requirements If Yes: do you need an Orc Fortress to use this item?
    Stats- Techtree Requirements- Levels: What levels of tech are used for the above Stats. In this examples's case, 3
    Text- Description Tells the user what the item is capable of
    Text- Hotkey What hotkey is used to purchase the item
    Text- Name The name of the item
    Text- Tooltip- Basic Example: Purchase Boots Of Speed
    Text- Tooltip- Extended What description the user sees when he is looking at the item in a shop

    Please see also:
    Item Stacking System, by SFilip
    Item Restrictions, by AceHart

    Tinki3
     
    • Like Like x 11
  2. NuBy

    NuBy Guest

    Ratings:
    +0 / 0 / -0
    :D Wow.. Nice work, your work has been neatly spread out, very neat very neat. +rep
     
  3. Tinki3

    Tinki3 Special Member

    Ratings:
    +418 / 0 / -0
    Thanks for the comment :)

    Edit/bump: modified tut a bit.
     
    • Like Like x 1
  4. ragingspeedhorn

    ragingspeedhorn Is a Banned Asshole

    Ratings:
    +94 / 0 / -0
    All that reading, no pictures. Still pretty good though but I didn't read it to the end.
     
  5. Tinki3

    Tinki3 Special Member

    Ratings:
    +418 / 0 / -0
    >All that reading, no pictures. Still pretty good though but I didn't read it to the end.

    Thanks for saying that There was no pictures, I will put some in asap :)
     
    • Like Like x 1
  6. NiKaNoRoU_GR

    NiKaNoRoU_GR New Member

    Ratings:
    +117 / 0 / -0
    good job :)
    You might be given a reward ;)
     
  7. ragingspeedhorn

    ragingspeedhorn Is a Banned Asshole

    Ratings:
    +94 / 0 / -0
    Good that you'll add the images, +rep, nice tutorial, keep up the good work :)
     
  8. Wiseman_2

    Wiseman_2 Missy wants blood!

    Ratings:
    +169 / 0 / -0
    I didn't read much, mainly just the item recipes, but It solved all the problems I had. +rep :)
     
  9. Andrewgosu

    Andrewgosu The Silent Pandaren Helper Staff Member

    Ratings:
    +711 / 0 / -0
    Thumbs up.
     
  10. WastedSavior

    WastedSavior A day without sunshine is like, well, night. Staff Member

    Ratings:
    +217 / 0 / -0
    Code:
    Stats- Use Automatically When Acquired If False: item abilities in DotA like Linkens Sphere's spell negation will not be used when needed
    If True - Unit will use item instantly, like tomes/runes/glyphs
    If False - Item will be placed in inventory until owner uses it

    my two cents, very good tutorial though
     
  11. Tinki3

    Tinki3 Special Member

    Ratings:
    +418 / 0 / -0
    Thanks for the correction (I will see if that's actually true or not but I think it is :) testing now)

    Edit: Well, it seems that it doesn't matter whether tomes have that Stat as true OR false. It only needs to be true for all other items with castable abilities like frost nova, shockwave etc. I will add this discovery into the tut to correct it :)
     
  12. Chocobo

    Chocobo White-Flower

    Ratings:
    +410 / 0 / -0
    Wrong. They are used in Item Shops for their exact location.



    Wrong. It is the selection scale that appears in World Editor to select the item. Setting it to 0.00 make it harder to be selected in WE.



    Wrong. It is the Combat Sound played. If I remember, you have Ethereal, Flesh, Wood... each of those Armor Types play differant sounds depending of attacker's Attack Sound Type.



    Does not work with normal units.



    Ignore Cooldown if False runs the cooldown for the ability casted if it has one.



    0 for Infinite



    Important for AI



    Used instantly when the unit acquires the item. The Event "Unit - Generic unit acquires an item" is able to handle the acquired item.



    Allows validity for a Target Transformation.



    Only one ability, or it won't work. For multi-abilities, use a spellbook. Auto-cast abilities DO NOT work with items.



    Wrong. Sometimes it changes the color of the item.



    Clear? :p
     
  13. WC3_map_fan

    WC3_map_fan Member

    Ratings:
    +3 / 0 / -0
    Hello, the tutorial was great but it has no information about when you pick an item up a special effect is created on its hand such as a sword! please add to your previouse posts when you cna gather this information


    WC3_map_fan, if possible, don't quote the whole tutorial on you posts. Thank You :)
     
  14. Söder

    Söder New Member

    Ratings:
    +1 / 0 / -0
    Okay really good guiding! but i can't find this condition:
    "((Hero manipulating item) has an item of type Orb of Frost) Equal to True2

    Can somebody please tell me which condition it is?
     
  15. Ghan

    Ghan Administrator - Servers are fun Staff Member

    Ratings:
    +773 / 0 / -0
    It's a boolean.
     
  16. Tinki3

    Tinki3 Special Member

    Ratings:
    +418 / 0 / -0
    This tutorial needs a bit of work put into it.

    I'll edit it when I have the time, and upload a brand-new demo map.

    For now, please keep your sanity people.
     
    • Like Like x 1
  17. darkRae

    darkRae Ueki Fan (Ueki is watching you)

    Ratings:
    +173 / 0 / -0
    I have a question peoples, or a problem to be exact.

    I created an item in my map. That item has 3 passive abilities and 1 active ability. I set the cooldown of the ability to 25 sec. Then I changed the Cooldown Group to that ability.
    Then in the game, when I used the item, it went into a cooldown. But it doesn't spin (the cooldown's black color) There wasn't any black color. The item kept its icon art, but I still can't use the item due to the cooldown.

    The conclusion is, the cooldown works but the art doesn't. Solutions?
     
  18. Ghan

    Ghan Administrator - Servers are fun Staff Member

    Ratings:
    +773 / 0 / -0
    The active ability needs to be the first in the item's list of abilities.
     
  19. Xapphire

    Xapphire Liberty, Simply said; a lie.

    Ratings:
    +45 / 0 / -0
    Hey, you know half that stuff is in the object editor in the items stats? Just mentioning it, but the tutorial is very good, it taught me a lot about, everything :) ty!
     
  20. Tinki3

    Tinki3 Special Member

    Ratings:
    +418 / 0 / -0
    I'm glad you thought it was good.

    I need to re-write most of it when I have the time.
     

Share This Page