[Modding] Moderstellung - Fragen / Ideen / Umsetzung

Callindor

Senior Member
Registriert
03.05.2008
Beiträge
2.180
Hey ihr alle ...^^

Ich weiß, ich weiß. Es ist Irrsinn, aber trotzdem schwirrt mir schon seit Monaten BG Modding im Kopf herum und an Ideen fehlt es auch nicht, nur eben am Handwerk. Ich habe mir schon etliches durchgelesen hier aus Threads, Seiten hinterlegt zum später drauf zugreifen etc.

Mit dem Einfachsten und Nötigsten (würde ich jetzt mal annehmen) fängt's schon an. NPC-Figuren erstellen und so.

Da habe ich nun das hier gefunden (*klick*) nur sind da beide Links inzwischen inaktiv. Hat das noch jemand auf Platte oder ein vergleichbares Tutorial. Ich bin nicht schwer von Begriff (behaupte ich jetzt mal), ich verstehs nur besser, wenn es als Blaupause sozusagen vorhanden ist, um es 1:1 zu testen und dann anhand dessen sein Eigenes zu erschaffen; als wirr aus dem Nichts mit irgendwas anzufangen.
 

Jastey

Matron Modderholic
Registriert
16.05.2004
Beiträge
12.977
Achso, und wegen Blaupause, das ist eine gute Herangehensweise. Leider weiß ich nicht, welche NPCs wirklich up-to-date sind, evtl. Gavin? Ich hatt damals Weimers Solaufein und Kelsey als Beispiele genommen, aber die sind fürchterlich veraltet, und daher nicht mehr zu empfehlen (nicht nur, weil es jetzt einfacher geht, sondern auch, weil sie z.T. nicht-kompatible Dinge tun.)
 

Wedge

Wedgetarian
Registriert
04.07.2007
Beiträge
9.373
Ich hab mal ne Tutorial Mod geschrieben, in der zwei Charaktere ingame erklären, wie sie erstellt wurden und wie das, was grade passiert, technisch umgesetzt wurde. Komplett mit Anweisungen, sich jetzt mal diese oder jene dlg/baf anzuschauen oder Near Infinity zu öffnen und dergleichen. :D
 

Callindor

Senior Member
Registriert
03.05.2008
Beiträge
2.180
10) Scroll down until you get to Override Script: type in K#John (or whatever your npc's filename is)

Ich arbeite mich gerade durch das Tutorial für Noobs, diese Stelle beim Einstellen der neuen CRE-Datei kriege ich nicht hin. Er schreibt da *type*, nur kann ich bei override script nicht tippen. Und eine bcs-Datei, die ich aus der Liste für meinen Char passend auswählen könnte, wurde bis dahin nicht erstellt.

Was tun?

edit: Über der Liste ist ja ne Freifläche zum Schreiben ... die überseh ich auch jedes Mal bei NI.

edit: Hmm, er sucht dann zwar das namentlich passendste raus. Also bei CCAL bei mir CCGIRL2.BCS, und setzt dies dann rein, aber selber benennen geht nicht. :wunder:
 
Zuletzt bearbeitet:

Wedge

Wedgetarian
Registriert
04.07.2007
Beiträge
9.373
Was machst du? :confused: Und welches Tutorial meinst du?

Was er da vermutlich meint ist folgendes: Jeder NPC braucht ein ein Override-Script. Und den Namen dieses Override-Scripts sollst du in die CRE-Datei reinschreiben. Da kannst du NI (EDIT as string) oder direkt WeiDu per TP2-Installationsroutine benutzen (WRITE_ASCII 0x248 ~bla~ //override script).
 

Wedge

Wedgetarian
Registriert
04.07.2007
Beiträge
9.373
Ja, sie meint genau das, was ich im Screenshot habe. (Wie gesagt, man kann auch direkt WeiDu nehmen, weswegen ihr "we must use" n bissel falschinformierend ist, aber Anfänger fahren mit NI halt am besten.)
 

Callindor

Senior Member
Registriert
03.05.2008
Beiträge
2.180
Code:
[C:\Programme\Black Isle\BGII - SvA\Setup-Ccal.exe] WeiDU version 23104
This is a non-stable version. Unless you're sure about what you're doing, consid
er downgrading.
[C:\Programme\Black Isle\BGII - SvA\Setup-Ccal.exe] Using scripting style "BG2"
In state 33, I expected one of these tokens:
  [2] ~~
Parse error (state 33) at SAY

[SETUP-CCAL.TP2] PARSE ERROR at line 9 column 1-3
Near Text: SAY
        GLR parse error

[SETUP-CCAL.TP2]  ERROR at line 9 column 1-3
Near Text: SAY
        Parsing.Parse_error
ERROR: parsing [SETUP-CCAL.TP2]: Parsing.Parse_error
ERROR: problem parsing TP file [SETUP-CCAL.TP2]: Parsing.Parse_error

FATAL ERROR: Parsing.Parse_error

Press ENTER to exit.

und dazu meine tp2:

Code:
BACKUP ~CCal/backup~
AUTHOR ~Callindor~

BEGIN ~Calistro for BG2:SvA~
// This adds our CRE file
COPY ~Calistro/CCal.cre~ ~override/CCal.cre~
// This allows for your NPC's name to be shown in the game during conversations and also on
the character sheet
SAY NAME1 ~Calistro~
SAY NAME2 ~Calistro~
// This is the biography. In NearInfinity, go to that side tab and find CHR. Open that and find
CCal.BIO You can create your own bio this way by simply deleting the default PC bio and
typing your own. Save this.
SAY BIO ~When you ask him about his past, JOHN says to shut up.~
// These are the different things that your NPC will say when they respond to your commands.
SAY MORALE ~Sticking around is only going to get us killed.~
SAY HAPPY ~This group is great~
SAY UNHAPPY_ANNOYED ~You're starting to take the wrong path in morals.~
SAY UNHAPPY_SERIOUS ~I'll leave if you don’t stop!~
SAY UNHAPPY_BREAKING ~You suck, I'm outta here.~
SAY LEADER ~Yay I'm the leader!~
SAY TIRED ~I'm tired.~
SAY BORED ~I'm bored.~
SAY BATTLE_CRY1 ~TO BATTLE!~
SAY BATTLE_CRY2 ~Time to die!~
SAY BATTLE_CRY3 ~DIE NOW!~
SAY BATTLE_CRY4 ~DIE!~
SAY DAMAGE ~Ow!~
SAY DYING ~AH!~
SAY HURT ~Help me!~
SAY AREA_FOREST ~We're in a forest.~
SAY AREA_CITY ~We're in a city~
SAY AREA_DUNGEON ~We're in a dungeon.~
SAY AREA_DAY ~It's day.~
SAY AREA_NIGHT ~It's dark.~
SAY SELECT_COMMON1 ~Yeah?~
SAY SELECT_COMMON2 ~What do you need?~
SAY SELECT_COMMON3 ~Grunt.~
SAY SELECT_COMMON4 ~What?~
SAY SELECT_COMMON5 ~Yes?~
SAY SELECT_COMMON6 ~I'm listening.~
SAY SELECT_ACTION1 ~Uh huh.~
SAY SELECT_ACTION2 ~Sure.~
SAY SELECT_ACTION3 ~I'm on it.~
SAY SELECT_ACTION4 ~YAY!~
SAY SELECT_ACTION5 ~Not hard at all~
SAY SELECT_ACTION6 ~Yep~
SAY SELECT_ACTION7 ~Okay~
SAY SELECT_RARE1 ~I'm ready.~
SAY SELECT_RARE2 ~I got it.~
SAY CRITICAL_HIT ~Yeah!~
SAY CRITICAL_MISS ~Damn!~
SAY TARGET_IMMUNE ~No effect?~
SAY INVENTORY_FULL ~It's too heavy!~
// This is compiling John's dialogue
COMPILE ~Calistro/CCal.d~
// This is adding our area file to the game
EXTEND_TOP ~AR0015.bcs~ ~John/AR0015.baf~
// Adds Portraits
COPY ~Calistro/CCals.bmp~ ~override/CCals.bmp~
~Calistro/CCalm.bmp~ ~override/CCalm.bmp~
// Add this to the end (Appends .2DA files in the game so that it recognizes your NPC’s files
APPEND ~pdialog.2da~
~CCal CCalP CCalJ CCalD CCal25P CCal25J CCal25D CCal25~
UNLESS ~CCal~
UNLESS ~25POST~
APPEND ~interdia.2da~
~CCal CCalB CCalB25~
UNLESS ~CCal~
UNLESS ~25FILE~

Die ist nur aus dem Tutorial kopiert und bzgl. Pfaden angepasst. Wo ist da ein Fehler, bzw. was bedeutet die Fehlerausage überhaupt übersetzt.

(Btw. musste ich auf das schwarze C:// im DOS-Fenster oben links klicken und dann alles markieren und kopieren so auswählen.)
 
Zuletzt bearbeitet:

Wedge

Wedgetarian
Registriert
04.07.2007
Beiträge
9.373
Ist im zweiten Kommentar auch in deiner TP2 ein Zeilenumbruch enthalten, so dass

// This allows for your NPC's name to be shown in the game during conversations and also on
the character sheet

wie hier aussieht, oder sieht das so aus:

// This allows for your NPC's name to be shown in the game during conversations and also on the character sheet

Es muss so wie hier aussiehen, weil das ein Kommentar ist der durch // eingeleitet wird, was erstmal nichts anderes bedeutet, als dass WeiDu diese einzelne ZEILE ignoriert.
 

Callindor

Senior Member
Registriert
03.05.2008
Beiträge
2.180
Code:
BEGIN CCal

IF ~NumTimesTalkedTo(1)~ THEN BEGIN Talk0

SAY ~Hallo <CHARNAME>. Ich bin Calistro. Erinnert ihr euch an mich? Würdet ihr mir bei meiner Suche behilflich sein? Ich schaffe es nicht allein.~

IF ~~ THEN REPLY ~Ja, ihr seid mit mir zusammengestoßen, vor Winthrop's Schänke. Natürlich helfe ich euch.~ GOTO CCalJoin

IF ~~ THEN REPLY ~Ja ... glaube ich. Vielleicht auch nicht. Auf jeden Fall habe ich jetzt keine Zeit. Später vielleicht?~GOTO CCalLate

IF ~~ THEN REPLY ~Nein, und ich werde euch definitiv nicht helfen.~ GOTO CCalDead

END

IF ~~ THEN BEGIN CCalJoin

SAY ~Danke, ihr werdet es mit Sicherheit nicht bereuen.~ DO ~SetGlobal("CCalJoined","LOCALS",1) 

JoinParty()~ EXIT

END

IF ~~ THEN BEGIN CCalLate

SAY ~Nun gut, dann eben später.~ EXIT

END

IF ~~ THEN BEGIN CCalDead

SAY ~Dann ist alles verloren.~ DO ~EscapeArea()~ EXIT

END

IF ~NumTimesTalkedToGT(0)~ THEN BEGIN Talk2

SAY ~Ihr seid wieder zurück. Habt ihr eure Meinung geändert?~

IF ~~ THEN REPLY ~Ja,so ist es.~ DO ~SetGlobal("CCalJoined","LOCALS",1)

JoinParty()~ EXIT

IF ~~ THEN REPLY ~Nein, leider nicht. Späer vielleicht.~ EXIT

END

BEGIN CCalP

IF ~Global("CCalJoined","LOCALS",1)~ THEN BEGIN leave
SAY ~Sollen wir wirklich getrennte Wege gehen?~
IF ~~ THEN REPLY ~Nein, ich habe es mir wieder überlegt.~ DO ~JoinParty()~ EXIT
IF ~~ THEN REPLY ~Ja, ihr verschwindet besser. Sollten wir uns wieder treffen, töte ich euch!~ DO ~EscapeArea()~ EXIT
IF ~~ THEN REPLY ~Nur für kurze Zeit. Wartet hier so lange.~ EXIT

END

IF ~Global("CCalJoined","LOCALS",0)~ THEN BEGIN return

SAY ~Da seid ihr ja wieder. Wollen wir unseren Weg nun erneut gemeinsam fortsetzen?~

IF ~~ THEN REPLY ~Gerne doch.~ DO ~SetGlobal("CCalJoined","LOCALS",1)
JoinParty()~ EXIT

IF ~~ THEN REPLY ~Nein, zur Zeit leider nicht. Tschüss.~ EXIT

END

und dazu den Fehler (wobei ich bei dem *Do*-Befehl keinen Fehler sehe ...)

Code:
[C:\Programme\Black Isle\BGII - SvA\Setup-Ccal.exe] WeiDU version 23104
This is a non-stable version. Unless you're sure about what you're doing, consid
er downgrading.
[C:\Programme\Black Isle\BGII - SvA\Setup-Ccal.exe] Using scripting style "BG2"

Install Component [Calistro for BG2:SvA]?
[I]nstall, or [N]ot Install or [Q]uit?

Install Component [Calistro for BG2:SvA]?
[I]nstall, or [N]ot Install or [Q]uit? i

Installing [Calistro for BG2:SvA]
Copying and patching 1 file ...
Compiling 1 dialogue file ...

[Calistro/CCal.d] PARSE ERROR at line 17 column 1-59
Near Text: DO
        syntax error

[Calistro/CCal.d]  ERROR at line 17 column 1-59
Near Text: DO
        Parsing.Parse_error
ERROR: parsing [Calistro/CCal.d]: Parsing.Parse_error
ERROR: compiling [Calistro/CCal.d]!
Stopping installation because of error.

ERROR Installing [Calistro for BG2:SvA], rolling back to previous state
Will uninstall   1 files for [SETUP-CCAL.TP2] component 0.
Uninstalled      1 files for [SETUP-CCAL.TP2] component 0.
ERROR: Parsing.Parse_error
PLEASE email the file SETUP-CCAL.DEBUG to Callindor

Install Component [Calistro for BG2:SvA]?
[I]nstall, or [N]ot Install or [Q]uit?
 

Wedge

Wedgetarian
Registriert
04.07.2007
Beiträge
9.373
IF ~~ THEN BEGIN CCalJoin
SAY ~Danke, ihr werdet es mit Sicherheit nicht bereuen.~ DO ~SetGlobal("CCalJoined","LOCALS",1) JoinParty()~ EXIT
END

Der State hat ne falsche Syntax. Entweder machst du da ein

IF ~~ THEN BEGIN CCalJoin
SAY ~Danke, ihr werdet es mit Sicherheit nicht bereuen.~
IF ~~ THEN DO ~SetGlobal("CCalJoined","LOCALS",1) JoinParty()~ EXIT
END

draus oder ein

CHAIN
IF ~~ THEN CCal CCalJoin
~Danke, ihr werdet es mit Sicherheit nicht bereuen.~ DO ~SetGlobal("CCalJoined","LOCALS",1) JoinParty()~
EXIT


Und den Fehler hast du bei allen anderen folgenden States mit nem DO auch.
 
Oben