1. Let's say I am level 5 and I learn X item. Then I set my level to 3.
    I can't craft X item and that's ok, but it still learned.

    Is there anyway to unlearn thouse items that are grater than my level?
     
  2. You can use this function to lock each item(unlearn it) I can't remember if itemid is a int or ulong but int should work
    Code:
    void LockItem(BasePlayer player, int itemid)
            {
                        var playerInfo = ServerMgr.Instance.persistance.GetPlayerInfo(player.userID);
                        playerInfo.unlockedItems.Remove(itemid);
                        ServerMgr.Instance.persistance.SetPlayerInfo(player.userID, playerInfo);
                        player.SendNetworkUpdate(BasePlayer.NetworkQueue.Update);
            }
    
    you can get all item names and ids with
    Code:
    void ListAllItems()
            {
                foreach(ItemDefinition i in ItemManager.itemList)
                {
                 Puts(string.Format("name: {0} id:{1}",i,i.itemid));
                }
            }