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.
    [h="2"] Declaration [/h]
    [highlight=cpp]
  2. -
    VAULTSCRIPT vaultmp::Void (*MakePublic)(vaultmp::Function, std::string, std::string);
  3. +
    VAULTSCRIPT vaultmp::Void (*MakePublic)(vaultmp::Function, vaultmp::String, vaultmp::String);
  4.  
    native MakePublic(const func{}, const name{}, const def{});
    [/highlight]
    [h="2"] Parameters [/h]
    [b][wiki="Function"]vaultmp::Function[/wiki][/b] (C++ only) - the function
    [b]func[/b] (PAWN only) - the name of the function
    [b]name[/b] - the public name of the function (must be unique)
    [b]def[/b] - the parameter list of the function. This is a string containing a sequence of:
    [list][*]i - Integer (4 byte)
    [*]l - Long integer (8 byte)
    [*]f - Floating-point (8 byte)
    [*]p - Pointer (4 byte)
    [*]s - String (const char*)
    [/LIST]
    [h="2"] Return value [/h]
    None.
    [h="2"] Usage example (C++) [/h]
    [highlight=cpp]
    vaultmp::Result VAULTSCRIPT MyPublic(unsigned int a, unsigned int b, const char* c)
    {
    // Public function
    return (a + b);
    }
    vaultmp::Void VAULTSCRIPT exec()
    {
    MakePublic(reinterpret_cast<Function>(&MyPublic), "MagicFunction", "iis");
    }
    [/highlight]
    [h="2"] Usage example (PAWN) [/h]
    [highlight=c]
    forward MyPublic(a, b, const c{});
    public MyPublic(a, b, const c{})
    {
    // Public function
    return (a + b);
    }
    main()
    {
    MakePublic("MyPublic", "MagicFunction", "iis");
    }
    [/highlight]
    [h="2"] Related pages [/h]
    [list][*][wiki]CallPublic[/wiki]
    [/LIST]
    [category]VaultMP interface[/category]
    [category]Scripting functions[/category]
    [category]Misc functions[/category]