[Modding] Moderstellung - Fragen / Ideen / Umsetzung

Callindor

Senior Member
Registriert
03.05.2008
Beiträge
2.180
Das hat man davon, wenn man copy-pastet, oder funktionierte das mal so? Die Anleitung ist ja jetzt auch nicht mehr die jüngste. Danke jedenfalls. Für heute reicht es.
 

Wedge

Wedgetarian
Registriert
04.07.2007
Beiträge
9.373
Ne, eigentlich funktionierte das noch nie so, meinem Wissensstand nach. Das steht in dem Tutorial aber auch alles richtig drinne, bzw. du hast das Tutorial gar nicht richtig befolgt, sondern unverschämterweise einfach was anderes gemacht und die Dialogstruktur verändert. Und damit verändert sich dann halt ausgerechnet bei dem was du gemacht hast auch die Syntax. :D

Ich kann das auch aufdröseln und erklären, was du da eigentlich genau machst und warum sich an der Stelle was veränddert, wenn du Interesse hast. ^^
 
Zuletzt bearbeitet:

Callindor

Senior Member
Registriert
03.05.2008
Beiträge
2.180
Ich nehm alles, was ich kriegen kann und was mir angeboten wird. ;)

Bei diesem IF ~~ THEN DO klemmt es bei mir bei

Code:
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.~
IF ~~ THEN DO ~SetGlobal("CCalJoined","LOCALS",1) JoinParty()~ EXIT
IF ~~ THEN REPLY ~Nein, leider nicht. Später vielleicht.~ EXIT
END

Ich habe es dabei nur so ersetzt, wie du es ein paar Posts oben drüber vorgeschlagen hast.
 

Wedge

Wedgetarian
Registriert
04.07.2007
Beiträge
9.373
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äter vielleicht.~ EXIT
END


So ist richtig.


EDIT:
Nebenbei wird dein Dialog nie starten, weil du beide Anfänge so triggerst, dass sie niemals eintreten können. :D Das allererste NumTimesTalkedTo muss eine 0 sein, keine 1.
 
Zuletzt bearbeitet:

Callindor

Senior Member
Registriert
03.05.2008
Beiträge
2.180
CCal.d:

Code:
BEGIN CCal
IF ~NumTimesTalkedTo(0)~ THEN BEGIN Talk1
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.~
IF ~~ THEN DO ~SetGlobal("CCalJoined","LOCALS",1) JoinParty()~ EXIT
END

IF ~~ THEN BEGIN CCalLate
SAY ~Nun gut, dann eben später.~ 
IF ~~ THEN EXIT
END

IF ~~ THEN BEGIN CCalDead
SAY ~Dann ist alles verloren.~ 
IF ~~ THEN 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äter 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

tp2:

Code:
BACKUP ~Calistro/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 fin 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~ ~Calistro/AR0015.baf~
// Adds Portraits
// 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~

CCal.cre:

Code:
Signature	CRE 
Version	V1.0
Name	Calistro
Apparent name	Calistro
Flags	( No flags set )
XP Value	0
XP	0
Gold	0
Status	( STATE_NORMAL )
Current HP	6
Max HP	6
Animation ID	FIGHTER_MALE_HUMAN - 24832
Unknown	00 00 h
Metal color	Color index 30
Minor color	Color index 60
Major color	Color index 66
Skin color	Color index 9
Leather color	Color index 23
Armor color	Color index 30
Hair color	Color index 4
Effect flag	1
Small portrait	MAN2S.BMP
Large portrait	MAN2M.BMP
Reputation	100
Hide in shadows	0
Natural AC	10
Effective AC	10
Crushing AC modifier	0
Missile AC modifier	0
Piercing AC modifier	0
Slashing AC modifier	0
THAC0	20
# attacks	1
Save death	3
Save wands	5
Save poly	4
Save breath	4
Save spell	6
Resist fire	0
Resist cold	0
Resist electricity	0
Resist acid	0
Resist magic	0
Resist magic fire	0
Resist magic cold	0
Resist slashing	0
Resist crushing	0
Resist piercing	0
Resist missile	0
Detect illusions	0
Set traps	0
Lore	18
Open locks	0
Move silently	0
Find/disarm traps	0
Pickpockets	0
Fatigue	0
Intoxification	0
Luck	0
Large sword proficiency	0
Small sword proficiency	0
Bow proficiency	0
Spears proficiency	0
Blunt proficiency	0
Spiked proficiency	0
Axe proficiency	0
Missile proficiency	0
Unknown	00 00 00 00 00 00 00 00 00 00 00 00 00 h
Tracking	0
Unknown	00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 h
Sound: INITIAL_MEETING	No such index
Sound: MORALE	Sticking around is only going to get us killed.
Sound: HAPPY	This group is great
Sound: UNHAPPY_ANNOYED	You're starting to take the wrong path in morals.
Sound: UNHAPPY_SERIOUS	I'll leave if you don’t stop!
Sound: UNHAPPY_BREAKING_POINT	You suck, I'm outta here.
Sound: LEADER	Yay I'm the leader!
Sound: TIRED	I'm tired.
Sound: BORED	I'm bored.
Sound: BATTLE_CRY1	TO BATTLE!
Sound: BATTLE_CRY2	Time to die!
Sound: BATTLE_CRY3	DIE NOW!
Sound: BATTLE_CRY4	DIE!
Sound: BATTLE_CRY5	No such index
Sound: ATTACK1	No such index
Sound: ATTACK2	No such index
Sound: ATTACK3	No such index
Sound: ATTACK4	No such index
Sound: DAMAGE	Ow!
Sound: DYING	AH!
Sound: HURT	Help me!
Sound: AREA_FOREST	We're in a forest.
Sound: AREA_CITY	We're in a city
Sound: AREA_DUNGEON	We're in a dungeon.
Sound: AREA_DAY	It's day.
Sound: AREA_NIGHT	It's dark.
Sound: SELECT_COMMON1	Yeah?
Sound: SELECT_COMMON2	What do you need?
Sound: SELECT_COMMON3	Grunt.
Sound: SELECT_COMMON4	What?
Sound: SELECT_COMMON5	Yes?
Sound: SELECT_COMMON6	I'm listening.
Sound: SELECT_ACTION1	Uh huh.
Sound: SELECT_ACTION2	Sure.
Sound: SELECT_ACTION3	I'm on it.
Sound: SELECT_ACTION4	YAY!
Sound: SELECT_ACTION5	Not hard at all
Sound: SELECT_ACTION6	Yep
Sound: SELECT_ACTION7	Okay
Sound: INTERACTION1	No such index
Sound: INTERACTION2	No such index
Sound: INTERACTION3	No such index
Sound: INTERACTION4	No such index
Sound: INTERACTION5	No such index
Sound: INSULT	No such index
Sound: Unknown	No such index
Sound: Unknown	No such index
Sound: COMPLIMENT1	No such index
Sound: COMPLIMENT2	No such index
Sound: COMPLIMENT3	No such index
Sound: SPECIAL1	No such index
Sound: SPECIAL2	No such index
Sound: SPECIAL3	No such index
Sound: REACT_TO_DIE_GENERAL	No such index
Sound: REACT_TO_DIE_SPECIFIC	No such index
Sound: MISCELLANEOUS	No such index
Sound: RESPONSE_TO_COMPLIMENT2	No such index
Sound: RESPONSE_TO_COMPLIMENT3	No such index
Sound: RESPONSE_TO_INSULT1	No such index
Sound: RESPONSE_TO_INSULT2	No such index
Sound: RESPONSE_TO_INSULT3	No such index
Sound: DIALOG_HOSTILE	No such index
Sound: DIALOG_DEFAULT	No such index
Sound: SELECT_RARE1	I'm ready.
Sound: SELECT_RARE2	I got it.
Sound: CRITICAL_HIT	Yeah!
Sound: CRITICAL_MISS	Damn!
Sound: TARGET_IMMUNE	No effect?
Sound: INVENTORY_FULL	It's too heavy!
Sound: PICKED_POCKET	[MALE0054] I have secured something from them.
Sound: EXISTANCE1	[MALE0055] I am out of sight of others.
Sound: EXISTANCE2	[MALE0056] My casting has been interrupted!
Sound: EXISTANCE3	[MALE0057] A snare has been set.
Sound: EXISTANCE4	No such index
Sound: EXISTANCE5	Leer
Sound: Unknown	No such index
Sound: Unknown	No such index
Sound: Unknown	No such index
Sound: Unknown	No such index
Sound: Unknown	No such index
Sound: Unknown	No such index
Sound: Unknown	No such index
Sound: Unknown	No such index
Sound: Unknown	No such index
Sound: Unknown	No such index
Sound: Unknown	No such index
Sound: Unknown	No such index
Sound: Unknown	No such index
Sound: Unknown	No such index
Sound: Unknown	No such index
Sound: Unknown	No such index
Sound: Unknown	No such index
Sound: Unknown	No such index
Sound: Unknown	No such index
Sound: Unknown	No such index
Sound: Unknown	No such index
Sound: Unknown	No such index
Sound: Unknown	No such index
Sound: Unknown	No such index
Sound: Unknown	No such index
Level first class	1
Level second class	1
Level third class	1
Sex	Male (1)
Strength	16
Strength bonus	0
Intelligence	16
Wisdom	10
Dexterity	17
Constitution	11
Charisma	12
Morale	10
Morale break	0
Racial enemy	Unknown - 0
Morale recovery	1
Unknown	00 h
Kit	NO_KIT - 0
Override script	CCAL.BCS
Class script	None
Race script	None
General script	None
Default script	INITDLG.BCS
Enemy-Ally	NEUTRAL - 128
General	HUMANOID - 1
Race	HALF_ELF - 3
Class	FIGHTER_MAGE_THIEF - 10
Specific	Unknown - 0
Gender	MALE - 1
Functional spec. 1	Nothing - 0
Functional spec. 2	Nothing - 0
Functional spec. 3	Nothing - 0
Functional spec. 4	Nothing - 0
Functional spec. 5	Nothing - 0
Alignment	NEUTRAL - 34
Unknown	18 00 h
Unknown	17 00 h
Death variable	CCal
Unknown	00 00 00 00 00 00 00 00 00 00 00 00 00 00 h
Known spells offset	2d4 h
# known spells	0
Spell memorization offset	2d4 h
# spell memorization	17
Memorized spells offset	3e4 h
# memorized spells	0
Item slots offset	630 h
Items offset	5f4 h
# items	3
Effects offset	3e4 h
# effects	2
Dialog	None
Spell memorization info	Spell level: 0,# spells memorizable: 0,# spells memorizable?: 0,Type: Priest (0),
Spell memorization info	Spell level: 1,# spells memorizable: 0,# spells memorizable?: 0,Type: Priest (0),
Spell memorization info	Spell level: 2,# spells memorizable: 0,# spells memorizable?: 0,Type: Priest (0),
Spell memorization info	Spell level: 3,# spells memorizable: 0,# spells memorizable?: 0,Type: Priest (0),
Spell memorization info	Spell level: 4,# spells memorizable: 0,# spells memorizable?: 0,Type: Priest (0),
Spell memorization info	Spell level: 5,# spells memorizable: 0,# spells memorizable?: 0,Type: Priest (0),
Spell memorization info	Spell level: 6,# spells memorizable: 0,# spells memorizable?: 0,Type: Priest (0),
Spell memorization info	Spell level: 0,# spells memorizable: 0,# spells memorizable?: 0,Type: Wizard (1),
Spell memorization info	Spell level: 1,# spells memorizable: 0,# spells memorizable?: 0,Type: Wizard (1),
Spell memorization info	Spell level: 2,# spells memorizable: 0,# spells memorizable?: 0,Type: Wizard (1),
Spell memorization info	Spell level: 3,# spells memorizable: 0,# spells memorizable?: 0,Type: Wizard (1),
Spell memorization info	Spell level: 4,# spells memorizable: 0,# spells memorizable?: 0,Type: Wizard (1),
Spell memorization info	Spell level: 5,# spells memorizable: 0,# spells memorizable?: 0,Type: Wizard (1),
Spell memorization info	Spell level: 6,# spells memorizable: 0,# spells memorizable?: 0,Type: Wizard (1),
Spell memorization info	Spell level: 7,# spells memorizable: 0,# spells memorizable?: 0,Type: Wizard (1),
Spell memorization info	Spell level: 8,# spells memorizable: 0,# spells memorizable?: 0,Type: Wizard (1),
Spell memorization info	Spell level: 0,# spells memorizable: 7,# spells memorizable?: 7,Type: Innate (2),
Effect	Signature: ,Version: ,Type: Modify proficiencies (233),Targettype: Unknown (0),Unknown: 00 00 00 00 h,
Effect	Signature: ,Version: ,Type: Modify proficiencies (233),Targettype: Unknown (0),Unknown: 00 00 00 00 h,
Item 0	Item: CHAN01.ITM (Kettenhemd),Unknown: 00 00 h,Quantity/Charges 1: 0,Quantity/Charges 2: 0,
Item 1	Item: ACDAGG01.ITM (Dolch),Unknown: 00 00 h,Quantity/Charges 1: 0,Quantity/Charges 2: 0,
Item 2	Item: ACDAGG01.ITM (Dolch),Unknown: 00 00 h,Quantity/Charges 1: 0,Quantity/Charges 2: 0,
Helmet	-1
Armor	0
Shield	1
Gloves	-1
L. Ring	-1
R. Ring	-1
Amulet	-1
Belt	-1
Boots	-1
Weapon 1	2
Weapon 2	-1
Weapon 3	-1
Weapon 4	-1
Quiver 1	-1
Quiver 2	-1
Quiver 3	-1
Quiver 4	-1
Cloak	-1
Quick item 1	-1
Quick item 2	-1
Quick item 3	-1
Inventory 1	-1
Inventory 2	-1
Inventory 3	-1
Inventory 4	-1
Inventory 5	-1
Inventory 6	-1
Inventory 7	-1
Inventory 8	-1
Inventory 9	-1
Inventory 10	-1
Inventory 11	-1
Inventory 12	-1
Inventory 13	-1
Inventory 14	-1
Inventory 15	-1
Inventory 16	-1
Magically created weapon	-1
Weapon slot selected	0
Unknown	00 00 h

Die Installation klappt jetzt, jedoch ist die CRE bei Neustart nicht zu sehen. Sie soll direkt am Anfang neben HC in Kerzenburg stehen, bzw. ihn dann anlaufen. Und der Dialog startet auch nicht, *hat nichts zu sagen* halt.
 
Zuletzt bearbeitet:

Wedge

Wedgetarian
Registriert
04.07.2007
Beiträge
9.373
Dass er nichts zu sagen hat, liegt daran, dass du ihm keine Dialogdatei zugewiesen hast. Das kannst du entweder mit NI ändern oder du fügst direkt unter

SAY INVENTORY_FULL ~It's too heavy!~

die Zeile
WRITE_ASCII 0x2cc ~CCal~ #8

ein. Dann klappt das auch.

Was das mit dem nicht auftauchen angeht: Hast du denn auch eine AR0015.baf erstellt, in der du den Charakter spawnen lässt?





Außerdem das hier:

Das ganze Programmieren von Dialogen und Scripten ist im Grunde wie Lego. Du setzt deinen Dialog aus Bausteinen zusammen, das aber gleich auf zwei Ebenen. Es gibt die hohe oder makro Ebene mit dem Makro-Baustein 1 und dem Makro-Baustein 2 und dem Makro-Baustein 3.


IF ~NumTimesTalkedTo(0)~ THEN BEGIN Talk0
SAY ~Hallo . 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.~
IF ~~ THEN DO ~SetGlobal("CCalJoined","LOCALS",1) JoinParty()~ EXIT
END



IF ~~ THEN BEGIN CCalLate
SAY ~Nun gut, dann eben später.~
IF ~~ THEN EXIT
END



Diese Bausteine der makro Ebene gibt es in zwei Arten. Du benutzt momentan die IF ~~ THEN BEGIN bla-Art, welche eine gute, simple, stabile Art ist (im Englischen Moddingslang nennen wir diese Baustein-Art states). Die andere Art sind die CHAINs, die ich jetzt einfach mal weglasse (aber darauf hinweise, dass sie die "bessere" Art sind, für den Preis der Kompliziertheit).




Und dann gibt es noch die untere Ebene, die mikro Ebene, auf der du aus kleineren Mikro-Bausteinen die Makro-Bausteine zusammensetzt. Nehmen wir da mal den Makro-Baustein 1 und zerlegen den in seine Einzelteile.


IF ~NumTimesTalkedTo(0)~ THEN BEGIN Talk0
SAY ~Hallo . 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.~ DO ~SetGlobal("erfindickjetzthiereinfach","GLOBAL",1)~ 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

Da haben wir:
Den Einstieg mit IF ~~ THEN (sozusagen der Bootvorgang) mit der Bedingung/den Bedingungenen (condition(s)) innerhalb der ~~. Diese Bedinung gilt für den ganzen Makro-Baustein und ist bis auf eine enorm wichtige Ausnahme kein Muss.
Der Start des Bausteins.
Der Name des Bausteins.
Das was der Charakter sagt, bzw. der eigentliche Inhalt, den der Spieler im Dialogfesnter lesen kann. Dieser Teil ist ebenfalls kein Muss.
Ein Übergang (transition). Auch der Übergang kann eine oder mehrere Bedingungen enthalten. Während der Übergang selbst Pflicht ist, ist die Bedingung wiederum kein Muss und gilt, wenn sie vorhanden ist, nur für diesen speziellen Übergang.
Der Inhalt des Übergangs. Auf dieser Teil ist kein Muss.
Eine oder auch mehere Aktionen (actions) die erledigt werden sollen. Ebenfalls kein Muss.
Das Ziels des Übergangs.
Das Beenden des Bausteins.


Die einzelnen Mikro-Bausteine IF ~~ THEN-Startbedinung, BEGIN, Talk0 (Name), SAY ~~, IF ~~ THEN+Übergangsbedingung, REPLY ~~, DO ~~, GOTO/EXTERN/EXIT und END sind immer gleich, ändern tut sich nur der Inhalt oder bei den in Frage kommenden Mikro-Bausteinen das Vorhandensein.


Aus dem Makro-Baustein 1 können wir auch folgendes machen:

IF ~~ THEN BEGIN Talk0
IF ~~ THEN GOTO CCalJoin
END

Und wir haben immer noch einen astreiner Makro-Baustein, der wunderbar funktioniert. Wir können den Makro-Baustein 1 auch "übersetzen", wenn wir wollen. Dann bekommen wir:

WENN die Variable NumTimesTalkedTo auf 0 steht, DANN BEGINNE DEN MAKRO-BAUSTEIN Talk0
LASSE DEN NPC SAGEN ~Hallo . Ich bin Calistro. Erinnert ihr euch an mich? Würdet ihr mir bei meiner Suche behilflich sein? Ich schaffe es nicht allein.~
WENN keine Bedingung vorhanden ist, DANN GEBE DIE ANTWORTMÖGLICHKEIT ~Ja, ihr seid mit mir zusammengestoßen, vor Winthrop's Schänke. Natürlich helfe ich euch.~, TUE die globale Variable erfindickjetzthiereinfach auf 1 setzen und GEHE NACH CCalJoin
WENN keine Bedingung vorhanden ist, DANN GEBE DIE ANTWORTMÖGLICHKEIT ~Ja ... glaube ich. Vielleicht auch nicht. Auf jeden Fall habe ich jetzt keine Zeit. Später vielleicht?~ und GEHE NACH CCalLate
WENN keine Bedingung vorhanden ist, DANN GEBE DIE ANTWORTMÖGLICHKEIT ~Nein, und ich werde euch definitiv nicht helfen.~ und GEHE NACH CCalDead
BEENDE DEN MAKRO-BAUSTEIN


Du siehst also, das also, dass alles folgt einem Stein-auf-Stein-Prinzip. Das Anfangsproblem ist meist, sich die Reihenfolge zu merken, im Kopf zu behalten wie die Steine geschrieben werden müssen und überhaupt erstmal rauszufinden, welche Steine es überhaupt gibt. Ich habe da einen Baustein reingeschmuggelt, der bei dir nirgends vorkommt. Bzw. man könnte das noch eine Ebene weiter zu den Mykro-Bausteinen treiben, wenn man denn wollte. Das erschien mir jetzt zu kompliziert, aber es geht prinzipiell um den Mikro-Baustein Übergang IF ~~ THEN und dessen Unterbausteine REPLY, DO, GOTO, EXTERN (der reingeschmuggelte ^^) und EXIT. Das IF ~~THEN und einer der Mykro-Bausteine GOTO, EXTERN oder EXIT müssen immer da sein, die Mykro-Bausteine REPLY und DO können es hingegen nur.

Sobald du das System dahinter aber hast, wird das alles sehr einfach und übersichtlich und du kannst dich mit den Bedingungen und den Aktionen beschäftigen, welche zusammen mit den Variablen die eigentlichen Werkzeuge sind, mit denen du Dialoge und Scripte steuerst.

Ich kann auch noch ein paar komplexere States aufdröseln oder eine Einleitung für CHAINs und/oder Scripte schreiben.
 

Callindor

Senior Member
Registriert
03.05.2008
Beiträge
2.180
Danke für deine Mühen und die Zeit. Und ich habe den Fehler gefunden (Die Spawnkoordinaten waren fehlerhaft), jedoch funktioniert mein *Gruppe verlassen, wieder aufnehmen* - Dialog nicht. Da kommt einer bzgl BG 2 und der Kupferkrone als Wartepunkt, vllt aus dem Mehrspielermodus.

Und wegen der Erklärungen ...

Ich sage mal, dass ich nicht der Einzige wäre, der sich darüber freuen würde, wenn es solche Grundlagen-Tutorials (und fortgeschrittene darüber hinaus) auch auf deutsch gäbe.
Von demher, mach es, wie du möchtest und Zeit hast, dann aber vllt. als separates Thema, dass bei der Suche schneller gefunden wird, als dass deine Leistung dann inmitten eines Threads auf Seite 75 und post #1237 untergeht.
 

Florian

Senior Member
Registriert
18.04.2011
Beiträge
156
Das wäre wirklich schade wenn das untergehen würde!
Gab vor einiger Zeit mal ein brauchbaren Tutorial Thread hier im Forum. Das Thema ist mittlerweile aber auch sicher schon weit nach hinten gerutscht. Der durchaus interessant und aufschlussreich war. (Ich glaube von diesem Thread zu sprechen: http://baldurs-gate.eu/showthread.php?t=39295 )

Deutschsprachige Tutorials zu finden ist auch nicht grade einfach. Da es offensichtlich wenige gibt. Hab als ich für mich mit dem expirementieren begann nur welche für "One day NPCs" gefunden.
Man ist da schon sehr auf die englischsprachigen Modding Communities angewiesen. Ansich ja gar kein Problem sofern man dem englischen mächtig ist, dennoch musste ich in so manchem Tutorial manches 3 mal lesen bis ich auch verstanden habe, was ich da tue. :)
 

Sir Darian

Ritter des Helm
Registriert
01.04.2000
Beiträge
33.909
Hmmm... *grübel*

Das wäre jetzt schon eher einen Sticky wert als eine Tauschbörse für WeiDU.log Dateien.

Man könnte dazu einen Thread anlegen, der analog zum bestehenden Sticky "[Tutorial] Einstieg in die Welt des Moddings" heisst.
In diesem Thread listet man alle Modding Tutorials des Forums auf, so dass es genügt, ihn aufzurufen, wenn man alle Tutorials auf einen Blick haben will.
 

Florian

Senior Member
Registriert
18.04.2011
Beiträge
156
Das würde auch vollkommen genügen. Da hat man ja in wenigen Mausklicks alles beisammen, von dem was hier bereits mühevoll niedergeschrieben wurde in den diversen Threads. :)
 

Callindor

Senior Member
Registriert
03.05.2008
Beiträge
2.180
@ Sir Darian bzgl. Organisation:

Was mich etwas wundert bei uns hier im Forum, dass die Hauptthreads (BG 1/BG2/Modifikationen) so wenig unterteilt sind. Dadurch werden schnell Threads erstellt, andere werden weggeschwämmt und keiner kriegt davon was mit, wenn er mal einen Tag nicht reingeschaut hat. (überspitzt formuliert)

Ich kenn das z.B. aus dem WoG, dass zu jedem Gothic-Titel separat eine Spielhilfe und eine Technikhilfe aufgemacht wurde. Wenn schon nicht zu den Spielen, dann würde ich das im Bereich Modifikationen als sinnvoll ansehen. Also zum einen einen Hauptthread zum Thema BWS-MegaMod-Inhaltliche Sachen (also Spielhilfe) und einen BGT Modifikationen Technikthread, wo also Sachen bzgl. Programmieren, erstellen von Mods und damit verbundene Probleme besprochen werden können.

Wie ist da deine Meinung? Machbar oder nicht?
 

Sir Darian

Ritter des Helm
Registriert
01.04.2000
Beiträge
33.909
Hmmm... *grübel*

Von was für Threads sprichst Du da jetzt gerade? :confused:


Nachtrag:

Nach nochmaligem mehrmaligen Durchlesen Deines Beitrages glaube ich, dass wir uns erst einmal auf eine gemeinsame Sprache einigen müssen.
Mit "Hauptthreads" meinst Du "Unterforen", oder? :hae:
 

Callindor

Senior Member
Registriert
03.05.2008
Beiträge
2.180
*klick*

Du hast da vier Hauptunterteilungen zum Thema Baldur's Gate (BG1/BG2/Mods/BGEE) Was hindert dich daran, der Übersichtlichkeit halber aus den 4 eben nach meinem Vorschlag 5 zu machen und den Bereich *Modifikationen* aufzusplitten in Mod-Spielhilfe und Mod-Technikhilfe?
 

Sir Darian

Ritter des Helm
Registriert
01.04.2000
Beiträge
33.909
Hmmm... *grübel*

Bei mir sind in der Kategorie "Baldur's Gate in all seinen Ausgaben" sogar fünf Unterforen, denn da ist noch eines dabei, das für Dich nicht sichtbar ist.

Dein Vorschlag gefällt mir insofern nicht so gut, da auf der Forenübersicht dann noch ein Unterforum mehr wäre, und die Forenübersicht eh mittlerweile nach all den Jahren so unübersichtlich in die Länge gewachsen ist.
Ein besonders gutes Beispiel für Unübersichtlichkeit durch zig Unterforen auf der Forenübersichtsseite ist etwa auch das ofizielle BG:EE Forum.
Wir haben neulich eh schon, um die Startseite wieder etwas zu verschlanken einige Spieleunterforen von der Forenübersicht in das "Andere Welten" verschoben - dafür zu Lasten dessen Übersichtlichkeit.
Das hindert mich also daran, es so zu machen, wie Du vorgeschlagen hast.

Bei Stickies ist es übrigens dasselbe: Die Threadübersicht des jeweiligen Unterforums mit zig Stickies zuzupflastern mag ich genau so wenig. Schau Dir mal das Windows PC Unterforum im BG:EE Forum an - Du musst dort (bei meiner Monitorauflösung zumindest) erst einmal zwei Monitorlängen nach unten scrollen, bevor Du überhaupt die aktuellen Threads zu Gesicht bekommst, da so viele Stickies (heissen dort Announcements) angepinnt sind.
Das ist unübersichtlich hoch Drei, finde ich. Dann lieber wenige Stickies mit Linksammlungen darin, wie zum Beispiel das "Wichtige Links in diesem Forum" Sticky.

Aber um Ansprüche wie etwa Deinen zur Anzeige bestimmter Aspekte wie Spielhilfe oder Technikhilfe zu bedienen, habe ich hier im Modifikationen Forum ja die Themenpräfixe aktiviert.
Wenn Du also das Modifikationen Forum filtern willst, hast Du links unten unter "Anzeige-Eigenschaften" die Möglichkeit, das Forum nach Deinen Wünschen sortiert anzeigen zu lassen.
Du suchst nach aktuellen Threads zum Thema Technikhilfe? Sortiere nach Präfix [Installation].
Du suchst nach Threads zur Spielhilfe? Sortiere nach [Spielinhalt].
Du suchst Threads zu Tutorials oder Moderstellung? Sortiere nach den entsprechenen Präfixen.

Das sollte doch genauso tun, oder nicht? Und es geht dann nicht zu Lasten einer übersichtlichen Forenstartseite.
 
Zuletzt bearbeitet:

Callindor

Senior Member
Registriert
03.05.2008
Beiträge
2.180
Hättest du mehr Unterforen, hättest du weniger Stickies pro Seite. Gerade die Tauschbörse und Tutorialsachen finde ich klemmwert, weil ich einfach Suchfunktionen hasse, um mich durch 10 Jahre Threads zu quälen. Ist so, egal in welchem Forum.

Und ich habe einen anderen Standpunkt als du bzgl. Übersichtlichkeit. Neuling bist du nur einmal, wenn du zum ersten Mal das Forum auf der Hauptseite besuchst. Da ist es egal, wie viele Unterforen du hast, überwältigt bist du von der Menge sowieso. Mit der Zeit lebst du dich ein, weißt, wo du was findest.

Du legst wert auf die Fassade (Hauptseite), ich eher auf ein aufgeräumtes Innenleben (spezifischere Unterforen). Jeder hat mit seiner Herangehensweise recht, letztlich muss es dir als Inhaber gefallen ...^^
 

Sir Darian

Ritter des Helm
Registriert
01.04.2000
Beiträge
33.909
Hmmm... *grübel*

Ich muss jetzt leider zur Arbeit, daher erst morgen mehr.

Aber was mich schon interessieren würde: Hast Du die Sortierfunktion unten links überhaupt schon mal ausprobiert?
Sagt sie Dir zu?
 

Callindor

Senior Member
Registriert
03.05.2008
Beiträge
2.180
So weit runterscrollen tu ich in der Regel nicht, weil ich ja eher an den aktuellen beposteten Threads Interesse habe und bei der Suche den Button oben nehme. Von daher war mir das neu. Und ja, damit könnte sich das, was ich verschlug, auch mit zwei Klicks realisieren.
Es gefällt mir aber lieber mit der Aufsplittung. Kenn das halt so durch die Betreuung der Spielhilfe über ne ganze Weile und es ist nichts Schlechtes bei raus gekommen, es so zu machen und die haben auch diese detailiertere Suchfunktion. Bis auf die Präfixe, die wurden, auf meinen Vorschlag hin, von der Forumsleitung abgelehnt, weil das zu sehr ordnet und Themenrahmen aufzwänge. Hab's nicht so ganz geglaubt mit der Argumentation.

Beide Forenseiten haben etwas, was in meinen Augen die Übersichtlichkeit und Benutzerfreundlichkeit erhöht und ich habe es mal in die Runde geworfen. Ist ja nicht so, dass ich deswegen schreiend wegrenne und hier nie mehr hinkomme, nur weil mein Wille nicht umgesetzt wird ...^^

Vielleicht äußern sich ja auch noch andere hierzu, auch welche, die hier schon längere Zeit verbringen, so wie ich oder noch mehr. Die breite Masse kann sich ja hieran mal beteiligen, denn sowas geht ja nicht nur mich was an. Letztlich muss es der Mehrheit gefallen (bzw. in letzter Instanz SD, aber das ist dem Forumseigner der anderen Seite auch *ankreidbar*. Er lässt sich schwer von Sachen überzeugen. (Auch wenn sie die breite Masse befürwortet. Nach dem Motto *So und nicht anders, und jetzt Klappe zu!* Mit deiner Handhabung bin ich hier sehr zufrieden. Du lässt bzgl. Forenregeln/Miteinander etc. kein Schlendrian aufkommen, was mir sehr wichtig ist. Ich habe es nie bereut, mich hier zu tummeln, jetzt mal unabhängig von BG. Nur mal so am Rande ...^^)

Sollte hier wegen des Organisationsthemas noch weitere Diskussion entstehen, würde ich mich über einen Modertor freuen, der das mal separat aus diesem Thread hier in ein neues Thema überführt. Da ich bzgl. Modding noch nicht so firm bin, möchte ich meinen Thread dazu so überschaubar und übersichtlich wie möglich halten.

Und btw., ich brauch immer noch den rettenden Tipp bzgl. meiner Mod-Übung: Der *Gruppe verlassen/wieder aufnehmen*-Dialog wird bei mir nicht angezeigt, sondern ein Standardauswahldialog, wohl aus dem Mehrspieler mit Bemerkung, bei der Kupferkrone zu warten.
 

Wedge

Wedgetarian
Registriert
04.07.2007
Beiträge
9.373
Lad die Mod mal wo hoch, dann schau ichs mir mal an. So vom überfliegen der 3 Sachen, die du gepostet hast, seh ich auf die Schnelle nichts krummes.
 

Wedge

Wedgetarian
Registriert
04.07.2007
Beiträge
9.373
Pack die APPENDs mal an den Anfang der TP2, so dass es so aussieht:

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

BEGIN ~Calistro for BG2:SvA~

APPEND ~pdialog.2da~
~CCal CCalP CCalJ CCalD CCal25P CCal25J CCal25D CCal25~
UNLESS ~CCal~

APPEND ~interdia.2da~
~CCal CCalB CCalB25~
UNLESS ~CCal~

// 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 fin 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~
etc.
 
Oben