Hi Raiden,

Sorry for the delay in the repsonse. I want to thank you for the code you wrote, that was very nice of you...

I used your code to work into mine and got some interesting results. Basically what I did (from memory here so it may not be exact...)

action MONSTER1
{
...
MODELS[my.skill1] = handle(my);
...
}

function first()
{
my = ptr_for_handle(MODELS[index]); // get me
str_for_entfile(entname,my); // copy the entity into the string
MORPHMDLS[index] = handle(entname); // save a handle to the string
}

function second
{
my = ptr_for_handle(MODELS[index]); // get me
tempPtr = ptr_for_handle(MORPHMDLS[my.offset]); // get ptr from name
ent_morph(my,tempPtr); // morph me to ptr from name
}

...that seemed to work fine, and thank you for that. My problem came when I did exactly the same thing for a second set of entities and set the pointers to another array...then I saw the original problem again. I have no idea as to why it does this...

I managed a work-around...so I'm just left with confusion as to what caused this odd behaviour. Thank you again for your help. Regards.