The problem has nothing to do with concatenation, even though you're doing that wrong in your example. The problem is that a static popup is only defined once, but the OP wants the text it displays to changable. Fortunately, there are several simple solutions available.
#1 - Your text can include up to 2 formatting tokens, and you can pass up to 2 values to StaticPopup_Show:
Code:
StaticPopupDialogs["WRONG_SPEC_WARNING"] = {
text = "Your active role: %s|nYour assigned LFG role: %s",
-- etc.
}
StaticPopup_Show("WRONG_SPEC_WARNING", roleReturnValueHere, specReturnValueHere)
#2 - Just change the text before you show the dialog:
Code:
StaticPopupDialogs["WRONG_SPEC_WARNING"] = {
text = "Placeholder text",
-- etc.
}
StaticPopupDialogs["WRONG_SPEC_WARNING"].text = "Your active role: " .. roleReturnValueHere .. "|nYour assigned LFG role: " .. specReturnValueHere
StaticPopup_Show("WRONG_SPEC_WARNING")
The first method is the "official" one, and is simpler, but you'd need to use the second one if you have more than 2 variables, or want to change the whole text, though you could work around that by just setting the text to "%s" and then passing in the entire text you wanted as the second argument to StaticPopup_Show.
Also make sure you have some kind of
error display enabled. If your code is "not working" or "nothing happens" there's almost certainly a Lua error telling you exactly what's wrong on which line of code.