Pocket Plane Group
BG1 Completed Mods => BG1Tutu General => Topic started by: Roana on January 20, 2005, 05:31:56 AM
-
To the Thieves in Baldurs Gate:
All Thieves have not their right Scripts. These are:
THIEF.CRE
THIEFF.CRE
THIEFG.CRE
THIEFM.CRE
They should have:
THIEF.CRE
THIEFF.CRE
THIEFM.CRE
Class -> THIEF4.BCS
Default -> THIEF.BCS
THIEFG.CRE
Class -> THIEF4.BCS
General -> THIEF.BCS, because I have written a little Script to theses Guards of their own, they have as Default Script:
IF
Global("SaidPassword","GLOBAL",1)
Global("Dialogset","LOCALS",0)
THEN
RESPONSE #100
SetDialog("Thiefm")
SetGlobal("Dialogset","LOCALS",1)
END
Also there are Faults in the THIEF.BCS that I have correctet. The Script should be as below:
IF
Heard([ANYONE],1)
Allegiance(Myself,NEUTRAL)
THEN
RESPONSE #100
Shout(1)
Enemy()
END
IF
Heard([ANYONE],2)
Allegiance(Myself,NEUTRAL)
THEN
RESPONSE #100
Shout(2)
EscapeArea()
END
IF
Heard("Resar",3)
!Global("NarlenMove","GLOBAL",7)
!Global("NarlenMove","GLOBAL",8)
!Global("NarlenMove","GLOBAL",9)
Allegiance(Myself,NEUTRAL)
THEN
RESPONSE #100
Shout(2)
EscapeArea()
END
IF
AttackedBy([GOODCUTOFF],DEFAULT)
Allegiance(Myself,NEUTRAL)
THEN
RESPONSE #100
Shout(1)
SetGlobal("AttackedThieves","GLOBAL",1)
Enemy()
Continue()
END
IF
Global("AttackedThieves","GLOBAL",1)
Allegiance(Myself,NEUTRAL)
THEN
RESPONSE #100
Enemy()
Continue()
END
The THIEFG.CRE has a corrupt DLG file, that, if convertet to Tutu will not work in the right way, because of the WeiDU converting behaviour.
I have written this new, so that the secret password now should work also with a conversion to Tutu :-):
// creator : weidu (version 133)
// argument : THIEFG.DLG
// game : .
// source : ./override/THIEFG.DLG
// dialog : ./dialog.tlk
// dialogF : ./dialogf.tlk
BEGIN ~THIEFG~ 752 // non-zero flags may indicate non-pausing dialogue
IF ~NumTimesTalkedTo(0)
Global("SaidPassword","GLOBAL",0)
~ THEN BEGIN 0 // from:
SAY #752 /* ~~ */
IF ~Global("KnownPassword","GLOBAL",0)~ THEN REPLY #756 /* ~~ */ GOTO 1
IF ~~ THEN REPLY #758 /* ~~ */ GOTO 2
END
IF ~~ THEN BEGIN 1 // from: 0.0
SAY #2433 /* ~~ */
IF ~~ THEN DO ~SetNumTimesTalkedTo(0)~ EXIT
END
IF ~~ THEN BEGIN 2 // from: 0.1
SAY #2434 /* ~~ */
IF ~~ THEN REPLY #16655 /* ~~ */ GOTO 3
IF ~~ THEN REPLY #16656 /* ~~ */ GOTO 3
IF ~~ THEN REPLY #16657 /* ~~ */ GOTO 3
IF ~~ THEN REPLY #16658 /* ~~ */ GOTO 4
IF ~~ THEN REPLY #16659 /* ~~ */ GOTO 3
IF ~~ THEN REPLY #16660 /* ~~ */ GOTO 3
IF ~~ THEN REPLY #16661 /* ~~ */ GOTO 3
END
IF ~~ THEN BEGIN 3 // from: 2.6 2.5 2.4 2.2 2.1 2.0
SAY #2776 /* ~~ */
IF ~~ THEN DO ~SetNumTimesTalkedTo(0)~ EXIT
END
IF ~~ THEN BEGIN 4 // from: 2.3
SAY #2777 /* ~~ */
IF ~~ THEN DO ~SetGlobal("SaidPassword","GLOBAL",1)
SetDialog("Thiefm")~ EXIT
END
According to this, I have had to make some changes in the NIKLOS.DLG to set the right trigger (and correct some faults in it by the way). With the following Dialogfile, I guess Niklos will work as mentioned (although I didn't have testet it yet, because I have no Savegame there in handy at the moment):
// creator : weidu (version 133)
// argument : NIKLOS.DLG
// game : .
// source : ./override/NIKLOS.DLG
// dialog : ./dialog.tlk
// dialogF : ./dialogf.tlk
BEGIN ~NIKLOS~ 2761 // non-zero flags may indicate non-pausing dialogue
//////////////////////////////////////////////////
// WARNING: this file contains non-trivial WEIGHTs
//////////////////////////////////////////////////
IF WEIGHT #2 /* Triggers after states #: 5 9 even though they appear after this state */
~NumTimesTalkedTo(0)~ THEN BEGIN 0 // from:
SAY #2761 /* ~~ */
IF ~~ THEN GOTO 1
END
IF ~~ THEN BEGIN 1 // from: 0.0
SAY #2762 /* ~~ */
IF ~~ THEN REPLY #2763 /* ~~ */ DO ~GivePartyGold(50)
SetGlobal("GiveGold","LOCALS",1)~ GOTO 3
IF ~~ THEN REPLY #2764 /* ~~ */ DO ~GivePartyGold(50)
SetGlobal("GiveGold","LOCALS",1)~ GOTO 8
IF ~~ THEN REPLY #2765 /* ~~ */ DO ~GivePartyGold(50)
SetGlobal("GiveGold","LOCALS",1)~ GOTO 2
END
IF ~~ THEN BEGIN 2 // from: 1.2
SAY #2766 /* ~~ */
IF ~~ THEN REPLY #2780 /* ~~ */ GOTO 8
IF ~~ THEN REPLY #2781 /* ~~ */ GOTO 3
IF ~~ THEN REPLY #2782 /* ~~ */ GOTO 8
END
IF ~~ THEN BEGIN 3 // from: 2.1 1.0
SAY #2767 /* ~~ */
IF ~~ THEN DO ~SetGlobal("NiklosRefused","GLOBAL",1)~ JOURNAL #9976 /* ~~ */ EXIT
END
IF WEIGHT #4 /* Triggers after states #: 5 9 10 even though they appear after this state */
~Global("TalkedToAlatos","GLOBAL",0)
Global("ShowWay","LOCALS",1)
Global("GiveGold","LOCALS",1)~ THEN BEGIN 4 // from:
SAY #2768 /* ~~ */
IF ~~ THEN DO ~EscapeAreaDestroy(5)~ EXIT
END
IF WEIGHT #1 /* Triggers after states #: 9 even though they appear after this state */
~Global("NiklosRefused","GLOBAL",1)
Global("GiveGold","LOCALS",1)~ THEN BEGIN 5 // from:
SAY #2769 /* ~~ */
IF ~~ THEN REPLY #2770 /* ~~ */ GOTO 8
IF ~~ THEN REPLY #2771 /* ~~ */ GOTO 7
IF ~~ THEN REPLY #2772 /* ~~ */ GOTO 6
END
IF ~~ THEN BEGIN 6 // from: 5.2
SAY #2773 /* ~~ */
IF ~~ THEN DO ~TakePartyGold(50)
EscapeAreaDestroy(5)~ EXIT
END
IF ~~ THEN BEGIN 7 // from: 5.1
SAY #2774 /* ~~ */
IF ~~ THEN DO ~TakePartyGold(50)
EscapeAreaDestroy(5)~ EXIT
END
IF ~~ THEN BEGIN 8 // from: 5.0 2.2 2.0 1.1
SAY #2775 /* ~~ */
IF ~~ THEN DO ~SetGlobal("KnownPassword","GLOBAL",1)
SetGlobal("ShowWay","LOCALS",1)
MoveToPoint([1439.1313])
OpenDoor("DOOR0151")
MoveToPoint([1456.1262])~ JOURNAL #9977 /* ~~ */ EXIT
END
IF WEIGHT #0 ~StateCheck(Myself,STATE_CHARMED)
~ THEN BEGIN 9 // from:
SAY #6473 /* ~~ */
IF ~~ THEN EXIT
END
IF WEIGHT #3 ~Global("Chapter","GLOBAL",7)
~ THEN BEGIN 10 // from:
SAY #4300 /* ~~ */
IF ~~ THEN DO ~EscapeAreaDestroy(5)~ EXIT
END
IF WEIGHT #5 ~Global("AttackedThieves","GLOBAL",1)~ THEN BEGIN 11 // from:
SAY #9070 /* ~~ */
IF ~~ THEN DO ~EscapeAreaDestroy(5)~ EXIT
END
Also I have made a few corrections in the THIEFM.DLG (removed many unsused Trigger and Actions, repaired the Random-trigger):
// creator : weidu (version 133)
// argument : THIEFM.DLG
// game : .
// source : ./override/THIEFM.DLG
// dialog : ./dialog.tlk
// dialogF : ./dialogf.tlk
BEGIN ~THIEFM~ 14170 // non-zero flags may indicate non-pausing dialogue
//////////////////////////////////////////////////
// WARNING: this file contains non-trivial WEIGHTs
//////////////////////////////////////////////////
IF WEIGHT #0 ~RandomNum(7,1)
~ THEN BEGIN 0 // from:
SAY #14170 /* ~~ */
IF ~~ THEN EXIT
END
IF WEIGHT #1 ~RandomNum(7,2)~ THEN BEGIN 1 // from:
SAY #14190 /* ~~ */
IF ~~ THEN EXIT
END
IF WEIGHT #2 ~RandomNum(7,3)
~ THEN BEGIN 2 // from:
SAY #14191 /* ~~ */
IF ~~ THEN EXIT
END
IF WEIGHT #3 ~RandomNum(7,4)
~ THEN BEGIN 3 // from:
SAY #14192 /* ~~ */
IF ~~ THEN EXIT
END
IF WEIGHT #4 ~RandomNum(7,5)
~ THEN BEGIN 4 // from:
SAY #14193 /* ~~ */
IF ~~ THEN EXIT
END
IF WEIGHT #6 /* Triggers after states #: 6 even though they appear after this state */
~RandomNum(7,7)
~ THEN BEGIN 5 // from:
SAY #14194 /* ~~ */
IF ~~ THEN EXIT
END
IF WEIGHT #5 ~RandomNum(7,6)~ THEN BEGIN 6 // from:
SAY #14195 /* ~~ */
IF ~~ THEN EXIT
END
The same I have done in the THIEFF.DLG:
// creator : weidu (version 133)
// argument : THIEFF.DLG
// game : .
// source : ./override/THIEFF.DLG
// dialog : ./dialog.tlk
// dialogF : ./dialogf.tlk
BEGIN ~THIEFF~ 14196 // non-zero flags may indicate non-pausing dialogue
IF ~RandomNum(5,1)
~ THEN BEGIN 0 // from:
SAY #14196 /* ~~ */
IF ~~ THEN EXIT
END
IF ~RandomNum(5,2)
~ THEN BEGIN 1 // from:
SAY #14392 /* ~~ */
IF ~~ THEN EXIT
END
IF ~RandomNum(5,3)~ THEN BEGIN 2 // from:
SAY #14393 /* ~~ */
IF ~~ THEN EXIT
END
IF ~RandomNum(5,4)~ THEN BEGIN 3 // from:
SAY #14394 /* ~~ */
IF ~~ THEN EXIT
END
IF ~RandomNum(5,5)
~ THEN BEGIN 4 // from:
SAY #14631 /* ~~ */
IF ~~ THEN EXIT
END
To work Niklos in the right way in Chapter 7, I have corrected the AR0153.BCS and by the way removed Alatos, because all Thieves tell you, that he has hidden himself and he has nothing more to say in Chapter 7:
IF
Global("DukeThanks","GLOBAL",0)
Global("InactiveDoor","GLOBAL",0)
THEN
RESPONSE #100
SetGlobal("InactiveDoor","GLOBAL",1)
TriggerActivation("Door0146",FALSE)
END
IF
Global("Chapter","GLOBAL",7)
Exists("Alatos")
!Dead("Alatos") // Alatos "Rabenmal" Thuibuld - Alatos
Global("RemoveAlatos","AR0153",0)
THEN
RESPONSE #100
ActionOverride("Alatos",DestroySelf())
SetGlobal("RemoveAlatos","AR0153",1)
END
IF
Global("DukeThanks","GLOBAL",0)
Global("Chapter","GLOBAL",7)
!Exists("Niklos")
!Dead("Niklos") // Niklos
Global("SpawnNiklos","GLOBAL",0)
THEN
RESPONSE #100
CreateCreature("Niklos",[630.335],0) // Niklos
SetGlobal("SpawnNiklos","GLOBAL",1)
END
IF
Global("DukeThanks","GLOBAL",1)
!Exists("DENKOD")
!Dead("DENKOD") // Denkod - Denkod.
THEN
RESPONSE #100
CreateCreature("DENKOD",[881.430],0) // Denkod - Denkod.
TriggerActivation("Door0146",TRUE)
END
IF
Global("NarlenMove","GLOBAL",3)
!Exists("Narlen")
!Dead("Narlen") // Narlen Darkwalk
THEN
RESPONSE #100
CreateCreature("NARLEN",[660.366],0) // Narlen Darkwalk
ActionOverride("Narlen",SetNumTimesTalkedTo(1))
END
IF
Global("NarlenMove","GLOBAL",5)
!Exists("Narlen")
!Dead("Narlen") // Narlen Darkwalk
THEN
RESPONSE #100
CreateCreature("NARLEN",[660.366],0) // Narlen Darkwalk
ActionOverride("Narlen",SetNumTimesTalkedTo(1))
END
Also I have designed and assigned new little Scripts for the Areas AR0150, AR0151 and AR0152, where the thiefguards are asking for the password, so that the Player now can really only go into the thievesguild with the right password (or by the dukes):
AR0150.BCS:
IF
Global("SaidPassword","GLOBAL",0)
Global("InactiveDoor","AR0150",0)
THEN
RESPONSE #100
SetGlobal("InactiveDoor","AR0150",1)
TriggerActivation("Door0153",FALSE)
END
IF
Global("SaidPassword","GLOBAL",1)
Global("InactiveDoor","AR0150",1)
THEN
RESPONSE #100
SetGlobal("InactiveDoor","AR0150",2)
TriggerActivation("Door0153",TRUE)
END
AR0151.BCS:
IF
Global("SaidPassword","GLOBAL",0)
Global("InactiveDoor","AR0151",0)
THEN
RESPONSE #100
SetGlobal("InactiveDoor","AR0151",1)
TriggerActivation("Door0153",FALSE)
END
IF
Global("SaidPassword","GLOBAL",1)
Global("InactiveDoor","AR0151",1)
THEN
RESPONSE #100
SetGlobal("InactiveDoor","AR0151",2)
TriggerActivation("Door0153",TRUE)
END
AR0152.BCS:
IF
Global("SaidPassword","GLOBAL",0)
Global("InactiveDoor","AR0152",0)
THEN
RESPONSE #100
SetGlobal("InactiveDoor","AR0152",1)
TriggerActivation("Door0153",FALSE)
END
IF
Global("SaidPassword","GLOBAL",1)
Global("InactiveDoor","AR0152",1)
THEN
RESPONSE #100
SetGlobal("InactiveDoor","AR0152",2)
TriggerActivation("Door0153",TRUE)
END
Oh and - I have correctet the AR0800.BCS, because the Creature, that it should create, "BERSCH", does not exist in the game, and now the Area will destroy "Niklos" for me at the right moment correspondending to my changes in the Niklos.DLG file.
The correctet AR0800.BCS:
IF
Global("EnteredBaldursGate","GLOBAL",0)
THEN
RESPONSE #100
StartMovie("BGENTER")
SetGlobal("EnteredBaldursGate","GLOBAL",1)
END
IF
OnCreation()
!Exists("Husam2")
!Dead("Husam2") // Husam
!Dead("Husam") // Husam
GlobalGT("HusamMove","GLOBAL",0)
GlobalLT("HusamMove","GLOBAL",5)
THEN
RESPONSE #100
CreateCreature("Husam2",[3393.1397],0) // Husam
END
IF
Global("TalkedToAlatos","GLOBAL",1)
THEN
RESPONSE #100
ActionOverride("Niklos",DestroySelf())
END
IF
Global("Chapter","GLOBAL",7)
Global("Capture800","GLOBAL",0)
Global("DukeThanks","GLOBAL",0)
THEN
RESPONSE #100
SetGlobal("Capture800","GLOBAL",1)
CreateCreature("FFHUNT",[2312.1520],0) // Mietling der Flammenden Faust
CreateCreature("FFHUNT",[2312.1520],0) // Mietling der Flammenden Faust
END
IF
Global("RededgeMove","GLOBAL",1)
!Exists("Rededge")
!Dead("Rededge")
THEN
RESPONSE #100
CreateCreature("REDEDG",[1399.1611],0) // Rededge
ActionOverride("Rededge",Enemy())
END
IF
Global("Chapter","GLOBAL",7)
Global("SpawnDelthyr","GLOBAL",0)
THEN
RESPONSE #100
SetGlobal("SpawnDelthyr","GLOBAL",1)
CreateCreature("DELTHY",[1484.1680],0) // Delthyr
END
IF
GlobalTimerExpired("Delthyr","GLOBAL")
Global("TalkedToDelthyr","GLOBAL",1)
Global("SpawnDelthyr","GLOBAL",1)
THEN
RESPONSE #100
SetGlobal("SpawnDelthyr","GLOBAL",2)
CreateCreature("DELTHY",[1484.1680],0) // Delthyr
ActionOverride("Delthyr",SetNumTimesTalkedTo(1))
END
IF
TimeGT(20)
Exists("Rededge")
THEN
RESPONSE #100
Activate("Rededge")
END
IF
TimeLT(4)
Exists("Rededge")
THEN
RESPONSE #100
Activate("Rededge")
END
IF
TimeGT(4)
TimeLT(20)
Exists("Rededge")
THEN
RESPONSE #100
Deactivate("Rededge")
END
IF
Global("TamokoMove","GLOBAL",0)
Global("Chapter","GLOBAL",7)
!Exists("Tamoko")
!Dead("Tamoko") // Tamoko
THEN
RESPONSE #100
CreateCreature("TAMOKO",[1122.2074],0) // Tamoko
END
Hope this helps to make the Thieves quests more playable in Tutu (although I have not installed Tutu yet, because I am learning Area-Editing now, to repair a corrupt Area in TotSC, wich I want to play through: a dungeon under the Ice Isle, which (as I suppose) has been removed from the developers. The .WED is unreadable by NI, but I have a readable .TIS, a readable .ARE, a readable .MOS for it. I hope, I will be able to make this Area work for me :-))
If you use these changes and find every bugs in them, I haven't seen, feel free to e-mail me at melora1@gmx.de
Well and - if my posts here are too long for you, please anyone can say it here. I will then post only, what I have done and e-mail it to someone if asked.
Well, back to my Aera-Editing-Tutorial now *sigh* :-)
Regards and have fun in playing and modding my favorite game for years :-).