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 | ||