Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.

Реклама


**Как получить V.I.P** (Перейти)
Чтобы заказать рекламу на Pro-Pawn.Ru, обращайтесь в Skype.
Баннерная реклама 200руб/мес, Текстовая 100руб/мес.
Показано с 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
    Сообщений
    116
    Репутация:
    4 ±
    я так и не понел т.к можно и так
    PHP код:
    if(newkeys == KEY_FIRE) return OnPlayerCommandText(playerid,"/test"); // Мы вызовем команду /test с дополнительными параметрами 

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

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

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

    Steve Pavlina

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

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

 

 

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

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

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

Ваши права

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