d'Spair on 28/2/2005 at 20:57
Well, it seems that this editor is exploding in my hands.
I've got a small test mission containing two maps. All teleportators are set as they should be. But here is a problem #1: When I start my mission on Map1, I go to Map2. Then, on Map2, I do something: open a door, kill a guard and so on. Then I go back to Map1 (so the temporary status of my Map2 saves). Then I hit Quit Game without saving(!).
But then if I try to play my mission again, I also begin on Map1, and it's OK, but when I go to Map2, I see that all those changes I made in the previous game (opened a door, killed a guard) are still here!
I think that those temporary map status saves should be deleted when a player quits game without saving, but they are not. I found two ways to fix it: delete all files from my Saves directory in My Documents and\or press Restart Mission button in the game. Only then my maps are reset to original status, but it's still VERY odd.
Here comes problem #2: when I press "Restart mission", I begin the game not in a PlayerStart on Map1, but on one of the Teleport destinations on Map2. I have no idea why this happens and ask you for help: how can I fix this? What should I do to say the game that this particular PlayerStart is the real beginning of the mission?
Thanks anyway.
d'Spair on 28/2/2005 at 21:40
Problem #1 is actually not a problem of my mission, it seems to be a bug of the game.
I created a T3.exe file shortcut with "Castle1" parameter in order to begin the second Thief 3 mission. Then I quickly ran to the second zone (Inner Courtyard), blackacked the guard and ran back to the first map. Then I quit the game without saving and started it again. When I reached Inner Courtyard, I found the guard unconscious on the floor.
Damn, how could they miss that?
d'Spair on 28/2/2005 at 23:51
I fixed both problems succesfully, and both are connected with the way we launch a map.
The restart function usually loads an autosave that is created when a player starts the mission. When we use the T3.exe shortcut with [your_map_name] command line parameter, it starts a map without an autosave at the beginning, so if we hit "restart", the game loads the last autosave that was done at the beginning of the mission you played before (it may very well be some of the OMs). If you start your mission and then go to Map2, only at the beginning of Map2 Autosave is done, so "Restart" usually loads an autosave that was made at the beginning of Map2. That is what was confusing me.
As far as an autosave is done only once in the beginning of a mission, the game will not autosave when you move between the maps inside this mission. Using a shortcut launch breaks this rule.
Now to problem #1. This problem has the same root. When you start the game as you usually do it (NOT with the shortcut, but with regular T3.exe), it automatically erases all map save status data that was not saved before. This is correct. But using a shortcut bypasses this system - that's why I had those strange problems with Map2 status.
Actually, it was the reason why I decided to make my map play by hitting a "New Game" button in the main menu. It is very easy to do: open Entry.unr in T3Ed (make a backup first!) and change all the references from Inn mission to your mission (look at EnterMissionInfo/ExitMissionInfo/DifficultyInfo actors). Then rebuild, save and export. If you have done everything right, now when you launch the game and press the "New Game" button, your mission will start playing (with briefing etc). The only problem is that you can't change difficulty levels as you couldn't do this in the Inn mission, but it's probaly fixable (or you can restart the mission on other difficulty level).
First of all, it's very handy, you or those who will play your FM won't have to mess with shortcuts. Plus, map save status\restart mission systems work as they should.
sk2k on 1/3/2005 at 15:48
Ok, as i said in the other thread your method works.
I have one question. Are all of your goals displayed when you choose start new game?
MfG
Petronius
d'Spair on 1/3/2005 at 17:51
You should have displayed all goals that you have ingame (not those goals that come with difficulty levels - they are displayed on "Difficulty" screen). It works for me if I add TriggerScript to DifficultyInfo actor (the script launches the conversation with all objectives info).
sk2k on 1/3/2005 at 18:23
Another mysterious thing. :) I have two goals defined:
1. steal blabla
2. go to blabla (do last objective)
Only No.1 is visible before starting the mission. After starting the mission both goals are visible.
MfG
Petronius
Edit: Wait, do you add the triggerscript to the DifficultyInfo actor in the entry map too?
d'Spair on 1/3/2005 at 19:23
Quote Posted by sk2k
Another mysterious thing. :) I have two goals defined:
1. steal blabla
2. go to blabla (do last objective)
Only No.1 is visible before starting the mission. After starting the mission both goals are visible.
MfG
Petronius
Edit: Wait, do you add the triggerscript to the DifficultyInfo actor in the entry map too?
No, in the Entry map you have only to replace links to Inn mission with links to your mission. Nothing else (probably inventory also connected with Entry mission, but I'll check it later).
To see both objectives before starting the mission, make sure that you have trigger, that starts the "objective conversation", set onto DifficultyInfo actor, NOT onto your PlayerStart (Teleporter from Entry map actually).
sk2k on 1/3/2005 at 20:06
It's already set to the DifficultyInfo actor in my map. Hmm, strange....before the mission only the first goal objective is visible. I don't knwo why...
MfG
Petronius
d'Spair on 1/3/2005 at 20:24
That's very strange. I've got absolutely the same objectives in my test map, and they work.
Ok, let's check it again.
You have to put Scripts > TriggerScripts onto your DifficullyInfo actor. Then Add another script to this actor:
CONDITIONS:
- When map starts, arriving from a different map
ACTIONS
- Queue conversation [ConversationName] to play
Ok, now you have to make a conversation called "[ConversationName]" under PlayerGarrett branch.
Press Insert > Goal and do this way:
Goal name: objStealThing (of course you can name it as you wish, but I just offer this name to make it more clear).
Initial State: Pending
Make sure that "Objective" is selected in the right box
Goal Text: "Steal the thing"
Good. Now do the same for the second goal:
Goal name: objEscape.
Turn on the "Do this objective last" option.
Initial State: Pending
Make sure that "Objective" is selected in the right box.
Goal Text: "Escape once you're ready"
Finally, put the "End" tag at the bottom of the right-hand conversation screen.
Now Save, Convert and Export conversations.
Now you should have both objectives visible even before starting the mission...
(Don't forget to make 'em workable - so when you take a thing, the first objective turns to completed, and when you enter the final volume, the second one turns to completed).
Also, make sure that you have EnterMissionVisibleObjectivesFileName set to "[your_mission_name].txt" in your EnterMissionInfo actor not only in your mission, but also in Entry map.
sk2k on 1/3/2005 at 20:57
Ok, there was a problem with the EMObjectives.dat. I saved it again and now all goals are visible.
Now i fiddling around with the restrictions like MaxDetected,MaxKill, etc.
I added the TriggerScript 'MaxDetected0' to the DifficultyInfo actor and changed the DifficultyInfoExpertDiffSetting property MaxDetected to 0. But nothing happens and maybe there is another setting that needs to be changed.
MfG
Petronius