[Modding] Anfängerfragen Modding

Fennek der Schwarze

Senior Member
Registriert
22.12.2008
Beiträge
1.206
Ich könnte nen Nervenzusammenbruch bekommen. Der hat nicht mal die richtigen Creature-Namen in dem Script drin...
 

Toran

Schattenritter
Registriert
09.03.2008
Beiträge
2.377
Anzahl getöter Feinde/XP dafür

Ich suche die Variablen, welche die Anzahl der getöteten Feinde bzw. die XP dafür enthalten.
 

Wedge

Wedgetarian
Registriert
04.07.2007
Beiträge
9.373
Dafür gibt es afair keine Variable, dass wird direkt in den Charakter-Stat-Offsets in der Gam-Datei des Saves gespeichert.

Müsstest dir mal den Code vom Calculator anschauen, wie der das macht. Ob der das irgendwie ausliest, oder das selbst mitzählt.
 

Toran

Schattenritter
Registriert
09.03.2008
Beiträge
2.377
Er liest es anscheinend aus. Aber das ist recht kompliziert. Ich habe gehofft es gäbe eine einfacherere Möglichkeit.
 

Toran

Schattenritter
Registriert
09.03.2008
Beiträge
2.377
Mal ein ganz anderes Thema. Wie erreiche ich es, dass ein Item nur von einer bestimmten Person getragen werden kann?
 

Wedge

Wedgetarian
Registriert
04.07.2007
Beiträge
9.373
da gibt's zwei Möglichkeiten. Entweder du arrangierst die usable-flags in ner cleveren Art und Weise oder du machst dir nen Zauberspruch mit dem Opcode 180 und den Definitionen target 8, timing 9, 1. ressource itemcode und nen String kannst du sogar auch noch angeben, der dann im Spiel gezeigt wird. (Man sieht den bogen nicht, denn ich grade versuche anzulegen, wegen Mauszeiger<->Screenieissues. :D)
 

Malthis

Junior Member
Registriert
03.09.2008
Beiträge
29
Hallo,

Ja, mich und Alanya gibt es immernoch... Aber ich halte mich nun besser in Schweigen über einen Releasetermin und werde auch nicht mehr die Worte "fast fertig" benutzen, sonst glaube ich mir ja bald selbst nicht mehr ;)

In jedem Fall habe ich ein Problem, was Areas betrifft.

http://www.fastshare.org/download/Testarea.rar

Hier habe ich versucht, ein in BG2 bestehendes Gebiet zu verändern, was leider zum crash führt, wenn es betreten wird.

http://www.fastshare.org/download/Testarea21.zip

Hier habe ich versucht, ein Gebiet aus BG1 mittels Tutu BG2-kompatibel zu machen, was aber leider auch nur zu einem crash führt.

Alle Dateien der zips habe ich in das override-Verzeichnis von BG2 kopiert, es müsste also alles nötige vorhanden sein, denke ich.

Es wäre toll, wenn sich jemand meine Areamodding-Versuche einmal anschauen könnte :)

Grüße,
Malthis
 

Toran

Schattenritter
Registriert
09.03.2008
Beiträge
2.377
@Wedge
Das mit dem Zauberspruch (180) hat einwandfrei funktioniert.

Dafür habe ich jetzt das Problem, das die KIT Abfrage bi mir nicht klappt. Der Paladin wird erkannt, der CAVALIER hingegen nicht. Dadurch wird die Abfrage als falsch gewertet. Woran kann das liegen?
Code:
+      ~Gender(Player1,MALE) Race(Player1,HUMAN) Class(Player1,PALADIN) KIT(Player1,"CAVALIER") ~ + ~BLABLA.~ DO ~~ EXTERN ~TALMISS~ TP-SH-0.1
 

Wedge

Wedgetarian
Registriert
04.07.2007
Beiträge
9.373
Vielleicht die boolesche Algebra im Zusammenarbeit mit Engineablauf?

~Gender(Player1,MALE) Race(Player1,HUMAN) Class(Player1,PALADIN) KIT(Player1,"CAVALIER")~

ist ja

~Gender(Player1,MALE) UND Race(Player1,HUMAN) UND Class(Player1,PALADIN) UND KIT(Player1,"CAVALIER")~

Wenn jetzt das Kit als einzelne Klasse gezählt wird, könntest du deswegen die Probleme bekommen, da zwei Klassen zurselben Zeit ja nicht gehen. Also fehlt die entweder ein OR(2) oder du kannst das Class() einfach rausnehmen, da Ritter ja immer auch Paladin sein müssen.
 

Toran

Schattenritter
Registriert
09.03.2008
Beiträge
2.377
Egal, welche Kit-Abfrage ich stelle, keine funktioniert. Auch wenn ich die Klasse weglasse. Muss ich die .tp2 anpassen?

Edit: So funktioniert es. Die .tp2 muss wie folgt erweitert werden:
Code:
COPY_EXISTING ~KIT.IDS~ ~override~
  REPLACE_TEXTUALLY ~0x00004000~ ~0x4000~ // TRUECLASS/MAGESCHOOL_GENERALIST
  REPLACE_TEXTUALLY ~0x00000040~ ~0x0040~ // MAGESCHOOL_ABJURER
  REPLACE_TEXTUALLY ~0x00000080~ ~0x0080~ // MAGESCHOOL_CONJURER
  REPLACE_TEXTUALLY ~0x00000100~ ~0x0100~ // MAGESCHOOL_DIVINER
  REPLACE_TEXTUALLY ~0x00000200~ ~0x0200~ // MAGESCHOOL_ENCHANTER
  REPLACE_TEXTUALLY ~0x00000400~ ~0x0400~ // MAGESCHOOL_ILLUSIONIST
  REPLACE_TEXTUALLY ~0x00000800~ ~0x0800~ // MAGESCHOOL_INVOKER
  REPLACE_TEXTUALLY ~0x00001000~ ~0x1000~ // MAGESCHOOL_NECROMANCER
  REPLACE_TEXTUALLY ~0x00002000~ ~0x2000~ // MAGESCHOOL_TRANSMUTER
  REPLACE_TEXTUALLY ~0x00000001~ ~0x4001~ // BERSERKER
  REPLACE_TEXTUALLY ~0x00000002~ ~0x4002~ // WIZARDSLAYER
  REPLACE_TEXTUALLY ~0x00000004~ ~0x4003~ // KENSAI
  REPLACE_TEXTUALLY ~0x00000008~ ~0x4004~ // CAVALIER
  REPLACE_TEXTUALLY ~0x00000010~ ~0x4005~ // INQUISITOR
  REPLACE_TEXTUALLY ~0x00000020~ ~0x4006~ // UNDEADHUNTER
  REPLACE_TEXTUALLY ~0x00008000~ ~0x4007~ // FERALAN
  REPLACE_TEXTUALLY ~0x00010000~ ~0x4008~ // STALKER
  REPLACE_TEXTUALLY ~0x00020000~ ~0x4009~ // BEASTMASTER
  REPLACE_TEXTUALLY ~0x00040000~ ~0x400A~ // ASSASIN
  REPLACE_TEXTUALLY ~0x00080000~ ~0x400B~ // BOUNTYHUNTER
  REPLACE_TEXTUALLY ~0x00100000~ ~0x400C~ // SWASHBUCKLER
  REPLACE_TEXTUALLY ~0x00200000~ ~0x400D~ // BLADE
  REPLACE_TEXTUALLY ~0x00400000~ ~0x400E~ // JESTER
  REPLACE_TEXTUALLY ~0x00800000~ ~0x400F~ // SKALD
  REPLACE_TEXTUALLY ~0x01000000~ ~0x4013~ // GODTALOS
  REPLACE_TEXTUALLY ~0x02000000~ ~0x4014~ // GODHELM
  REPLACE_TEXTUALLY ~0x04000000~ ~0x4015~ // GODLATHANDER
  REPLACE_TEXTUALLY ~0x08000000~ ~0x4010~ // TOTEMIC
  REPLACE_TEXTUALLY ~0x10000000~ ~0x4011~ // SHAPESHIFTER
  REPLACE_TEXTUALLY ~0x20000000~ ~0x4012~ // BEASTFRIEND
  REPLACE_TEXTUALLY ~0x40000000~ ~0x401F~ // BARBARIAN
BUT_ONLY_IF_IT_CHANGES
 
Zuletzt bearbeitet:

Toran

Schattenritter
Registriert
09.03.2008
Beiträge
2.377
Ich brauche eigentlich CLERIC/GODTALOS, war mir aber nicht sicher ob es an GODTALOS liegt. Deshalb habe ich es versuchsweise mit PALADIN/CAVALIER probiert.

Naja, hat ja doch noch geklappt, wie ich im vorherigen Beitrag editiert habe.
 

White Agnus

Senior Member
Registriert
05.09.2008
Beiträge
5.088
@Toran,
wieso stehen bei dir so viele 0en in der Kit.ids?
Könnte villeicht irgend ein Mod dran rumgepfuscht haben, ich würds mit ner Vanilla Version der ids versuchen, dann musst du diese auch nicht via tp2 bearbeiten... (Oder arbeitest du mit der Vanilla ids?)

@Malthis,
wegen der ersten Area, pack mal die AM0903.WAV aus der AREA090A.BIF in den Override Ordner, oder lösch die Ambient in der A#100.are, dann sollte das ganze nicht mehr abstürzen...
Bei der Tutu Area haben die Light-, Height- und Searchmaps den falschen Namen, die müssen genauso lauten wie die .wed... Also die müssen folgendermaßen aussehen:
FW1902HT.BMP
FW1902LM.BMP
FW1902SR.BMP

Die Mos solltest du auch umbennen:
FW1902.MOS

Aber ich würde dir empfehlen nicht die Map aus BGT (AR8702) zu verwenden, denn die sind kompatibler mit BG2... ;)
 

Toran

Schattenritter
Registriert
09.03.2008
Beiträge
2.377
Ausser meinem Modversuch sieht meine Weidu.log so aus:
Code:
// Log of Currently Installed WeiDU Mods
// The top of the file is the 'oldest' mod
// ~TP2_File~ #language_number #component_number // [Subcomponent Name -> ] Component Name [ : Version]
~SETUP-DUNGEONBEGONE.TP2~ #2 #0 // Dungeon Be Gone V1.6
~ASSASSINATIONS/SETUP-ASSASSINATIONS.TP2~ #3 #0 // Assassinations Mod für Baldur's Gate II, v7

Dungeon Be Gone habe ich installiert um den Dungeon schnell zu beenden und die üblichen Gegenstände zu bekommen, Assassinations weil ich den Mod als Codehilfe nehme.

Ohne die Anpassung der Kits in der .tp2 hat bei mir die Kitabfrage nicht funktioniert. Zwar klappte das compilieren, aber die Abfrage funktionierte nicht. In einer Weidu Anleitung las ich, dass die Kitanfrage zwar seit 2007(?) compiliert werden kann, es wurde aber auf Schwierigkeiten hingewiesen.

Im Internet habe ich nach einigem Suche gelesen dass die KIT.IDS per .tp2 angepasst werden muss. Ich habe mir dann einfach alle Kits, als Muster, in die .tp2 kopiert.
 

White Agnus

Senior Member
Registriert
05.09.2008
Beiträge
5.088
Hmm, sehe gerade, dass dieses Problem schon bei Vanilla BG2 auftritt, dass ganze wird aber durch das BG2Fixpack (was ich installiert habe) behoben... ;)
Das Fixpack fixt dabei auch mehrere Vanilla NPCs bei denen das Kit auf 0x00000000 steht.
Ich würd dir also empfehlen, für deinen Mod das Fixpack oder BaldurDash (wo das ganze auch gefixt wird) voraussetzen... ;)
 

Toran

Schattenritter
Registriert
09.03.2008
Beiträge
2.377
Danke, werde ich machen. Schön dich wieder hier zu sehen. :)
 

Wedge

Wedgetarian
Registriert
04.07.2007
Beiträge
9.373
Gna, du solltest natürlich nicht das Fixpack voraussetzen, sondern den Code aus dem Fixpack in deine Mod übernehmen (mit der entsprechenden Sicherheitsabfrage und Erwähnung des Ursprungs). Ist wesentlich eleganter imho und du zwingst niemanden irgendwas zu benutzen, was er/sie nicht will.
 

Toran

Schattenritter
Registriert
09.03.2008
Beiträge
2.377
Auch wenn ich wahrscheinlich nur 1 oder 2 Kits abfragen werden lasse ich sie alle drin. Was man hat hat man. :D Meine .tp2 sieht jetzt so aus:
Code:
COPY_EXISTING ~KIT.IDS~ ~override~
  REPLACE_TEXTUALLY ~0x00004000~ ~0x4000~ // TRUECLASS/MAGESCHOOL_GENERALIST
  REPLACE_TEXTUALLY ~0x00000040~ ~0x0040~ // MAGESCHOOL_ABJURER
  REPLACE_TEXTUALLY ~0x00000080~ ~0x0080~ // MAGESCHOOL_CONJURER
  REPLACE_TEXTUALLY ~0x00000100~ ~0x0100~ // MAGESCHOOL_DIVINER
  REPLACE_TEXTUALLY ~0x00000200~ ~0x0200~ // MAGESCHOOL_ENCHANTER
  REPLACE_TEXTUALLY ~0x00000400~ ~0x0400~ // MAGESCHOOL_ILLUSIONIST
  REPLACE_TEXTUALLY ~0x00000800~ ~0x0800~ // MAGESCHOOL_INVOKER
  REPLACE_TEXTUALLY ~0x00001000~ ~0x1000~ // MAGESCHOOL_NECROMANCER
  REPLACE_TEXTUALLY ~0x00002000~ ~0x2000~ // MAGESCHOOL_TRANSMUTER
  REPLACE_TEXTUALLY ~0x00000001~ ~0x4001~ // BERSERKER
  REPLACE_TEXTUALLY ~0x00000002~ ~0x4002~ // WIZARDSLAYER
  REPLACE_TEXTUALLY ~0x00000004~ ~0x4003~ // KENSAI
  REPLACE_TEXTUALLY ~0x00000008~ ~0x4004~ // CAVALIER
  REPLACE_TEXTUALLY ~0x00000010~ ~0x4005~ // INQUISITOR
  REPLACE_TEXTUALLY ~0x00000020~ ~0x4006~ // UNDEADHUNTER
  REPLACE_TEXTUALLY ~0x00008000~ ~0x4007~ // FERALAN
  REPLACE_TEXTUALLY ~0x00010000~ ~0x4008~ // STALKER
  REPLACE_TEXTUALLY ~0x00020000~ ~0x4009~ // BEASTMASTER
  REPLACE_TEXTUALLY ~0x00040000~ ~0x400A~ // ASSASIN
  REPLACE_TEXTUALLY ~0x00080000~ ~0x400B~ // BOUNTYHUNTER
  REPLACE_TEXTUALLY ~0x00100000~ ~0x400C~ // SWASHBUCKLER
  REPLACE_TEXTUALLY ~0x00200000~ ~0x400D~ // BLADE
  REPLACE_TEXTUALLY ~0x00400000~ ~0x400E~ // JESTER
  REPLACE_TEXTUALLY ~0x00800000~ ~0x400F~ // SKALD
  REPLACE_TEXTUALLY ~0x01000000~ ~0x4013~ // GODTALOS
  REPLACE_TEXTUALLY ~0x02000000~ ~0x4014~ // GODHELM
  REPLACE_TEXTUALLY ~0x04000000~ ~0x4015~ // GODLATHANDER
  REPLACE_TEXTUALLY ~0x08000000~ ~0x4010~ // TOTEMIC
  REPLACE_TEXTUALLY ~0x10000000~ ~0x4011~ // SHAPESHIFTER
  REPLACE_TEXTUALLY ~0x20000000~ ~0x4012~ // BEASTFRIEND
  REPLACE_TEXTUALLY ~0x40000000~ ~0x401F~ // BARBARIAN
BUT_ONLY_IF_IT_CHANGES

APPEND ~kit.ids~ ~0x4000 TRUECLASS~
  UNLESS ~\bTRUECLASS\b~
APPEND ~kit.ids~ ~0x0000 BARBARIAN~
  UNLESS ~\bBARBARIAN\b~
APPEND ~kit.ids~ ~0x0000 WILDMAGE~
  UNLESS ~\bWILDMAGE\b~


Mal ein paar Fragen zu den lokalen Variablen.
  1. Was sind die Vorteile?
  2. Was sind die Nachteile?
  3. Wann und wo gelten sie?
 

Arren

Senior Member
Registriert
28.04.2009
Beiträge
421
Mal ein paar Fragen zu den lokalen Variablen.

1. Was sind die Vorteile?
2. Was sind die Nachteile?
3. Wann und wo gelten sie?


1. Müllen theoretisch nicht so sehr das ganze System zu.

2. Können halt nur lokal und nicht global aufgerufen werden, d.h. nur in dem Script, in dem sie erstellt wurden, können sie verwendet werden.

3. Naja, siehe 2, nur da, wo sie erstellt werden.

So ähnlich wie AREA-Variablen, die halt nur innerhalb einer bestimmten AREA gelten.
 

Toran

Schattenritter
Registriert
09.03.2008
Beiträge
2.377
Wenn ich in Test1.d XYZ auf 1 setze, welchen Wert hat die Variable dann in Test2.d? Würde die 3 gesetzt und in Test1.d als 3 erkannt werden?

Test1.d
IF XYZ = 0
SET XYZ = 1
END

Test2.d
IF XYZ = 1
SET XYZ = 3
END
 
Zuletzt bearbeitet:
Oben