Reply to Returning values from external
If you don't have an account, just leave the password field blank.
You can return values when calling a function in another script using external.
It's 2am but I feel this is amazing and should be shared! Immediately!
For some reason this only appears to work when using &return.
Dink will say, as expected, "123", "124", "130".
If you assign to a variable as usual, it won't work:
Weird things will happen: Dink will say "wut" and nothing else. The script execution seems to skip to the line after all these external() calls and then continue. Why the say_stop's in between don't happen I have no idea.
Tested in 1.08, Freedink 109.6 and Dink HD.
I am way too excited about this (probably because it's 2am... I mean 2.45...)
It's 2am but I feel this is amazing and should be shared! Immediately!
For some reason this only appears to work when using &return.
// Script test.c
external("test2", "thingy");
say_stop("&return", 1);
external("test2", "thingy", 1);
say_stop("&return", 1);
external("test2", "thingy", 7);
say_stop("&return", 1);
// Script test2.c
void thingy (void)
{
int &t;
&t = 123;
&t += &arg1;
return(&t);
}Dink will say, as expected, "123", "124", "130".
If you assign to a variable as usual, it won't work:
// Script test.c
int &temp;
&temp = external("test2", "thingy");
say_stop("&temp", 1);
&temp = external("test2", "thingy", 1);
say_stop("&temp", 1);
&temp = external("test2", "thingy", 7);
say_stop("&temp", 1);
say_stop("wut", 1);Weird things will happen: Dink will say "wut" and nothing else. The script execution seems to skip to the line after all these external() calls and then continue. Why the say_stop's in between don't happen I have no idea.
Tested in 1.08, Freedink 109.6 and Dink HD.
I am way too excited about this (probably because it's 2am... I mean 2.45...)







