Cześć. Mam taki mały problem... Chcę zapisać Instancję przedmiotu do tablicy. Tablica ma rozmiar 10 więc chciałem użyć MEM_WriteStatArr, jednak o dziwo Instancja zawraca 0...
Wiem że mogę zapisać to pojedynczo, ale dzięki MEM_WriteStatArr kod będzie krótszy.
Oto fragment kodu:
class aCQuickSlot
{
var int Item_ID[10];
var int View_ptr[10];
};
//Tutaj inne funkcje + Instancja
func void AddInFilter(var int FlagID, var int it)
{
var aCQuickSlot qs; qs = get(new(aQuickSlot));
if(!MEM_ReadStatArr(qs.View_ptr,FlagID))
{
MEM_WriteStatArr(qs.View_ptr,FlagID,View_Create(Calculate_ViewPos(FlagID),256,Calculate_ViewPos(FlagID)+512,768));
View_SetTexture(MEM_ReadStatArr(qs.View_ptr,FlagID),"AQUICKSLOT_L.tga");
View_Open(MEM_ReadStatArr(qs.View_ptr,FlagID));
};
MEM_WriteStatArr(qs.Item_ID,FlagID,it);
};
func void QS_GetItem()
{
var aCQuickSlot qs; qs = get(new(aQuickSlot));
var C_Item itm; itm = _^(MEM_ReadInt(ESP+324+4));
var int i; i = Hlp_GetInstanceID (itm);
if(MEM_KeyState(KEY_1)==KEY_PRESSED){ if(MEM_ReadStatArr(qs.Item_ID,1)!=i){AddInFilter(1,i);}else{RemoveFromFilter(1);}; };
if(MEM_KeyState(KEY_2)==KEY_PRESSED){ if(MEM_ReadStatArr(qs.Item_ID,2)!=i){AddInFilter(2,i);}else{RemoveFromFilter(2);}; };
[...]
I tak dalej...
P.S dziwne jest to, że View jest zapisany, a Item już nie...