Функция ищет в аргументах строку, указанная в первом параметре.
Возвращает: ID аргумента, найденной строки. (Если строка не нашлась, то возвращает: -1)
PHP код:
stock strswitch(const cmpstr[], const ...)
{
new
n = numargs(),
a = 1;
do
{
new
argstr[31],
i = 0;
while((argstr[i] = getarg(a, i)))
i++;
if(strcmp(cmpstr, argstr) == 0)
return a;
}
while(++a < n);
return -1;
}
Пример использования #1
PHP код:
static const
str[] = "Salvador";
switch(strswitch(str, "Londlem", "Salvador", "Other name"))
{
case 1:
print("Londlem"); // Начинается с 1, так как первый аргумент - массив, который сравнивается
case 2:
print("Salvador");
case 3:
print("Other name");
case -1:
print("Не найдено");
}
В итоге вернёт 2 и в консоль будет выведено: "
Salvador"
Пример использования #2
PHP код:
static const
str[] = "Pro-Pawn.Ru",
num = strswitch(str, "Londlem", "Salvador", "Other name");
if(num == 1)
print("Londlem"); // Начинается с 1, так как первый аргумент - массив, который сравнивается
else if(num == 2)
print("Salvador");
else if(num == 3)
print("Other name");
else if(num == -1)
print("Не найдено");
В итоге вернёт -1 и в консоль будет выведено: "
Не найдено"
Так же можно использовать в public OnPlayerCommandText:
PHP код:
switch(strswitch(cmdtext, "/hp", "/ar", "/deagle", "/slap"))
{
case 1:
return SetPlayerHealth(playerid, 100.0); // case 1: 1 - ID команды из списка (/hp)
case 2:
return SetPlayerArmour(playerid, 100.0); // case 2: 2 - ID команды из списка (/ar)
case 3:
return GivePlayerWeapon(playerid, 24, 100); // case 3: 3 - ID команды из списка (/deagle)
case 4: // case 4: 4 - ID команды из списка (/slap)
{
new
Float: p_pos_x,
Float: p_pos_y,
Float: p_pos_z;
GetPlayerPos(playerid, p_pos_x, p_pos_y, p_pos_z);
return SetPlayerPos(playerid, p_pos_x, p_pos_y, p_pos_z + 5);
}
case -1:
return SendClientMessage(playerid, 0xFF0000FF, "Такой команды не существует."); // case -1: -1 - ID не существующей строки, указанной в параметрах
}
Автор статьи: Londlem
Специально для: Pro-Pawn.Ru
Копирование данной статьи без разрешения автора запрещено!