PenUltima Online Forum Index Official Core: 096.7
Official Core: 097 2008-02-26
Donate towards the POL web hosting bill!
 POL Home   FAQ   Search    Memberlist   Usergroups    Register    Profile   Log in to check your private messages   Log in
start_script(commmand, who, par)

 
Post new topic   Reply to topic    PenUltima Online Forum Index -> Feature Suggestions
Display posts from previous:   

Author Message
zandor



Joined: 04 Feb 2006
Posts: 12
Location: Livorno Italy

PostPosted: Wed Jan 31, 2007 9:36 am    Post subject: start_script(commmand, who, par) Reply with quote

start_script(commmand, who, par)

to launch text command and pass parameters?

Author Message
tekproxy
Distro Developer


Joined: 06 Apr 2006
Posts: 350
Location: Nederland, Texas

PostPosted: Wed Jan 31, 2007 10:34 am    Post subject: Reply with quote

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:
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 program

Author Message
zandor



Joined: 04 Feb 2006
Posts: 12
Location: Livorno Italy

PostPosted: Thu Feb 01, 2007 10:57 am    Post subject: Reply with quote

Yes I know but a thing is a generic mode to launch EVERY textcmd command (more flexible) and another is a workaround to launch some textcmd with special parameter handling....

Anymore was a very stupid thing, none special.

Author Message
SMJ



Joined: 10 May 2006
Posts: 113

PostPosted: Thu Feb 01, 2007 5:31 pm    Post subject: Reply with quote

The 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:

  1. Externalize the code you want to launch, and use functions instead of launching another script?

    textcmd.src
    Code:
    include "textcmd.inc";

    program _TextCmd(who, text)
        TextCmd(who,text);
    endprogram


    textcmd.inc
    Code:
    function TextCmd(byref who, text)
        // Do stuff.
    endfunction


    MyFunctions.src
    Code:
    include "textcmd.inc";

    program MyProgram(...)
        //...
        TextCmd(who,text);
        //...
    endprogram

  2. Write your own function so that the parameters are easier for you?

    textcmds.inc
    Code:
    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
    endfunction


    Every Text Command
    Code:
    include "textcmds.inc";

    program TextCmd(who, text)
        testTCParms(who,text);
        // Do textcmd stuff.
    endprogram


Either way, it'll take a little bit of time; but if it can be done with a script without causing any trouble in performance, it should.

Post new topic   Reply to topic    PenUltima Online Forum Index -> Feature Suggestions All times are GMT - 4 Hours
Page 1 of 1

 




Powered by phpBB © 2001, 2005 phpBB Group :: Theme & Graphics by GHS & Scott E. Royalty