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

Тема: Анти-Капс

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

    Статус
    Оффлайн
    Регистрация
    31.01.2014
    Адрес
    Россия
    Сообщений
    304
    Репутация:
    2 ±

    Анти-Капс

    Здравствуйте, подскажите, как можно сделать, когда игрок пишет в какой либо чат, предложение становилось такого формата:

    Из
    PHP код:
    ВСЕМ ПРИВЕТ ДРУЗЬЯ
    В
    PHP код:
    Всем Привет Друзья
    Буду очень благодарен.

  2. #2
    Аватар для MR_BEN
    Пользователь

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

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

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±
    Держите:
    PHP код:
    stock RegularizeString(source[])
    {
        for(new 
    0startsource[(== i) ? 1] != EOSi++)
        {
            if(
    source[i] == ' ' && !('а' <= source[1] <= 'Я'))
                
    start 0;
            else
            {
                
    source[i] = !start toupper(source[i]) : tolower(source[i]);
                
    start 1;
            }
        }

    Использование:
    PHP код:
    new
        
    source[128];

    source "ВСЕМ ПРИВЕТ ДРУЗЬЯ.";

    RegularizeString(source);

    print(
    source); // вывод: "Всем Привет Друзья." 
    PHP код:
    new
        
    source[128];

    source "ВсЕМ прИВЕт дрУЗья.";

    RegularizeString(source);

    print(
    source); // вывод: "Всем привет друзья." 

  4. Пользователь сказал cпасибо:
    Skyline (12.03.2015)
  5. #4
    Аватар для Skyline
    Пользователь

    Статус
    Оффлайн
    Регистрация
    31.01.2014
    Адрес
    Россия
    Сообщений
    304
    Репутация:
    2 ±
    Немного не понимаю.
    Как сделать для команды например чтоб текст выводило?
    PHP код:
        if(strcmp(cmd"/ooa"true) == 0)
        {
            if(
    IsPlayerConnected(playerid))
            {
                if(
    gPlayerLogged[playerid] == 0) return SendClientMessage(playeridCOLOR_GREY"Вы ещё не вошли в игру !");
                if(
    PlayerInfo[playerid][pAdmin] == 6)
                {
                    new 
    length strlen(cmdtext);
                    while ((
    idx length) && (cmdtext[idx] <= ' '))
                    {
                        
    idx++;
                    }
                    new 
    offset idx;
                    new 
    result[64];
                    while ((
    idx length) && ((idx offset) < (sizeof(result) - 1)))
                    {
                        
    result[idx offset] = cmdtext[idx];
                        
    idx++;
                    }
                    
    result[idx offset] = EOS;
                    new 
    s[75];
                    
    format(ssizeof(s), "Отправитель AscarY: %s ",result);
                    
    SendClientMessageToAll(COLOR_YELLOWs);
                    
    RegularizeString(s)
                }
            }
            return 
    1;
        } 
    Так ведь?

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

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

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

    Статус
    Оффлайн
    Регистрация
    31.01.2014
    Адрес
    Россия
    Сообщений
    304
    Репутация:
    2 ±
    А если переделывать всю строку, изменяет и ник.
    PHP код:
    format(stringsizeof(string), "%s[%d] кричит: %s!"sendername,playeridresult);
    RegularizeString(string); 
    Итог такой, если ник SKYLINE
    Код HTML:
    Skyline[0] кричит: Всем Привет!
    А если сделать так, то ничего не выводит, как сделать чтобы действовало именно на сообщение?
    PHP код:
    format(stringsizeof(string), "%s[%d] кричит: %s!"sendername,playeridresult);
    RegularizeString(result); 

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

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

  9. #8
    Аватар для Skyline
    Пользователь

    Статус
    Оффлайн
    Регистрация
    31.01.2014
    Адрес
    Россия
    Сообщений
    304
    Репутация:
    2 ±
    Вообщем как сделать,чтобы Анти-Капс действовал только на выводимое сообщение игрока result А не на всю строку string

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

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

  11. #10
    Аватар для Skyline
    Пользователь

    Статус
    Оффлайн
    Регистрация
    31.01.2014
    Адрес
    Россия
    Сообщений
    304
    Репутация:
    2 ±
    Да, он у меня сейчас изменяет всю строку, даже Ник, чего не нужно, мне нужно чтобы изменял отправленное сообщение, т.е. result

 

 
Страница 1 из 2 1 2 ПоследняяПоследняя

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

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

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

Ваши права

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