This site has been archived and made available for preservation purposes. No edits can be made.

MakePublic

(Difference between revisions)
Return to current revision
  1. -
    Makes a function public. A public function can be called from other scripts.

    == Declaration ==
    <code cpp>
    VAULTSCRIPT void (*MakePublic)(vaultmp::Function, std::string, std::string);
    native MakePublic(const func{}, const name{}, const def{});
    </code>
    == Parameters ==

    '''[[Function|vaultmp::Function]]''' (C++ only) - the function

    '''func''' (PAWN only) - the name of the function

    '''name''' - the public name of the function (must be unique)

    '''def''' - the parameter list of the function. This is a string containing a sequence of:
    *i - Integer (4 byte)
    *l - Long integer (8 byte)
    *f - Floating-point (8 byte)
    *s - String (const char*)

    == Return value ==

    None.

    == Usage example (C++) ==

    <code cpp>
    vaultmp::Result VAULTSCRIPT MyPublic(unsigned int a, unsigned int b, const char* c)
    {
    // Public function
    return (a + b);
    }

    void VAULTSCRIPT exec()
    {
    MakePublic(reinterpret_cast<Function>(&MyPublic), "MagicFunction", "iis");
    // The following call will likely be made from some other script
    vaultmp::Result result = CallPublic("MagicFunction", 1, 2, "www.vaultmp.com");
    }
    </code>

    == Usage example (PAWN) ==

    <code c>
    forward MyPublic(a, b, const c{});

    public MyPublic(a, b, const c{})
    {
    // Public function
    return (a + b);
    }

    main()
    {
    MakePublic("MyPublic", "MagicFunction", "iis");
    // The following call will likely be made from some other script
    new result = CallPublic("MagicFunction", 1, 2, "www.vaultmp.com");
    }
    </code>

    == Related pages ==

    *[[CallPublic]]

    [[Category:VaultMP interface]]
    [[Category:Scripting functions]]
    [[Category:Misc functions]]