ArrayCreate • създава динамичен масив
Публикувано на: 14 Окт 2016, 16:51
Разликата между динамичния масив и нормален масив е, че динамичния масив има променлив размер, който се променя с всеки добавен/премахнат елемент, докато обикновенните масиви имат точно определен размер. Всеки един динамичен масив трябва да бъде унищожен в края на плъгина, използвайки функцията 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
}