Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 4 из 4
  1. #1
    Аватар для georJik
    Пользователь

    Статус
    Оффлайн
    Регистрация
    28.03.2013
    Адрес
    Владикавказ
    Сообщений
    16
    Репутация:
    10 ±

    CallLocalFunction CallRemoteFunction и funcidx

    Не увидел подобной темы, описывающей эти функции.
    Так вот, опишу сначала первые две CallLocalFunction и CallRemoteFunction, далее funcidx

    Обе функции вызывают нужную вам функцию. Различие CallRemoteFunction в том, что он может вызывать из подгруженных скриптов.

    Рассмотрим подробнее параметры функции и посмотрим на примере.

    PHP код:
    CallLocalFunction("Test","i",5); // Вызываем функцию под названием Test и задаем параметр 5.

    // Где-нибудь в моде

    public Test(param) {
        
    printf( (param == 0) ? ("%d делится на 2 без остатка!") : ("%d делится на 2 с остатком!") ,param);
        return 
    true;

    И так,
    "Test" - наименование вызываемой функции;
    "i" - тип параметра ( Integer в нашем случае, целочисленное );
    5 - параметр который мы задаем функции.

    Также, к примеру нам нужно чтобы когда мы жали на кнопку у нас вызывалась команда.

    PHP код:
    if(newkeys == KEY_FIRE) return CallLocalFunction("OnPlayerCommandText""is"playerid"/test"); // Мы вызовем команду /test с дополнительными параметрами.

    // Где-нибудь в моде

    CMD:test(playerid,params[]) {
        
    GivePlayerWeapon(playerid,24,25);
        return 
    true;

    Типы параметров:

    c - любой символ
    d, i - целые числа
    x - шестнадцатеричный код, например: 0xFFFFFFFF
    f - число с плавающей точкой ( дробное )
    s - строка

    Важно: Функция вызывает только Public!



    funcidx - возвращает идентификатор функции.
    Пример использвания:
    PHP код:
    public Test()
    {
        
    printf("Идентификатор public Test: %d"funcidx("Test"));
        return 
    true;

    Если функция возвращает значение -1, это означает одно - функции не существует.



    Автор: georJik

  2. Пользователь сказал cпасибо:
    $continue$ (13.03.2015)
  3. #2
    Аватар для Unreal
    Пользователь

    Статус
    Оффлайн
    Регистрация
    24.09.2014
    Сообщений
    133
    Репутация:
    4 ±
    я так и не понел т.к можно и так
    PHP код:
    if(newkeys == KEY_FIRE) return OnPlayerCommandText(playerid,"/test"); // Мы вызовем команду /test с дополнительными параметрами 

  4. #3
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от Unreal Посмотреть сообщение
    я так и не понел т.к можно и так
    PHP код:
    if(newkeys == KEY_FIRE) return OnPlayerCommandText(playerid,"/test"); // Мы вызовем команду /test с дополнительными параметрами 
    Сейчас ты вызываешь просто команду, без каких-либо параметров. Как, собственно, и в уроке
    Не понял сути темы - перепрочти ещё раз.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  5. Пользователь сказал cпасибо:
    Unreal (13.11.2014)
  6. #4
    Аватар для $continue$
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,487
    Репутация:
    276 ±
    Отличный урок:)

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •