jastey Posted February 16, 2017 Share Posted February 16, 2017 I see this in the v10 tp2: // Waukeen's Promenade script loop fix (Nythrun) COPY_EXISTING ar0700.bcs override DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~^\( GlobalTimerExpired("Bystander","GLOBAL")\)~ ~\1 OR(2) InMyArea("bystand1") InMyArea("bystand2")~ COMPILE_BAF_TO_BCS BUT_ONLY I am confused: I thought 'InMyArea()' wouldn't work / make sense in an area script? Link to comment
jastey Posted February 16, 2017 Author Share Posted February 16, 2017 Roxanne: May I aks why you delete the content of your post completely? Did you post something you now think would be wrong and you don't bother letting us in to your (second) thoughts or is there another reason I am not aware of? Link to comment
Roxanne Posted February 16, 2017 Share Posted February 16, 2017 Roxanne: May I aks why you delete the content of your post completely? Did you post something you now think would be wrong and you don't bother letting us in to your (second) thoughts or is there another reason I am not aware of? It was an error, I did not check the headline that this topic is for BG2 not BG2EE/EET, sorry. I checked my ToB save (from EET) and saw the bystanders are removed at some time. I would use InActiveArea in an area script, but I think this is because of different intention, i.e. expecting things to happen as soon as possible, while removing bystanders is not a time critical thing. Link to comment
jastey Posted February 16, 2017 Author Share Posted February 16, 2017 InActiveArea() would also work, as the Player1 has to be in AR0700, too (no way for NPCs to enter the area without the protagonist, although I am not sure what yould happen if player1 is inside a building). I am still confused about the use of InMyArea() in an area script, though. Link to comment
Roxanne Posted February 16, 2017 Share Posted February 16, 2017 InActiveArea() would also work, as the Player1 has to be in AR0700, too (no way for NPCs to enter the area without the protagonist, although I am not sure what yould happen if player1 is inside a building). I am still confused about the use of InMyArea() in an area script, though. Sorry, InActiveArea() does not work here - it causes a CtD. It only works if the creature that is referenced is made a Global. This one works in the given case: 0x400D Exists(O:Object*) Returns true only if the specified object exists in the current area (note that dead creatures can still be counted as existing). IF GlobalTimerExpired("Bystander","GLOBAL") OR(2) Exists("bystand1") InMyArea("bystand2") THEN RESPONSE #100 ActionOverride("bystand1",EscapeArea()) ActionOverride("bystand2",EscapeArea()) END Link to comment
jastey Posted February 16, 2017 Author Share Posted February 16, 2017 Yes, Exists() is what I would expect here. Hopefully someone who feels responsible for the Fixpack takes a look at this and changes it / maybe even still knows how it came to be (because I really think InMyArea() doesn't work here). With InActiveArea() I have no experience. Is it in some way better than Exists()? Link to comment
Roxanne Posted February 16, 2017 Share Posted February 16, 2017 Yes, Exists() is what I would expect here. Hopefully someone who feels responsible for the Fixpack takes a look at this and changes it / maybe even still knows how it came to be (because I really think InMyArea() doesn't work here). It is how it is coded in BG2EE and it works there - so probably copied from there into fixpack. With InActiveArea() I have no experience. Is it in some way better than Exists()? It only works for creatures that are made Global (and a CtD is hard punishment for using it wrong). However, if used correctly it e.g. spawns a missing NPC with Global instantaneously, like e.g. a companion type creature IF Global("HaiassJumpOn","GLOBAL",1) !InActiveArea("haiass") !See("haiass") !Dead("haiass")THEN RESPONSE #100 MoveGlobalObject("haiass",Protagonist)END Link to comment
CamDawg Posted June 4, 2017 Share Posted June 4, 2017 Changed to Exists triggers for v11 Beta 1. Link to comment
Recommended Posts
Archived
This topic is now archived and is closed to further replies.