Page 1 of 1

Can not find the correct EventMonitor

Posted: Sat Oct 11, 2014 8:46 am
by dr-nuker
Hello there!

I was triyng to automate the current event (fairytale) and want to do the scene play.
But i am not able to find the correct Event that has to be monitored, to get the message bubbles from the actors...

I've already tried "some" Monitors...

Code: Select all

 "WARNING_MESSAGE"
"SCROLL_BANNER_MESSAGE"
"SHOW_MESSAGE_DIALOG"
"SYSTEM_MESSAGE"
"MESSAGE_NORMAL"
"CHAT_MSG_EMOTE"
"CHAT_MSG_GM_TALK"
"CHAT_MSG_GM","CHAT_MSG_SAY"
"CHAT_MSG_SYSTEM_GET"
"CHAT_MSG_SYSTEM_VALUE"
"CHAT_MSG_SYSTEM"
"CHAT_MSG_WHISPER_INFORM"
"CHAT_MSG_WHISPER_OFFLINE"
"CHAT_MSG_WHISPER"
"CHAT_MSG_YELL"
"SYSTEM_MESSAGE"
Anyone has anothet idea how to find out what has been said?

Best regards!

Re: Can not find the correct EventMonitor

Posted: Sun Oct 12, 2014 8:21 am
by dr-nuker
Now I have also tried all of these:

Code: Select all

"CHAT_MSG_CHANNEL_JOIN","CHAT_MSG_CHANNEL_LEAVE","CHAT_MSG_CHANNEL","CHAT_MSG_COMBAT","CHAT_MSG_EMOTE","CHAT_MSG_GM_TALK","CHAT_MSG_GM","CHAT_MSG_GUILD","CHAT_MSG_LFG","CHAT_MSG_LOOT","CHAT_MSG_PARTY", "CHAT_MSG_RAID","CHAT_MSG_SALE","CHAT_MSG_SAY","CHAT_MSG_SYSTEM_GET", "CHAT_MSG_SYSTEM_VALUE","CHAT_MSG_SYSTEM","CHAT_MSG_WHISPER_INFORM","CHAT_MSG_WHISPER_OFFLINE", "CHAT_MSG_WHISPER","CHAT_MSG_YELL","CHAT_MSG_ZONE","CHAT_MSN_ADDBUTTON", "CHAT_MSN_ADDITEMLINK", "CHAT_MSN_ADD","CHAT_MSN_CLOSE","CHAT_MSN_ITEMPREVIEW","CHAT_MSN_OPEN","CHAT_MSN_POPUP","CHAT_MSN_SMALL","SYSTEM_MESSAGE"
But i can not make it work :/

MM never catches the spoken text from the practice mode...

Noone has another idea? :cry:

Re: Can not find the correct EventMonitor

Posted: Sun Oct 12, 2014 8:45 am
by rock5
How are you testing it? Are you perhaps trying to do a string match?

Re: Can not find the correct EventMonitor

Posted: Sun Oct 12, 2014 12:09 pm
by dr-nuker
I use a script from you or Lisa... it was used to identify the Event to trigger at the Ostrich dance event...

Code: Select all

function scanevent(_msg,_stop)
   
   local events = {
   "CHAT_MSG_CHANNEL_JOIN",
   "CHAT_MSG_CHANNEL_LEAVE",
   "CHAT_MSG_CHANNEL",
   "CHAT_MSG_COMBAT",
   "CHAT_MSG_EMOTE",
   "CHAT_MSG_GM_TALK",
   "CHAT_MSG_GM",
   "CHAT_MSG_GUILD",
   "CHAT_MSG_LFG",
   "CHAT_MSG_LOOT",
   "CHAT_MSG_PARTY",
   "CHAT_MSG_RAID",
   "CHAT_MSG_SALE",
   "CHAT_MSG_SAY",
   "CHAT_MSG_SYSTEM_GET",
   "CHAT_MSG_SYSTEM_VALUE",
   "CHAT_MSG_SYSTEM",
   "CHAT_MSG_WHISPER_INFORM",
   "CHAT_MSG_WHISPER_OFFLINE",
   "CHAT_MSG_WHISPER",
   "CHAT_MSG_YELL",
   "CHAT_MSG_ZONE",
   "CHAT_MSN_ADDBUTTON",
   "CHAT_MSN_ADDITEMLINK",
   "CHAT_MSN_ADD",
   "CHAT_MSN_CLOSE",
   "CHAT_MSN_ITEMPREVIEW",
   "CHAT_MSN_OPEN",
   "CHAT_MSN_POPUP",
   "CHAT_MSN_SMALL",
   "MESSAGE_NORMAL",
   "SCROLL_BANNER_MESSAGE",
   "SHOW_MESSAGE_DIALOG",
   "SYSTEM_MESSAGE",
   "WARNING_MESSAGE"
   }
   
   
   local function stoptest()
      unregisterTimer("EVENTtest");
      for i = 0,#events do
         EventMonitorStop("EVENT"..i) 
      end
   end
   
   if _stop then stoptest() return end
   
   for k,v in ipairs(events) do
      EventMonitorStart("EVENT"..k, v) 
   end      
   local function testevent()
      for k,v in ipairs(events) do
         local time, moreToCome, name, msg = EventMonitorCheck("EVENT"..k, "4,1")
		 if name then print(v.." "..name) end
         if msg then print(v.." "..msg) end
      end
   end
   registerTimer("EVENTtest", secondsToTimer(1), testevent);
end

   scanevent("ostrich")
   for i = 1,30 do
      yrest(1000)
   end
   scanevent(nil,true)
Might have some flaws but SAY, world, zone etc. is correctly displayed...

Re: Can not find the correct EventMonitor

Posted: Sun Oct 12, 2014 12:45 pm
by rock5
I don't know. You seem to have the testing method down at least. I think you have to try different events until you find the right one. Maybe the public event messages, the ones that start with PE_? Or maybe if you think about it you can think of another way to do it without without monitoring the events.

Re: Can not find the correct EventMonitor

Posted: Sun Oct 12, 2014 12:56 pm
by dr-nuker
rock5 wrote:I don't know. You seem to have the testing method down at least. I think you have to try different events until you find the right one. Maybe the public event messages, the ones that start with PE_? Or maybe if you think about it you can think of another way to do it without without monitoring the events.
Cann you point me where i can find these events? :)

Re: Can not find the correct EventMonitor

Posted: Sun Oct 12, 2014 2:00 pm
by rock5
Where did you get your long list? I assumed you were aware of the rom wiki. Here is the events list. http://runesofmagic.gamepedia.com/List_of_Events

Re: Can not find the correct EventMonitor

Posted: Sun Oct 12, 2014 3:45 pm
by dr-nuker
rock5 wrote:Where did you get your long list? I assumed you were aware of the rom wiki. Here is the events list. http://runesofmagic.gamepedia.com/List_of_Events
Mine is from some thread here in the forum :)

Thanks!


Edit: tried many more but could not find the correct one...
Is there a chance that adding many Events at the same time might lead o losing messages?


Br,
nuker

Re: Can not find the correct EventMonitor

Posted: Mon Oct 13, 2014 1:20 am
by rock5
I don't know.

Maybe it's using an unlisted event, not everything is documented. Or maybe it doesn't trigger an event at all.

What is the message exactly? Does it appear in the chat window?

Re: Can not find the correct EventMonitor

Posted: Mon Oct 13, 2014 4:06 pm
by dr-nuker
Hey :)

It does not drop to the chat window it's just bubbles with text boxes...

It is the story telling troupe manager event. And in fact what he says is also not in any event except his start message...

Would be nice to find the Monitor, if not: i'll try to fiddle around by using timings...

Re: Can not find the correct EventMonitor

Posted: Mon Oct 20, 2014 4:45 pm
by dr-nuker
Well, I fiddled around this problem by simply using timed interactions. Not nice but works okay (mostly).

Now a new question came to my mind:

How can I check if an NPC offers a Specific Dialog item?

so how can I see if "bllla" is an Option in the dialog that can be used with ChoiceOptionByName("bllla")?

Br,

Re: Can not find the correct EventMonitor

Posted: Mon Oct 20, 2014 7:16 pm
by rock5
Well if you are going to use the option anyway then ChoiceOptionByName returns true or false. So you could do something like this

Code: Select all

if ChoiceOptionByName("billa") then
    -- Do something if option exists
else
    -- Do something if option doesn't exists
end