Εγκατάσταση Steam
Σύνδεση
|
Γλώσσα
简体中文 (Απλοποιημένα κινεζικά)
繁體中文 (Παραδοσιακά κινεζικά)
日本語 (Ιαπωνικά)
한국어 (Κορεατικά)
ไทย (Ταϊλανδικά)
Български (Βουλγαρικά)
Čeština (Τσεχικά)
Dansk (Δανικά)
Deutsch (Γερμανικά)
English (Αγγλικά)
Español – España (Ισπανικά – Ισπανία)
Español – Latinoamérica (Ισπανικά – Λατινική Αμερική)
Français (Γαλλικά)
Italiano (Ιταλικά)
Bahasa Indonesia (Ινδονησιακά)
Magyar (Ουγγρικά)
Nederlands (Ολλανδικά)
Norsk (Νορβηγικά)
Polski (Πολωνικά)
Português (Πορτογαλικά – Πορτογαλία)
Português – Brasil (Πορτογαλικά – Βραζιλία)
Română (Ρουμανικά)
Русский (Ρωσικά)
Suomi (Φινλανδικά)
Svenska (Σουηδικά)
Türkçe (Τουρκικά)
Tiếng Việt (Βιετναμικά)
Українська (Ουκρανικά)
Αναφορά προβλήματος μετάφρασης
Quests
Vampire
Deseases
Nerevarine or not
werwolf
and so on
Basically, Morrowind's dialogue system is a stack type data structure with a "last in, first out" design at work. Essentially, in regards to Morrowind's Greeting structure, the game starts at the top of the stack (Greeting 0) and scans down to Greeting 9 looking for any possible greeting that matches the current game conditions and shoots out the first greeting it comes across that works.
As such, most restrictive greetings (ones with the most conditions attached) should be at the top of the stack in Greeting 0-3, and least restrictive (few or no conditions attached) greetings should be at the bottom of the stack in Greeting 8-9.
As an example, if you were to put a greeting with no conditions set at the top of Greeting 0, every NPC in the entire game would have that greeting because the game would run into it first when scanning the stack.
However, if you were to put a greeting at the top of Greeting 0 with a condition that it only be spoken by a particular NPC, then only that NPC in the game will have that greeting (which is presumably what you want).
Generally speaking, for making a mod, you should make a new dialogue entry in Greeting 0 with a condition set so that only your NPC will use it. Otherwise, your NPC's greeting may get overwritten by other conditions, particularly if you were to make a new dialogue entry in Greeting 9 (since those are the least likely to show up).
Keep in mind that if you make a second greeting that's more restrictive (i.e. only shows up at a certain disposition level), you'll need to put it above your previous greeting entry (again, idea is to have most restrictive entries at the top and least restrictive at the bottom).
As for what the difference is between the Greeting stacks in vanilla Morrowind, each stack has a particular role. Greeting 0 is used when the player has committed a criminal act, Greeting 1 is mostly for quest greetings, Greeting 2 is used when the player is a vampire, Greeting 3 is for when the player betrays the Morag Tong, Greeting 4 is used for disease-related greetings when the player catches a disease, Greeting 5 is once again more quest related greetings, Greeting 6 is generic faction greetings, Greeting 7 contains class and location based greetings, Greeting 8 has greetings related to clothing (i.e. when the player is naked), and Greeting 9 is all of the generic greetings combined with location specific greetings.
Anyway, hope that explains things a bit. Again, for making a mod, you should probably use Greeting 0 to make sure your NPC always has the right greeting.
Ah I see, at the top of Greetings 1 there is the failed the Oath of silence one that must stay on top, kinda logic when I think about it
I made a global short with the name AlreadyGotBooks which at the beginning is 0
upon greeting this happens:
- removeitem "bookskill_block2" 1
- player->additem "bookskill_block2" 1
- removeitem "BookSkill_Heavy Armor 3" 1
- player->additem "BookSkill_Heavy Armor 3" 1
- set AlreadyGotBooks to 1
When I made everything correct that should remove the books from the NPCs inventory and add them to mine, and of course assure that this greeting will never come up again, its at the second place of Greeting 1For completitions sake:
The Greeting is only triggered by the NPC ID Two_Sister_Mireille and when the Global AlreadygotBooks is equal to 0
Sounds good, you really didn't need a global variable though, a local variable in a script would've worked fine.
For example:
Begin _DEG_TST01_Local
short alreadyGotBooks
End _DEG_TST01_Local
Then attach the script to the NPC and do the same thing as you've already done, only with a local variable instead of a global. Global variables can cause mod conflicts if two mods use the same global, so it's generally recommended to use local variables when possible.