Heya,
You can't do that (not without major changes anyway). I presume the goal here is to run a script in the source (which is a bad idea), but the easy solution here would simply be to set your variables as temporary global variables and then run an event label:
In the source, you would use something like:
#include "mapreg.h"
#include "npc.h"
[...]
mapreg_setreg(reference_uid(add_str("$@param1"), 0), MG_SAFETYWALL);
mapreg_setreg(reference_uid(add_str("$@param2"), 0), skill_id);
mapreg_setregstr(reference_uid(add_str("$@param3$"), 0), "a string");
npc_event_do_id("MyScript::OnCalled", sd->bl.id);
And in the script:
function script myfunction {
announce "arg1: " + getarg(0) + ", arg2: " + getarg(1) + ", arg3: " + getarg(2);
return;
}
- script MyScript -1,{
end;
OnCalled:
callfunc("myfunction", $@param1, $@param2, $@param3$);
end;
}
It would be much easier to do the code in the source directly instead though.