Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 2 из 2

Тема: strswitch

  1. #1
    Аватар для L0ndl3m
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±

    strswitch

    Функция ищет в аргументах строку, указанная в первом параметре.

    Возвращает: ID аргумента, найденной строки. (Если строка не нашлась, то возвращает: -1)

    PHP код:
    stock strswitch(const cmpstr[], const ...)
    {
        new
            
    numargs(),
            
    1;

        do
        {
            new
                
    argstr[31],
                
    0;

            while((
    argstr[i] = getarg(ai)))
                
    i++;
            if(
    strcmp(cmpstrargstr) == 0)
                return 
    a;
        }
        while(++
    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(playerid100.0); // case 1: 1 - ID команды из списка (/hp)
        
    case 2:
            return 
    SetPlayerArmour(playerid100.0); // case 2: 2 - ID команды из списка (/ar)
        
    case 3:
            return 
    GivePlayerWeapon(playerid24100); // case 3: 3 - ID команды из списка (/deagle)
        
    case 4// case 4: 4 - ID команды из списка (/slap)
        
    {
            new
                
    Floatp_pos_x,
                
    Floatp_pos_y,
                
    Floatp_pos_z;

            
    GetPlayerPos(playeridp_pos_xp_pos_yp_pos_z);
            return 
    SetPlayerPos(playeridp_pos_xp_pos_yp_pos_z 5);
        }
        case -
    1:
            return 
    SendClientMessage(playerid0xFF0000FF"Такой команды не существует."); // case -1: -1 - ID не существующей строки, указанной в параметрах

    Автор статьи: Londlem

    Специально для: Pro-Pawn.Ru


    Копирование данной статьи без разрешения автора запрещено!
    Последний раз редактировалось L0ndl3m; 16.01.2015 в 22:52.

  2. 5 пользователя(ей) сказали cпасибо:
    Argument (29.07.2017) DeimoS (24.03.2014) Desulaid (17.08.2016) Marik (24.03.2014) Smile (27.03.2014)
  3. #2
    Аватар для Marik
    Пользователь

    Статус
    Оффлайн
    Регистрация
    08.03.2014
    Сообщений
    6
    Репутация:
    0 ±
    По сути, очень нужная штучка)

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •