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

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

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

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

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

Не вижу в чате игрока сообщений с сервера

Всем привет!

Столкнулся с проблемой - не вижу в чате игрока сообщений с сервера.

Вот мой код, размещенный в 3_Game.

class Xok_Messenger {
    static void SendPersonalMessage(string message, Man player) {
        if (player && (message != "")) {
            Param1<string> m_GlobalMessage = new Param1<string>(message);
            GetGame().RPCSingleParam(player, ERPCs.RPC_USER_ACTION_MESSAGE, m_GlobalMessage, true, player.GetIdentity());
        }
    }

    static void SendPersonalMessageToAllPlayers(string message) {
        array<Man> players = new array<Man>;
        GetGame().GetPlayers(players);

        foreach(Man player: players) {
            SendPersonalMessage(message, player);
        }
    }
}

Также, я создал кастомный экшн, зарегистрировал его, и при вызове этого экшена хочу отправить всем игрокам сообщение. Вот код экшена:

class ActionXok: ActionInteractBase {
	void ActionXok() {
        Xok_Quests_LoggerInstance.Debug("ActionXok() started.");

		m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_INTERACTONCE;
		m_StanceMask = DayZPlayerConstants.STANCEMASK_ERECT | DayZPlayerConstants.STANCEMASK_CROUCH;
		m_HUDCursorIcon = CursorIcons.CloseHood;
        m_Text = "Задания";

        Xok_Quests_LoggerInstance.Debug("ActionXok() completed.");
	}

    override void CreateConditionComponents() {
        Xok_Quests_LoggerInstance.Debug("ActionXok.CreateConditionComponents() started.");

        m_ConditionTarget = new CCTMan(UAMaxDistances.DEFAULT);
        m_ConditionItem = new CCINone;

        Xok_Quests_LoggerInstance.Debug("ActionXok.CreateConditionComponents() completed.");
	}

	override bool ActionCondition( PlayerBase player, ActionTarget target, ItemBase item ) {
        PlayerBase nTarget = PlayerBase.Cast(target.GetObject());
        if (nTarget && nTarget.IsAlive()) {
            return true;
        }

        return false;
    }

    override void OnStartClient(ActionData action_data) {
        Xok_Quests_LoggerInstance.Debug("ActionXok.OnStartClient() started.");

        Xok_Messenger.SendPersonalMessageToAllPlayers("Дратути!");

        Xok_Quests_LoggerInstance.Debug("ActionXok.OnStartClient() completed.");
    }
}

Пересобрал мод.

Для проверки работы запускаю локальный сервер и клиент следующими командами:

start /D "S:\SteamLibrary\steamapps\common\DayZ" DayZDiag_x64.exe "-mod=%mods%" "-mission=%mission%" -filePatching -server -config=serverDZ.cfg
start /D "S:\SteamLibrary\steamapps\common\DayZ" DayZDiag_x64.exe "-mod=%mods%" -filePatching -connect=127.0.0.1 -port=2302 -window

Захожу на локальный сервер, инициироую экшен, но сообщений в чате не вижу, хотя в логах сервера вижу сообщения о том, что OnStartClient успешно отработал.

 

В настройках клиента все типы сообщений в чате включены.

 

Вопрос: в чем проблема? Что я делаю не так?

Поделиться сообщением


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

Рекомендованные сообщения

Нет ответов на вопрос

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×
×
  • Создать...

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

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

Поддержка