("\x07%06X",0xFF0000) + Phrases

Тема в разделе "Counter-Strike: Source", создана пользователем -=Batista=-, 11 мар 2014.

  1. -=Batista=-

    -=Batista=- Просвященный

    Сообщения:
    279
    Симпатии:
    73
    Всем привет. С помощью "PrintToChatAll("\x07%06Xтекст", 0xFF0000);" можно добавить любой цвет для текста без иклюдов. Но вопрос усложняется: как совместить этот код и файл перевода? Слово, что должно быть подсвечено, находится в середине текста ("Medic").
     

    Вложения:

    • Medic.sp
      Размер файла:
      4,2 КБ
      Просмотров:
      7
    • medic.phrases.txt
      Размер файла:
      731 байт
      Просмотров:
      8
  2. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.972
    Симпатии:
    2.978
    -=Batista=-, избавляйся от перевода. Либо юзай мореколорс.

    Или так (сам не пробывал):
    PHP:
    PrintToChatAll("%t""Message1""\x07FF0000""\x070000FF");
    В файле перевода:
    PHP:
    "Message1"
    {
        
    "#format"        "{1:s}, {2:s}"
        "ru"            "{1}Вы не можете позвонить {2}Medic'y!"
    }
     
    -=Batista=- нравится это.
  3. Серый™

    Серый™ CS:S Server

    Сообщения:
    2.559
    Симпатии:
    1.143
    -=Batista=- нравится это.
  4. -=Batista=-

    -=Batista=- Просвященный

    Сообщения:
    279
    Симпатии:
    73

    Видишь ли, в этом вся и фишка, что перевод в отдельном файле. Идёт максимальная разгрузка плагина, убирается ненужный функционал. Да, твой вариант работает. Но я немного добил, чтобы не загружать плагин лишним кодом:
    Код:
    
    	if( StrEqual( Said, "!medic" )|| StrEqual( Said, "medic" )|| StrEqual( Said, "doctor" ) || StrEqual( Said, "!doctor" ) || StrEqual( Said, "медик" )  || StrEqual( Said, "!медик" ))
    	{
    		new String:k[25] = "\x07FF0000"; 
    		new String:l[25] = "\x070000FF";
                    
                    ...
    		
                    if( money < cost )
    		{
    			
    			PrintToChat( id, "%t", "Message4", k, l, cost);
    			
    			return Plugin_Continue;
    		}
    
    
    Добавлено через 11 минут
    Глянул, но тяжковато для меня =D
     
    Последнее редактирование: 11 мар 2014
  5. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.972
    Симпатии:
    2.978
    Тоесть? Почему твой способ оптимальнее?

    Без наездов. Просто может для себя что-то новое узнаю :)



    Серый™, не то :secret: :-D
     
  6. -=Batista=-

    -=Batista=- Просвященный

    Сообщения:
    279
    Симпатии:
    73
    А что нового узнать :P Сообщений много, каждое надо подкрасить минимум 2-мя цветами, итого получается минимум 10. 10 кодов цветов займут прилично места в коде, проще задать их как постоянные :acute:
     
  7. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.972
    Симпатии:
    2.978
    -=Batista=-, а-а-а, я думал для одного. В общем работает?
     
  8. -=Batista=-

    -=Batista=- Просвященный

    Сообщения:
    279
    Симпатии:
    73
    Ага =) Спасибо =) Я делал, как ты, только я не допер, что код цвета и \х07 надо в одну строчку писать :glare: Всё перепробовал, а это нет :-D
     
  9. Серый™

    Серый™ CS:S Server

    Сообщения:
    2.559
    Симпатии:
    1.143
    Чего там сложного
    ReplaceString(sText,sizeof(sText), "#", "\x07");
    замена в транслите писать так
    "#FF7F50 Тортик"
     
  10. -=Batista=-

    -=Batista=- Просвященный

    Сообщения:
    279
    Симпатии:
    73
    Именно так, как ты скинул, не компилится даже, sText не задана. Скинь рабочий код :sad:
     
  11. Серый™

    Серый™ CS:S Server

    Сообщения:
    2.559
    Симпатии:
    1.143
    -=Batista=-, (( это был пример.
    sText это строка в которой идёт замена "#" на "\x07"
    Это значит что нужно твой перевод делать в строку и потом выводит в сообщение или в другом место.
    пример
    PHP:
    decl String:sText[1256];
    Format(sTextsizeof(sText), "%t""text v translite"); // не совсем уверен думаю будет работать
    ReplaceString(sText,sizeof(sText), "#""\x07");
    PrintToChatAll(sText);
     
  12. -=Batista=-

    -=Batista=- Просвященный

    Сообщения:
    279
    Симпатии:
    73
    Т.е. к каждому выводу нужно будет все три строчки дописывать?
     
  13. Серый™

    Серый™ CS:S Server

    Сообщения:
    2.559
    Симпатии:
    1.143
    Это зависит будешь ли оптимизировать.
     
  14. KorDen

    KorDen Atra esterní ono thelduin! Ньюсмейкер

    Сообщения:
    2.194
    Симпатии:
    1.398
    Серый™, если использовать %t в формате, то берется язык сервера (из core.cfg).
    Для обработки языков нужно проходить по всем игрокам и для каждого индивдуально форматировать через %T, чтобы у каждого был свой язык
     
    Серый™ нравится это.
  15. -=Batista=-

    -=Batista=- Просвященный

    Сообщения:
    279
    Симпатии:
    73
    Не получилось прикрутить =(
     
  16. Серый™

    Серый™ CS:S Server

    Сообщения:
    2.559
    Симпатии:
    1.143
    -=Batista=-, пробуй...
    В транслите не везде выставил цвета, сделал тока как пример.
     

    Вложения:

    • Medic.sp
      Размер файла:
      3,6 КБ
      Просмотров:
      15
    • medic.phrases.txt
      Размер файла:
      1,2 КБ
      Просмотров:
      12
    -=Batista=- нравится это.
  17. -=Batista=-

    -=Batista=- Просвященный

    Сообщения:
    279
    Симпатии:
    73
    Вот, теперь работает =) Спасибо =)
     
  18. KorDen

    KorDen Atra esterní ono thelduin! Ньюсмейкер

    Сообщения:
    2.194
    Симпатии:
    1.398
    Серый™, твой код будет выдавать только язык сервера, а не язык игрока
     
  19. TolikCorp

    TolikCorp

    Сообщения:
    855
    Симпатии:
    271
    Мне кажется, или ты просто так это сказал?
     
    R1KO нравится это.
  20. Серый™

    Серый™ CS:S Server

    Сообщения:
    2.559
    Симпатии:
    1.143
    KorDen, я это знаю)) я как пример ему написал.