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

MakePublic

This is an old revision of this page, as edited 10-04-2011, 02:31 PM by . It may differ significantly from the current revision.
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]]