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

Реклама


**Как получить V.I.P** (Перейти)
Чтобы заказать рекламу на Pro-Pawn.Ru, обращайтесь в Skype.
Баннерная реклама 200руб/мес, Текстовая 100руб/мес.
Показано с 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
    Адрес
    Свердловская обл.
    Сообщений
    694
    Репутация:
    104 ±
    Древне как китай,но в принципе полезно для игроков склерозников.
    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
    Адрес
    Свердловская обл.
    Сообщений
    694
    Репутация:
    104 ±
    Ну не знаю как ты,но я где-то в прошлом году такое видел,ставил на свой старый серв,на п.ру или на п-и это было не помню уже
    PAWN Compiler делает то, что вы приказали ему сделать, а не то, что вы хотели, чтобы он сделал..

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





    #FIXSAMP

  7. #6
    Аватар для Londlem
    Модератор

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

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

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

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

  8. Пользователь сказал cпасибо:
    [ForD] (23.12.2013)
  9. #7
    Аватар для Daniel_Cortez
    new fuck_logic[0] = EOS;

    Статус
    Онлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    1,652
    Репутация:
    2144 ±
    Обновил мануал (см. 1 пост).
    Теперь один и тот же код должен работать на любом командном процессоре.
    Индивидуально в PM и Skype по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).
    SA-MP 0.4 is a lie

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

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

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

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

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

    Steve Pavlina

 

 

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

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

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

Ваши права

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