GetRandomArgument is gone but the new method doesn't work in GSE.
semisacred opened this issue · 9 comments
with GetRandomArgument gone, I've turned to the following code:
/run local t={"insert something funny","insert something vaguely insulting","insert question re parentage","ask whether they’ve had a blow to the head","etc"}SendChatMessage(t[random(#t)],"YELL")
this works as a normal macro but not in GSE. The lua error:
Message: [string "local t=SendChatMessage(t[random(#t)],"YELL..."]:1: attempt to get length of global 't' (a nil value)
actually, I think the error is that the above code won't save like that and gets shortened to just:
/run local t=SendChatMessage(t[random(#t)],"YELL")
This game is made much more entertaining when I can spout off random shit with a much higher character limit. GSE is a fantastic addon and I thank you very much for it.
It's never going to work in GSE. Its outside the space where GSE can operate. The line is too long and your missing a ;
You could however write this as a Variable.
on the variable part try something like:
function()
local t={"insert something funny","insert something vaguely insulting","insert question re parentage","ask whether they’ve had a blow to the head","etc"}
return t[random(#t)]
end
and then in the macro put
/run SendChatMessage("~~VARIBLENAME~~","YELL")
You can test the variable returns a different value by testing the variable in the editor.
you might also need to use ' instead of " or matching [[ ]] tags. The use of " might be causing the issue.
thanks for the huge and timely help! so far using the variable is working to an extent. using the test variable gives a random string as expected but when I use the macro it doesn't seem to recalculate the variable if that makes sense. It will select a string randomly but then it will keep giving that same string over and over. I need to tell it to recalculate the variable every time I use the macro somehow. I will experiment with ' and [[ ]] next.
RNG could just be being RNG - It may also be that GSE is "locked" in combat. I use the t[random(#t)]
syntax in GSE's random function and it works.
Looking at Lua further there is another syntax of return t[random(1, #t)] that might be more explicit.
/run local t={'insert something funny','insert something vaguely insulting','insert question re parentage','ask whether they’ve had a blow to the head','etc'};SendChatMessage(t[random(#t)],'YELL')
might work as a one liner - i changed the "'s to ' and added in the missing ; It also needs to be a single line when you copy and paste it ensuring the ' are ' and not `
yeah I just can't seem to get anything to properly work. So close with the variable working but just for some reason not randomizing when you actually use the macro. I think I'm actually making this harder than it needs to be. I'll just restructure my macros to be on separate lines and use your random line function. Probably should have done that in the first place. Thanks for the help!
All working after a bit of busywork :P