Arisu, с удовольствием! Значицо, начнем со сложного...
Для реализации метода со скрытыми сообщениями мы создадим два предмета, например:
[Загадочный кристалл] - в качестве приемника, который лежит у нас в сумке.
[Осколок кристалла] - тот, что люди будут носить с собой.
Для [Загадочного Кристалла] добавляем действием скрипт, и втыкиваем ему следующие строки:
if Msg_Checker == nil then
Msg_Checker = CreateFrame("Frame", "mFrame",UIParent);
Msg_Checker:SetScript("OnEvent", function() Msg_CheckerF() end);
Msg_Checker:RegisterEvent("CHAT_MSG_ADDON");
GHI_Message("Crystal activated");
else
Msg_Checker:UnregisterEvent("CHAT_MSG_ADDON");
Msg_Checker=nil
GHI_Message("Crystal deactivated");
end
function Msg_CheckerF()
if event == "CHAT_MSG_ADDON" and arg1 == "[Secret_Msg]" then
GHI_Message(arg4.." шепчет в кристалл: "..arg2)
end
end
Строку, выделенную красным, вы можете отредактировать как вам понравится: просто учтите что arg4 - это имя отправившего персонажа а arg2 - текст отправленного сообщения (две точки служат для соединения строк).
Теперь отредактируем [Осколок Кристалла]
Добавим менее весомый скрипт:
SendChatMessage("подносит переливающийся осколок к лицу и что-то шепчет.","EMOTE",nil)
SendAddonMessage("[Secret_Msg]","Я люблю тебя, осколочек!","WHISPER","ИМЯ_АДРЕСАТА")
Тут, я думаю, вы сами разберетесь. Главное, заменить выделенный текст... на свое имя.
Теперь нам достаточно активировать наш кристалл, и мы сможем отслеживать использование осколка.
Не забывайте, что слежка сбрасывается при каждом выходе из игры или перезагрузке пользовательского интерфейса.
Изучим более простой метод: создадим предмет [Отправлялка].
Добавляем ему скрипт:
SendChatMessage("достает из кармана странный предмет.","EMOTE",nil)
SendChatMessage("А куда это отправится?","WHISPER",nil,"ИМЯ_АДРЕСАТА")
Готово!