System Advanced Item Indexing

tooltiperror

Super Moderator
Reaction score
231
>till working the items systems i see. you planning on making some special map with those? what items are in pudge wars anyways? never bothered to play that map.
I think this thread is for discussion of this system, not a chatroom to talk with king about the map he works on.
 

SanKakU

Member
Reaction score
21
well, he made item system in the past, which was useful.

but i found the use of it to be somewhat inconvenient, so i made up something else with the help of vexorian. now he made up this and i didn't understand the old code, and wasn't sure if i tried to read this code i would understand it or not.

i figure he helps his position if he can give us some clues about what he is trying to do with the new system.

look, all i'm saying is it's a waste of time to examine the scrpit unless i got some hard core evidence that it would be used in a map. i'm just really dubious right now that it's a good system. you posted it yourself, "Very cool, it's like giving AIDS to items."

by posting that, you share with me the idea that i should just stay out of this thread altogether. i suppose i missed the hint.

personally what i'd rather see is some kind of super light indexing for units, rather than a system that works just fine already made by vexorian. now if kingkingyyk3 wants to dabble with items, i just feel it's a huge waste of time. if you don't believe me...try examining this resource closely.

http://www.hiveworkshop.com/forums/spells-569/vjass-system-custominventory-159130/

i know kingkingyyk3 isn't doing anything quite as dramatic(or foolish) as that, but still, i think he's kind of heading in that direction at the moment, even if slowly.
 

tooltiperror

Super Moderator
Reaction score
231
>by posting that, you share with me the idea that i should just stay out of this thread altogether. i suppose i missed the hint.
I posted that April...

You clearly do not see the use of this system, or how it is used. Can you please reply what you think this system does, and how it is to be used? Maybe if I see how you're thinking I can help.

>now if kingkingyyk3 wants to dabble with items, i just feel it's a huge waste of time. if you don't believe me...try examining this resource closely.
What are you talking about?
 

Nestharus

o-o
Reaction score
84
i figure he helps his position if he can give us some clues about what he is trying to do with the new system.

He just wanted to do item indexing. It's something a lot of programmers have tried to do, and many have failed =P.

He discovered that item events fire whenever they go on to a unit =), hence how this one got to be so great ^)^.

Anyways, as I've said before, being able to index handles makes it so that you don't have to do this nonsense-
[ljass]call SaveInteger(table, GetHandleId(handle), 0, value)[/ljass]

And it allows you to easily create structs for the thingies w/o worrying about instancing...

And it allows you to do stuff when the thing is created/destroyed. For example, if a custom item had a custom spell effect on it, you could attach it to the item when created and destroy it when the item is destroyed =P.

Anyways, the stuff with item indexing is the exact same deal as the stuff with unit indexing.

And you can't get much lighter than AIDS for unit indexing...

To give you an idea, here is the list of the main indexing systems from heaviest to lightest. AIDS isn't in the middle, but is rather extremely close to UnitIndexer.

AutoIndex
AIDS
UnitIndexer

It is so close that it wasn't even worth changing the standards over to UnitIndexer at TH.

You can't get much lighter than the AIDS library.

This ItemIndexer is the same way... previous item indexers have been graveyarded because they were too heavy (didn't last very long). This item indexer is about as lightweight as you can go.
 

emjlr3

Change can be a good thing
Reaction score
395
I actually prefer [ljass]call SaveInteger(table, GetHandleId(handle), 0, value)[/ljass] to one of these full blown systems. Although I am probably in the minority, I prefer simple, scaled as needed to all encompassing bloat.
 

Bribe

vJass errors are legion
Reaction score
67
The SaveInteger business is not good as it doesn't catch when the unit leaves scope, leaving that data in the hashtable and taking up plenty of memory over time.
 

kingkingyyk3

Visitor (Welcome to the Jungle, Baby!)
Reaction score
216
Yeah. :D
Item removal detection is useful.
Anyone love the AIDS textmacro will love this too. :p
 

Romek

Super Moderator
Reaction score
964
> I actually prefer call SaveInteger(table, GetHandleId(handle), 0, value) to one of these full blown systems. Although I am probably in the minority, I prefer simple, scaled as needed to all encompassing bloat.
I agree with you in the case of this system. I don't find myself messing around with items enough to actually make it worth using this system. Items are picked up and used as normal with the WC3 engine, and if (in the very rare event) I do actually need to trigger something relating to an item, I'll just use a hashtable and clear it once I've finished.

I'm sure this has it's uses somewhere though. :p
 

luorax

Invasion in Duskwood
Reaction score
67
It's really usefull if you're creating a huge ORPG system with a custom inventory system. You can modify each item's attributes, you can handle enchants, and so on. I found it useful.
 

Jesus4Lyf

Good Idea™
Reaction score
397
It's really usefull if you're creating a huge ORPG system with a custom inventory system. You can modify each item's attributes, you can handle enchants, and so on. I found it useful.
I totally agree. You cross this with Status or something to give your unit buffs, and you're in business. Can have items levelling up and gaining stats or whatever you please. :)

I wish Azlier was here to comment on what difficulties he came across which made him quit item indexing, though. I never looked into it myself, but I remember there was some specific stuff... makes me worry for stability.

There's reasons I never used something like this in my maps, though, and that is that often custom item systems are the way to go. How to manage things like data attached to items you merge or something gets theoretically tricky. Or if you use an inventory paging system which removes the actual item... which is, of course, probably not that uncommon for every instance something like this is useful. I'd almost be inclined to make an item virtualisation kind of system. I dunno, just some random thoughts! Once you go down that path it's very difficult to write a general system. Not saying this is bad as is, at all! :)
 

tooltiperror

Super Moderator
Reaction score
231
I would say removing items instead of moving them out of sight for a backpack system would be an error on that system's part, not the indexer.
 

tooltiperror

Super Moderator
Reaction score
231
This is supremely useful.

It seems to be implemented well, and I use it in my map for just about everything related to items. Jesus4Lyf put it well, "You cross this with Status or something to give your unit buffs, and you're in business".

Approved.
 

codart

New Member
Reaction score
0
Hey, i found a bug with UID, let check the map http://dl.dropbox.com/u/14083092/Maper/Buggy.w3x
JASS:
scope test
    
    private struct tester
        
        private static method AII_filter takes item i returns boolean
            return GetItemTypeId(i) == 'I001'
        endmethod
        
        
        private method AII_onMove takes integer lastPosition returns nothing
            call BJDebugMsg(GetItemName( GetUnitItemInSlot(GetItemOwner(this.item),lastPosition)))
        endmethod
        
        //On init stuff
        private static method createItem takes nothing returns nothing
            call CreateItemEx('I001',0.0,0.0)
            call CreateItemEx('I000',0.0,0.0)
        endmethod
        private static method onInit takes nothing returns nothing
            call TimerStart(CreateTimer(),0.01,false,function thistype.createItem)
        endmethod
        
        implement AII
        implement ItemEvents
    endstruct

endscope


it say "(null)" when i swap item 'I001' with 'I000'. why? @@
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • The Helper The Helper:
    I am great and it is fantastic to see you my friend!
    +1
  • The Helper The Helper:
    If you are new to the site please check out the Recipe and Food Forum https://www.thehelper.net/forums/recipes-and-food.220/
  • Monovertex Monovertex:
    How come you're so into recipes lately? Never saw this much interest in this topic in the old days of TH.net
  • Monovertex Monovertex:
    Hmm, how do I change my signature?
  • tom_mai78101 tom_mai78101:
    Signatures can be edit in your account profile. As for the old stuffs, I'm thinking it's because Blizzard is now under Microsoft, and because of Microsoft Xbox going the way it is, it's dreadful.
  • The Helper The Helper:
    I am not big on the recipes I am just promoting them - I use the site as a practice place promoting stuff
    +2
  • Monovertex Monovertex:
    @tom_mai78101 I must be blind. If I go on my profile I don't see any area to edit the signature; If I go to account details (settings) I don't see any signature area either.
  • The Helper The Helper:
    You can get there if you click the bell icon (alerts) and choose preferences from the bottom, signature will be in the menu on the left there https://www.thehelper.net/account/preferences
  • The Helper The Helper:
    I think I need to split the Sci/Tech news forum into 2 one for Science and one for Tech but I am hating all the moving of posts I would have to do
  • The Helper The Helper:
    What is up Old Mountain Shadow?
  • The Helper The Helper:
    Happy Thursday!
    +1
  • Varine Varine:
    Crazy how much 3d printing has come in the last few years. Sad that it's not as easily modifiable though
  • Varine Varine:
    I bought an Ender 3 during the pandemic and tinkered with it all the time. Just bought a Sovol, not as easy. I'm trying to make it use a different nozzle because I have a fuck ton of Volcanos, and they use what is basically a modified volcano that is just a smidge longer, and almost every part on this thing needs to be redone to make it work
  • Varine Varine:
    Luckily I have a 3d printer for that, I guess. But it's ridiculous. The regular volcanos are 21mm, these Sovol versions are about 23.5mm
  • Varine Varine:
    So, 2.5mm longer. But the thing that measures the bed is about 1.5mm above the nozzle, so if I swap it with a volcano then I'm 1mm behind it. So cool, new bracket to swap that, but THEN the fan shroud to direct air at the part is ALSO going to be .5mm to low, and so I need to redo that, but by doing that it is a little bit off where it should be blowing and it's throwing it at the heating block instead of the part, and fuck man
  • Varine Varine:
    I didn't realize they designed this entire thing to NOT be modded. I would have just got a fucking Bambu if I knew that, the whole point was I could fuck with this. And no one else makes shit for Sovol so I have to go through them, and they have... interesting pricing models. So I have a new extruder altogether that I'm taking apart and going to just design a whole new one to use my nozzles. Dumb design.
  • Varine Varine:
    Can't just buy a new heatblock, you need to get a whole hotend - so block, heater cartridge, thermistor, heatbreak, and nozzle. And they put this fucking paste in there so I can't take the thermistor or cartridge out with any ease, that's 30 dollars. Or you can get the whole extrudor with the direct driver AND that heatblock for like 50, but you still can't get any of it to come apart
  • Varine Varine:
    Partsbuilt has individual parts I found but they're expensive. I think I can get bits swapped around and make this work with generic shit though
  • Ghan Ghan:
    Heard Houston got hit pretty bad by storms last night. Hope all is well with TH.
  • The Helper The Helper:
    Power back on finally - all is good here no damage
    +2
  • V-SNES V-SNES:
    Happy Friday!
    +1
  • The Helper The Helper:
    New recipe is another summer dessert Berry and Peach Cheesecake - https://www.thehelper.net/threads/recipe-berry-and-peach-cheesecake.194169/

      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