Инфо из amxmodx.inc:
/* Gets argument from command. */
native read_argv(id,output[],len);
Синтаксис:
read_argv ( id, output[], len )
- id - Айди аргумента,начинается с нуля это сама команда, т.е. первый нужный нам аргумент начинается с 1
- output[] - Массив куда записываем данные аргумента
- len - Максимальная длинна массива
Пример:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "Read argv"
#define VERSION "1.0"
#define AUTHOR "Admin"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("my_cmd","my_cmd")
}
public my_cmd(id){
new arg1[3],arg2[3],arg3[3]
read_argv(1,arg1,2)
read_argv(2,arg2,2)
read_argv(3,arg3,2)
client_print(id,print_console,"Arg1:%s Arg2:%s Arg3:%s",arg1,arg2,arg3)
return PLUGIN_HANDLED
}
Описание:
В данном примере вам мы получим значения наших трех аргументов Arg1,Arg2 и Arg3.
Для этого надо ввести в консоли команду my_cmd 12 rr er
В результате работы мы получим:Arg1:12 Arg2:rr Arg3:er
Теперь подробнее на примере первого аргумента, остальные аналогичны.
Мы создаем массив arg1[3] - Это означает что в него влезет не более 3 символов,
далее мы получаем значение первого аргумента read_argv(1,arg1,2), обратите внимание, что максимальную длину мы поставили 2, т.е. если аргумент будет иметь больше чем 2 символа, то лишние просто обрежутся. Поэкспериментируйте в консоли,вы очень быстро вникните в суть!
Так же обратите внимание, что данные полученные этой функцией не являются числами, а если вам нужно получить число из текста,это вы понимаете что это цифры, а тупенькому компу надо это объяснять что это число, а не текст и делается это с помощью функции str_to_num, но о ней в другой раз.