Сейчас я вам расскажу как правильно использовать str#, ну что же, начнем: strlen
Возвращает кол-во символов в строке, думаю на примере все поймете:
Code
if(strcmp(cmd, "/test", true) == 0)
{
new test[256];
test = strtok(cmdtext, idx);
if(!strlen(test)) return SendClientMessage(playerid, C_RED, "Используйте /test [playerid]");
}
if(!strlen(test)) - если в строке 0 символов выводится сообщение. ! - значит не было выполнено действие strval:
Конвертирует строковой тип в числовой, пример:
Code
new test[4] = "555";
new test2 = strval(test); // Теперь переменная test2 равна 250
strtok:
Отделяет пробел между командой и параметром, пример:
Code
public OnPlayerCommandText(playerid, cmdtext[])
{
new cmd[128], idx;
cmd = strtok(cmdtext, idx);
if(strcmp(cmd, "/kick", true) == 0)
{
new tmp[128];
tmp = strtok(cmdtext, idx);
if(strlen(tmp) == 0) return SendClientMessage(playerid, 0xFFFFFFFF, "Юзайте: /kick [playerid]");
Kick(strval(tmp));
return 1;
}
return 0;
}
В данном случае мы проверим было ли введено /kick playerid вместе /kick. strdel:
Удаляет подстрочку из строки, пример:
Code
new test[64] = "Данная переменная используется для...";
strdel(test, 0, 17); // У нас останется используется для...
Учтите что пробел тоже идет как символ и его тоже надо учитывать, а теперь объясню параметры:
test - массив из которого удаляем
0 - символ с которого начинаем(по счету)
17 - кол-во удаляемых символов strmid:
Извлекает определенный диапазон из переменной, увидите на примере:
Code
strmid(test, "American Psycho", 10, 15); // Мы извлекли Psycho
Параметры:
test - массив из которого извлекаем
American Psycho - текст откуда извлекаем
10, 15 - символы от которого и до которого извлекаем Пишем, обращаемся, что непонятно. Тут не все str, но я взял которые часто встречаются, некоторые, я не видел и вообще не знал об их существовании. Я написал более, менее важные.