![]() |
The Black Wyrm's Lair Terms of Use |
![]() ![]() ![]() ![]() |
![]() |
![]()
Post
#1
|
|
Forum Member Posts: 58 Joined: 11-January 05 ![]() |
I ran into a slight problem when I ported from Bg1 to BG2, and figured out the fix for it. NeJ2 had not accounted for the importation of Minsc from BG1. He had no Boo, and the scripts were not set up to give him one. So, I wrote a block for Minsc.BCS to account for this. It works fine, and I cannot see how it would mess up NeJ in any way. It sits at the third block from the top:
CODE IF InParty("Minsc") !PartyHasItem("Boo")//No Boo the item !Exists("Boo")//No Boo the space hampster Global("VP_Boo","GLOBAL",0)//Global never has been set THEN RESPONSE #100 SetGlobal("VP_Boo","GLOBAL",1)//Indicates boo is healthy, or in item form GiveItemCreate("Boo",Myself,0,0,0) END It sets the VP_Boo global the same way it would be set if Boo had died, and done his day of penalty time. As is done in the second block from the top: CODE IF !PartyHasItem("Boo") GlobalTimerExpired("VP_NoBoo","GLOBAL")//Set when boo died, for ONE_DAY Global("VP_Boo","GLOBAL",2)//Also set when boo died, to indicate he is dead THEN RESPONSE #100 SetGlobal("VP_Boo","GLOBAL",1) GiveItemCreate("Boo",Myself,0,0,0) END Not only does this code create Boo on Minsc, it eliminates the need for overwriting MINSC8.CRE,MINSC10.CRE,etc! (Your current .tp2 does precisely this... ![]() ![]() I also have a question about this block, though I'm pretty sure you've already tested. From Boo.BCS: CODE IF Global("VP_BooThePet","GLOBAL",0) THEN RESPONSE #100 SetGlobal("VP_BooThePet","GLOBAL",1) MakeGlobal() END Does this work properly? Does the re-creation of Boo via item (next time the item is used) create a "global boo", after he does the DestroySelf()? I know the Boo entry is not erased from the .GAM file, just his Area location is...but does the new Boo line right up with the old entry? If you're not sure, let me know and I'll test this out. I'm curious! ![]() |
|
|
![]() |
![]()
Post
#2
|
|
Forum Member Posts: 58 Joined: 11-January 05 ![]() |
I found a couple of minor issues with Boo, both in his script and minsc'.
The global timer, VP_NoBoo, is set as a RealGlobalTimer in Boo's script, but in minsc' it is just a GlobalTimer. The Variable VP_Boo is never reset to zero, at least that I have seen, when Boo turns from item to creature. This variable must be set at zero for Boo to follow Minsc to a new area, via MoveGlobal(), according to the block in Minsc.BCS: CODE IF !PartyHasItem("Boo") !RealGlobalTimerNotExpired("VP_NoBoo","GLOBAL")//Real(timer) added by me Global("VP_Boo","GLOBAL",0) !InMyArea("Boo") THEN RESPONSE #100 MoveGlobalObject("Boo","Minsc") ChangeEnemyAlly("Boo",CONTROLLED) END I added the following block to BOO.BCS (third from the top): CODE IF HPGT(Myself,1) !Global("VP_Boo","GLOBAL",0) !PartyHasItem("Boo") THEN RESPONSE #100 SetGlobal("VP_Boo","GLOBAL",0) END And now Boo transports to Minsc. Not sure how he could have, before--the first block in MINSC.BCS reads: CODE IF PartyHasItem("Boo") !Global("VP_Boo","GLOBAL",1) THEN RESPONSE #100 SetGlobal("VP_Boo","GLOBAL",1) END I'm not sure if your patch addresses these issues as well; just thought I'd point them out before you release said patch. ![]() The GAM file confirmed my suspicions--VP_Boo was set to 1, when Boo was in creature form. I still have no signs of dialog-triggering issues--but this is my first run through NeJ (the new versions). I'm not 100% sure what to look out for. I am, however, having a lot of fun. ![]() |
|
|
![]() ![]() |
![]() |
Lo-Fi Version | Time is now: 9th August 2025 - 10:09 PM |