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

Тема: глобальный чат

Комбинированный просмотр

doctor глобальный чат 09.03.2014, 04:26
doctor новая версия 13.03.2014, 01:53
JiSt Release global_chat v2.33 30.07.2014, 11:00
JiSt бот на CPP 13.03.2014, 06:29
JiSt http://worlds.activeworlds.ru/... 13.03.2014, 06:52
doctor Внимание! Обнаружил... 13.03.2014, 21:47
JiSt больше слов 15.03.2014, 07:50
JiSt Собственно вот: ... 15.03.2014, 07:59
doctor новая версия 27.03.2014, 12:28
JiSt icon 27.03.2014, 13:18
doctor небольшое дополнение 27.03.2014, 13:22
JiSt Release global_chat v2.3 27.03.2014, 15:51
Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Пользователь
    Регистрация
    22.06.2013
    Сообщений
    41

    По умолчанию глобальный чат

    По просьбам трудящихся сделал консольный глобальный чат.

    Он имеет потенциал для усовершенствований (текст разными цветами, управление с помощью HUD и т.д.), но пока выкладываю версию, которая только обеспечивает собственно чат.

    Для работы программы необходимо иметь привилегии caretaker (хранитель) в мире.

    Инструкция:

    • Зайти сюда: https://drive.google.com/file/d/0B90...it?usp=sharing
      На странице нажать Файл → Скачать, чтобы скачать весь архив.
    • Распаковать куда-нибудь архив.
      Там будет три папки:
      1. global_chat — папка с готовой программой, просто запустить global_chat.exe
      2. global_chat_source — содержит собственно исходный код, а так же файлы SDK, необходимые для компиляции (aw.h, aw.lib) и для запуска — aw.dll.
        Тут также есть подпапка linux — содержит элементы SDK, необходимые для компиляции кода под линуксом (вряд ли это кому-то поданобится )
      3. global_chat_vs_prj — папка с проектом, созданным в Visual Studio 2010, не факт что будет "с ходу" компилиться в других версиях.


    По поводу любых глюков и багов пишите сюда или телеграммой мне в мире.

  2. #2
    Пользователь
    Регистрация
    22.06.2013
    Сообщений
    41

    По умолчанию

    Внимание!

    Обнаружено, что бот (готовая программа) не работает, если не установлена Visual Studio, т.к. отсутствуют необходимые dll.
    Исправлено в новой версии бота:
    https://drive.google.com/file/d/0B90...it?usp=sharing

    Инструкция по использованию та же.

    За багрепорт спасибо Хаосу.

  3. #3
    Пользователь
    Регистрация
    22.06.2013
    Сообщений
    41

    По умолчанию новая версия

    Появилась новая версия бота!

    https://drive.google.com/file/d/0B90...it?usp=sharing

    Настоятельно рекомендуется использовать именно её, т.к. помимо новшеств, в ней исправлены некоторые баги. Инструкция по использованию та же. Дополнительные библиотеки теперь не нужны, поэтому в папке с готовой программой теперь лежит только exe и aw.dll.

    Что нового:
    • Каждый может настроить свой цвет текста (или не может, если владелец бота выключит эту опцию).
    • Каждый может включить и выключить глобальный чат для себя.
    • После первого запуска будет создан файл address.txt, где запишется ip и порт юни. Потом их можно менять в этом файле.


    Для получения списка возможных команд управления, надо запустить бота и в любом месте мира написать в общий чат !help

    Отдельное спасибо JiSt'у и Хаосу за тестирование!

  4. #4
    Новичок Аватар для JiSt
    Регистрация
    20.02.2009
    Адрес
    TwoinOne
    Сообщений
    26

    По умолчанию Release global_chat v2.33

    http://worlds.activeworlds.ru/downlo...lor_chat233.7z
    в хелпе и по ошибке комманды установки цвета (!h !help !c !col !color)
    появилась новая строка типа так:

    "Ваш текущий цвет этот текст"
    JiSt

  5. #5
    Новичок Аватар для JiSt
    Регистрация
    20.02.2009
    Адрес
    TwoinOne
    Сообщений
    26

    Хорошо бот на CPP

    Цитата Сообщение от doctor Посмотреть сообщение
    По просьбам трудящихся сделал консольный глобальный чат.
    Фантастика!)
    говорят "время пришло"...;
    Задумаешься что некоторые вещи которые появляются казалось бы давно должны были быть ан нет;
    Такого простого глобал чата для одного мира с парой опций и цветом не хватало в мирах со дня их создания;
    63 кб дабл клик и все в твоём мире слышат друг друга из далека да ещё и цветом.
    Глобал чат Vortex-а великолепен! Но его нигде не выкладывали тем более с исходняком и он же без цвета и работает ли он под привами каретакера,а не первого неизвестно;
    Кто то не любит цветные чаты);
    Моё мнение другое. Мозх,если он есть и не собаки :-)),настраивается на чтение одного цвета моментально
    Мало кто печатает не глядя на клаву и моментом взглянув в окно чата быстро перечесть все новые строчки одного собеседника
    гораздо удобнее если его строки каким то цветом...;


    Спасибо доктор за прогу!);
    JiSt

  6. #6
    Новичок Аватар для JiSt
    Регистрация
    20.02.2009
    Адрес
    TwoinOne
    Сообщений
    26

    По умолчанию

    JiSt

  7. #7
    Пользователь
    Регистрация
    22.06.2013
    Сообщений
    41

    По умолчанию

    Внимание!

    Обнаружил досадную ошибку настройки разрешений, в результате чего цветной текст был разрешен для всех, независимо от действий ботовладельца.

    Исправленная версия здесь:
    https://drive.google.com/file/d/0B90...it?usp=sharing

  8. #8
    Новичок Аватар для JiSt
    Регистрация
    20.02.2009
    Адрес
    TwoinOne
    Сообщений
    26

    Радость больше слов

    Добавил цветов словами ) Если кому то надо выложу здесь кусок кода что добавить или заменить ...

    JiSt

  9. #9
    Новичок Аватар для JiSt
    Регистрация
    20.02.2009
    Адрес
    TwoinOne
    Сообщений
    26

    По умолчанию

    Собственно вот:
    Код:
    	if(!color_by_name)
    	{
    	if (command=="!color DarkRed" || command=="!color Darkred" || command=="!color darkred")
    	{color_r=139;color_g=0;color_b=0; color_name="DarkRed";color_by_name=1;}
    	}
    
    	if(!color_by_name)
    	{
    	if (command=="!color DeepPink" || command=="!color Deeppink" || command=="!color deeppink")
    	{color_r=255;color_g=20;color_b=147; color_name="DeepPink";color_by_name=1;}
    	}
    
    	if(!color_by_name)
    	{
    	if (command=="!color Violet" || command=="!color violet")
    	{color_r=238;color_g=130;color_b=238; color_name="Violet";color_by_name=1;}
    	}
    
    	if(!color_by_name)
    	{
    	if (command=="!color BlueViolet" || command=="!color Blueviolet" || command=="!color blueviolet")
    	{color_r=138;color_g=43;color_b=226; color_name="BlueViolet";color_by_name=1;}
    	}
    
    	if(!color_by_name)
    	{
    	if (command=="!color DarkViolet" || command=="!color Darkviolet" || command=="!color darkviolet")
    	{color_r=148;color_g=0;color_b=211; color_name="DarkViolet";color_by_name=1;}
    	}
    
    	if(!color_by_name)
    	{
    	if (command=="!color DarkMagenta" || command=="!color Darkmagenta" || command=="!color darkmagenta")
    	{color_r=139;color_g=0;color_b=139; color_name="DarkMagenta";color_by_name=1;}
    	}
    
    	if(!color_by_name)
    	{
    	if (command=="!color Indigo" || command=="!color indigo")
    	{color_r=75;color_g=0;color_b=130; color_name="Indigo";color_by_name=1;}
    	}
    
    	if(!color_by_name)
    	{
    	if (command=="!color Tomato" || command=="!color tomato")
    	{color_r=255;color_g=99;color_b=71; color_name="Tomato";color_by_name=1;}
    	}
    
    	if(!color_by_name)
    	{
    	if (command=="!color Coral" || command=="!color coral")
    	{color_r=255;color_g=127;color_b=80; color_name="Coral";color_by_name=1;}
    	}
    
    	if(!color_by_name)
    	{
    	if (command=="!color Gold" || command=="!color gold")
    	{color_r=255;color_g=115;color_b=0; color_name="Gold";color_by_name=1;}
    	}
    
    	if(!color_by_name)
    	{
    	if (command=="!color OrangeRed" || command=="!color Orangered" || command=="!color orangered")
    	{color_r=255;color_g=69;color_b=0; color_name="OrangeRed";color_by_name=1;}
    	}
    
    	if(!color_by_name)
    	{
    	if (command=="!color DarkOrange" || command=="!color Darkorange" || command=="!color darkorange")
    	{color_r=255;color_g=140;color_b=0; color_name="DarkOrange";color_by_name=1;}
    	}
    
    	if(!color_by_name)
    	{
    	if (command=="!color LimeGreen" || command=="!color Limegreen" || command=="!color limegreen")
    	{color_r=50;color_g=205;color_b=50; color_name="LimeGreen";color_by_name=1;}
    	}
    
    	if(!color_by_name)
    	{
    	if (command=="!color SeaGreen" || command=="!color Seagreen" || command=="!color seagreen")
    	{color_r=46;color_g=139;color_b=87; color_name="SeaGreen";color_by_name=1;}
    	}
    
    	if(!color_by_name)
    	{
    	if (command=="!color Olive" || command=="!color olive")
    	{color_r=128;color_g=128;color_b=0; color_name="Olive";color_by_name=1;}
    	}
    
    	if(!color_by_name)
    	{
    	if (command=="!color DarkOliveGreen" || command=="!color DarkOlivegreen" || command=="!color Darkolivegreen" || command=="!color darkOliveGreen" || command=="!color darkolivegreen")
    	{color_r=85;color_g=107;color_b=47; color_name="DarkOliveGreen";color_by_name=1;}
    	}
    
    	if(!color_by_name)
    	{
    	if (command=="!color Cyan" || command=="!color cyan")
    	{color_r=0;color_g=255;color_b=255; color_name="Cyan";color_by_name=1;}
    	}
    
    	if(!color_by_name)
    	{
    	if (command=="!color DarkCyan" || command=="!color Darkcyan" || command=="!color darkcyan")
    	{color_r=0;color_g=139;color_b=139; color_name="DarkCyan";color_by_name=1;}
    	}
    
    	if(!color_by_name)
    	{
    	if (command=="!color SteelBlue" || command=="!color Steelblue" || command=="!color steelblue")
    	{color_r=70;color_g=130;color_b=180; color_name="SteelBlue";color_by_name=1;}
    	}
    
    	if(!color_by_name)
    	{
    	if (command=="!color RoyalBlue" || command=="!color Royalblue" || command=="!color royalblue")
    	{color_r=65;color_g=105;color_b=255; color_name="RoyalBlue";color_by_name=1;}
    	}
    
    	if(!color_by_name)
    	{
    	if (command=="!color DarkBlue" || command=="!color Darkblue" || command=="!color darkblue")
    	{color_r=0;color_g=0;color_b=139; color_name="DarkBlue";color_by_name=1;}
    	}
    
    	if(!color_by_name)
    	{
    	if (command=="!color RosyBrown" || command=="!color Rosybrown" || command=="!color rosybrown")
    	{color_r=188;color_g=143;color_b=143; color_name="RosyBrown";color_by_name=1;}
    	}
    
    	if(!color_by_name)
    	{
    	if (command=="!color SandyBrown" || command=="!color Sandybrown" || command=="!color sandybrown")
    	{color_r=244;color_g=164;color_b=96; color_name="SandyBrown";color_by_name=1;}
    	}
    
    	if(!color_by_name)
    	{
    	if (command=="!color Goldenrod" || command=="!color goldenrod")
    	{color_r=218;color_g=165;color_b=32; color_name="Goldenrod";color_by_name=1;}
    	}
    
    	if(!color_by_name)
    	{
    	if (command=="!color Chocolate" || command=="!color chocolate")
    	{color_r=210;color_g=105;color_b=30; color_name="Chocolate";color_by_name=1;}
    	}
    
    	if(!color_by_name)
    	{
    	if (command=="!color Peru" || command=="!color peru")
    	{color_r=205;color_g=133;color_b=63; color_name="Peru";color_by_name=1;}
    	}
    
    	if(!color_by_name)
    	{
    	if (command=="!color DarkGoldenrod" || command=="!color Darkgoldenrod" || command=="!color darkgoldenrod")
    	{color_r=184;color_g=134;color_b=11; color_name="DarkGoldenrod";color_by_name=1;}
    	}
    
    	if(!color_by_name)
    	{
    	if (command=="!color Brown" || command=="!color brown")
    	{color_r=165;color_g=42;color_b=42; color_name="Brown";color_by_name=1;}
    	}
    
    	if(!color_by_name)
    	{
    	if (command=="!color SaddleBrown" || command=="!color Saddlebrown" || command=="!color saddlebrown")
    	{color_r=139;color_g=69;color_b=19; color_name="SaddleBrown";color_by_name=1;}
    	}
    
    	if(!color_by_name)
    	{
    	if (command=="!color Maroon" || command=="!color maroon")
    	{color_r=128;color_g=0;color_b=0; color_name="Maroon";color_by_name=1;}
    	}
    и вот:
    Код:
    	aw_string_set (AW_CONSOLE_MESSAGE, "Доступные цвета:  Maroon, Red, Orange, Yellow, Olive, Green, Purple, Magenta, Lime, Teal, Aqua, Blue, Navy, Black, Gray, Silver, DarkRed, DeepPink,");
    	rc = aw_console_message (session);
    	if (rc)
    	printf ("Console message failed (reason %d)\n", rc);
    
    	aw_string_set (AW_CONSOLE_MESSAGE, "Violet, BlueViolet, DarkViolet, DarkMagenta, Indigo, Tomato, Coral, Gold, OrangeRed, DarkOrange, LimeGreen, SeaGreen, Olive, DarkOliveGreen,");
    	rc = aw_console_message (session);
    	if (rc)
    	printf ("Console message failed (reason %d)\n", rc);
    
    	aw_string_set (AW_CONSOLE_MESSAGE, "Cyan, DarkCyan, SteelBlue, RoyalBlue, DarkBlue, RosyBrown, SandyBrown, Goldenrod, Chocolate, Peru, DarkGoldenrod, Brown, SaddleBrown, Maroon.");
    	rc = aw_console_message (session);
    	if (rc)
    	printf ("Console message failed (reason %d)\n", rc);
    JiSt

  10. #10
    Пользователь
    Регистрация
    22.06.2013
    Сообщений
    41

    По умолчанию новая версия

    Изменения:
    • добавил возможность изменения ботовладельцем минимальной яркости цвета на фоне белого, т.е. теперь не любой RGB цвет можно выбрать, а только достаточно яркий на фоне белого. Впрочем, по желанию ботовладельца это можно и отключить;
    • все команды боту сделаны регистронезависимыми.


    Ссылка: https://drive.google.com/file/d/0B90...it?usp=sharing

    Яркость цвета на фоне белого считается по формуле:

    1 - (0.299*R + 0.587*G + 0.114*B)/255

    Где 1 - яркость белого цвета (1 получается если вместо R,G,B подставить везде 255), а вычитается яркость цвета, который пытается выбрать пользователь.
    Странные коэффициенты в формуле возникают из-за того, что глаза воспринимают яркости каждой компоненты R,G,B по-разному.

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
TAG.Hosting — Хостинг сайтов и Регистрация Доменов