TTLG|Thief|Bioshock|System Shock|Deus Ex|Mobile
Page 2 of 2 FirstFirst 12
Results 26 to 31 of 31

Thread: DScript -A Squirrel script v0.24

  1. #26
    Member
    Registered: Aug 2007
    Location: LosAngeles: Between Amusements
    It is going to take a while for me to wrap my mind around your new parameter setting conventions!

  2. #27
    Member
    Registered: Nov 2004
    Location: Germany
    Thank you so much for all this Daraan! I really like the DWatchMe (guards relight every extinguished torches on their patrol path) I think i will add this to the HD mods as an optional extra

  3. #28
    Member
    Registered: Jan 2012
    Location: Gèrmany
    It is going to take a while for me to wrap my mind around your new parameter setting conventions!
    In general I tried to keep the readability high, as seen in the screenshot what belongs together should stay together. Same reason all actions use parameters without a prefix.
    "TOn" became "Relay" and TDest/Target became "Target".
    Well the initial idea came from a small sentence: On="bla";Relay="blub";To=object. Expect Relay the rest disappeared You would have been happier with TOn, or?



    --------------Download v0.23-------------------
    (nut file only on the first post)
    Parameter additions/fix
    •In case of all Frob messages (FrobToolBegin, FrobWorldBegin..) [source] will point to the frobber if it's a real frob else to the sending object of that message.

    Script Changes
    DHub:
    (Just to make clear these are messages not parameters)
    -StopInfRepeats got replaced by StopRepeat!!! - it will still only stop infinite repeats but:
    -Single repeats can now stopped via: [Message+number]StopRepeat, this works for non infinite repeats as well.
    -Single counts can be reset the same way with [Message+number]ResetCount
    --Sending a single reset count message for an action which does not have Count specified is not advised.
    -Potential ugly infinite Loop fixed.

    •In general tried to improve performance and readability - but for at least DrunkPlayerTrap I destroyed it.
    --The performance cut to make the DHub working which affected all scripts is mostly non existent anymore.


    It's kinda a hard decision to make: Use more RAM to decrease run time calculations or leave it be. Basically both are minimal but the question is still there.
    In case of the DHub every time it receives a valid message it creates a local 20 entry "Design Note" table for that message and actions are performed as the parameters are set. => less persistent memory but more repeated calculations.
    Other wise I could calculate these DNs at Sim and save them in a class variable and grab them when needed. => More memory but less calculations.
    I think I would prefer the second variant, at the moment it's still the first.



    Script Addition
    DHudCompass
    Upon receiving FrobInvEnd will clone the current selected object and attach it slightly below the players camera and keep its facing always to north.
    By default there is no TurnOff as it is TurnedOff via toggling.

    Engine Features -> Frob Info > Inv Action: Script must be set.

    I suggest scaling down the object to 10-50%.
    --------------Download v0.23c-------------------
    DHudCompass is now always above the lightgem.
    Last edited by Daraan; 16th Apr 2017 at 10:33.

  4. #29
    Member
    Registered: Jul 2006
    Location: Troyes, France
    @Daraan

    Shouldn't be a good idea to publish your script on GitHub in order to share it with everyone?
    Last edited by EnYB0La; 17th Apr 2017 at 11:08.

  5. #30
    Member
    Registered: Jan 2012
    Location: Gèrmany
    Quote Originally Posted by EnYB0La View Post
    Shouldn't be a good idea to publish your script on GitHub in order to share it with everyone?
    Dunno would that be helpful to you guys?



    ----------------------------------------------
    And 0.24 rolls in (Download)

    Targeting Operator additions
    @ and * work now with archetype ids like @-441

    '+-' Removes previously added objects via +. For example Target=+@Human+-@bystander

    The + operator goes from left to right, so some examples
    +-@bystander+@Human would do nothing as Human would be added at the end.
    +@Human+-@bystander+@Pagan would be Human excluding servant and aristo (the two other bystander types)
    of course Metaproperties can be used as well +@guard+-@M-FrontGateGuard+-@M-TopFloorGuard

    Script Addition
    •DImUndercover + DNotSuspAI
    •DGoMissing

    --------------------------------------------

    The Undercover script serves 2 purposes
    A) Bring a bit more logic to guards: Servant walk over marble nothing happens, player touching it slightly whole place goes crazy.
    B) The actual purpose being Undercover until an AI gets alerted, Damaged...

    Especially the Undercover part can be combined with some other Suspicious scripts to round it up.
    For example GoMissing (gen.osm) to notify guards when something was stolen.
    Even better with HighlySuspicious (tnhscript) as it adds lots of control via a suspicious threshold.


    DGoMissing
    Nearly identical to GoMissing but simulates a caught in the act and the AI instant alerts to level 3. (With my HighlySuspicious settings they would not alert at all)
    The normal missingloot type is restored after 2 seconds.
    Engine Features -> FrobInfo: World must be Move,Script
    DImUndercover
    By default upon receiving FrobInvEnd (for a general purpose you can use BeginScript or Sim with Count=1) will affected the AIs specified via DImUndercoverTarget - by default @Human -
    Use DImUndercoverSelfLit to increase OR decrease the visibility of the player - the default is 5. This can basically used as an On/Off indicator for the (human)player. Else this script gives no feedback on its own if it's on or not.
    DImUndercoverMode defines which of the following bitwise set modes should be used by default the mode is 9 (8 and 1).

    Code:
    Mode-|------effect--------		| Still alerted when
    ===Weaker detection Modes===
    1:	Ignore Footsteps		Alerted by other sounds and sight - Use DImUndercoverDeaf=1 to make them completely deaf. Use Deaf=3 if you think the default 2 is to weak.
    2: 	Reduced vision		 	By default will ignore the player until hes 6.5 units in range and than instant aggro. Another value can be set with DImUndercoverSight. DImUndercoverSight=1 or 0 Will make them completely blind. Would have loved to make this better. (basically disables lots of the vision cones)
    3:	Both above(1+2)			(recommended mode)
    4: 	Don't investigate 	 	Only when seeing the player will attack him. Alertness cap will still rise.
    5: 	4+1 	 	 	 	(Does not really makes sense)
    6: 	4+2 	 	 	 	(Attacks the player when he comes close. Sounds will rise his alertness and give a bit better vision)
    7: 	4+1+2				(also recommended)
    8: 	See below.
    
    For your personal design.
    16 	Adds: "M-DUndercover16"
    32 	Adds: "M-DUndercover32"
    ====The Undercover mode 8===========
    Used as default with ignore footsteps.

    •Settings for use with HighlySuspicious (Link)) (T2 only)
    The player will be made suspicious with the type player.
    DImUnderCoverUseDif=1 will append the the current difficulty so player0,1,3 is used.
    In the demo (SuspParm.str) I included two presets. - For the second one, if the AI meets the player and knows about 5,4,3 other incidents it will alert.
    DImUndercoverForgetMe=1 will delete the AISouspiciousLink to the player when he goes out of range, so he will be checked multiple times by the same AI.

    •When activated changes the Team of DImUndercoverTarget to Team Good and tries to automatically set the DNotSuspAI script which handles the turning off. This only works if the script 4 slot of the concrete AI is not in use, else a M-DUndercover8 has to be created with the script inside.

    End of the effect


    Note: Mode 1,2,4 won't end automatically only when DImUndercoverAutoOff=1 is set. DNotSuspAI will be added to them then as well. (they still are hostile)

    • By user:
    -if the effect was started with FrobInvEnd, a second Frob will end it.
    -The script object is dropped.
    -The DImUndercover object receives TurnOff; a single DNotSuspAI receives EndIgnore

    •Automatically
    -Messages: On Alertness >= 2 - another alert level can be set with DImUndercoverEnd; the default is 2, you can also use $QVar here.
    -AISignal with "alarm" "alert" "EndIgnore" "gong_ring";
    -Damage (any source!)
    -T2 only: drawn sword or blackjack object, arrow windup (To make this work the second script DT2UndercoverWeapons.nut is used which replaces the standard, sword, blackjack and arrow script.)
    -Side effect: An alerted AI will inform others if seen.

    When turned off these Properties get removed (regardless of the set mode):
    AI-Attributes--Hearing+Vision(mode 1/blind); AI-Core--Vision Description(2); AI-Ability Settings--Investigation(4)


    ====Custom Modes===========
    Alternatively if you want much more control or my setting interfere with yours you can use DImUndercoverUseMetas=1; this will add (depending on mode) the Metas M-DUndercover1,2,4,8,16,32 to the AIs and M-DUndercoverPlayer(if it exists) to the player.
    Their design is up to you.


  6. #31
    Member
    Registered: Jul 2006
    Location: Troyes, France
    Quote Originally Posted by Daraan View Post
    Dunno would that be helpful to you guys?
    Sure! I'd love to contribute Maybe we could make a generic library ( something like jQuery in JavaScript).
    DromEd Level Editor Developer Textures Kit: [Latest release] [README] [TTLG thread]

Page 2 of 2 FirstFirst 12

Tags for this Thread

Posting Permissions

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