Page 1 of 1

FEAT REQ: /rtarg

Posted: Fri Oct 03, 2003 11:00 pm
by MSMage
Was wondering if its possible to have /Rtarget function as target does under MQ.

Posted: Fri Oct 03, 2003 11:05 pm
by Plazmic
I don't want to tweak /Rtarget...
I know people use it for checking if someone is in buff range during raids

Posted: Sat Oct 04, 2003 2:42 am
by Kint
maybe a /rtt with extended range? or /rt with extended and rtt with buff range stuff

Posted: Sat Oct 04, 2003 3:03 am
by Plazmic
How about:

Code: Select all

/alias /rtt /target "$lasttell"

Posted: Sat Oct 04, 2003 8:05 am
by MSMage
Just tried that, my "$lasttell" is adding a y to the the end of everything, making it unable to target anything at all that way.

Posted: Sat Oct 04, 2003 3:23 pm
by prh
There's a bug in the code that sets the gLastTell..

It copies the name correctly onto the buffer but it does not terminate the name with a 0 after, so other names from before willl partially appear after the new one..

This can be fixed by adding..

*(gLastTell+((DWORD)(strstr(szMsg," tells you, '")-szMsg))) = 0;

after strncpy(gLastTell,szMsg,(DWORD)(strstr(szMsg," tells you, '")-szMsg));

In the method VOID Detour(PCHAR szMsg, DWORD dwColor, DWORD dwUnknown) in EQLib_Hooks.cpp

Posted: Sun Oct 05, 2003 1:30 pm
by MSMage
Ok, think ive found the area that you mean, just wondering how this:

Code: Select all

	VOID Detour(PCHAR szMsg, DWORD dwColor, DWORD dwUnknown) 
	{ 
		DebugSpew("CChatHook::Detour(%s)",szMsg); 
		gbInChat = TRUE; 
		if ((!strncmp(szMsg,"You have entered ",17)) || (strstr(szMsg," saved."))) { 
			if (gZoning) { 
				gDelayZoning += gZoneDelay; 
				gZoning=FALSE; 
			} 
			gbInGame=TRUE; 
		} else if (!strcmp(szMsg,"Welcome to EverQuest!")) {
			gbDoAutoRun=TRUE;
		} else if (strstr(szMsg," tells you, '")) { 
			strncpy(gLastTell,szMsg,(DWORD)(strstr(szMsg," tells you, '")-szMsg));
		} 
Should look when im done.

Posted: Sun Oct 05, 2003 4:09 pm
by prh
Yes, change it to..

Code: Select all

	VOID Detour(PCHAR szMsg, DWORD dwColor, DWORD dwUnknown) 
	{ 
		DebugSpew("CChatHook::Detour(%s)",szMsg); 
		gbInChat = TRUE; 
		if ((!strncmp(szMsg,"You have entered ",17)) || (strstr(szMsg," saved."))) { 
			if (gZoning) { 
				gDelayZoning += gZoneDelay; 
				gZoning=FALSE; 
			} 
			gbInGame=TRUE; 
		} else if (!strcmp(szMsg,"Welcome to EverQuest!")) {
			gbDoAutoRun=TRUE;
		} else if (strstr(szMsg," tells you, '")) { 
			strncpy(gLastTell,szMsg,(DWORD)(strstr(szMsg," tells you, '")-szMsg)); 
			*(gLastTell+((DWORD)(strstr(szMsg," tells you, '")-szMsg))) = 0;
		} 

Posted: Sun Oct 05, 2003 4:17 pm
by Plazmic
Don't change it... was fixed in 1004a as:

Code: Select all

      } else if (strstr(szMsg," tells you, '")) { 
[color=red]         ZeroMemory(gLastTell,MAX_STRING]);[/color]
         strncpy(gLastTell,szMsg,(DWORD)(strstr(szMsg," tells you, '")-szMsg)); 
      } 

Posted: Sun Oct 05, 2003 5:05 pm
by MSMage
Mine looks pretty much like this:

Code: Select all

   VOID Detour(PCHAR szMsg, DWORD dwColor, DWORD dwUnknown) 
   { 
      DebugSpew("CChatHook::Detour(%s)",szMsg); 
      gbInChat = TRUE; 
      if ((!strncmp(szMsg,"You have entered ",17)) || (strstr(szMsg," saved."))) { 
         if (gZoning) { 
            gDelayZoning += gZoneDelay; 
            gZoning=FALSE; 
         } 
         gbInGame=TRUE; 
      } else if (!strcmp(szMsg,"Welcome to EverQuest!")) { 
         gbDoAutoRun=TRUE; 
      } else if (strstr(szMsg," tells you, '")) { 
         strncpy(gLastTell,szMsg,(DWORD)(strstr(szMsg," tells you, '")-szMsg)); *(gLastTell+((DWORD)(strstr(szMsg," tells you, '")-szMsg))) = 0;
      } 
Doesnt seem to be affecting it adversely that it was already fixed, but ill keep it noted for when i next recompile.

Posted: Sun Oct 05, 2003 5:12 pm
by Plazmic
I'll be CVSing it as ZeroMemory... :P

Posted: Sun Oct 12, 2003 3:03 pm
by MSMage
Dunno if its been mentioned before, but $lasttell returns any "tells" that a pet sends to the master, and was wondering if theres a way to filter that out the way EQ does.

Posted: Sun Oct 12, 2003 3:44 pm
by Plazmic
Sometimes I wish I could serverfilter pet spam...
I'll fix this to not parse, and use EQ's last tell (10/9 offset: 6AE610)