Frictional Games Forum (read-only)

Full Version: Need help with adding mementos/quests.
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Ok so here's my script:

Code:
.hps
////////////////////////////
// Run when entering map
void OnEnter()
{
        PlayMusic("amb_safe.ogg", true, 0.5, 5, 0, true);
        AddUseItemCallback("", "crowbar", "closet", "KeyOnDoor1", true);
        AddUseItemCallback("", "HallKey", "hall", "KeyOnDoor2", true);
        AddUseItemCallback("", "artroomkey", "artroom", "KeyOnDoor3", true);
        AddUseItemCallback("", "pathwaytolabkey", "pathtolab", "KeyOnDoor4", true);
        SetLevelDoorLockedText("pathtolab", "Doors", "Door_pathtolab_Name");
        AddQuest("readnote","readnote");
        CompleteQuest("readnotecomplete", "readnotecomplete");
}

.lang
        <Entry Name="Quest_readnote_Text">Read the note next to your bed.</Entry>
        <Entry Name="Quest_readnotecomplete_Text">Read the note next to your bed.</Entry>

I got the AddQuest to work (it shows up in my game that i received a memento. However, when i try to delete that memento, it doesnt. Btw i added .hps and .lang just to clarify that its those files, its not in my script.

Any help? Please and thank you.
Try changing

CompleteQuest("readnotecomplete", "readnotecomplete");

to

CompleteQuest("readnote", "readnote");

That is what deletes it, I'm pretty sure.
(08-09-2011, 06:21 AM)Kurton Wrote: [ -> ]Try changing

CompleteQuest("readnotecomplete", "readnotecomplete");

to

CompleteQuest("readnote", "readnote");

That is what deletes it, I'm pretty sure.

Hm, it does delete it, but it instantly deletes it. Like it doesnt even tell me what the quest was...
Oh! Derp, I didn't notice; You have the AddQuest and CompleteQuest in the same function, of course it will delete once it is added. Move the CompleteQuest to a function called when the objective is actually completed, then.
(08-09-2011, 06:29 AM)Kurton Wrote: [ -> ]Oh! Derp, I didn't notice; You have the AddQuest and CompleteQuest in the same function, of course it will delete once it is added. Move the CompleteQuest to a function called when the objective is actually completed, then.

I understand you..but um...im a noob at scripting (pretty much the quests/mementos part got me stuck) so i would love if you could explain a example?

EDIT:
Code:
void OnEnter()
{
        PlayMusic("amb_safe.ogg", true, 0.5, 5, 0, true);
        AddUseItemCallback("", "crowbar", "closet", "KeyOnDoor1", true);
        AddUseItemCallback("", "HallKey", "hall", "KeyOnDoor2", true);
        AddUseItemCallback("", "artroomkey", "artroom", "KeyOnDoor3", true);
        AddUseItemCallback("", "pathwaytolabkey", "pathtolab", "KeyOnDoor4", true);
        SetLevelDoorLockedText("pathtolab", "Doors", "Door_pathtolab_Name");
        AddQuest("readnote", "readnote");
}

void
{
        CompleteQuest("readnote", "readnote");
}

Like this? If so, what do i fill the "void (blank)" with?

EDIT2:Never mind! I finally figured it out! Big Grin it took me a whole lot of time just to figure out what i was doing wrong! Tongue still, thanks for your help man, you cleared something out that i was confused with Smile