Server Color (Цветное название сервера)

Тема в разделе "Общего назначения", создана пользователем w.a.l, 5 авг 2013.

  1. w.a.l

    w.a.l Консильери

    Выделись...Не будь как все.

    Существует интересный мутатор, который окрашивает название вашего сервера в разные назначеные вами цвета в браузере игры
    Пример на скрине:

    [​IMG]

    Мутатор состоит из 3х частей:
    ServerColor.exe
    ServerColor.ini

    Ну и сам мутатор ServerColor.u

    Запускаем прогу ServerColor.exe пишем там своё название сервера.
    Делаем в ней всё как показано на скрине:

    [​IMG]

    В одном предложении код можно применять хоть на каждую букву. Цвет буквы применяеться после самого кода.

    У меня вот так:
    @шш|W_A_L|Server@шшш@@IP: 46.72.158.21ш@@@ш@|v.1051|@ш@ || шш@FANшш@@ш@ || @ш@@@Ђlvl:7-30@@Ђ || @@@RUS@@@
    Как это выглядет, видно на скрине.

    В ServerColor.ini всего 2 строки, название сервера и выбор цвета название карты

    В первую строку ServerName= вставляем скопированое название из проги ServerColor.exe
    И во вторую строку MapColor= просто код цвета взятый рандомно из проги ServerColor.exe. Это цвет карты.
    (см. скрин)

    Подключение мутатора:
    В KillingFloor.ini в графе [Engine.GameEngine] добавляем строку ServerActors=ServerColor.ServerColor.


    Кстати эти коды именно для движка UNREAL и будут работать в любой игре на этом движке. Коды цветов можно применять много где. Посмотрев на скрин видно что у меня и AdminEmail= цветной. В KillingFloor.ini у меня строка
    AdminEmail=ш@@www.killingfloorgame.netш@@

    Так же на скрине видно что я код применил и в ServerPerks

    Вот пример использования в SP: (видно на скрине)

    ServerState.ServerInfo.Length = l+1;
    ServerState.ServerInfo[l].Key = "Veterancy Handler";
    ServerState.ServerInfo[l].Value = "@шш[W.A.L]Perks";


    Ещё один вариант применения в этой теме http://killingfloor....ия-в-чате-игры/


    Скачать: Скачать

    p.s.
    Изначально тема была затронута здесь : http://killingfloor....lored-hostname/


    Дополнительные цвета UT2004 здесь --> http://miasma.org/colors/
     
    Последнее редактирование: 29 окт 2018
    Denkul999, WipeMaster, Stein и 4 другим нравится это.
  2. Flame

    Flame -Заслуженый кодер форума-

    Раз уж появилась эта тема - дополню
    Если кто захочет задать цвет, который нельзя получить с помощью ServerColor.exe

    Общий принцип такой
    Вначале идёт символ с кодировкой 1B, а потом идёт RGB в utf-8
    То есть, например, такой цвет
    [​IMG]
    это 1B 6D 3E D3
    R=6D, G=3E, B=D3
    Символы подбираем в любом HEX редакторе

    Для подбора цветов можете пользоваться, например, этим онлайн сервисом
     
    xorex, ЛОХМАТЫЙ и Interneyron нравится это.
  3. ЛОХМАТЫЙ

    ЛОХМАТЫЙ •*´¨`*•.,¸¸,.•*´¨`*•.,¸¸,.•*´¨`*•

    Болтовня - пока туда
    http://killingfloor.ru/forum/index.php?/topic/3401-server-ads-kf-%d0%b0%d0%b2%d1%82%d0%be-%d1%81%d0%be%d0%be%d0%b1%d1%89%d0%b5%d0%bd%d0%b8%d1%8f-%d0%b2-%d1%87%d0%b0%d1%82%d0%b5-%d0%b8%d0%b3%d1%80%d1%8b/page__pid__91599#entry91599

    Там как раз и говорилось об уже существующих темах.
    Незачем это теперь тут размазывать.
     
  4. w.a.l

    w.a.l Консильери

    Ту ссылку на цвета UT2004 которую обещал, не могу найти. Нашёл что то подобное. Обновил 1 пост.
     
  5. Фрэгл

    Фрэгл Administrator

    Если "сделаете тему рабочей"-прикреплю в топик.
    P.s.С кодировкой сложновато будет.
     
  6. w.a.l

    w.a.l Консильери

    Я не знаю что такое "рабочая тема"
     
  7. DarkRnD

    DarkRnD Новенький

    Заметил сервера у которых в имени показывает время игры, какая волна и кол-во зедов. Нашел эту тему но ссылки в ней нерабочие. Используется ServerColor. Может у кого остались ссылки ?
    [​IMG]
     
  8. w.a.l

    w.a.l Консильери

    Прикольно....Я даже не представлял. Век живи - век учись
    Поищу, найду, выложу Или кто нить .

    Не нашёл. Может кто слепит, например флейм, я не смогу,знаний не хватит.

    Флейма в студию !
     
  9. DarkRnD

    DarkRnD Новенький

    Я в группе серверов в стиме попросил выложить файлы. Подождем ответа.
     
  10. Flame

    Flame -Заслуженый кодер форума-

    Ыыы. Дык там всё простенько )
    Ну накидаю, если так вам неймётся
    Напишите только чего вам надо то
    Только время от начала игры или ещё какую фигню? )
     
    DarkRnD нравится это.
  11. DarkRnD

    DarkRnD Новенький

    Время, номер волны, кол-во зедов. Больше не нужно ничего.
     
  12. Flame

    Flame -Заслуженый кодер форума-

    Так. Ну вот цветное название сервера, карты + доп. информация (время, количество монстров, номер волны)

    Переменные (задаются в ServerColorMut.ini)
    ServerName - цвет названия сервера + название
    MapColor - цвет карты
    WaveColor - цвет номера волны (если цвет не задан - номер волны не выводится)
    WavePrefix - префикс перед номером волны (например, Wave=)
    TimeColor - цвет времени прошедшего с начала волны(если цвет не задан - время не выводится)
    TimePrefix - префикс перед временем (например, Time=)
    MonsterColor - цвет количество оставшихся монстров (если цвет не задан - информация не выводится)
    MonsterPrefix - префикс перед количеством монстров (например, M=)
    NotStartedColor - цвет информации о том, что игра не началась(если цвет не задан - информация не выводится)
    NotStartedPrefix - Надпись отображаемая до начала карты (например, "Waiting Players")
    Пример: До начала карты, на 1 волне, после 1 волны во время трейдера, на 4 волне

    Ссылка 1 или Ссылка 2
    ServerColorMut.ServerColorMut

    Код:
    class ServerColorMut extends Mutator config(ServerColorMut);

    var config string ServerName;
    var config string MapColor;
    var config string WaveColor;
    var config string WavePrefix;
    var config string TimeColor;
    var config string TimePrefix;
    var config string MonsterColor;
    var config string MonsterPrefix;
    var config string NotStartedColor;
    var config string NotStartedPrefix;
    var ServerColorActor SCA;

    function PostBeginPlay()
    {
    SCA = Spawn(class'ServerColorActor');
    }

    Код:
    class ServerColorActor extends Info;
    
    var GameRules GRules;
    
    function PostBeginPlay()
    {
    	GRules = Spawn(class'ServerColorInfo');
    	if(Level.Game.GameRulesModifiers == none)
    		Level.Game.GameRulesModifiers = GRules;
    	else
    		Level.Game.GameRulesModifiers.AddGameRules(GRules);
    	super(Actor).PostBeginPlay();
    }
    
    Код:
    class ServerColorInfo extends GameRules;
    
    function GetServerDetails(out GameInfo.ServerResponseLine ServerState)
    {
    	local string sTemp;
    	local int waveNum;
    	local int monsterNum;
    	local int elapsedTime;
    	local KFGameReplicationInfo KFGRI;
    	KFGRI=KFGameReplicationInfo(Level.GRI);
    	waveNum=KFGRI.WaveNumber + 1;
    	elapsedTime=KFGRI.ElapsedTime;
    	monsterNum=KFGRI.MaxMonsters;
    	//Задаём название сервера. Если переменная в ини не нулевая, то рисуем в цвете то что прописано в ини
    	if(class'ServerColorMut'.default.ServerName != "")
    		ServerState.ServerName = class'ServerColorMut'.default.ServerName;
    	else //Иначе рисуем белым цветом значение переменной ServerName заданной в KillingFloor.ini
    		ServerState.ServerName = Level.Game.GameReplicationInfo.ServerName;
    	//Если задан цвет для карты - отрисовываем название карты в цвете
    	if(class'ServerColorMut'.default.MapColor != "")
    	{
    		sTemp = ServerState.MapName;
    		if(Left(sTemp, 1) != "")
    		{
    			sTemp = class'ServerColorMut'.default.MapColor $ sTemp;
    			ServerState.MapName = sTemp;
    		}
    	}
    	//Если задан цвет для волны - отрисовываем номер волны, если не задан - ничего не пишем
    	if(class'ServerColorMut'.default.WaveColor != "")
    	{
    		//цвет+префикс+значение
    		sTemp = class'ServerColorMut'.default.WaveColor$class'ServerColorMut'.default.WavePrefix$waveNum;
    		if (Level.Game.GetStateName() == 'MatchInProgress')
    			ServerState.ServerName @=sTemp;
    	}
    	//Если задан цвет для времени - отрисовываем время прошедшее с начала карты, если не задан - ничего не пишем
    	if(class'ServerColorMut'.default.TimeColor != "")
    	{
    		//цвет+префикс+значение
    		sTemp = " " $ class'ServerColorMut'.default.TimeColor$class'ServerColorMut'.default.TimePrefix$GetTimeString(elapsedTime);
    		if (Level.Game.GetStateName() == 'MatchInProgress')
    			ServerState.ServerName @=sTemp;
    	}
    	//Если задан цвет для количества оставшихся монстров - отрисовываем, иначе - ничего не пишем
    	if(class'ServerColorMut'.default.MonsterColor != "")
    	{
    		//цвет+префикс+значение
    		sTemp = " "$class'ServerColorMut'.default.MonsterColor$class'ServerColorMut'.default.MonsterPrefix$monsterNum;
    		if (Level.Game.GetStateName() == 'MatchInProgress')
    			ServerState.ServerName @=sTemp;
    	}
    	//Задаём надпись и её цвет для ситуации, когда игра ещё не началась
    	if	(class'ServerColorMut'.default.NotStartedColor != "")
    	{
    		sTemp = " "$class'ServerColorMut'.default.NotStartedColor$class'ServerColorMut'.default.NotStartedPrefix;
    		if(Level.Game.GetStateName() != 'MatchInProgress')
    			ServerState.ServerName @=sTemp;
    	}
    }
    
    function string GetTimeString(int seconds)
    {
    	local int cMinutes,cSeconds;
    	local string result;
    	cMinutes=seconds / 60;
    	cSeconds=seconds % 60;
    	if(cMinutes<10)
    		result$="0";
    	result$=string(cMinutes);
    	result$=":";
    	if(cSeconds<10)
    		result$="0";
    	result$=string(cSeconds);
    	return result;
    }
    
    Сделано корявенько, но пока сойдёт)
    Кому надо поправить нюансы - правьте ServerColorInfo - вроде там всё предельно просто

    Информация о сервере обновляется где-то раз в 10 секунд
     
    Denkul999, WipeMaster, drummer36 и 4 другим нравится это.
  13. w.a.l

    w.a.l Консильери

    Флейм принёсся в студию и всем раздался как приз :sorcerer:
     
  14. DarkRnD

    DarkRnD Новенький

    Маленькое предложение: добавить переменную ServerNameColor. Для мультисерверов (несколько серверов из одной папки) будет очень полезно. Сейчас, если переменную ServerName= оставлять пустой, используются старые имена серверов и в конце уже добавляется стата игры (время, волна и зеды)

    PS работает отлично:
    [​IMG]
    PPS прокачка тоже работает.
     
  15. w.a.l

    w.a.l Консильери

    Я не понял...на фига в нём номер волны ? это уже есть в самом браузере столбик с номером волны. Вано где то написал как это исправить.

    [​IMG]


    Решение:

    Открвываем GUI2K4.rus (который находится в папке System) в блокноте, notepad++ или как вам удобно
    Находим раздел [UT2k4Browser_ServersList], в ней строку ColumnHeadings и изменяем ее.

    Должно выглядеть так:

    ColumnHeadings=("Инфо","Имя сервера","Карта","Игроки","Волна","Пинг")


    Допиленую добавлю в топик !!!!! :sweat:
     
  16. Flame

    Flame -Заслуженый кодер форума-

    Ещё разок. Общая переменная для цвета серваков? Чтобы оставлять ServerName пустым и этой переменной править цвет для стандартного названия?
     
  17. DarkRnD

    DarkRnD Новенький

    Да.
     
  18. kok-s

    kok-s Консильери

    Я чё то тоже не вкурил зачем номер волны, если эта фишка есть в самом кф.
     
  19. w.a.l

    w.a.l Консильери

    Ссылки обновлены
     
  20. WipeMaster

    WipeMaster Бандит

    Обьясните бедному нубу что прописывать что бы в названии сервера появились префиксы волн\ количества мобов и тп :facepalm: Сорсы и собранный мут прилагаются.
    Поправил кодировку конфигов все заработало. Спс за отличный мутатор.
    Посмотреть вложение ServerColorMut.zip
    Посмотреть вложение ServerColorMut-src.zip