Por lo que comentas suena como que esa variable index debería estar declarada como global en un objeto controlador persistente para evitar el error. Ni idea de cómo hayas implementado el cambio de items en el inventario, ni cuántos objetos usas, pero el error unknown variable indica que esa variable no está disponible en todo momento para alguno de los objetos
Puedes probar a usar el debugger de GM8 para ver que pasa con la variable index cuando ocurre el error
Puedes probar a usar el debugger de GM8 para ver que pasa con la variable index cuando ocurre el error