Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
  • Нужна помощь?

    Создайте тему в соответствующем разделе
    Не нужно писать всё в чат!
  • Загляните на торговую площадку

    Там вы можете купить
    всё что касается игровых серверов
  • Не хотите бан?

    Пожалуйста, ознакомьтесь с нашими правилами
    Не нарушайте порядок!
  • Продаёте или покупаете?

    Пользуйтесь услугами гаранта
    Мы сделаем вашу сделку безопасной

Таблица лидеров


Популярные публикации

Отображаются публикации с наибольшей репутацией на 08/10/24 во всех областях

  1. 2 балла
    123new

    Информирование в чат о времени (HELP)

    class CustomTimeNotification { const private string logs_text_name = "[#CustomTimeNotification]"; void CustomTimeNotification() { GetGame().GetCallQueue(CALL_CATEGORY_SYSTEM).CallLater(this.NotifyTime, 1000, true); } void NotifyTime() { WriteLog(" NotifyTime Start!"); int year, month, day, hour, minute; GetGame().GetWorld().GetDate(year, month, day, hour, minute); WriteLog(" InGame Date: "+hour.ToString()+":"+minute.ToString()+" "+day.ToString()+"."+month.ToString()+"."+year.ToString()); if (hour == 6 || hour == 9 || hour == 12 || hour == 15 || hour == 18 || hour == 21 || hour == 0 || hour == 3) { string message = string.Format("Кажется... Сегодня %1-е %2. %3-го... Времени около %4 часов.", day, GetMonthName(month), year, hour); WriteLog(" Message: "+message); private array<Man> players = new array<Man>; GetGame().GetPlayers( players ); int numbOfplayers = players.Count(); if( numbOfplayers > 0 ) { foreach(Man player: players) { SendPersonalMessage(message, player); } //GetGame().ChatPlayer(message); } } WriteLog("NotifyTime Finish!"); } string GetMonthName(int month) { switch (month) { case 1: return "января"; case 2: return "февраля"; case 3: return "марта"; case 4: return "апреля"; case 5: return "мая"; case 6: return "июня"; case 7: return "июля"; case 8: return "августа"; case 9: return "сентября"; case 10: return "октября"; case 11: return "ноября"; case 12: return "декабря"; } return ""; } void SendPersonalMessage(string message, Man player) { WriteLog(" player="+player.ToString()+" Message: "+message); if(( player ) && (message != "")) { Param1<string> m_GlobalMessage = new Param1<string>(message); GetGame().RPCSingleParam(player, ERPCs.RPC_USER_ACTION_MESSAGE, m_GlobalMessage, true, player.GetIdentity()); WriteLog("[SendPersonalMessage][Sended] "+player.GetIdentity().GetName()+"("+player.GetIdentity().GetPlainId()+") Message: "+message); } } void WriteLog(string text) { if (text != "") { WriteCorrectLog("[" + GetRealDay() + " - " + GetRealTime() + "] " + logs_text_name + " " + text); } } private void WriteCorrectLog(string message) { PrintFormat("%1", message); } private string GetRealDay() { int year, month, day; GetYearMonthDay(year, month, day); string date = day.ToStringLen(2) + "." + month.ToStringLen(2) + "." + year.ToStringLen(2); return date; } private string GetRealTime() { int hour, minute, second; GetHourMinuteSecond(hour, minute, second); string time = hour.ToStringLen(2) + "." + minute.ToStringLen(2) + "." + second.ToStringLen(2); return time; } }; modded class MissionServer { override void OnInit() { super.OnInit(); new CustomTimeNotification(); } } Проверяем script.log файлы сервера на логи при выполнении скрипта чтобы понимать тчо происходит, добавил несколько отладочных строк которые прямо таки будут срать в лог сервера. Если будет строка с текстом "[SendPersonalMessage][Sended]" в логе, а у конктерного этого игрока текста на экране с чата нет то значит у него в настройках игры отображение чата отключено, т.к. эта комманда гарантированно отправляет в чат сообщение от имени сервера
×
×
  • Создать...

Важная информация

Используя этот сайт, вы автоматически обязуетесь соблюдать наши Правила и Политика конфиденциальности.
Чтобы сделать этот веб-сайт лучше, мы разместили cookies на вашем устройстве. Вы можете изменить свои настройки cookies, в противном случае мы будем считать, что вы согласны с этим.

Поддержка