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]]