HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

InvX 2.0 preview

09-07-2006, 06:51 PM#1
Vexorian
I decided to post it, mostly because that would let people that uses InvX in their maps update to this pre version so they can update the caster system to CSCache 13.8. Documentation is for 1.8 . It has some features, like no longer depending on Attachable Sets, many stuff no longer cancels orders/ channeling spells and the charge stacking system has been improved (you can pick stackable items up with a full inventory, without the requirement of having multiple versions of the same item)

Notice that many to do things are missing and that this is not an official version.

[Updated]
Attached Files
File type: w3xinvx2 alpha2.w3x (224.7 KB)
09-10-2006, 01:10 AM#2
buttoxide
Is there a possibility that a potion will autostack with each other upon acquiring?

EDIT: I mean will this feature be in it...
09-10-2006, 04:17 AM#3
Vexorian
you mean even if inventory is not full? I dunno, it is simply easy to do so manually, and I hate things that do stuff automatically when you don't really need it.
09-11-2006, 05:19 PM#4
ArchWorm
Oh, right, about the autouses. In game simple Archmage autoequips items, but neither does the loaded Archmage. Is that fixed?
09-14-2006, 10:53 AM#5
Toadcop
Vexorian - nice... (not good)
and FAQ is lol =) !!!
09-14-2006, 01:16 PM#6
Vexorian
Quote:
Oh, right, about the autouses. In game simple Archmage autoequips items, but neither does the loaded Archmage. Is that fixed?

Well that would be weird cause I can't think of any mechanism that would make things behave different for loaded heroes, I am gonna check it out.
Quote:
Vexorian - nice... (not good)
and FAQ is lol =) !!!
What?
09-14-2006, 01:26 PM#7
Vexorian
I don't know what happened, I accidentally had an extra not somewhere, this is a patch

Collapse JASS:
function InvX_RestoreUnit takes gamecache g, string mission, string key, player p, real x, real y, real f returns unit
 local unit u=RestoreUnit(g,mission,key,p,x,y,f)
 local integer i=0
 local integer j
 local integer id
 local integer N=6
 local integer cp=GetStoredInteger(g,mission,key+"InvX_Page")
 local integer tp
 local integer sl=GetStoredInteger(g,mission,key+"InvX_TotalSlots")
 local item it
 local string k
 local integer t
 local boolean renb=GetAttachedBoolean(u,"InvX_ForgetAutoEquip")
    loop
        exitwhen i>=N
        call RemoveItem(UnitItemInSlot(u,i))
        set i=i+1
    endloop
    call InvX_EnhanceInventory(u,sl)
    call InvX_RestoreEquipment(g,mission,key,InvX(),u)
    call InvX_Goto(u,0,cp)
    set N=InvX_GetN( u,sl)
    set tp=GetAttachedInt(u,"InvX_TotalPages")
    set j=0    
    call InvX_DisableEvents(u,true)
    call AttachBoolean(u,"InvX_ForgetAutoEquip",true)
    loop
        exitwhen j>=tp
        set i=0
        set t=0
        loop
            exitwhen i>=N
            set k="InvX"+I2S(j)+";"+I2S(i)
            set id=GetStoredInteger(g,mission,key+k)

            if id!=0 and not(InvX_IsItemIdDummy(id)) then
                set t=t+1
                set it=InvX_RestoreItem(g,mission,key+k,0,0)
                call SetItemVisible(it,false)
              //  call SetItemCharges(it,GetStoredInteger(g,mission,key+k+"c"))
                if j==cp then
                    call InvX_SilentAddItemSlot(u,it,i)
                else
                    call AttachObject(u,k,it)
                endif
                call InvX_CheckGet(u,it,false,false,false,false)
                if GetStoredBoolean(g,mission,key+k+";Equiped") then
                    call InvX_Equip(u,it,GetStoredString(g,mission,key+k+";EquipSlot"),false,false)
                endif
            endif
            set i=i+1
        endloop
        call InvX_SetPageCount(u,j,t)
        set j=j+1
    endloop
    call InvX_DisableEvents(u,false)
    if not(renb) then
        call AttachBoolean(u,"InvX_ForgetAutoEquip",false)
    endif
    set bj_lastCreatedUnit=u

 set u=null
 return u
endfunction
09-14-2006, 01:32 PM#8
ArchWorm
Nice. Now, everything works.

Don't bother yourself with Toadcop's posts. I know him, sometimes he's just an ugly critic =|.

What I want to see in your InvX is destacking feature. Fx, you have 3 healing wards in your inventory and you want to sell only one. That'd be very helpful
____________
I didn't understand, why you vere using local N=6 instead of bj_MAX_INVENTORY. I thought the second one is faster. Isn't it?
09-14-2006, 01:37 PM#9
Vexorian
well if you have an empty slot you can destack by dropping an stacked item to another slot, only one charge is going to go there.

I said what? because I once again failed to understand his post nice (not good) I think Toadcop is short (tall)
09-14-2006, 01:42 PM#10
ArchWorm
How about my question? Locals vs. bj's?
09-14-2006, 01:47 PM#11
Vexorian
that seemed like part of a signature so I skipped it. Well it is probably legacy code, the most optimized would be using 6 in the loop directly, later I actually use local N for a good reason.
09-14-2006, 01:49 PM#12
ArchWorm
Vexorian, maybe you don't have to try to understand. Because at least me, Diod and Toadcop are from RUSSIA so this can be a matter of knowledge of english.
09-14-2006, 01:52 PM#13
ArchWorm
Quote:
that seemed like part of a signature so I skipped it
That would be a nice signature!

Tell me about one thing: if number of item abilities becomes higher than 11, what happens next?
09-14-2006, 05:35 PM#14
HunTer
ArchWorm me too from rus.So can u post something reports in xgm, because i don't understand many things :). ToJlbko Ha xgm 9l u3BecTeH kak p01nTT.
09-15-2006, 11:00 AM#15
ArchWorm
A 9 c uHdekcoM 12612!