Frictional Games Forum (read-only)
If has item func - Printable Version

+- Frictional Games Forum (read-only) (https://www.frictionalgames.com/forum)
+-- Forum: Amnesia: The Dark Descent (https://www.frictionalgames.com/forum/forum-6.html)
+--- Forum: Custom Stories, TCs & Mods - Development (https://www.frictionalgames.com/forum/forum-38.html)
+---- Forum: Development Support (https://www.frictionalgames.com/forum/forum-39.html)
+---- Thread: If has item func (/thread-15278.html)



If has item func - Rownbear - 05-06-2012

Hello I have a problem trying to load a map after the player have picked up its lantern and interacts with a door. so it looks something like this
Spoiler below!


void OnStart()
{
SetEntityPlayerInteractCallback("CastleGate", "StartMap", false);
}

void StartMap(string& asMapName, string& asStartPos)
{
if (HasItem("Lantern.ent") == true)
{
ChangeMap("01CastleBasement.map", "PlayerStartArea_1", "", "");
}
else
{
SetMessage("Messages", "FindItems", 4.0f);
}
}

Been awhile since I made this so might be way off, please help Smile




RE: If has item func - Your Computer - 05-06-2012

HasItem takes in the name of the item, not the filename of the entity file.


RE: If has item func - Rownbear - 05-06-2012

(05-06-2012, 02:22 AM)Your Computer Wrote: HasItem takes in the name of the item, not the filename of the entity file.
Tried but still doesnt work :-\ think the mistake is in

void StartMap(string& asMapName, string& asStartPos)

not working with the has item part


RE: If has item func - Your Computer - 05-06-2012

Yeah, SetEntityPlayerInteractCallback callback takes only one string.


RE: If has item func - Rownbear - 05-06-2012

(05-06-2012, 02:35 AM)Your Computer Wrote: Yeah, SetEntityPlayerInteractCallback callback takes only one string.
ah okay, which one should I use in this case?

EDIT: Got it working now, thanks for help Smile