-
Makes a function public. A public function can be called from other scripts.
[h="2"] Declaration [/h]
[highlight=cpp]
-
-
VAULTSCRIPT vaultmp::Void (*MakePublic)(vaultmp::Function, vaultmp::String, vaultmp::String);
-
+
VAULTSCRIPT VAULTSPACE Void (*VAULTAPI(MakePublic))(VAULTSPACE RawFunction(), VAULTSPACE cRawString, VAULTSPACE cRawString) _CPP(noexcept);
[/highlight]
[highlight=c]
-
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:
-
+
[b][wiki="Function"]Function[/wiki][/b] - the function
[b][wiki]cRawString[/wiki][/b] - the public name of the function (must be unique)
[b][wiki]cRawString[/wiki][/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)
-
+
Result VAULTSCRIPT MyPublic(unsigned int a, unsigned int b, const char* c)
-
{
// Public function
-
-
return (a + b);
-
+
return static_cast<Result>(a + b);
-
}
-
-
vaultmp::Void VAULTSCRIPT exec()
-
+
Void VAULTSCRIPT exec() noexcept
-
{
-
-
MakePublic(reinterpret_cast<Function>(&MyPublic), "MagicFunction", "iis");
-
+
// C++ template version (type-safe, deduces type string)
MakePublic(MyPublic, "MagicFunction");
-
}
[/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]