Jump to content


Photo

Bridge Disrict errors


  • Please log in to reply
76 replies to this topic

#61 -disari-

-disari-
  • Guest

Posted 21 March 2010 - 08:11 PM

i still have this problem frozen cutscene in bridge after a red wizard and two brown ones pop in.. i installed both fixes listed here and still it persists.. i do have a error in chvideo.cpp line 8641 will give weidu logs if needed can someone take a stab at my problem is big install i do have aurora..

#62 Miloch

Miloch

    Barbarian

  • Modder
  • 6579 posts

Posted 24 March 2010 - 06:09 PM

i still have this problem frozen cutscene in bridge after a red wizard and two brown ones pop in.. i installed both fixes listed here and still it persists.. i do have a error in chvideo.cpp line 8641 will give weidu logs if needed

Attach your WeiDU.log and also post the full message you get for ChVideo.cpp from your Baldur.err file (make sure Logging On=1 is under Program Options in your baldur.ini file and reproduce the crash if necessary). The nature of that message makes me suspect something video card/settings/widescreen-related rather than the previously resolved issues.

Infinity Engine Contributions
Aurora * BG1 NPC * BG1 Fixpack * Haiass * Infinity Animations * Level 1 NPCs * P5Tweaks
PnP Free Action * Thrown Hammers * Unique Containers * BG:EE * BGII:EE * IWD:EE
================================================================
Player & Modder Resources
BAM Batcher * Creature Lister * Creature Checker * Creature Fixer * Tutu/BGT Area Map & List * Tutu Mod List
================================================================
"Infinity turns out to be the opposite of what people say it is. It is not 'that which has nothing beyond itself' that is infinite, but 'that which always has something beyond itself'." -Aristotle


#63 Fouinto

Fouinto
  • Member
  • 458 posts

Posted 05 April 2010 - 09:31 AM

i still have this problem frozen cutscene in bridge after a red wizard and two brown ones pop in.. i installed both fixes listed here and still it persists.. i do have a error in chvideo.cpp line 8641 will give weidu logs if needed can someone take a stab at my problem is big install i do have aurora..

Hi,

I have also this problem and this solution works for me.

Hope this helps.

#64 Suslik

Suslik

    Investigator

  • Member
  • 500 posts

Posted 05 June 2010 - 09:52 AM

Arkvisti the Wanderer he just randomly replicates all over the Gaiden castle map and when I attack him the game errors making it impossible to finish the Book quest.

The same issue. What's up with Arkvisti? Here is RA4700.bcs:
IF
	Global("EnteredArea","RA4700",0)
THEN
	RESPONSE #100
		SetGlobal("EnteredArea","RA4700",1)
		ClearAllActions()
		HideGUI()
		StartCutSceneMode()
		StartCutScene("MQCut1")
END

IF
	Global("HaiassJumpOn","GLOBAL",1)
	Global("HaiassSeUne","GLOBAL",1)
	!InActiveArea("haiass")
	!See("haiass")
	!Dead("haiass")
THEN
	RESPONSE #100
		MoveGlobalObject("haiass",Protagonist)
END
looks just fine. what may be the prob?

#65 maximus2001

maximus2001
  • Member
  • 525 posts

Posted 05 June 2010 - 10:28 AM


Arkvisti the Wanderer he just randomly replicates all over the Gaiden castle map and when I attack him the game errors making it impossible to finish the Book quest.

The same issue. What's up with Arkvisti? Here is RA4700.bcs:
IF
	Global("EnteredArea","RA4700",0)
THEN
	RESPONSE #100
		SetGlobal("EnteredArea","RA4700",1)
		ClearAllActions()
		HideGUI()
		StartCutSceneMode()
		StartCutScene("MQCut1")
END

IF
	Global("HaiassJumpOn","GLOBAL",1)
	Global("HaiassSeUne","GLOBAL",1)
	!InActiveArea("haiass")
	!See("haiass")
	!Dead("haiass")
THEN
	RESPONSE #100
		MoveGlobalObject("haiass",Protagonist)
END
looks just fine. what may be the prob?



Ha, I forgot about this one. Although it has nothing to do with the bridge district.

Attached File  Baldr009.bmp   1.37MB   335 downloads

Help, I'm surrounded!

#66 Suslik

Suslik

    Investigator

  • Member
  • 500 posts

Posted 05 June 2010 - 10:56 AM

Well.. Is there any way to deal with it?

#67 Wisp

Wisp
  • Modder
  • 1353 posts

Posted 05 June 2010 - 12:17 PM

If you can use NI you can find the Arkvisti creature, search for references to the creature in scripts (BCS) and find which script creates him. Once you know that, you can post the textual contents of the script and maybe someone will spot the problem.

Edited by Wisp, 05 June 2010 - 12:18 PM.


#68 -Hoppy-

-Hoppy-
  • Guest

Posted 05 June 2010 - 12:32 PM

His script to spawn is in the BALDUR.BCS.

#69 Suslik

Suslik

    Investigator

  • Member
  • 500 posts

Posted 05 June 2010 - 01:11 PM

His script to spawn is in the BALDUR.BCS.

Thanks, that helped a lot. Here we go with that guy's script:
IF
	Global("ENDOFBG1","GLOBAL",2)
	!AreaCheck("TT0010")
	!AreaCheck("TT0070")
	!AreaCheck("TT0100")
	!AreaCheck("TT0102")
	!AreaCheck("Z2BERG")
	!AreaCheck("Z2SCHL")
	!AreaCheck("ZANEGH")
	!AreaCheck("ZBERGE")
	!AreaCheck("ZCLIFF")
	!AreaCheck("ZDREA2")
	!AreaCheck("ZHBERG")
	!AreaCheck("AR3500")
	!AreaCheck("AR3510")
	!AreaCheck("RR3200")
	!AreaCheck("RR3700")
	!AreaCheck("RR4005")
	!AreaCheck("RR9010")
	!AreaCheck("RA3707")
	!AreaCheck("RA3711")
	!AreaCheck("RA4700")
	!AreaCheck("RA4900")
	!AreaCheck("RA5100")
	!AreaCheck("RA5400")
	!AreaCheck("RA5401")
	!AreaCheck("RA5410")
	!AreaCheck("RA5412")
	!AreaCheck("RA5600")
	!AreaCheck("RA5601")
	!AreaCheck("RA5610")
	OR(2)
		Global("StartPeddlerTimer","GLOBAL",0)
		Global("ResetPeddlerTimer","GLOBAL",1)
THEN
	RESPONSE #1
		SetGlobalTimer("PEDDLER","GLOBAL",15000)
		SetGlobal("StartPeddlerTimer","GLOBAL",1)
		SetGlobal("ResetPeddlerTimer","GLOBAL",0)
	RESPONSE #1
		SetGlobalTimer("PEDDLER","GLOBAL",25000)
		SetGlobal("StartPeddlerTimer","GLOBAL",1)
		SetGlobal("ResetPeddlerTimer","GLOBAL",0)
	RESPONSE #1
		SetGlobalTimer("PEDDLER","GLOBAL",35000)
		SetGlobal("StartPeddlerTimer","GLOBAL",1)
		SetGlobal("ResetPeddlerTimer","GLOBAL",0)
	RESPONSE #1
		SetGlobalTimer("PEDDLER","GLOBAL",45000)
		SetGlobal("StartPeddlerTimer","GLOBAL",1)
		SetGlobal("ResetPeddlerTimer","GLOBAL",0)
	RESPONSE #1
		SetGlobalTimer("PEDDLER","GLOBAL",55000)
		SetGlobal("StartPeddlerTimer","GLOBAL",1)
		SetGlobal("ResetPeddlerTimer","GLOBAL",0)
		Continue()
END

IF
	AreaType(OUTDOOR)
	!TimeOfDay(NIGHT)
	!See([ENEMY])
	GlobalTimerExpired("PEDDLER","GLOBAL")
THEN
	RESPONSE #1
		SetGlobal("PeddlerStore","GLOBAL",1)
		CreateCreatureObjectOffScreen("SGPEDD1",Player1,0,0,0) // Arkvisti the Wanderer
		SetGlobal("ResetPeddlerTimer","GLOBAL",1)
	RESPONSE #1
		SetGlobal("PeddlerStore","GLOBAL",2)
		CreateCreatureObjectOffScreen("SGPEDD1",Player1,0,0,0) // Arkvisti the Wanderer
		SetGlobal("ResetPeddlerTimer","GLOBAL",1)
	RESPONSE #1
		SetGlobal("PeddlerStore","GLOBAL",3)
		CreateCreatureObjectOffScreen("SGPEDD1",Player1,0,0,0) // Arkvisti the Wanderer
		SetGlobal("ResetPeddlerTimer","GLOBAL",1)
		Continue()
END

i've just commented the "CreateCreatureObjectOffScreen("SGPEDD1",Player1,0,0,0)" entries and that bastard stopped spawning. that's a temporary solution, of course. could anyone figure out what's wrong with that spawn timers? they seem ok to me.

fxd:
i'm C++ programmer and don't know BG scripting language. what do these lines mean?:
	OR(2)
		Global("StartPeddlerTimer","GLOBAL",0)
		Global("ResetPeddlerTimer","GLOBAL",1)
if it means
if ((..) || (Global("StartPeddlerTimer","GLOBAL",0) && Global("ResetPeddlerTimer","GLOBAL",1))){}
it should be a mistake, because "ResetPeddlerTimer" may be "1" but "StartPeddlerTimer" may remain "1"(it's not reset in next if-block with arkvisti spawning), so i think we should add a line
SetGlobal("StartPeddlerTimer","GLOBAL",0)
just after
SetGlobal("ResetPeddlerTimer","GLOBAL",1)
fxd2: well, that did not help.SetGlobal("StartPeddlerTimer","GLOBAL",0) is not enough. i think i'll just leave arkvisti disabled for now.

Edited by Suslik, 05 June 2010 - 01:25 PM.


#70 Miloch

Miloch

    Barbarian

  • Modder
  • 6579 posts

Posted 05 June 2010 - 01:51 PM

Well.. Is there any way to deal with it?

Yeah, don't install MunchMod :D.

It should've added 2 blocks to your baldur.bcs with the PEDDLER variable. Delete those and recompile the script. I suppose it could be fixed with putting a Global("ResetPeddlerTimer","GLOBAL",0) before the THEN in the 2nd block to make sure it doesn't loop (can also be fixed in Munchmod/snip/sbaldur.baf before installing the mod, if you must have it).

Not sure what this has to do with the Bridge District either though. Folks afraid of starting new posts in this forum or something? :P

Infinity Engine Contributions
Aurora * BG1 NPC * BG1 Fixpack * Haiass * Infinity Animations * Level 1 NPCs * P5Tweaks
PnP Free Action * Thrown Hammers * Unique Containers * BG:EE * BGII:EE * IWD:EE
================================================================
Player & Modder Resources
BAM Batcher * Creature Lister * Creature Checker * Creature Fixer * Tutu/BGT Area Map & List * Tutu Mod List
================================================================
"Infinity turns out to be the opposite of what people say it is. It is not 'that which has nothing beyond itself' that is infinite, but 'that which always has something beyond itself'." -Aristotle


#71 Wisp

Wisp
  • Modder
  • 1353 posts

Posted 05 June 2010 - 03:32 PM

fxd:
i'm C++ programmer and don't know BG scripting language. what do these lines mean?:

	OR(2)
		Global("StartPeddlerTimer","GLOBAL",0)
		Global("ResetPeddlerTimer","GLOBAL",1)

OR(n) means any of the n following triggers can be true.

#72 Suslik

Suslik

    Investigator

  • Member
  • 500 posts

Posted 07 June 2010 - 09:13 AM

Hell with it! Why it isn't working? I've been thinking what may be wrong with arkvisti spawning code, but it seems ok to me. it works like SetGlobalTimer("PEDDLER","GLOBAL",pewpew) simply does not work! Another syntax-related question: what does RESPONSE #1 mean?

#73 Miloch

Miloch

    Barbarian

  • Modder
  • 6579 posts

Posted 08 June 2010 - 10:00 AM

what does RESPONSE #1 mean?

It's relative weighting with respect to other RESPONSEs in the same block, meaning each one fires 20% of the time if there are 5 RESPONSE #1s. You'd need a RESPONSE #95 NoAction() or Continue() for them to fire roughly 1% of the time, if that's what was intended (not sure what the modder wanted). But if there's nothing to prevent the blocks looping, they're going to fire pretty much continuously anyway. Did you add the fix I indicated (put a Global("ResetPeddlerTimer","GLOBAL",0) before the THEN in the 2nd block)?

Infinity Engine Contributions
Aurora * BG1 NPC * BG1 Fixpack * Haiass * Infinity Animations * Level 1 NPCs * P5Tweaks
PnP Free Action * Thrown Hammers * Unique Containers * BG:EE * BGII:EE * IWD:EE
================================================================
Player & Modder Resources
BAM Batcher * Creature Lister * Creature Checker * Creature Fixer * Tutu/BGT Area Map & List * Tutu Mod List
================================================================
"Infinity turns out to be the opposite of what people say it is. It is not 'that which has nothing beyond itself' that is infinite, but 'that which always has something beyond itself'." -Aristotle


#74 Suslik

Suslik

    Investigator

  • Member
  • 500 posts

Posted 09 June 2010 - 01:37 PM

It's relative weighting with respect to other RESPONSEs in the same block, meaning each one fires 20% of the time if there are 5 RESPONSE #1s. You'd need a RESPONSE #95 NoAction() or Continue() for them to fire roughly 1% of the time, if that's what was intended (not sure what the modder wanted). But if there's nothing to prevent the blocks looping, they're going to fire pretty much continuously anyway.

ok, thanks. understood.

Did you add the fix I indicated (put a Global("ResetPeddlerTimer","GLOBAL",0) before the THEN in the 2nd block)?

i've tried a couple of fixes myself, but due to unknown reasons they did not work. but no, i did not tried to add this fix. what should it theoretically change? i can not figure out a situation, when this script may get into an endless loop: every time CreateCreatureObjectOffScreen is executed, "ResetPeddlerTimer" is set to 1, and the next cycle loop SetGlobalTimer will be executed without any conditions. so until the timer expires, GlobalTimerExpired will return false and arkvisti spawning code can not be executed. what may be the mistake? do BG scripts always run as they are intended to? i mean is the code always executed precisely without any glitches?

#75 Wisp

Wisp
  • Modder
  • 1353 posts

Posted 09 June 2010 - 01:52 PM

Basically, the block that created the creature had one condition: is the timer expired? If it was expired, the creature would be created multiple times. By adding the condition that some variable should also be 0 and setting the same variable to 1 when the creature is created, it is just created once, because the second time the timer is either not expired (because it's been reset by the block above) or the variable is 1. With the second condition in place, the creature will be created multiple times as well, but only as often as the timer expires and only once per timer-is-expired.

But maybe someone should prefix the variables (PEDDLER, Start and Reset) while they are at it?

#76 Suslik

Suslik

    Investigator

  • Member
  • 500 posts

Posted 09 June 2010 - 04:06 PM

If it was expired, the creature would be created multiple times.

It is created once per script cycle, right? and right after it is created, "ResetPeddlerTimer" is set to 1. So, the next script execution cycle SetGlobalTimer("PEDDLER","GLOBAL",15000) will be called regardless of other circumstances. It will cause spawning timer to be reset and creature will not be spawned again until the timer is expired.

Where am i mistaken? I mean it's possible to add a couple of additional failsafe checks, to ensure that arkvisti is not spawned more than once per timer expiration, but it seems more important to me to know why the script does not work as it is, to prevent similar mistakes in future.

#77 Miloch

Miloch

    Barbarian

  • Modder
  • 6579 posts

Posted 09 June 2010 - 04:49 PM

no, i did not tried to add this fix. what should it theoretically change?

It keeps it from looping and therefore from spawning more than once in theory. Someone should probably throw a !Exists("elmin02") in there as well (yes, that's his scripting variable for some odd reason) and maybe a death check too. But I still think the best idea is just not to install the mod in the first place :P.

Infinity Engine Contributions
Aurora * BG1 NPC * BG1 Fixpack * Haiass * Infinity Animations * Level 1 NPCs * P5Tweaks
PnP Free Action * Thrown Hammers * Unique Containers * BG:EE * BGII:EE * IWD:EE
================================================================
Player & Modder Resources
BAM Batcher * Creature Lister * Creature Checker * Creature Fixer * Tutu/BGT Area Map & List * Tutu Mod List
================================================================
"Infinity turns out to be the opposite of what people say it is. It is not 'that which has nothing beyond itself' that is infinite, but 'that which always has something beyond itself'." -Aristotle