(At First: Always check the names of the objects that you want to use [CASE SENSITIVE]. 90% of the bugs I have are caused by that. And 9% of what is left is caused by forgetting to copy (string &in asEnitiy) or something like that to my new function.)
Maybe one of these AddUseItemCallbacks is overwriting the other. In order to avoid that I would remove the Function of the script of level 1. And I would put the function in the OnStart instead of OnEnter.
So this code:
void OnEnter()
{
AddUseItemCallback("", "glas", "gryde", "GlasGryde", true);
AddUseItemCallback("", "fiskeolie", "gryde1", "UseItemOnArea", true);
}
can you change to this:
void OnStart()
{
AddUseItemCallback("", "glas", "gryde", "GlasGryde", true);
}
If that doesn't solve your problem:I've created 2 Levels where I've done nearly the same as you did. The diffrence is that my item can be found in the one map and wasn't created by scripting. It works fine in my levels, so you could maybe make a entity with the object you want to get and make active = false and just set it active in the script of level 1.