Jump to content

Diallogue Help


LegoManIAm94

Recommended Posts

I take the non-quest-stage approach now. So just joining the faction is the case now.

You'll need 3 topics. The topic about the joining, and a No and a Yes for the player.

Create them, then in the joining topic, at 'Choices', add the Yes and No topic. The order defines which will be shown in game, if you want to change that, reorder them by deleting and adding them again to the choices.

 

Now at the joining, set a line 'do you want to...etc.' at the Conditions set 'GetFactionRank'. If done correctly, you've got a multiple of ranks now at that faction. They'll have a number, fill in the number at the end of the condition. This will make sure the one with the appropriate rank will only discuss this topic.

Now ADD another one, the same one. but this time tick the 'Run at Target', meaning the one talking, meaning the player.

-1 one is outside of the faction. so Do < 0 for that one. This means it'll run once when the player isn't inside the faction yet.

That was the joining-topic.

 

At the Yes topic, add a happy response and inside the Resulscript, (above the conditions) use SetFactionRank

as with

Player.SetFactionRank YourFaction 0

0 would be the first rank, or maybe 1 if you'd set the rank at that, the default first rank is 0 though.

Now at the conditions, you actually don't have to put anything. As you've forced the player towards a choice of topics. However, for safety you can use both GetFactionRank requirements again.

At the No topic you could put a unhappy response, maybe with a 'goodbye' at it.

 

Now the important part. When you're starting, the NPC will never ask about the joining, or show that topic..why? The player doesn't know the Topics yet. The simplest way is a script. And you've got to attach that to the quest. Hit the Pencil button on top of the screen and create a new one with:

change the MyQuestScript-name to your liking and Joining to how you've named the topic in the left tab of the dialogue.

scn MyQuestScript

short done

Begin GameMode
if done == 0
	addtopic Joining
	set done to 1
endif
End

 

Save the script, then at the quest (Quest Data) add it to the quest at script, assign it there. Be sure the priority of the quest is at least at 50.

That'll make sure the first time you load the game it'll process it and add the join stuff (Only once, never more thereafter). Now when you talk to the person it'll show the 'Joining topic'. You could have averted this by starting a GREETING-topic..but lately I've heard you can better evade it if you don't need it that much.

Link to comment
Share on other sites

On the wiki is a great tutorial to familiarize you with scripting dialogue/quests

 

anotomy of a quest

 

It is technically in the middle of the tutorial, but I'm fairly certain you can do without all that. The tutorial is kind of dry and in some parts hard to follow, but it should answer most of your questions.

Link to comment
Share on other sites

Like for example when you talk to someone it will show a paragraph. Then they will talk more and another paragraph will appear but you did not select any topics yet.

At response details you can add another piece of text for the same response if you meant that.

Link to comment
Share on other sites

That's good, but you need to use 'Run on Target'. Then it'll target the player, as that's the one target the NPC is currently talking to. Getitemcount gold001 is the one you need.
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...