TTLG|Jukebox|Thief|Bioshock|System Shock|Deus Ex|Mobile
Results 1 to 9 of 9

Thread: Problem: some of resrictions are not shown on starting screen

  1. #1
    Member
    Registered: Nov 2000
    Location: Russia

    Problem: some of resrictions are not shown on starting screen

    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?

  2. #2
    Member
    Registered: Sep 2004
    Location: Dunno. What week is it?
    Are you using the same "Mission Start" actor in the Entry level?

  3. #3
    Member
    Registered: Nov 2000
    Location: Russia
    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.

  4. #4
    Member
    Registered: Sep 2004
    Location: Dunno. What week is it?
    Sorry. I meant the DifficultyInfo actor. Try using KOMAGs tut. It goes into more detail.

  5. #5
    Member
    Registered: Nov 2000
    Location: Russia
    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).

  6. #6
    Judith
    Guest
    Durinda, I had similar problems when finishing objectives for my Fm, but I obviously overlooked some important details in D'Spair's tutorial...

  7. #7
    Member
    Registered: Nov 2000
    Location: Russia
    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)...

  8. #8
    Judith
    Guest
    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.
    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 end

    *Goes to the CCC thread to answer the questions*

  9. #9
    Member
    Registered: Nov 2000
    Location: Russia
    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

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •