Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung | |||
gothic3:queststruktur [2016/12/31 09:48] milky-way nutzlose Seite |
— (aktuell) | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | [[Kasten GML]]betrifft nur G3: | ||
- | Hier werden die bisherigen Erkenntnisse über die Gothic 3-Queststruktur gesammelt: | ||
- | |||
- | Hier haben wir eine *.info Datei (hier FILLER559.info) sie beinhaltet einen Dialog: | ||
- | |||
- | [Info] | ||
- | Name=FILLER559 //Name des DIAs | ||
- | SortID=2238 //ID des DIAs | ||
- | Owner=Achmed //wen spreche ich beim Dia an? | ||
- | InfoGiven=false //? - BISHER UNBEKANNT - ? | ||
- | Parent //Übergeordneter Dialog (z.B Parent=SKALVERAM3682) | ||
- | Quest //Gehört der DIA zu einem Quest? (z.B Quest=Finley_AmbushTrelis) | ||
- | ConditionType=3 //? - BISHER UNBEKANNT - ? | ||
- | InfoType=2 //? - BISHER UNBEKANNT - ? | ||
- | GoldCost=250 //Wie viel Gold kostet dem Player der Dialog? (Wie viel muss er bezahlen um ihn aufrufen zu können?) | ||
- | CondOwnerNearEntity //? - BISHER UNBEKANNT - ? | ||
- | Folder=Varant/Bakaresh/ //? - BISHER UNBEKANNT - ? | ||
- | CondPlayerKnows //Wenn der Player was weiß kann er den Dia benutzen (Mehrfachoption!) (z.B CondPlayerKnows = Rendell_RefusesAnswer;Rendell_TRexDead) | ||
- | CondItemContainer //? - BISHER UNBEKANNT - ? | ||
- | CondItems // Welche Items benötigt der Spieler (Mehrfachoption?) | ||
- | CondItemAmounts // Wie viele Items von CondItems benötigt der Player? | ||
- | CondSecondaryNPC // Ist ein 2. NPC da (Partymember)? (CondSecondaryNPC=Olivier) | ||
- | CondSecondaryNPCstates // Status des NPC (?) (z.B CondSecondaryNPCstates=1) | ||
- | TeachSkillIsPerc=false //? - BISHER UNBEKANNT - ? | ||
- | TeachSkillIndex=0 //? - BISHER UNBEKANNT - ? | ||
- | TeachSkillValue=0 //? - BISHER UNBEKANNT - ? | ||
- | ClearChildren=false //Unterdialoge entfernen | ||
- | Permanent=false //Steht der Dialog dauerhaft zur Auswahl oder nur einmal | ||
- | |||
- | //Hier ein Beispiel zum Dialog | ||
- | |||
- | InfoScript_Commands=Say;Say;Say;SetGameEvent //Hier sind die einzelnen Befehle an die Engine, was die Personen machen | ||
- | //Bei SetGameEventpassiert etwas, z.B Achmed_teach wird in IDs1 aufgerufen | ||
- | InfoScript_Entities1=npc;player;npc; //Hier werden die einzelnen Personen unterschiede (ist es ein NPC oder der Player?) | ||
- | InfoScript_Entities2=;;; | ||
- | InfoScript_IDs1=;;;Achmed_teach //Hier wird aufgerufen (andere Dialoge, usw.) | ||
- | InfoScript_IDs2=;;; | ||
- | InfoScript_Texts=INFO_FILLER20060401190442;INFO_FILLER20060401190442_0;INFO_FILLER20060401190442_1; //Hier werden die einzelnen Texte für die Dialoge, usw aus Commands festgelegt (vll sind Strings möglich) | ||
- | TeachSkill (Skill) //Hier wird der zu lernende Skill eingetragen | ||
- | TeachAttrib (Attribute) //Hier wird ein zu lernender Attribut eingesetzt (z.B TeachAttrib=THF) | ||
- | TeachAttribValue=0 //Hier wird festgelegt, wie viele Punkte der Player zu seinem Attribut bekommt (z.B TeachAttribValue=0) | ||
- | |||
- | // BEISPIEL 1 - AUFRUFE | ||
- | |||
- | InfoScript_Commands=SetGameEvent //Hier sind die einzelnen Befehle an die Engine, was die Personen machen | ||
- | //Bei SetGameEventpassiert etwas, z.B Achmed_teach wird in IDs1 aufgerufen | ||
- | InfoScript_Entities1 | ||
- | InfoScript_Entities2 | ||
- | InfoScript_IDs1=Achmed_teach //Hier wird aufgerufen (andere Dialoge, usw.) | ||
- | InfoScript_IDs2 | ||
- | InfoScript_Texts | ||
- | TeachSkill (Skill) //Hier wird der zu lernende Skill eingetragen | ||
- | TeachAttrib (Attribute) //Hier wird ein zu lernender Attribut eingesetzt (z.B TeachAttrib=THF) | ||
- | TeachAttribValue=0 //Hier wird festgelegt, wie viele Punkte der Player zu seinem Attribut bekommt (z.B TeachAttribValue=0) | ||
- | |||
- | //BEISPIEL 2 - HANDEL | ||
- | |||
- | InfoScript_Commands=SetTradeEnabled //Player redet den NPC an um dann per SetTradeEnabled den Handel frei zu bekommen. Es gibt auch aktionen, wie "SetTeachEnabled" um den NPC als Lehrer ferizuschalten | ||
- | InfoScript_Entities1=npc | ||
- | InfoScript_Entities2 | ||
- | InfoScript_IDs1=true | ||
- | InfoScript_IDs2 | ||
- | InfoScript_Texts=INFO_SKALVERAM320060509135241;;INFO_SKALVERAM320060509135241_0; | ||
- | |||
- | //BEISPIEL 3 - XPs BEKOMMEN | ||
- | |||
- | |||
- | InfoScript_Commands=GiveXP //Bei GiveXP werdem dem Player XPs übergeben | ||
- | InfoScript_Entities1 | ||
- | InfoScript_Entities2 | ||
- | InfoScript_IDs1=200 //200XP | ||
- | InfoScript_IDs2 | ||
- | InfoScript_Texts | ||
- | |||
- | BEISPIEL 4 - EIN EIGENER DIALOG | ||
- | |||
- | InfoScript_Commands=Say;Say;Say;Say | ||
- | InfoScript_Entities1=Player;NPC;Player;NPC | ||
- | InfoScript_Entities2 | ||
- | InfoScript_IDs1 | ||
- | InfoScript_IDs2 | ||
- | InfoScript_Texts= INFO_HAWK320060509135241_0;INFO_HAWK320060509135241_1;INFO_HAWK320060509135241_2;INFO_HAWK320060509135241_3; | ||
- | |||
- | ---------------- | ||
- | |||
- | Man kann auch mehrere Dialoge im Parent-Child-System verknüpfen: | ||
- | Dies ist durch den "Parent"-Parameter möglich: | ||
- | |||
- | z.B: | ||
- | [info] | ||
- | Name=FILLERXXY //Name der Beispielinfo | ||
- | [...] | ||
- | Parent=FILLERXXX //Name der Parentinfo | ||
- | |||
- | Beispiel 1: | ||
- | |||
- | FILLERXXX | ||
- | - FILLERXYX | ||
- | - FILLERXYY | ||
- | |||
- | Beispiel 2: | ||
- | |||
- | FILLERXXX | ||
- | -FILLERXYX | ||
- | ->FILLERXYY | ||
- | ->FILLERXYZ | ||
- | -FILLERXYY | ||
- | ->FILLERYXZ | ||
- | ->FILLERYYX | ||
- | ->>FILLERXZY | ||
- | ->FILLER... | ||
- | |||
- | ----- | ||
- | |||
- | Der Aufbau eines *.quest Scripts | ||
- | |||
- | [Quest] | ||
- | Name=Enzo_BringSlave //Name des Quests | ||
- | Type=6 //Questtyp | ||
- | FinishedQuests //Fertige Quests um Quest erfüllen oder ausführen zu können (z.B. FinishedQuests=Tarok_Arena_Tukash;Tarok_Arena_Vigo) | ||
- | LogTopic=QUEST_FILLER20060507194157 //Questtitel im Tagebuch - aus stringtable.ini | ||
- | ExperiencePoints=200 //Exp, die vergeben werden (Achtung! Werden mit 5 Multipliziert: 200*5!) | ||
- | PoliticalSuccess=0 //Ruf bei einer best. Gruppe (Assasinen usw...) | ||
- | PoliticalSuccessAmount=0 //Menge an Rufpunkten | ||
- | EnclaveSuccess=BenSala //Stadt für Rufpunktevergabe bestimmen | ||
- | EnclaveSuccessAmount=10 //Rufpunkte für Vergabe bestimmen | ||
- | JobSuccess=6 //Wie erfolgreich muss man sein, damit der Quest abgeschlossen werden kann (?) | ||
- | JobSuccessAmount=0 //Wie erfolgreich war man schon (?) | ||
- | Folder=Varant/BenSala/ //Virtueller Ordner in dem der Quest in der quests.pak gespeichert wurde | ||
- | DeliveryEntities=Miguel //Das, was man abliefern soll, z.B Items, NPCs (versklavung) | ||
- | DeliveryAmounts=1 //Wie viel soll man abliefern? | ||
- | DeliveryCounter=0 //Immer 0, da der Counter nur die Menge zählt, die man schon abgeliefert hat | ||
- | DestinationEntity=Enzo //An wen soll man den Kram abliefern? | ||
- | RunningTimeYears=0 //Zeitbegrenzung für Quest in Jahren (Ingame Zeit!) | ||
- | RunningTimeDays=0 //Zeitbegrenzung für Quest in Tagen (Ingame Zeit!) | ||
- | RunningTimeHours=0 //Zeitbegrenzung für Quest in Stunden (Ingame Zeit!) | ||
- | AttribSuccess //Attribut bei erfolg verbessern (z.B AttribSuccess=THF) | ||
- | AttribSuccessAmount=0 //Anzahl der Punkte, die dem Attribut hinzugefügt werden | ||
- | |||
- | |||
- | Mögliche Städte für EnclaveSuccess: | ||
- | |||
- | Reddock | ||
- | KapDun | ||
- | Montera | ||
- | Okara | ||
- | Faring | ||
- | Vangard | ||
- | Silden | ||
- | Geldern | ||
- | Trelis | ||
- | Nemora | ||
- | Braga | ||
- | BenErai | ||
- | Enclave_Lago | ||
- | BenSala | ||
- | Bakaresh | ||
- | MoraSul | ||
- | Ishtar | ||
- | Wolfclan | ||
- | Hammerclan | ||
- | Fireclan | ||
- | |||
- | |||
- | Einträge bei "Type": | ||
- | |||
- | 0=Gebe Item an NPC | ||
- | 1=Sprich mit NPC | ||
- | 2=NPC oder Monster töten | ||
- | 3=NPC oder Monster besiegen (nicht töten) | ||
- | 4=Verschwinden / NPC vertreiben | ||
- | 5=Arenakämpfer besiegen | ||
- | 6=NPC bringen | ||
- | 7=NPC folgen | ||
- | 8=Arena betreten | ||
- | 9= | ||
- | 10=Stadt/Dorf von Orks befreien |