schleicher on 9/10/2015 at 16:04
Hi
I placed an papyrus inworld. After I took it and have read it, it should set a goal to visible. What I've found in the net
is not really helpful.
What I did:
Papyrus: I added the Script "StdButton"
Then I added a QVarTrap and in that I added a QVar. This QVar I initialized with "=1:goal_visible_1"
(Its goal 1 that should become visible, after I have read the papyrus.
And finally I added a ControlDevice to the QVarTrap (via Link-Option). This ControlDevice I linked to
the Papyrus.
But nothing happens, after I read the Papyrus. The goal1 is still not there.
fibanocci on 9/10/2015 at 16:21
You might check your setup with some other object first (a door or something)
Always check the frobinfo. Do you want to trigger the new objective if the book is frobbed in the world (the first time frobbed)?
Then it's world-->script. I'd use TrigWorldFrob then.
Do you want to trigger the new objective if the book is frobbed in the inventory?
Then it's inv action-->script
I'd use TrigInvFrob then
R Soul on 9/10/2015 at 16:25
Pick up a papyrus?
Frobbing something in the inventory is different to frobbing it when it's in the
world (LGS's term). Objects in the world recieve a FrobWorldEnd message, which StdButton responds to. Objects frobbed in the inventory receive a FrobInvEnd message instead, so StdButton will not respond.
Instead of StdButton I recommend TrigInvFrob, however there will still be a slight flaw. You'll get the 'new objectives' message and the sound just
before the text is shown.
Here's a better solution:
Install (
http://dromed.whoopdedo.org/public_scripts/index) PublicScripts
Use the script PostReadScroll instead of TrigInvFrob (or StdButton).
You can still use the CD link to the QuesVar trap, but you can delete it and put the QuestVar property on the papyrus. If you do that, select Don't Inherit in the scripts property so you only use PostReadScroll.
Yandros on 9/10/2015 at 16:27
Fib is on the right track there. StdButton won't work on a StdScroll because the first is triggered when frobbed in world, and the second when frobbed in inventory. Since the papyrus probably doesn't have Script set on FrobInfo for World action, the StdButton script is never getting called. I would change StdButton to TrigInvFrob as he suggested and then it should work.
Edit: R Soul beat me to it, and PostReadScroll is a better solution, or you could also put a TrapTimedRelay or NVRelayTrap (with a delay set) between the papyrus and the QVTrap.
schleicher on 9/10/2015 at 16:31
Quote Posted by fibanocci
Do you want to trigger the new objective if the book is frobbed in the inventory?
Then it's inv action-->script
I'd use TrigInvFrob then
Thank you. This Script makes exactly, what I wanted. :thumb:
schleicher on 9/10/2015 at 16:39
Quote Posted by R Soul
Instead of StdButton I recommend TrigInvFrob, however there will still be a slight flaw. You'll get the 'new objectives' message and the sound just
before the text is shown.
This happens not everytime, but sometimes. But I have no problem with it. Only frobbing the inworld-object into the inventory
don't trigger that event. And this behaviour is what I want. I have to read (frob within inventory) and then the event is
triggered. Exactly, what I want.
Thank you. I will have a look.
schleicher on 9/10/2015 at 20:55
In Game-Mode in DromEd all works as expected. But in the real Thief2 the "I have read the papyrus"-event is not triggered.
I thought, what in GameMode works, should work in the real Game as well.
Any Idea, what the problem is?
Maybe important for finding the problem: I have another, visible goal. Is that finished, the game is over in the real Game.
In GameMode the game continues, after I did the first goal. Though the second goal is not visible yet. So only in GameMode
my mission runs as expected.
fibanocci on 10/10/2015 at 07:31
You might post your goal.cmd. So the other goal has the final flag?
schleicher on 10/10/2015 at 11:38
Quote Posted by fibanocci
You might post your goal.cmd. So the other goal has the final flag?
This was the right hint. Thank you. I thought, it is not necessary, to set the final-flag. So I did that now and now it runs :-)
But I have 2 questions here:
1. How can it be, that in Game-Mode no error was shown and the game behaved as expected, while in the real-game
things are different? I thought, both, editor and real-game behave in the same way.
2. I tried (just for testing purpose) "TrigWorldFrob" instead of "TrigInvFrob". This was the only difference. But nothing happened, after I frobbed the papyrus into the inventory. As I understood, this should set goal-2 as visible, too.
Is there any difference in the setup between using TrigWorldFrob or TrigInvFrob?
fibanocci on 10/10/2015 at 11:49
1. There's a no endgame setting in the user.cfg. This is for DromEd only. But the monolog will show you: Endgame requested. You can uncomment this (not recommended).
2. Lack of FrobInfo, maybe?