ArrayCreate • създава динамичен масив

Библиотеката съдържа 28 natives и 0 forwards и 1 stock.
Аватар
TheRedShoko
Извън линия
Модератор
Модератор
Мнения: 1016
Регистриран на: 06 Окт 2016, 07:42
Местоположение: Бургас
Се отблагодари: 5 пъти
Получена благодарност: 84 пъти

ArrayCreate • създава динамичен масив

Мнение от TheRedShoko » 14 Окт 2016, 16:51

cellarray.incArray:ArrayCreate(cellsize = 1, reserved = 32)

cellsize: размер на една клетка на масива
reserved: функцията на този параметър не работи и никога не е работила

Връща: съхранител на динамичния масив.
Разликата между динамичния масив и нормален масив е, че динамичния масив има променлив размер, който се променя с всеки добавен/премахнат елемент, докато обикновенните масиви имат точно определен размер. Всеки един динамичен масив трябва да бъде унищожен в края на плъгина, използвайки функцията ArrayDestroy().

Примерен плъгин: Блокиране на писане на забранени думи.

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <amxmisc>

#define PLUGIN_NAME "CellArray Example"
#define PLUGIN_VERSION "1.0"
#define PLUGIN_AUTHOR "AMXX-BG.info"

new Array:szForbiddenWords

public plugin_init()
{
    register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
    
    szForbiddenWords = ArrayCreate(64)    //Създаваме масива
    
    register_concmd("amx_add_word", "AdminAddWord", ADMIN_BAN)
    register_clcmd("say", "CheckSay")
    register_clcmd("say_team", "CheckSay")
}

public plugin_end()
{
    ArrayDestroy(szForbiddenWords)        //Унищожаваме масива
}

public AdminAddWord(id, iLevel, iCID)
{
    if (!cmd_access(id, iLevel, iCID))
    {
        return PLUGIN_HANDLED
    }
    
    new szWord[64]
    read_argv(1, szWord, charsmax(szWord))
    
    ArrayPushString(szForbiddenWords, szWord)    // Добавяме String в масива
    
    client_print(0, print_chat, "* ADMIN added %s to the list of forbidden words!", szWord)
    
    return PLUGIN_HANDLED
}

public CheckSay(id)
{
    new szMessage[64]
    read_args(szMessage, charsmax(szMessage))
    
    if (ArrayFindString(szForbiddenWords, szMessage) > -1)    //Проверяваме дали съобщението се съдържа в масива
    {
        client_print(id, print_chat, "* The word %s is FORBIDDEN!", szArrayWord)
       
        return PLUGIN_HANDLED
    }

    
    return PLUGIN_CONTINUE
}

Обратно към “cellarray.inc”

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 5 госта