Jump to content


Photo

No trolls at firewine


  • Please log in to reply
11 replies to this topic

#1 mildImp

mildImp
  • Member
  • 242 posts

Posted 29 October 2004 - 09:26 AM

SirBB, I can see in the area script the bit that spans these baddies, but it never happend for me. The condition in the script indicates that an area variable DS_MoreStooges must be set to 0. Where can I find area variable settings?

I am running my game on the insane setting. I went through the firewine dungeon first from Gullykin village and came out at firewine bridge area. Is it possible that going that way puts you in a different area? Ill look more closely at this.

One more thing, as I believe I stated in earlier posts, I am running a game that was originally started with DSotsc v1 but was patched to v2 before getting to the firewine bridge area.


Also, whats the deal with the ImoenFIRE var? Is that stuff from BG1NPC mod? I didnt see that stuff happen either my ImoenFIRE was set to 2 when I checked.

Edited by mildImp, 29 October 2004 - 09:56 AM.


#2 Sir BillyBob

Sir BillyBob
  • Modder
  • 5315 posts

Posted 29 October 2004 - 10:17 AM

ImoenFire is a BG1NPC variable. It is to trigger near "Poe" so she will comment about the bridge.

The area script ran fine for me. To check an area variable, use CLUA to do a "GetGlobal("DS_MoreStooges","AR3400") and it will tell you what number that variable is now at. It should be set to 1 if it ran the block of script. You should get hobgoblins and trolls appearing throughout the area.

Tired of Bhaal? Try some classics mods instead:
Classic Adventures
Official Classic Adventures Website


#3 mildImp

mildImp
  • Member
  • 242 posts

Posted 29 October 2004 - 11:18 AM

How is the DS_MoreStooges var initialized to 0 in the first place? I have a previous game saved, and want to make sure it even exists and is set to 0.

Is there a way I can check that variable setting in NI? I just can't run the game right now (im at work :blush: shhhhhh).

Also, as I look at the part of the script that deals with the ImoenFIRE var (btw, I did get that dialog from her), I dont understand the CreateCreature("Cutspy"... bit. I didnt see any new actor and thats why I was asking.

Thanks for you explainations.


[EDIT]
OK, I checked the DS_MoreStooges for AR3400 by typing:
CLUAConsole:GetGlobal("DS_MoreStooges", "AR3400") from a point in the game after I explored firewine bridge and dungeon and got the following response:
Global: DS_MORESTOOGES AR3400

What does that mean? Maybe its not set? Im going to try from a saved point before I went to firewine.

[EDIT]
Same result in a game before I explored firewine bridge, but after I applied the latest DSotsc patch. I just wonder if the var is ever getting set to 0. It seems to me that I dont have that variable set at all.

[EDIT]
OK, I figured maybe you have to run this command while in the area, so I did and I got the following:
Global: DS_MORESTOOGES AR3400Does not exist
This is at a point after I had explored firewine. I will try a point before in a while, got to go run an errand. My question still stands, is it possible this var is not getting set? Cause I can see where it would be and it doesnt seem to be in my game.

Edited by mildImp, 29 October 2004 - 03:11 PM.


#4 Sir BillyBob

Sir BillyBob
  • Modder
  • 5315 posts

Posted 29 October 2004 - 03:38 PM

Since this is a variable only seen within that area, you do have to run the get command while within the area. Just like a Locals variable has to know which person you are asking about (that is why you have the mouse over that person).

If it does not exist, then the script block didn't run. Sounds like that block of code isn't in the area script. Which is weird because you obviously have looked at the script to know what the global was.

Globals that are not defined yet are automatically set to 0 for comparisons. Also, in BH, I have a few comparisons looking for anything else than 1 because I kept getting inconsistant global changes in scripts making me think this rule has exceptions.

Anyway, I am not sure why the code block didn't run for you since the BG1NPC code block did run. The area sees the area script. The only other option is that you had been to this location before adding the DSotSC patch and so the code block won't run now. I don't see any other reason for this problem.

Try this:

Build a new character, and CLUA to the area (AR3400). Move around the top and bottom areas of the bridge and see if you find any trolls. If not, something else is wrong. If you do, the above reasoning is why you don't see the trolls now.

Tired of Bhaal? Try some classics mods instead:
Classic Adventures
Official Classic Adventures Website


#5 mildImp

mildImp
  • Member
  • 242 posts

Posted 29 October 2004 - 04:29 PM

The code is definately in the script. I will try what you suggested.

#6 mildImp

mildImp
  • Member
  • 242 posts

Posted 29 October 2004 - 04:45 PM

OK did as you asked. No trolls or hobgob elites anywhere. Could it have to do with the fact that Im on the insane difficulty level? From looking at the area script it would seem not.

#7 mildImp

mildImp
  • Member
  • 242 posts

Posted 29 October 2004 - 05:02 PM

I think found the problem. Below is my bcs for this area:

IF
Global("ImoenFIRE","GLOBAL",0)
Global("ImCuts","AR3400",0)
THEN
RESPONSE #100
SetGlobal("ImCuts","AR3400",1)
CreateCreature("cutspy",[1506.786],3) // No such index
CreateCreature("cutspy",[3327.2111],3) // No such index
END

IF
Global("ImoenFIRE","GLOBAL",2)
THEN
RESPONSE #100
ActionOverride("cutspy",DestroySelf())
END

IF
OnCreation()
Global("DS_MoreStooges","AR3400",0)
!Difficulty(EASIEST)
THEN
RESPONSE #100
SetGlobal("DS_MoreStooges","AR3400",1)
CreateCreature("TROLL01",[1776.119],0) // Troll
CreateCreature("TROLL01",[1788.146],0) // Troll
CreateCreature("HOBELITE",[1819.176],12) // Hobgoblin Elite
CreateCreature("HOBELITE",[1888.100],12) // Hobgoblin Elite
CreateCreature("TROLL01",[4313.2216],4) // Troll
CreateCreature("TROLL01",[4343.2236],4) // Troll
CreateCreature("HOBELITE",[4411.2291],4) // Hobgoblin Elite
CreateCreature("TROLL01",[4731.1357],3) // Troll
CreateCreature("TROLL01",[4775.1348],0) // Troll
CreateCreature("TROLL01",[4836.1335],0) // Troll
CreateCreature("HOBELITE",[1923.145],0) // Hobgoblin Elite
CreateCreature("HOBELITE",[1962.246],0) // Hobgoblin Elite
CreateCreature("HOBELITE",[1948.346],0) // Hobgoblin Elite
CreateCreature("HOBELITE",[1592.42],12) // Hobgoblin Elite
CreateCreature("TROLL01",[700.3391],0) // Troll
CreateCreature("TROLL01",[768.3418],9) // Troll
CreateCreature("TROLL01",[855.3458],5) // Troll
CreateCreature("TROLL01",[1692.1668],12) // Troll
CreateCreature("TROLL01",[1757.1705],4) // Troll
CreateCreature("TROLL01",[1497.1718],0) // Troll
END

IF
Global("ImoenFIRE","GLOBAL",0)
Global("ImCuts","AR3400",0)
THEN
RESPONSE #100
SetGlobal("ImCuts","AR3400",1)
CreateCreature("cutspy",[1506.786],3) // No such index
CreateCreature("cutspy",[3327.2111],3) // No such index
END

IF
Global("ImoenFIRE","GLOBAL",2)
THEN
RESPONSE #100
ActionOverride("cutspy",DestroySelf())
END

As you can see the if/thens for the Imoen dialog is duplicated one set at the top one at the bottom. Honestly, I didnt think this made any difference and I assume this has occured because I have uninstalled a weidu component and the BG1NPC tp2 just shoved another copy of its script into this one. I removed the first script chunk so the script now looks like this: Saved, recompiled and shazam...I see trolls.

So, whats the deal? I thought duplicate script code was really no biggy (other than you might get duplicate actors). Do you see the reason this is occuring? Anyone...

More than anything Im just interested in understanding.

IF
OnCreation()
Global("DS_MoreStooges","AR3400",0)
!Difficulty(EASIEST)
THEN
RESPONSE #100
SetGlobal("DS_MoreStooges","AR3400",1)
CreateCreature("TROLL01",[1776.119],0) // Troll
CreateCreature("TROLL01",[1788.146],0) // Troll
CreateCreature("HOBELITE",[1819.176],12) // Hobgoblin Elite
CreateCreature("HOBELITE",[1888.100],12) // Hobgoblin Elite
CreateCreature("TROLL01",[4313.2216],4) // Troll
CreateCreature("TROLL01",[4343.2236],4) // Troll
CreateCreature("HOBELITE",[4411.2291],4) // Hobgoblin Elite
CreateCreature("TROLL01",[4731.1357],3) // Troll
CreateCreature("TROLL01",[4775.1348],0) // Troll
CreateCreature("TROLL01",[4836.1335],0) // Troll
CreateCreature("HOBELITE",[1923.145],0) // Hobgoblin Elite
CreateCreature("HOBELITE",[1962.246],0) // Hobgoblin Elite
CreateCreature("HOBELITE",[1948.346],0) // Hobgoblin Elite
CreateCreature("HOBELITE",[1592.42],12) // Hobgoblin Elite
CreateCreature("TROLL01",[700.3391],0) // Troll
CreateCreature("TROLL01",[768.3418],9) // Troll
CreateCreature("TROLL01",[855.3458],5) // Troll
CreateCreature("TROLL01",[1692.1668],12) // Troll
CreateCreature("TROLL01",[1757.1705],4) // Troll
CreateCreature("TROLL01",[1497.1718],0) // Troll
END

IF
Global("ImoenFIRE","GLOBAL",0)
Global("ImCuts","AR3400",0)
THEN
RESPONSE #100
SetGlobal("ImCuts","AR3400",1)
CreateCreature("cutspy",[1506.786],3) // No such index
CreateCreature("cutspy",[3327.2111],3) // No such index
END

IF
Global("ImoenFIRE","GLOBAL",2)
THEN
RESPONSE #100
ActionOverride("cutspy",DestroySelf())
END

#8 CamDawg

CamDawg

    ALL GLORY TO THE HYPNOTOAD

  • Modder
  • 1505 posts

Posted 29 October 2004 - 05:57 PM

It's the OnCreation() trigger that's causing problems--if it's not in the first block returning true in an area script, it evaluates to false. As it's not needed in that script block and there's a variable to prevent looping, it can be safely removed and everything will be playing nicely once again.

Why is this Hypnotoad video so popu... ALL GLORY TO THE HYPNOTOAD.
____
The Gibberlings Three - Home of IE Mods

The BG2 Fixpack - All the fixes of Baldurdash, plus a few hundred more. Now available, with more fixes being added in every release.


#9 mildImp

mildImp
  • Member
  • 242 posts

Posted 29 October 2004 - 06:45 PM

That makes sense to me. But it does seem that with out the OnCreation() trigger, you would get these baddies respawned everytime you entered the area. Is that not true?

#10 hlidskialf

hlidskialf

    Incarnation of the Eternal Ale Warrior

  • Modder
  • 2510 posts

Posted 29 October 2004 - 07:14 PM

That makes sense to me.  But it does seem that with out  the OnCreation() trigger, you would get these baddies respawned everytime you entered the area.  Is that not true?

View Post


No, as the variable DS_MoreStooges has been set to one, so the block will no longer evaluate to True(). That's what CamDawg meant about a variable being set to prevent looping.

The great wolf Fenrir gapes ever at the dwelling of the gods.


#11 mildImp

mildImp
  • Member
  • 242 posts

Posted 29 October 2004 - 07:25 PM

Obviously :blush: Should have read his comments a little more closely. Thanks everyone for the info.

#12 Sir BillyBob

Sir BillyBob
  • Modder
  • 5315 posts

Posted 30 October 2004 - 06:00 AM

Well, this is what I get for copying Horred's code. :)

I have pulled the OnCreation() from other scripts because they weren't working (now I know why) but I must have missed this one. Now fixed.

I am building up a verison 1.0 of the game now. Just testing the TP2 install last night and today I will run through the mod with the new S&H v3 patch.

Tired of Bhaal? Try some classics mods instead:
Classic Adventures
Official Classic Adventures Website