Two questions. CSC 0.7.0

General discussion of the House Party CSC, or get help making your own story.
Forum rules
Please follow all Eek! Forum rules.
Post Reply
picodegallo
Posts: 5
Joined: Wed Feb 14, 2018 10:43 pm

Two questions. CSC 0.7.0

What is the MoveTarget name of the Player's starting point when you start a New Game? The one right in front of the Front Door.

How can I interrupt a WalkTo command?

Thanks.
eekdon
Posts: 1546
Joined: Tue Feb 13, 2018 4:29 pm

Re: Two questions. CSC 0.7.0

There's not technically a MoveTarget at the front door. That's just where the player is positioned in the scene by default.

To interrupt a WalkTo is kind of tricky, and I have not done it in the HP CSC myself. We were working on a method for clearing that out but it was causing problems. I know that with the command console you have to clear their CurrentMoveTarget value and then give them a WalkTo command TWICE. So for me to cancel out a WalkTo and have the character stop in their tracks via the console, it's:

values Ashley CurrentMoveTarget equals None
walkto ashley ashley
walkto ashley ashley

HOWEVER, this tends to lock that character in place until you give them another WalkTo so even though that *appears* to work, it isn't recommended.
Image
peter980
Posts: 1601
Joined: Thu Feb 15, 2018 1:50 am

Re: Two questions. CSC 0.7.0

By the way, you can do interesting stuff by adding conditions to CurrentMoveTarget variable.

Like do something only if specific character is not moving (None).

Or never do something, while specific character is moving to specific location.

Or give commands to all characters to get to specific place, then put repeatable event that will activate only when none of those characters have active move, to make sure they are all there (needs disabled roaming too, to make sure they do not move elsewhere in the meantime).
picodegallo
Posts: 5
Joined: Wed Feb 14, 2018 10:43 pm

Re: Two questions. CSC 0.7.0

erasmus wrote: Mon Jun 11, 2018 1:54 pm There's not technically a MoveTarget at the front door. That's just where the player is positioned in the scene by default.

To interrupt a WalkTo is kind of tricky, and I have not done it in the HP CSC myself. We were working on a method for clearing that out but it was causing problems. I know that with the command console you have to clear their CurrentMoveTarget value and then give them a WalkTo command TWICE. So for me to cancel out a WalkTo and have the character stop in their tracks via the console, it's:

values Ashley CurrentMoveTarget equals None
walkto ashley ashley
walkto ashley ashley

HOWEVER, this tends to lock that character in place until you give them another WalkTo so even though that *appears* to work, it isn't recommended.
Thank you for the advice!

Stopping her dead in her tracks is pretty much what I'm looking for. I'm trying to script a "sneaking around the house" story with just Ashley. Meaning the player has to go through the house undetected doing stuff. I was able to program the "seeing you" mechanic (if you're in Ashley's line of sight she dialogues "What are you doing here???") but after she does her dialogue, if she was walking to some point that I told her to walk to, she continues walking towards it.

So what I wanted was:
She catches you.
Dialogue.
She doesn't move from the spot she's in after she's done talking to you.

Instead I get:
She catches you.
Dialogue.
Continues to walk to where I previously told her to walk after dialogue.

While typing what you told me above works in the CONSOLE it doesn't translate well through CSC. I did

ModifyValue Ashley CurrentMoveTarget Equals None
walkto ashley ashley
walkto ashley ashley

as three separate events after her dialogue finishes. It, unfortunately, doesn't work.

I think it's because it's MODIFYVALUE and not VALUES. Although I could be mistaken.

Any more advice would be appreciated.
picodegallo
Posts: 5
Joined: Wed Feb 14, 2018 10:43 pm

Re: Two questions. CSC 0.7.0

peter980 wrote: Tue Jun 12, 2018 1:01 am By the way, you can do interesting stuff by adding conditions to CurrentMoveTarget variable.

Like do something only if specific character is not moving (None).

Or never do something, while specific character is moving to specific location.

Or give commands to all characters to get to specific place, then put repeatable event that will activate only when none of those characters have active move, to make sure they are all there (needs disabled roaming too, to make sure they do not move elsewhere in the meantime).
How does one go about doing that? I mean, what are the commands?

You will have to excuse my ignorance. I honestly don't know the first thing about coding anything. If it wasn't for EEK!'s CSC I would be 100% lost. Their CSC made making a custom story a million times easier.
peter980
Posts: 1601
Joined: Thu Feb 15, 2018 1:50 am

Re: Two questions. CSC 0.7.0

By commands I mean event actions that do things (like walk, interact), while condition would be by Value, where key is CurrentMoveTarget, and value location where character is moving or "None".

Note that modifying value for CurrentMoveTarget is not advised, since it is written by game engine when character walks. But you can query for current value using "values" in debug console, and then use in CSC condition for Value to do something based on current value.

Also noticed that value used for CurrentMoveTarget may not be the same one used for WalkTo.

For example walkto for hot tub is HotTubSeat1, while value that is written to CurrentMove Target is "HotTub Seat 1".

You can always inspect the values while in the game, through the debug console with:

values <char_name> list
eekdon
Posts: 1546
Joined: Tue Feb 13, 2018 4:29 pm

Re: Two questions. CSC 0.7.0

picodegallo wrote: Tue Jun 12, 2018 7:37 pm
erasmus wrote: Mon Jun 11, 2018 1:54 pm There's not technically a MoveTarget at the front door. That's just where the player is positioned in the scene by default.

To interrupt a WalkTo is kind of tricky, and I have not done it in the HP CSC myself. We were working on a method for clearing that out but it was causing problems. I know that with the command console you have to clear their CurrentMoveTarget value and then give them a WalkTo command TWICE. So for me to cancel out a WalkTo and have the character stop in their tracks via the console, it's:

values Ashley CurrentMoveTarget equals None
walkto ashley ashley
walkto ashley ashley

HOWEVER, this tends to lock that character in place until you give them another WalkTo so even though that *appears* to work, it isn't recommended.
Thank you for the advice!

Stopping her dead in her tracks is pretty much what I'm looking for. I'm trying to script a "sneaking around the house" story with just Ashley. Meaning the player has to go through the house undetected doing stuff. I was able to program the "seeing you" mechanic (if you're in Ashley's line of sight she dialogues "What are you doing here???") but after she does her dialogue, if she was walking to some point that I told her to walk to, she continues walking towards it.

So what I wanted was:
She catches you.
Dialogue.
She doesn't move from the spot she's in after she's done talking to you.

Instead I get:
She catches you.
Dialogue.
Continues to walk to where I previously told her to walk after dialogue.

While typing what you told me above works in the CONSOLE it doesn't translate well through CSC. I did

ModifyValue Ashley CurrentMoveTarget Equals None
walkto ashley ashley
walkto ashley ashley

as three separate events after her dialogue finishes. It, unfortunately, doesn't work.

I think it's because it's MODIFYVALUE and not VALUES. Although I could be mistaken.

Any more advice would be appreciated.
Right, the console 'Values' command is the same as modifyvalues, but shortened for convenience. Without a way to reliably 'stop' a WalkTo, you might want to consider just making it "look" like you are stopping the WalkTo. This is less about actual CSC/code issues and more about game design itself. If you know your "area to be caught" is in location X, and you're having trouble with Ashley seeing you, but then walking past X to location Y, then don't program in any possible WalkTos or roaming locations past point X OR have her do something else that "masks" the system weakness. An example of this would be Madison catching the player getting her diary out of the safe in the Original Story. There isn't anything preventing her from actually walking away, but BECAUSE that scene takes place in a corner AND she immediately walks to Frank, the fact that she could talk to the player and walk around more is masked. On a related note, you should be able to fairly predictably set up Ashley's roaming pattern by carefully crafting her Prohibited/Allowed Roaming locations lists and possibly limiting the use of a door or two.

You don't have to have the system execute everything perfectly, it just has to look right to the player and not completely break. Not saying this is our official stance or anything, b/c this is a function we want to have in-game, but it's one way of tackling this issue with the tools currently at hand.
Image
Post Reply