CallLocalFunction — различия между версиями
Материал из Pro-Pawn Wiki
(Новая страница: «{{Description | Вызывает указанную функцию в скрипте. }} {{Params|const function[], const format[], {Float,_}:...}} {{Param | cons…») |
|||
Строка 21: | Строка 21: | ||
{{Example}} | {{Example}} | ||
<pawn> | <pawn> | ||
− | + | forward AddNumbers(a, b); | |
− | public AddNumbers(a, b) | + | public AddNumbers(a, b) |
{ | { | ||
return a + b; | return a + b; |
Текущая версия на 18:17, 6 октября 2018
Описание:
Вызывает указанную функцию в скрипте.
Параметры:
(const function[], const format[], {Float,_}:...) |
const function[] | Название функции. |
const format[] | Строка со спецификаторами для обозначения типов аргументов. |
{Float,_}:... | Аргументы, передаваемые целевой функции. |
Возвращаемое значение:
Возвращает значение, возвращаемое целевой функцией, либо
0
, если указанной функции не существует.
Примечание |
Вызываемая функция должна быть объявлена с атрибутом public либо её название должно начинаться с символа @ .
|
Баг SA-MP |
Передача пустой строки в качестве аргумента целевой функции (спецификатор s ) приводит к падению сервера.
Передача пустой строки в параметре function приводит к падению сервера.
|
Баг SA-MP |
Функция возвращает 0 в двух случаях: если целевая функция вернула 0 или если функции с указанным названием не существует. Чтобы отличить эти два случая, можно дополнительно вызвать funcidx() , чтобы проверить существование функции.
|
Пример использования:
forward AddNumbers(a, b);
public AddNumbers(a, b)
{
return a + b;
}
main()
{
const a = 4, b = 5;
new result = CallLocalFunction("AddNumbers", "dd", a, b);
printf("%d + %d = %d", a, b, result);
}
public AddNumbers(a, b)
{
return a + b;
}
main()
{
const a = 4, b = 5;
new result = CallLocalFunction("AddNumbers", "dd", a, b);
printf("%d + %d = %d", a, b, result);
}
См. также: