Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 9 из 9
  1. #1
    Аватар для KakbeYura
    Пользователь

    Статус
    Оффлайн
    Регистрация
    21.11.2013
    Сообщений
    72
    Репутация:
    16 ±

    Исправление команды, если забыл сменить раскладку (из .рудз в /help)

    В начало public OnPlayerText(playerid, text[])
    PHP код:
        if(text[0] == '.')
        {
            
    text[0] = '/';
            
    FixCommand(text[1]);
            
    CallRemoteFunction("OnPlayerCommandText""ds" playeridtext);
            return 
    0;
        } 
    В конце мода вставляем:
    PHP код:
    FixCommand(input[])
    {
        for(new 
    0; ; )
        {
            switch(
    input[++i])
            {
                case 
    EOS: break;
                case 
    'А''а'input[i] = 'f';
                case 
    'Б''б'input[i] = ',';
                case 
    'В''в'input[i] = 'd';
                case 
    'Г''г'input[i] = 'u';
                case 
    'Д''д'input[i] = 'l';
                case 
    'Е''е'input[i] = 't';
                case 
    'Ё''ё'input[i] = '`';
                case 
    'Ж''ж'input[i] = ';';
                case 
    'З''з'input[i] = 'p';
                case 
    'И''и'input[i] = 'b';
                case 
    'Й''й'input[i] = 'q';
                case 
    'К''к'input[i] = 'r';
                case 
    'Л''л'input[i] = 'k';
                case 
    'М''м'input[i] = 'v';
                case 
    'Н''н'input[i] = 'y';
                case 
    'О''о'input[i] = 'j';
                case 
    'П''п'input[i] = 'g';
                case 
    'Р''р'input[i] = 'h';
                case 
    'С''с'input[i] = 'c';
                case 
    'Т''т'input[i] = 'n';
                case 
    'У''у'input[i] = 'e';
                case 
    'Ф''ф'input[i] = 'a';
                case 
    'Х''х'input[i] = '[';
                case 
    'Ц''ц'input[i] = 'w';
                case 
    'Ч''ч'input[i] = 'x';
                case 
    'Ш''ш'input[i] = 'i';
                case 
    'Щ''щ'input[i] = 'o';
                case 
    'Ъ''ъ'input[i] = ']';
                case 
    'Ы''ы'input[i] = 's';
                case 
    'Ь''ь'input[i] = 'm';
                case 
    'Э''э'input[i] = '\'';
                case 
    'Ю''ю'input[i] = '.';
                case 
    'Я''я'input[i] = 'z';
            }
        }
        return 
    1;

    Автор: KakbeYura. Специально для Pro-Pawn.Ru
    Последний раз редактировалось Daniel_Cortez; 16.03.2014 в 10:45. Причина: Обновил //DC

  2. 4 пользователя(ей) сказали cпасибо:
    Caypen (29.03.2014) Exclusive (29.03.2014) Osetin (22.12.2013) Копюшон (22.03.2014)
  3. #2
    Аватар для [ForD]
    Пользователь

    Статус
    Оффлайн
    Регистрация
    14.11.2013
    Адрес
    Свердловская обл.
    Сообщений
    688
    Репутация:
    103 ±
    Древне как китай,но в принципе полезно для игроков склерозников.
    PAWN Compiler делает то, что вы приказали ему сделать, а не то, что вы хотели, чтобы он сделал..

    25% времени в программировании уходит на размышления о том, что пользователь может сделать не так.[HR]/Брайан Хьюмс/





    #FIXSAMP

  4. #3
    Аватар для KakbeYura
    Пользователь

    Статус
    Оффлайн
    Регистрация
    21.11.2013
    Сообщений
    72
    Репутация:
    16 ±
    Старое? Нигде не видел, видел только ".помощь" в "/помощь" и на стандартный.

  5. #4
    Аватар для Stanley
    Пользователь

    Статус
    Оффлайн
    Регистрация
    22.12.2013
    Сообщений
    29
    Репутация:
    17 ±
    норм так то

  6. #5
    Аватар для [ForD]
    Пользователь

    Статус
    Оффлайн
    Регистрация
    14.11.2013
    Адрес
    Свердловская обл.
    Сообщений
    688
    Репутация:
    103 ±
    Ну не знаю как ты,но я где-то в прошлом году такое видел,ставил на свой старый серв,на п.ру или на п-и это было не помню уже
    PAWN Compiler делает то, что вы приказали ему сделать, а не то, что вы хотели, чтобы он сделал..

    25% времени в программировании уходит на размышления о том, что пользователь может сделать не так.[HR]/Брайан Хьюмс/





    #FIXSAMP

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

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

    Для чего создавать массив, да ещё с таким большим размером? Ведь максимальная длина строки в чате: 145.

    PHP код:
    new text[256];
    for(new 
    0256i++) 
    Этого достаточно:

    PHP код:
    for(new 0strlen(textx); != li++) 
    Последний раз редактировалось L0ndl3m; 22.12.2013 в 19:13.

  8. Пользователь сказал cпасибо:
    [ForD] (23.12.2013)
  9. #7
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,181
    Репутация:
    2561 ±
    Обновил мануал (см. 1 пост).
    Теперь один и тот же код должен работать на любом командном процессоре.
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  10. 2 пользователя(ей) сказали cпасибо:
    Salvacore (31.03.2014) ^_^ (29.03.2014)
  11. #8
    Аватар для Exclusive
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.09.2013
    Адрес
    Семей
    Сообщений
    110
    Репутация:
    16 ±
    Понравилось.

  12. #9
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,562
    Репутация:
    1972 ±
    Самым удачным вариантом, по моему, будет замена точки на слэш в OnPlayerText, а остальной текст не трогаем. Теперь даём OnPlayerCommandText возможность найти команду среди существующих (ведь командный процессор поддерживает русские команды, а данный код преобразует такую команду в кашу) и если команда не найдена, смотрим какой символ стоит после слэша. Если русские буквы, конвертируем их в английские, как бы меняя раскладку (как делаете вы) и вновь заставляем паблик пробежаться по всем командам. Если же английские, конвертируем их в русские и делаем то же самое. Такой метод будет поддерживать команды с различными раскладками и мир станет чуточку лучше :3
    Хотя такой подход будет оправдан только если у вас в моде присутствуют команды с русскими символами (для других языков конвертацию придётся переписать под нужные символы соответственно)
    Связаться со мной в VK можно через личные сообщения этой группы

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

 

 

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

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

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

Ваши права

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