public override void Despawn()
        {
            if (!IsSpawned || this.Address == 0)
            {
                return;
            }

            Process process = Process.ThisProcess();

            oCNpc npc = new oCNpc(process, this.Address);

            using (zVec3 vec = npc.GetPosition())
            {
                Position = (Vec3f)(new float[] { vec.X, vec.Y, vec.Z });
            }
            npc.HP = 0;
            npc.SetPosition(-1000, -100000, -100000);



            int WeaponMode = weaponMode;

            setWeaponMode(0);
            weaponMode = WeaponMode;

            oCGame.Game(process).World.DisableVob(npc);
            oCGame.Game(process).GetSpawnManager().DeleteNPC(npc);

            //oCGame.Game(process).GetSpawnManager().DeleteNPC(npc);//Bei verwandlung wird bedmempointer aufgerufen :/
            //new DespawnTimer(this.Address);
            this.Address = 0;

            sWorld.SpawnedVobDict.Remove(npc.Address);

            foreach (Item it in itemList)
            {
                sWorld.SpawnedVobDict.Remove(it.Address);
                it.Address = 0;
            }
        }