Thread Tools Display Modes
03-20-11, 11:15 PM   #1
logansfury
A Deviate Faerie Dragon
Join Date: Oct 2010
Posts: 12
is there anything like WoW Dings that works for /say?

title says it all.

downloaded WoW dings and the symbols it allows only work for trade, guildchat etc but not for say or yell which is what I want to macro for.

Anyone know of a similar addon that can do this?
  Reply With Quote
03-21-11, 05:40 AM   #2
Nobgul
A Molten Giant
 
Nobgul's Avatar
AddOn Author - Click to view addons
Join Date: Aug 2009
Posts: 693
I am not sure why this addon does not work for say, unless it is a limitation on the chat channel its self, or some sort of localization issue?
__________________
[SIGPIC][/SIGPIC]
  Reply With Quote
03-21-11, 07:53 AM   #3
def9
A Cobalt Mageweaver
 
def9's Avatar
AddOn Author - Click to view addons
Join Date: Jan 2008
Posts: 219
I believe this is the mod the op's refering to - wow dings.
__________________
Epiria, level 100 Ret/Holy Paladin
Simkin level 100 Combat Rogue
Feldeemus, level 100 Arcane Mage

Last edited by def9 : 03-21-11 at 07:53 AM. Reason: typo
  Reply With Quote
03-21-11, 09:02 AM   #4
Ketho
A Pyroguard Emberseer
 
Ketho's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2010
Posts: 1,026
I've got no idea really why the addon filters "SAY", but here's the relevant source code from the curse site def9 linked ..
Lua Code:
  1. WoWDings_OldSendChatMessage = SendChatMessage
  2.  
  3. function WoWDings_SendChatMessage(msg, system, language, target)
  4.    local range, codes, code, symbol, ranges
  5.    
  6.    if string.find(msg, "^RU") then
  7.       msg = string.gsub(msg, "^RU%s*", '')
  8.       if system ~= 'SAY' and system ~= 'YELL' then
  9.          msg = WoWDings_Russianize(msg)
  10.       end
  11.    end
  12.    
  13.    msg = string.gsub(msg, "%(WD%)", WOWDINGS_AD)
  14.    
  15.    if system ~= 'SAY' then
  16.       for _, ranges in pairs(WOWDINGS) do
  17.          for _, range in pairs(ranges) do
  18.             for symbol, codes in pairs(range) do
  19.                for _, code in pairs(codes) do
  20.                   msg = string.gsub(msg, code, symbol)
  21.                end
  22.             end
  23.          end
  24.       end
  25.    end
  26.    
  27.    WoWDings_OldSendChatMessage(msg, system, language, target)
  28. end
  29.  
  30. SendChatMessage = WoWDings_SendChatMessage
  Reply With Quote
03-26-11, 03:33 AM   #5
logansfury
A Deviate Faerie Dragon
Join Date: Oct 2010
Posts: 12
Originally Posted by Ketho View Post
I've got no idea really why the addon filters "SAY", but here's the relevant source code from the curse site def9 linked ..
Lua Code:
  1. WoWDings_OldSendChatMessage = SendChatMessage
  2.  
  3. function WoWDings_SendChatMessage(msg, system, language, target)
  4.    local range, codes, code, symbol, ranges
  5.    
  6.    if string.find(msg, "^RU") then
  7.       msg = string.gsub(msg, "^RU%s*", '')
  8.       if system ~= 'SAY' and system ~= 'YELL' then
  9.          msg = WoWDings_Russianize(msg)
  10.       end
  11.    end
  12.    
  13.    msg = string.gsub(msg, "%(WD%)", WOWDINGS_AD)
  14.    
  15.    if system ~= 'SAY' then
  16.       for _, ranges in pairs(WOWDINGS) do
  17.          for _, range in pairs(ranges) do
  18.             for symbol, codes in pairs(range) do
  19.                for _, code in pairs(codes) do
  20.                   msg = string.gsub(msg, code, symbol)
  21.                end
  22.             end
  23.          end
  24.       end
  25.    end
  26.    
  27.    WoWDings_OldSendChatMessage(msg, system, language, target)
  28. end
  29.  
  30. SendChatMessage = WoWDings_SendChatMessage
Hello Ketho,

I see in your avatar you are listed as Addon Author. May I ask if youve time to post what would be the proper edit to remove this say and yell filter without breaking the addon?

I am not very experienced with coding but Im assuming the piece of code reading:

if system ~= 'SAY' and system ~= 'YELL' then
msg = WoWDings_Russianize(msg)
end

is part of what needs to be removed to customize the addon, but the section containing:

if system ~= 'SAY' then
for _, ranges in pairs(WOWDINGS) do
for _, range in pairs(ranges) do
for symbol, codes in pairs(range) do
for _, code in pairs(codes) do
msg = string.gsub(msg, code, symbol)
end
end
end
end
end

WoWDings_OldSendChatMessage(msg, system, language, target)
end

SendChatMessage = WoWDings_SendChatMessage

im not sure how to properly edit without breaking anything.

May I get a proper edit example please?
  Reply With Quote
03-26-11, 12:06 PM   #6
Seerah
Fishing Trainer
 
Seerah's Avatar
WoWInterface Super Mod
Featured
Join Date: Oct 2006
Posts: 10,860
Without looking at it closer, I would first guess that your first option is to change
Code:
if system ~= 'SAY' and system ~= 'YELL' then
to
Code:
if system ~= 'YELL' then
__________________
"You'd be surprised how many people violate this simple principle every day of their lives and try to fit square pegs into round holes, ignoring the clear reality that Things Are As They Are." -Benjamin Hoff, The Tao of Pooh

  Reply With Quote
03-26-11, 04:25 PM   #7
Cowmonster
A Cyclonian
AddOn Author - Click to view addons
Join Date: Oct 2008
Posts: 40
If the code previously posted in the thread is where the issues are then the lines I commented out below (denoted by the preceeding '--') can be commented out or removed and the restriction on YELL and SAY will be abolished. This is of course assuming that there are no other restrictions in the addon on SAY and YELL and that removing the restriction was your desired intent. There may also be a good reason while the addon author chose to put in such restrictions.

Lua Code:
  1. WoWDings_OldSendChatMessage = SendChatMessage
  2.  
  3. function WoWDings_SendChatMessage(msg, system, language, target)
  4.    local range, codes, code, symbol, ranges
  5.    
  6.    if string.find(msg, "^RU") then
  7.       msg = string.gsub(msg, "^RU%s*", '')
  8. --      if system ~= 'SAY' and system ~= 'YELL' then
  9.          msg = WoWDings_Russianize(msg)
  10. --      end
  11.    end
  12.    
  13.    msg = string.gsub(msg, "%(WD%)", WOWDINGS_AD)
  14.    
  15. --   if system ~= 'SAY' then
  16.       for _, ranges in pairs(WOWDINGS) do
  17.          for _, range in pairs(ranges) do
  18.             for symbol, codes in pairs(range) do
  19.                for _, code in pairs(codes) do
  20.                   msg = string.gsub(msg, code, symbol)
  21.                end
  22.             end
  23.          end
  24.       end
  25. --   end
  26.    
  27.    WoWDings_OldSendChatMessage(msg, system, language, target)
  28. end
  29.  
  30. SendChatMessage = WoWDings_SendChatMessage
__________________


Author of:
Equipped Average Item Level :: ExtraBar :: Killing Blow Emote :: RecordTip
  Reply With Quote
03-26-11, 07:03 PM   #8
logansfury
A Deviate Faerie Dragon
Join Date: Oct 2010
Posts: 12
Originally Posted by Cowmonster View Post
If the code previously posted in the thread is where the issues are then the lines I commented out below (denoted by the preceeding '--') can be commented out or removed and the restriction on YELL and SAY will be abolished. This is of course assuming that there are no other restrictions in the addon on SAY and YELL and that removing the restriction was your desired intent. There may also be a good reason while the addon author chose to put in such restrictions.

Lua Code:
  1. WoWDings_OldSendChatMessage = SendChatMessage
  2.  
  3. function WoWDings_SendChatMessage(msg, system, language, target)
  4.    local range, codes, code, symbol, ranges
  5.    
  6.    if string.find(msg, "^RU") then
  7.       msg = string.gsub(msg, "^RU%s*", '')
  8. --      if system ~= 'SAY' and system ~= 'YELL' then
  9.          msg = WoWDings_Russianize(msg)
  10. --      end
  11.    end
  12.    
  13.    msg = string.gsub(msg, "%(WD%)", WOWDINGS_AD)
  14.    
  15. --   if system ~= 'SAY' then
  16.       for _, ranges in pairs(WOWDINGS) do
  17.          for _, range in pairs(ranges) do
  18.             for symbol, codes in pairs(range) do
  19.                for _, code in pairs(codes) do
  20.                   msg = string.gsub(msg, code, symbol)
  21.                end
  22.             end
  23.          end
  24.       end
  25. --   end
  26.    
  27.    WoWDings_OldSendChatMessage(msg, system, language, target)
  28. end
  29.  
  30. SendChatMessage = WoWDings_SendChatMessage
This worked perfectly to a certain extent!

On creating macros to use the /say and /yell chats with this edited .lua active, the chatlog returns of the macro used the wowding chars as intended, but the chatbubbles produced by the player launching the macro contained question marks instead of the wowding chars.

It seems there is some prohibitive coding in the wow game preventing the special ding chars from appearing in bubbles, and this is why the author of addon put the yell and say filter in place.

For the purposes of what I wanted to accomplish with the addon, it seems ill have to use the /emote feature to prevent chatbubbles and have a chatlog only display of what I wish to say with the correct display of the wowding chars.

Thank you very much for your time, everyone that replied to this thread

Last edited by logansfury : 03-26-11 at 07:04 PM. Reason: spelling
  Reply With Quote

WoWInterface » AddOns, Compilations, Macros » AddOn Search/Requests » is there anything like WoW Dings that works for /say?


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off