dubiousintent Posted April 30, 2020 Share Posted April 30, 2020 (edited) ...I was thinking about using cubic activator to trigger a dialogue between NPCs, but I do not know where to place the command to trigger it, in addition at the right time in the quest and then go to the next stage, with a new dialogue started. Do you need to use several separate script files, or is one enough to activate? I was also looking for the right commands, but once again, I don't know where it should be placed - in the script or in the tabs of my quest - QuestStages or Conversation.I know that in GECK the quest is also used to call the right conditions for scripts, but for now I limited myself to the division into conditions related to the functioning of the follower and the quest that concerns him.It turns out that there are a lot of possibilities to do the same thing in the quest, but I'm wondering what to just use commands and scripts;)I noticed that by moving SetObjectiveCompleted to a given dialogue, I can trigger the next stage of the quest, but when I want it to apply to the dialogue between NPCs, it doesn't work."Objectives" are "tasks" you present the Player. In a quest they tend to fall naturally as the result of completing the previous one. But it is possible for the "time table" of an objective to occur later than immediately after completion of the previous one. This is the difference in "pacing" and "logic". The sequence of events is "logical", while the timing of events is "pacing". This leads to the answer to your basic question of "where do I place these commands". The (necessarily vague): where you need to. You appear to be focused on the "logic" part of things, but to have neglected to think about the "pacing" of events. There are two aspects to "pacing": that which you as the "author" control, and that which the player as "Courier" controls. You can't ignore the latter. Say you give the player an objective but there is not any explicit deadline. That enables the player to wander off and do other quests while yours "loops" in "Game Block" waiting for the correct flag to become "true". How is that flag going to become "true"? Is the only way via the player returning to dialog with the "questgiver" NPC? The original quest "activator"? By obtaining some "token"? That is the "logic" of the quest line which you as the author control. Yes, there are a lot of options. How many you wish to enable is up to you. But the pacing, the "when", they occur and what events immediately preceded them, is up to the player. As for your problem with: "moving SetObjectiveCompleted to a given dialogue, I can trigger the next stage of the quest, but when I want it to apply to the dialogue between NPCs, it doesn't work." How do you mean? "ObjectiveCompleted" is a "flag", but not one you have direct access to (you have to use functions). "SetObjectiveCompleted" is a function to set that flag "true". You use "GetObjectiveCompleted" to determine if that flag is now "true". But first you might have to use "GetCurrentObjective" to determine which objective is "current". Just because you are thinking a particular one should be doesn't mean it is. (Again, might the player have been working on more than one quest at a time?) You might think you are controlling the logic of events quite tightly, but that in part depends upon where and how you are setting various progress flags. The "Result Script" of a Dialog is a controlled exit point where you can be sure of the immediately preceding events. A separate script is another matter entirely. How might it be entered/triggered? What possible outcomes does it control (if any)? More flexibility, but also less "control" as to preceding events. In programming we use a tool called a "flow chart" to work out more complex interactions. Most dialog is linear enough you don't need one. But quests, especially one with multiple objectives, may need one to keep straight all the conditions you need to track. Once you have the logic and pacing worked out, "where" to place the "activators" (using the term very loosely) for objectives becomes clearer as to your choices. -Dubious- Edited April 30, 2020 by dubiousintent Link to comment Share on other sites More sharing options...
Mktavish Posted May 1, 2020 Share Posted May 1, 2020 you are using the wrong filter Link to comment Share on other sites More sharing options...
ramilow Posted May 7, 2020 Author Share Posted May 7, 2020 you are using the wrong filterWhat's wrong with this? You appear to be focused on the "logic" part of things, but to have neglected to think about the "pacing" of events. There are two aspects to "pacing": that which you as the "author" control, and that which the player as "Courier" controls. You can't ignore the latter.I know, therefore, when I had more time, I tested all commands and made changes :) The problem is that my problem is now mainly about commands. I was looking for the appropriate commands on the GECK website, which should be entered in the Quest or Script windows so that NPCs would start a dialogue with each other at a specific stage of the quest. The problem is to find the right one, especially since I can't understand the structure of quests in the original game. Now I'm just looking for a description of how to properly build specific situations during a quest so that the next stages follow.I can say that I understand what I want to achieve, but I don't know how, because I'm used to doing everything according to the instructions. In this way I was able to program the basic functions for follower. Link to comment Share on other sites More sharing options...
dubiousintent Posted May 7, 2020 Share Posted May 7, 2020 Please see the "Custom NPCs", "Dialogue and Lipsynch", and "Scripting" sections of the wiki "Getting started creating mods using GECK" article. Those have the suggestions from various people's experience in this regard, including "TIP Conversation or Quest system" and "TIP Obsidian Conversation Editor aka OCE". Otherwise, scouring the GECKWiki for a function that suits your purpose is the name of the mod creation game. We all have to do it. (Suggest you start by searching it on "functions" to get the list of various pages devoted to groups of functions.) -Dubious- Link to comment Share on other sites More sharing options...
Mktavish Posted May 7, 2020 Share Posted May 7, 2020 "GetObjectiveDisplayed" does not give you the same sort of "Trigger" That crossing a line of a cubic activator would. "OnTrigger" "OnTriggerEnter" You could chalk it up to softly tapping a line , vs aggressively tapping the line. And especially with 1 frame blocks ... would peter out. Atleast that is the way I see it :ermm: The engine won't always execute an input . When in doubt ... find the point you know you can force. Work from there to build your mod upon ...Building a mod off of theories of how it should work ... often does not work.There is no replacement for actual testing . Even modders very well versed in the theories.Cuz of the detail needed to make something render ... only known once doing it. Link to comment Share on other sites More sharing options...
Recommended Posts