Are you using the same "Mission Start" actor in the Entry level?
My mission uses "do not blackjack anybody", "do not kill anybody" and "do not get caught at all" on different difficulty levels. These restrictions are shown correctly on Objectives screen during mission play but not shown at all on starting screen where I choose difficulty level. "Do not blackjack/kill any non-combatants" restrictions are shown correctly in both cases.
Did somebody have the same problems?
Are you using the same "Mission Start" actor in the Entry level?
Hmm, what do you mean by "the same Mission Start"? The same actor class for PlayerStart or StartingMissionInfo actors? I based on d'Spair tutorial, I reused PlayerStart and StartingMissionInfo from original Entry map, just changed Inn.txt references to my mission and added TriggerScript link to my DifficultyInfo actor.
Last edited by Durinda D'Bry; 10th Mar 2006 at 11:34.
Sorry. I meant the DifficultyInfo actor. Try using KOMAGs tut. It goes into more detail.
Well, I think I finally got it. I wrote some report (see below). Would be nice if someone could test it (it works for me but better to check it again). Sorry, I was too brief because I haven't got more time now. If somebody would be interested please ask questions in this thread. It definitely should go to Wiki soon, I just would check again.
_Symptom: If you have player restrictions "Do not blackjack anybody", "Do not kill anybody", "Do not allow any bodies to be discovered", "Do not get caught at all" for some difficulty levels in your FM (so you set to 0 corresponding value in your difficulty info actor), these restrictions wouldn't be shown on starting screen where you choose difficulty level for new game. In game everything is correct - text is shown and restriction logic is working.
_Caused_by: First, localized messages for restrictions and "standard"
objectives ("Steal at least" etc.) are not taken from Connersation/Schema
files on difficulty selection screen. These messages are from
...\Books\...\String_Tags\Screens.sch file. Second, corresponding restriction
messages for "max zero" conditions are not supported in code (even T3Main.exe contains templates for "T_DifficultyScreenMaxBlahBlahZero", substitutions are not applied from Screens.sch).
_Fix: Dirty hack
First, change Screens.sch messages:
T_DifficultyScreenMaxBlackJack1 to "Do not blackjack even ",
T_DifficultyScreenMaxKill1 to "Do not kill even ",
T_DifficultyScreenMaxDetect1 to "Do not get caught even ",
T_DifficultyScreenMaxCorpseDetect1 to "Do not allow even ".
Second, create 4 new scripts "MaximumBlackjack0Fix", "MaximumCorpsesFound0Fix",
"MaximumKill0Fix", "MaximumTimesDetected0Fix". Scripts:
CONDITIONS -
When map starts, arriving from different map;
Query if
[dif_maxblackjack]/[dif_maxcorpsesfound]/[dif_maxkill]/[dif_maxdetected]
[Greater Than Equal To]
1
ACTIONS -
Set [dif_maxblackjack]/[dif_maxcorpsesfound]/[dif_maxkill]/[dif_maxdetected]
to 0;
Queue conversation "MaxBlackjack0"/"MaxCorpsesFound0"/"MaxKill0"/"MaxDetected0"
to play.
Third, fix your difficulty info actor class: remove from it following scripts -
"MaximumBlackjack", "MaximumBlackjack0", "MaximumBlackjack1",
"MaximumCorpsesFound", "MaximumCorpsesFound0", "MaximumCorpsesFound1",
"MaximumKill", "MaximumKill0", "MaximumKill1",
"MaximumTimesDetected", "MaximumTimesDetected0" and "MaximumTimesDetected1".
Add our 4 new created scripts to this class. Do not forget handle scripts
inheritance!
Last, fix more your difficulty info actor class: set corresponding properties to
1 to have "max zero" functionality and to -1 to have no restriction (no other
options).
Durinda, I had similar problems when finishing objectives for my Fm, but I obviously overlooked some important details in D'Spair's tutorial...
Judith
Yes, AFAIR in Crystal Clear Conscience you have "Do not get caught more than 1 time" etc. displayed on difficulty screen and in-game but actually it works as "Do not get caught at all" etc. So, probably you changed corresponding scripts which initialize counters or scripts which detect limit, right?
BTW, your mission is excellent If you'll have time please look this - I've stuck with loot objective on expert and also cannot get to some place (probably it is not possible by design)...
I tried it in the game a few seconds ago - you can be caught one time, but it actually means you can be seen once, by one AI (or maybe one AI can be alerted once? not sure..). It's probably a hard thing to do, alarm only one person in the marketplace, but try luring the first guard you encounter in "the city" to the place where you start the game, and then show yourself. He'll start shooting but the game won't endYes, AFAIR in Crystal Clear Conscience you have "Do not get caught more than 1 time" etc. displayed on difficulty screen and in-game but actually it works as "Do not get caught at all" etc.
*Goes to the CCC thread to answer the questions*
Aha, I see... AFAIR detection script has condition something like "when AI sees player and AI linked with AIs which have disposition 'hostle' to the player...". It may mean that each time the same AI sees player detection counter is incremented. Then this restriction is pretty useless with limit > 0 Cannot remember is there "reset conditions" in the end of script - probably it is missing and it blocks increment caused by the same AI...
But anyway - non-zero detection limits look pretty strange from thief point of view: Master Thief might be detected only once and it is his last day