Reply to Re: New *WORKING* cross-platform editor
If you don't have an account, just leave the password field blank.
As for gotos into other functions:
This makes Dink say "Hey 5" followed by "Bye 5".
This makes Dink say "Hey &blah" followed by "Bye 5". Once you know what's going on, this isn't too surprising. Only the engine and the run_script_by_number() function can call procedures of existing script instances. Any other procedure call launches a new script instance.
Sadly, run_script_by_number(¤t_script,"proc") *will* run the procedure, make Dink say 5 instead of the variable name, but it won't return back to the code it came from.
In short: custom procedure calls launch a new script instance, with no local variables in scope. More scoping fun:
First talking: Dink says "&blah".
Hitting: No visible effect.
Second talking: Dink says "5".
void main( void )
{
int &blah = 5;
}
void talk( void )
{
goto proc;
procend:
say_top("Bye &blah",1);
}
void proc( void )
{
proc:
say_stop("Hey &blah",1);
goto procend;
}
This makes Dink say "Hey 5" followed by "Bye 5".
void main( void )
{
int &blah = 5;
}
void talk( void )
{
proc();
say_top("Bye &blah",1);
}
void proc( void )
{
say_stop("Hey &blah",1);
}
This makes Dink say "Hey &blah" followed by "Bye 5". Once you know what's going on, this isn't too surprising. Only the engine and the run_script_by_number() function can call procedures of existing script instances. Any other procedure call launches a new script instance.
Sadly, run_script_by_number(¤t_script,"proc") *will* run the procedure, make Dink say 5 instead of the variable name, but it won't return back to the code it came from.
In short: custom procedure calls launch a new script instance, with no local variables in scope. More scoping fun:
void hit( void )
{
int &blah = 5;
}
void talk( void )
{
say_stop("&blah",1);
}
First talking: Dink says "&blah".
Hitting: No visible effect.
Second talking: Dink says "5".







