# LoadVars conspiracy - must be defeated

**URL:** <https://forum.kirupa.com/t/loadvars-conspiracy-must-be-defeated/254854>\
**Category:** flash\
**Created:** [March 16, 2008, 10:37am UTC](https://forum.kirupa.com/t/loadvars-conspiracy-must-be-defeated/254854 "2008-03-16T10:37:30Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Quarky](https://avatars.discourse-cdn.com/v4/letter/q/ba8739/32.png) [@Quarky](https://forum.kirupa.com/u/Quarky)\
**Post date:** [March 16, 2008, 10:37am UTC](https://forum.kirupa.com/t/loadvars-conspiracy-must-be-defeated/254854/1 "2008-03-16T10:37:30Z")

</div>

Believe in Bigfoot? Well, I swear I’ve seen a big hairy LoadVar running of and refusing to give up any of his variables. Here’s my evidence:

Here’s how things should work:

------ example code start -----

var testVar = “initial”;

function alter(){  
testVar = “changed”;  
}

alter();  
trace(testVar);

------ example code end -----

testVar in this case traces as “changed”. All well and good. No hairy beasts found.

Lets see what happens if I call function alter() within a loadVars function:

------ example code start -----

ar testVar = “initial”;

function alter(){  
testVar = “changed”;  
}

server = new LoadVars();  
server.onLoad = function(ok){

```
if (!ok) return trace("Server error!");
alter();

```

}

server.load(“mypath.php”);

trace(testVar);

------ example code end -----

You’d expect testVar to equal “changed”, right? Well it doesn’t. It equals “initial”. I don’t know what your beliefs are, but that’s looking pretty hairy to me. Here’s some more testing:

------ example code start -----

var testVar = “initial”;

function alter(){  
testVar = server.valid;  
trace("testVar within alter function is: "+testVar);  
testOutput = “should have a value”;  
}

function simplealter(){  
testVarTwo = “changed”;

}

server = new LoadVars();  
server.onLoad = function(ok){

```
if (!ok) return trace("Server error!");
alter(server.valid); //server.valid == 0 for your information
trace("server.valid is: "+server.valid);
simplealter();

```

}

server.load(“mypath.php”);

trace("testVar in the end is: "+testVar);  
trace("testOutput in the end is: "+testOuput);  
trace("testVarTwo in the end is: "+testVarTwo);

------ example code end -----

Here’s what all this outputs:

testVar in the end is: initial  
testOutput in the end is: undefined  
testVarTwo in the end is: undefined  
testVar within alter function is: 0  
server.valid is: 0

the motto of the story is - you can’t use what you load with load vars outside of a function. Unless you know the secret sauce!.. help please. This one is killing me. Plus I don’t like to get into conspiracy theories.
