CallLocalFunction — различия между версиями

Материал из Pro-Pawn Wiki
Перейти к: навигация, поиск
(Новая страница: «{{Description | Вызывает указанную функцию в скрипте. }} {{Params|const function[], const format[], {Float,_}:...}} {{Param | cons…»)
 
 
Строка 21: Строка 21:
 
{{Example}}
 
{{Example}}
 
<pawn>
 
<pawn>
public AddNumbers(a, b);
+
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, если указанной функции не существует.

Info rhombus.png
Примечание
Вызываемая функция должна быть объявлена с атрибутом public либо её название должно начинаться с символа @.


Bug.png
Баг SA-MP
Передача пустой строки в качестве аргумента целевой функции (спецификатор s) приводит к падению сервера.
Передача пустой строки в параметре function приводит к падению сервера.


Bug.png
Баг 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);
}


См. также: