"loopback" "" "abcdefghijklmnopqrstu" "de"
по параметрам.Инфо из string.inc:
/* Gets parameters from text.
* Example: to split text: "^"This is^" the best year",
* call function like this: parse(text,arg1,len1,arg2,len2,arg3,len3,arg4,len4)
* and you will get: "This is", "the", "best", "year"
* Function returns number of parsed parameters. */
native parse(const text[], ... );
Синтаксис:
parse(const text[], arg1,len1,arg2,len2, ... , ... , argN,lenN )
- const text[] - Текст для разбивки по аргументам
- arg1 - Первый аргумент (первое слово)
- arg2 - Второй Аргумент
- Далее сколько аргументов будет, столько раз и повторяется arg4,arg5.
Тип функции:
Native
Пример:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "[string.inc] parse"
#define VERSION "1.0"
#define AUTHOR "Admin"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
new text[128] = {"Argument1 Arg2 ^"Tretiy argument^""}
new arg1[40]
new arg2[40]
new arg3[40]
new num = parse(text,arg1,charsmax(arg1),arg2,charsmax(arg2),arg3,charsmax(arg3))
server_print("^n^nArg1[%s],Arg2[%s],Arg3[%s]^n^nParam:%d^n^n",arg1,arg2,arg3,num)
}
Описание:
Для наглядности примера создается массив text , с тремя аргументами.
Обратите внимание на третий аргумент, он стоит в кавычках, это необходимо для того, если у вас один аргумент может содержать пробел, то есть состоит не из одного слова. Знак ^ экранирует кавычки.
Далее создаем три массива для получения аргументов и получаем необходимые нам аргументы из заранее подготовленного текста в соответствующие массивы. После чего выводим их содержание в консоль сервера.
Для того что бы по быстрее понять как работает функция, попробуйте с начала уменьшить, а затем увеличить количество аргументов.