Yes, it definitely works, but only in version 3.1 of the game. It seems you are writing scripts directly in the editor; it would be better to use MapScriptEditor – it's clearer (it's a separate program).
Regarding the 'TALK' function:
function TALK(g1,g2) --response to a choice--
answer=0;
if g1>0 then ask=1; answer=g2; end;
end;
Do I need to explain it, or is it clear? And of course, you need to make TalkBoxForPlayers modal, for example like this:
ask=0; TalkBoxForPlayers (....); while ask<=0 do sleep(2); end;
After that, you write the conditions:
if answer==1 then
else
if answer==2 then
.........
and so on.
___Thank you.