Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 1 из 4 1 2 3 ... ПоследняяПоследняя
Показано с 1 по 10 из 36
  1. #1
    Аватар для VVWVV
    ?

    Статус
    Оффлайн
    Регистрация
    09.07.2015
    Сообщений
    731
    Репутация:
    353 ±

    GetNumberOfPublics - вычисляет количество public-функций

    Описание:
    Вычисляет количество public-функций в скрипте.

    Параметры:
    -

    Возвращаемое значение:
    Возвращает количество public-функций в скрипте.

    Плюсы реализации:
    • При повторном вызове функция будет передовать кешированное значение.

    Минусы реализации:
    • -

    Код:
    PHP код:
    stock
        GetNumberOfPublics
    ()
    {
        static 
    number_of_publics = -1;
        if (
    number_of_publics 0) {
            new
                
    pft,
                
    addr;
            
    #emit lctrl 1
            #emit neg
            #emit push.pri

            #emit add.c 0x20
            #emit stor.s.pri addr
            #emit lref.s.pri addr
            #emit load.s.alt addr
            #emit add
            #emit const.alt 0x20
            #emit sub
            #emit stor.s.pri pft

            #emit pop.pri
            #emit add.c 0x24
            #emit stor.s.pri addr
            #emit lref.s.pri addr
            #emit load.s.alt addr
            #emit add
            #emit const.alt 0x24
            #emit sub

            #emit load.s.alt pft
            #emit sub
            #emit shr.c.pri 3
            #emit stor.pri number_of_publics
        
    }
        return 
    number_of_publics;

    Пример использования:
    PHP код:

    forward 
    public FirstPublicFunction();
    public 
    FirstPublicFunction()
    { }

    forward public SecondPublicFunction();
    public 
    SecondPublicFunction()
    { }

    main()
    {
        
    printf("Publics: %d"GetNumberOfPublics());

    См. также:

    Автор: VVWVV

    Исключительно для pro-pawn.ru

    Копирование данной статьи на других ресурсах без разрешения автора запрещено.
    Последний раз редактировалось VVWVV; 25.12.2016 в 18:00.

  2. #2
    Аватар для $continue$
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,487
    Репутация:
    276 ±
    А где можно применить?
    Value your freedom or you will lose it, teaches history. "Don't bother us with politics," respond those who don't want to learn. (c) Richard Stallman

  3. #3
    Аватар для VVWVV
    ?

    Статус
    Оффлайн
    Регистрация
    09.07.2015
    Сообщений
    731
    Репутация:
    353 ±
    Цитата Сообщение от $continue$ Посмотреть сообщение
    А где можно применить?
    Это можно применить, например, при переборе public-функций.

  4. #4
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Откуда и каким образом происходит получение информации? По определению инструкции AMX способны читать данные только из секций данных и стека/кучи в скрипте.
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  5. #5
    Аватар для VVWVV
    ?

    Статус
    Оффлайн
    Регистрация
    09.07.2015
    Сообщений
    731
    Репутация:
    353 ±
    Цитата Сообщение от Daniel_Cortez Посмотреть сообщение
    Откуда и каким образом происходит получение информации? По определению инструкции AMX способны читать данные только из секций данных и стека/кучи в скрипте.
    lref же.

  6. #6
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Цитата Сообщение от VVWVV Посмотреть сообщение
    lref же.
    И что с того?
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  7. #7
    Аватар для VVWVV
    ?

    Статус
    Оффлайн
    Регистрация
    09.07.2015
    Сообщений
    731
    Репутация:
    353 ±
    Цитата Сообщение от Daniel_Cortez Посмотреть сообщение
    И что с того?
    Данные AMX-инструкции не проверяют передаваемое значение в переменных. Кроме того, если сделать такую же конструкцию, но с load.i, то ВМ. будет ругаться на это.

  8. #8
    Аватар для Пельмень
    Пользователь

    Статус
    Оффлайн
    Регистрация
    05.12.2013
    Сообщений
    188
    Репутация:
    116 ±

  9. #9
    Аватар для VVWVV
    ?

    Статус
    Оффлайн
    Регистрация
    09.07.2015
    Сообщений
    731
    Репутация:
    353 ±
    Цитата Сообщение от Пельмень Посмотреть сообщение
    Для использования функции из библиотеки нужна сама библиотека и функция. Вы ради одной функции будете качать всю библиотеку?

    Хотя библиотека полезная. К тому же, наверное, стоит сделать обзор на неё (чем я сейчас и займусь).

  10. #10
    Аватар для Пельмень
    Пользователь

    Статус
    Оффлайн
    Регистрация
    05.12.2013
    Сообщений
    188
    Репутация:
    116 ±
    Цитата Сообщение от VVWVV Посмотреть сообщение
    Для использования функции из библиотеки нужна сама библиотека и функция. Вы ради одной функции будете качать всю библиотеку?

    Хотя библиотека полезная. К тому же, наверное, стоит сделать обзор на неё (чем я сейчас и займусь).
    Да, я просто не первый раз вижу, что ты что то делаешь а это уже есть в этой библиотеке, поэтому не смог не запостить

 

 
Страница 1 из 4 1 2 3 ... ПоследняяПоследняя

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

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

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

Ваши права

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