cmorgan Posted November 29, 2007 Share Posted November 29, 2007 And a quick check (then i gotta go back to work, as i just ran home to walk the dogs) is this: GLOBAL p#coran_complains is referenced only 1 times. LOCALS coran_complains is referenced only 1 times. yet in my search, Searching for: coran_complains BG1NPC\documents\BG1NPCVarIndex.htm(4106): <td>P#Coran_Complains</td> BG1NPC\phase1\baf\x#coran1.baf(251): RealSetGlobalTimer("P#Coran_Complains","GLOBAL",14400) BG1NPC\phase1\baf\x#coran1.baf(256): RealGlobalTimerExpired("P#Coran_Complains","GLOBAL") Found 3 occurrence(s) in 2 file(s) So I need to find out why the text search of the project files is not turning up this (for example) as either a statename or as a GLOBAL or LOCAL, but it is being created and only referenced once... Link to comment
Kulyok Posted November 29, 2007 Share Posted November 29, 2007 This is what CamDawg was talking about with the statename variables, too - when we (meaning 99% of the i.e. modding world) name a CHAIN state or interjection <<something>> and then set X#<<something>> we are actually duplicating effort, because the materials set a global. Wait, wait, *CHAIN* sets a global? How come? (And if it's so, how come CHAINs without a blocking variable loop?) Link to comment
cmorgan Posted November 29, 2007 Share Posted November 29, 2007 [EDIT: I HAVE to be wrong about CHAIN... a test case shows no variable is created as far as I can tell...] I will have to research, but it goes like this: I_C_T of any variety is processed in such a way that it creates a variable out of the statename given: ///* Beregost - Karlat */ I_C_T ~%tutu_var%KARLAT~ 0 X#AjantisKarlat == ~%AJANTIS_JOINED%~ IF ~InParty("ajantis") InMyArea("ajantis") !StateCheck("ajantis",CD_STATE_NOTVALID)~ THEN @226 END creates the variable X#AjantisKarlat and advances it to 1. That way it opens and closes it all at once. From here on in, it gets murky, and I will have to follow up with some research, and ask CamDawg, devSin, and everyone else to correct me... I *think* the message from CamDawg was that CHAIN is an extension of I_C_T. So, supposedly, it creates a variable, just like I_C_T1,2,3,4 does. Let me do some searches - I am under the impression that there are even more circumstances in which statenames become GLOBAL or LOCALS values, and that we are simply not taking advantage of them - be back in a bit... NOPE: I have to be understanding something wrong. Lots of the variables in that list of Miloch's without prefixes are indeed created by I_C_T variants, but I can't find matching ones for the CHAIN constructs, so I have to be misunderstanding him - I am going to have to test this weekend. And I am getting a bit confused, too. When I look at the list, I see a LOCALS/GLOBAL protential problem: LOCALS ajandestroyboxt GLOBAL x#ajandestroyboxt but a search turns up no statenames matching, and nothing setting a LOCALS: Searching for: ajandestroybox BG1NPC\documents\BG1NPCVarIndex.htm(5941): <td>X#AjanDestroyBox</td> BG1NPC\documents\BG1NPCVarIndex.htm(5948): <td>X#AjanDestroyBoxT</td> BG1NPC\phase1\baf\x#ajantis1.baf(157): GlobalTimerExpired("X#AjanDestroyBoxT","GLOBAL") BG1NPC\phase1\baf\x#ajantis1.baf(159): Global("X#AjanDestroyBox","GLOBAL",0) BG1NPC\phase1\baf\x#ajantis1.baf(163): SetGlobal("X#AjanDestroyBox","GLOBAL",1) BG1NPC\phase1\dlg\x#ajantis.d(365): IF ~~ THEN DO ~SetGlobalTimer("X#AjanDestroyBoxT","GLOBAL",FIVE_DAYS) SetGlobal("X#AjanSafanasBox","GLOBAL",3)~ EXIT Found 6 occurrence(s) in 3 file(s) the relevant dialogue: IF ~Global("X#AjanSafanasBox","GLOBAL",2)~ THEN safanas_box SAY @219 ++ @220 + safanas_box_01 ++ @221 + safanas_box_05 ++ @222 + safanas_box_01 ++ @223 + safanas_box_07 END IF ~~ THEN safanas_box_01 SAY @224 IF ~~ THEN + safanas_box_06 END IF ~~ THEN safanas_box_02 SAY @225 IF ~~ THEN + safanas_box_03 END IF ~~ THEN safanas_box_03 SAY @226 IF ~~ THEN DO ~SetGlobalTimer("X#AjanDestroyBoxT","GLOBAL",FIVE_DAYS) SetGlobal("X#AjanSafanasBox","GLOBAL",3)~ EXIT END So what specific functions of WeiDU generate variables as LOCALS or GLOBAL? Link to comment
Miloch Posted November 30, 2007 Share Posted November 30, 2007 So I need to find out why the text search of the project files is not turning up this (for example) as either a statename or as a GLOBAL or LOCAL, but it is being created and only referenced once...I dunno, it's weird, I get the same thing. I'm thinking it's either a bug in DLTCEP or the engine working in strange ways. It seems it will set variables in some cases as the variable name as everything after the #. I've long loathed prefixes with the # in it, as it designates a bookmark in HTML and possibly does other weird things in other scripting languages. I'll ask Avenger about it. Looking at some of these other variables like aca, dca etc. - they look like mine (minus my prefix of t-). I like 'em short and sweet - saves memory, reduces lag. Though I thought I changed these to start with x#. It doesn't matter a whole lot since they're LOCALS, but I'll look into it. Link to comment
cmorgan Posted December 17, 2007 Share Posted December 17, 2007 Got some of these tracked down (thanks, Miloch!!!) and noticed something: Searching for: xannoticerain BG1NPC\phase2\baf\p#xance.baf(11): SetGlobalTimer("X#XanNoticeRain","GLOBAL",10) BG1NPC\phase2\baf\p#xance.baf(19): GlobalTimerExpired("X#XanNoticeRain","GLOBAL") BG1NPC\documents\BG1NPCVarIndex.htm(18078): <td>X#XanNoticeRain</td> Found 3 occurrence(s) in 2 file(s) yet LOCALS XanNoticeRain (does not show up anywhere except DLTCEP.) I am going to take a look at NI.... perhaps the SGT is setting a LOCALS variable? Link to comment
Miloch Posted December 17, 2007 Share Posted December 17, 2007 I think it's the same bug as reported here. I'll bump that topic since it should help you troubleshoot these variables if that feature's fixed. Link to comment
Recommended Posts
Archived
This topic is now archived and is closed to further replies.