HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

A Dual Cache System

01-09-2007, 06:58 PM#1
Rising_Dusk
I was wondering...
It's easily possible to store different variables to different caches.
So maybe it would be wise to do that for AotZ, since apparently nothing works.

Anyways, my idea was to use two cache variables.
That way I can store knockbacks/knockdowns/stuns/etc. to one cache, and use the other cache for spells.

So hear I ask, is there anything buggy with using multiple caches?
Also, if handle indicies start failing in one cache, will they fail in the other cache as well?
And has anyone tried this before?
01-09-2007, 07:17 PM#2
Vexorian
It is not a problem with gamecaches but with handle indexes itself, using another gamecache will not fix those issues
01-09-2007, 08:13 PM#3
karukef
To my knowledge no one has ever managed to store a value in the gamecache (ANY kind of value) and then show that they do not get that exact same value back.

The gamecache works perfectly. As Vex said, it's the handle indexes themselves that screw up when War3 think they disappeared because the only reference to them lies in a converted form in GameCache.

This was one of the major reasons for why I initially created smartattach, to be able to store REAL references to the variables and not return-bug converted ones.
01-09-2007, 08:28 PM#4
Rising_Dusk
So then is there an issue with return bug?
Because I have a spell that uses global variables to move variables from one function to another, but I store them as integers in BJ global arrays.

So it looks like this --
Collapse JASS:
    set bj_meleeTwinkedHeroes[81] = H2I(AddSpecialEffectTarget("Abilities\\Spells\\Undead\\OrbOfDeath\\AnnihilationMissile.mdl", u, "weapon"))

And then --
call DestroyEffect(I2E(bj_meleeTwinkedHeroes[81]))
Yet somehow the spell still messes up sometimes.
I can't explain it for the life of me.

My only thought was that somehow I was using the same global elsewhere and it conflicted.
Though I searched my entire .j and couldn't find another instance of that array value.
It's.. Odd.
01-09-2007, 08:35 PM#5
iNfraNe
thats exactly the same as storing it in the cache, you store the integer, which, for what jass knows has NOTHING to do with the object itself...
01-09-2007, 08:39 PM#6
Rising_Dusk
Alright then.. Fair enough.

So either make global arrays of every type for everything. *Cough*
Or somehow find the source of why the handle indicies are breaking in the first place.

Great, I'm f*cking back to square one.
01-09-2007, 09:48 PM#7
grim001
Maybe use structs for everything? :P
01-09-2007, 09:52 PM#8
Rising_Dusk
You're not funny.