start_script(commmand, who, par)
to launch text command and pass parameters?
start_script(commmand, who, par)
You may already know this but just in case, you use an array of paramaters. Start_Script("script", array{who, par}), and handle it accordingly in your script.
Code: Select all
program TextCmd(who, textcmd)
if ( Lower(TypeOf(who) == "array" ) // it's being passed by a Start_Script()
textcmd := who[2];
who := who[1];
endif
...
end programThe generic method is a better solution, because... well... it's generic.
Rather than alter the way the code works, adding an entire list of useless script launchers, why not just either:
Rather than alter the way the code works, adding an entire list of useless script launchers, why not just either:
- Externalize the code you want to launch, and use functions instead of launching another script?
textcmd.srctextcmd.incCode: Select all
include "textcmd.inc"; program _TextCmd(who, text) TextCmd(who,text); endprogramMyFunctions.srcCode: Select all
function TextCmd(byref who, text) // Do stuff. endfunctionCode: Select all
include "textcmd.inc"; program MyProgram(...) //... TextCmd(who,text); //... endprogram - Write your own function so that the parameters are easier for you?
textcmds.incEvery Text CommandCode: Select all
function LaunchTextCmd(command, byref who, text) StartScript(command, array{ who, text } ); endfunction function testTCParms( byref first_parm, byref second_parm ) if( TypeOf(first_parm) == "Array" ) second_parm := first_parm[1]; first_parm := first_parm[2]; endif endfunctionCode: Select all
include "textcmds.inc"; program TextCmd(who, text) testTCParms(who,text); // Do textcmd stuff. endprogram