I figured I'd give it a test to see how bad this would impact my maps, and with items with both the "Can Drop" and "Drop on Death" flags, I cannot reproduce the problem. My items all drop fine when a unit is killed.. all of the items in question have a unit radius between 0.25 and 0.6.
For testing purposes, I applied my custom inventory to a zergling (the normal player unit can't be killed, it's effectively a builder unit) which may reset some sort of inventory behavior changed since the patch. Try removing and re-applying the inventory ability to your hero, and killing it, since that's effectively the only thing different about our situations.
EDIT: I figure I should also state that the items all have a single collision flag, Ground, checked, and scatter as you'd expect when the unit carrying them is killed.
For "old trigger way" I was meaning the full drop system made by triggers, including the item creation on unit death :D
The problem being discussed is one of "remembering" items through death, not creating loot. The Data Editor and Trigger Editor both work well for dropping loot, it's really your choice.
On another note, I used the "pick all dropped items up and hide them for the revive" method as well. However, that doesn't remember the order of the items and jumbling everything back into an inventory without care for the player's decisions can be annoying depending on how complex your equipment layout is. Figuring Blizzard's not going to be taking another shot at fixing this any time in the near future, I devised a better system that saves items as they should be saved, exactly where they were.
The general idea is that you have a unit-type array for each inventory a hero has, each array having size equal to the number of slots in its corresponding inventory. Whenever a unit gains, loses, exhausts, or drops (you'd think this last one would be included in "loses" but it isn't) an item, set every value of all the arrays he owns to No Game Link. You then pick each unit held as an item by the manipulating hero and read it into the array at an index value equal to its (slot - 1). When you revive the hero, simply go through each array and if a value isn't equal to "No Game Link", create a unit of the unit type and pop it into the slot corresponding to the index value it's found at in the container the array relates to.
NOTE: When writing to the array after an item manipulation event, (Wait .1 game seconds) or so at the beginning of the trigger. The game likes to jump the gun on what to write into your array, but if you give it that slight delay it'll take a proper "snapshot" of the current inventory.
If your item container has empty spaces between item slots, those are counted as slots by the editor and do complicate things. For example, if your inventory has [Item 1], then two empty spaces, then [Item 2], your array index 0 should point to 1 as usual, but array index 1 should point to 4 (skipping 2 and 3). You can bypass this dilemma with the clever use of a static array to act as a "key". The key array for this inventory would look like this:
keyArray[2] = { 1, 4 }
And if you need to do the reverse and find the related index value to a given item slot, a function that takes the item slot as a parameter and does something like this should suffice:
Function FindKeyArrayIndexValueByGivenItemSlot
For Each Int counter = 0 to lastIndex, do {
If (keyArray[counter] == GivenItemSlot) {return counter}
It can seem like a complicated process, but it is very much worth it for that professional feel. It is NOT necessary if each item you have only has one possible inventory slot to go in.
P.S. Turn "Drop On Death" off if you go this route.
@wangbot: Go
Edit: Also, the default leaderboard seems to be a little funky. The box containing the title is half missing on my map, dunno if it's just me.
Err... b-net is down but I can use editor, and it became buggy :S
when adding an event, every category on the left is listed 4 times.
The action "reveal area" is somewhat gone, the action got replaced by "Undefined function()"
Not hugely relevant to the editor, but somewhat relevant to galaxy. They added some new native AI functions for controlling the early game (omg the melee AI now knows how to stop cheeses. yarly).
using custom cursors now error the game when they are used, i tested with changing the highlight unit cursor, and changing the base cursor you normally use.
if you change the highlight unit cursor, it errors immediately upon highlighting said unit, and if you change the regular cursor, you wont get passed the loading screen without erroring.
this happens even if you use an image already in the game, since you are still defining your own cursor
I have just stumbled upon a repeatable crash (though I doubt it's specifically since 1.1)
When one of my unfinished maps is launched, Starcraft dies completely right at the end of the loading screen progress bar.
I undid the recent changes to my map and it worked fine again. I re-applied them, and it crashed in the same way as before.
The changes were:
Four object duplications of a duplicate of the Melee dependancy Marine which also duplicated all actors in all cases (as I understood that this was a required step or you get the default actor).
I looked through the duplicates for oddities and found HUNDREDS of actors, all with hugely over-elaborate names such as 'marine attack copy copy 2 copy 3 copy copy'
I fixed the issue by deleting the actor spam (although now I need to learn how to connect my duplicates up to some happy/stable actors).
I have just stumbled upon a repeatable crash (though I doubt it's specifically since 1.1)
When one of my unfinished maps is launched, Starcraft dies completely right at the end of the loading screen progress bar.
I undid the recent changes to my map and it worked fine again. I re-applied them, and it crashed in the same way as before.
The changes were:
Four object duplications of a duplicate of the Melee dependancy Marine which also duplicated all actors in all cases (as I understood that this was a required step or you get the default actor).
I looked through the duplicates for oddities and found HUNDREDS of actors, all with hugely over-elaborate names such as 'marine attack copy copy 2 copy 3 copy copy'
I fixed the issue by deleting the actor spam (although now I need to learn how to connect my duplicates up to some happy/stable actors).
Anyone else seen this?
When you duplicate something, if you select everything under the list some things show up twice. Like the effects associated with a weapon will show up on the list, but if you duplicate the weapon AND the effects, they will get duplicated again with the weapon duplicate. I think this is what happened to you probably.
IE marine attack shows up on the list because its part of the weapon, if you duplicate the attack AND the weapon the attack which is part of the weapon gets duplicated as well as the one in the list, so you get two and they will both still be attached to the duplicate. So if you duplicate the duplicate (and possibly even the original) you'll exponentially increase the number of things being duplicated.
lol, now i understand why some ppl take my advice seriously when i'm not so conscious.
To topic, most the bottom half of these icon has already been in, used for tips button in the Hyperion. (still better be out so ppl realze they have those assets to use)
The tauren marine is just lol, where did you find them ? (name could help identify where the texture is used)
I figured I'd give it a test to see how bad this would impact my maps, and with items with both the "Can Drop" and "Drop on Death" flags, I cannot reproduce the problem. My items all drop fine when a unit is killed.. all of the items in question have a unit radius between 0.25 and 0.6.
For testing purposes, I applied my custom inventory to a zergling (the normal player unit can't be killed, it's effectively a builder unit) which may reset some sort of inventory behavior changed since the patch. Try removing and re-applying the inventory ability to your hero, and killing it, since that's effectively the only thing different about our situations.
EDIT: I figure I should also state that the items all have a single collision flag, Ground, checked, and scatter as you'd expect when the unit carrying them is killed.
For "old trigger way" I was meaning the full drop system made by triggers, including the item creation on unit death :D
The problem being discussed is one of "remembering" items through death, not creating loot. The Data Editor and Trigger Editor both work well for dropping loot, it's really your choice.
On another note, I used the "pick all dropped items up and hide them for the revive" method as well. However, that doesn't remember the order of the items and jumbling everything back into an inventory without care for the player's decisions can be annoying depending on how complex your equipment layout is. Figuring Blizzard's not going to be taking another shot at fixing this any time in the near future, I devised a better system that saves items as they should be saved, exactly where they were.
The general idea is that you have a unit-type array for each inventory a hero has, each array having size equal to the number of slots in its corresponding inventory. Whenever a unit gains, loses, exhausts, or drops (you'd think this last one would be included in "loses" but it isn't) an item, set every value of all the arrays he owns to No Game Link. You then pick each unit held as an item by the manipulating hero and read it into the array at an index value equal to its (slot - 1). When you revive the hero, simply go through each array and if a value isn't equal to "No Game Link", create a unit of the unit type and pop it into the slot corresponding to the index value it's found at in the container the array relates to.
NOTE: When writing to the array after an item manipulation event, (Wait .1 game seconds) or so at the beginning of the trigger. The game likes to jump the gun on what to write into your array, but if you give it that slight delay it'll take a proper "snapshot" of the current inventory.
If your item container has empty spaces between item slots, those are counted as slots by the editor and do complicate things. For example, if your inventory has [Item 1], then two empty spaces, then [Item 2], your array index 0 should point to 1 as usual, but array index 1 should point to 4 (skipping 2 and 3). You can bypass this dilemma with the clever use of a static array to act as a "key". The key array for this inventory would look like this:
keyArray[2] = { 1, 4 }
And if you need to do the reverse and find the related index value to a given item slot, a function that takes the item slot as a parameter and does something like this should suffice:
Function FindKeyArrayIndexValueByGivenItemSlot
For Each Int counter = 0 to lastIndex, do {
If (keyArray[counter] == GivenItemSlot) {return counter}
}
So instead of reading your unit-type array like:
unitTypeArray[index]
You would do:
unitTypeArray[ FindKeyArrayIndexValueByGivenItemSlot( GivenItemSlot ) ]
It can seem like a complicated process, but it is very much worth it for that professional feel. It is NOT necessary if each item you have only has one possible inventory slot to go in.
P.S. Turn "Drop On Death" off if you go this route.
anyway to fix it?
@lothar9999: Go
Invulnerable
Nuff said...
Err... b-net is down but I can use editor, and it became buggy :S when adding an event, every category on the left is listed 4 times. The action "reveal area" is somewhat gone, the action got replaced by "Undefined function()"
They seem to have fixed the problem with GetCameraYaw returning wrong values in some cases.
Not hugely relevant to the editor, but somewhat relevant to galaxy. They added some new native AI functions for controlling the early game (omg the melee AI now knows how to stop cheeses. yarly).
native void AIEarlyDefenseEnable (int player, bool enableScouting, bool enableDefending);
native void AIEarlyDefenseProps (int player, fixed scoutRange, fixed peonRange, fixed threatRange);
using custom cursors now error the game when they are used, i tested with changing the highlight unit cursor, and changing the base cursor you normally use.
if you change the highlight unit cursor, it errors immediately upon highlighting said unit, and if you change the regular cursor, you wont get passed the loading screen without erroring.
this happens even if you use an image already in the game, since you are still defining your own cursor
I have just stumbled upon a repeatable crash (though I doubt it's specifically since 1.1)
When one of my unfinished maps is launched, Starcraft dies completely right at the end of the loading screen progress bar.
I undid the recent changes to my map and it worked fine again. I re-applied them, and it crashed in the same way as before.
The changes were:
Four object duplications of a duplicate of the Melee dependancy Marine which also duplicated all actors in all cases (as I understood that this was a required step or you get the default actor).
I looked through the duplicates for oddities and found HUNDREDS of actors, all with hugely over-elaborate names such as 'marine attack copy copy 2 copy 3 copy copy'
I fixed the issue by deleting the actor spam (although now I need to learn how to connect my duplicates up to some happy/stable actors).
Anyone else seen this?
@urashimakt: Go
You should really do a tutorial on this... I'd give it my seal of approval and use it in my RPG :D
When you duplicate something, if you select everything under the list some things show up twice. Like the effects associated with a weapon will show up on the list, but if you duplicate the weapon AND the effects, they will get duplicated again with the weapon duplicate. I think this is what happened to you probably.
IE marine attack shows up on the list because its part of the weapon, if you duplicate the attack AND the weapon the attack which is part of the weapon gets duplicated as well as the one in the list, so you get two and they will both still be attached to the duplicate. So if you duplicate the duplicate (and possibly even the original) you'll exponentially increase the number of things being duplicated.
Behaviors have a new "Replacement" field.
Model actors have a new "Auto Scale From Selection" field.
I'll update this as I find more.
I think that they changed icon for Actors Triggers in the trigger editor :D
@vjeux: Go
lol, now i understand why some ppl take my advice seriously when i'm not so conscious.
To topic, most the bottom half of these icon has already been in, used for tips button in the Hyperion. (still better be out so ppl realze they have those assets to use)
The tauren marine is just lol, where did you find them ? (name could help identify where the texture is used)
Edit: nvm, one of the billboards..
Here's a diff of what has changed.
http://github.com/vjeux/sc2patches/commit/b42e2c78347714a543af5a72cdd092e08f7ac860
@progammer: Go
Liberty\Base.SC2Assets\Textures\billboards_loc.dds
@vjeux: Go
Not all of them are now. Stuff like EventPlayer() and EventPlayerProperty(), etc just changed position.
Nice that we now got a native for Game Time.