Главная | Комментарии | О проекте
Чтение RSS
Суперсайт
Главная Контакты Карта сайта Добавить в избранное
  • Кто OnLine

    Всего на сайте: 4
    Гостей: 3
    Пользователи: - отсутствуют
    Роботы: crawl Bot

    Опрос пользователей

    Для какого мода Вы пишите плагины?

    • Популярное

    Рекомендуем

    • AMX Mod X
    • up.org.ua

    Наши друзья


  • Автор: Admin Дата: 3-12-2011, 01:37 Просмотров: 5034

    containi Функция возвращает позицию слова в строке. ( поиск слова в тестке)

    Я познакомился с этой функцией изучая плагин антимата, где сказанная фраза игроком, проверяется со словарем мат листа с помощью функции containi. данная функция сравнивает строки не учитывая регистр, то есть Plugin и plugin будет считаться одним и тем же.

    Инфо из string.inc:
    /* Checks if source contains string with case ignoring. On success function
    * returns position in source, on failure returns -1. */
    native containi(const source[],const string[]);


    Синтаксис:
    contain ( const source[], const string[] )

    • const source[] - Строка в которой производится поиск
    • const string[] - Слово или строка для поиска.


    Тип функции:
    Native

    Пример:
    /* Plugin generated by AMXX-Studio */

    #include <amxmodx>
    #include <amxmisc>

    #define PLUGIN "[string.inc] containi"
    #define VERSION "1.0"
    #define AUTHOR "Admin"


    public plugin_init() {
        register_plugin(PLUGIN, VERSION, AUTHOR)
        register_concmd("func_containi","func_containi")
    }
    public func_containi(){
        
        //Объявление массивов для сравнения
        new text[] = {"Its my plugin"}
        new word[] = {"My"}
        
        //Объявление переменной и получение результатов сравнения
        new pos = containi(text,word)

        //Вывод результата сравнения
        server_print("Pos = %i",pos)

        //Условия для результата, если оно положительно то..
        if(pos != -1){
        
            server_print("Search: Yes")
        
        }else{
        
            server_print("Search: No")
        
        }
    }


    Описание:
    В представленном примере объявлены 2 массива, при этом в массиве word 2 символа My, которые содержаться в массиве text.
    Если посчитать вручную, то символ M будет стоять 4, да да именно четвертой, так как вы помните что в массиве нумерация начинается с 0.

    То есть в основном тексте искомые символы есть и начинаются они с 4 позиции и функция вернет 4, если их изменить скажем на RRR, то их не найдется в тексте и функция вернет -1, что говорит о том что в основной строке нет таких символов.

    Выполните в консоли сервера команду func_containi, и вы увидите результаты более наглядно.
    Поменяйте значения текстовых массивов для получения разных результатов.
    Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
    Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
    arwel

    --
    ICQ: --
    Публикаций: 0
    Комментариев: 0
    Репутация: -  0  +

    В каком-то плагине также видел сравнение на модели таким образом.

    Информация

    Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Наверх

Реклама