Help with a plain raid dump plugin...

demoante

New member
Joined
Oct 25, 2006
Messages
76
Reaction score
0
Points
0
Was trying to create my own raid dump plugin, all in all im pretty sure it would work, however my C++ program is a lil out of date and I cant finish this up, to confirm that its working or even use it at this minute, posting from work. obviously currently its a modified code. If anyone could scan it, and or change it to a dll for me, I would greatly apretiate it... I wouldnt fully expect you also to test it. Any help, would be greatly apretiated.

Code:
/*
MQ2RaidDumpDKP

*/

#include "../MQ2Plugin.h"

VOID LogDKP(PSPAWNINFO pChar, PCHAR szLine);
VOID LogDKPStop(PSPAWNINFO pChar, PCHAR szLine);
VOID LogDKPForce(PSPAWNINFO pChar, PCHAR szLine);
VOID GetDKP(PSPAWNINFO pChar);

PreSetup("MQ2LogDKP");

#define LOGINTERVAL 1800000  // 30 minute delay
DWORD PulseTime=0;
bool MQ2LogDKPEnabled=false;

PLUGIN_API VOID InitializePlugin(VOID)
{
   AddCommand("/startdkp", LogDKP);
   AddCommand("/stopdkp", LogDKPStop);
   if(gbInZone && GetCharInfo() && GetCharInfo()->pSpawn){
      WriteChatColor("MQ2WatchersLogDKP Loaded Successfully.",CONCOLOR_GREEN);
   }
}
PLUGIN_API VOID ShutdownPlugin(VOID)
{
   RemoveCommand("/startdkp");
   RemoveCommand("/stopdkp");
}
PLUGIN_API VOID OnPulse(VOID)
{
   if(MQ2LogDKPEnabled && gbInZone && GetCharInfo() && GetCharInfo()->pSpawn && (DWORD)clock()>PulseTime){
      GetDKP(GetCharInfo()->pSpawn);
   }
}
PLUGIN_API VOID OnZoned(VOID)
{
   if(MQ2LogDKPEnabled && gbInZone && GetCharInfo() && GetCharInfo()->pSpawn){
      GetDKP(GetCharInfo()->pSpawn);
   }
}
VOID LogDKP(PSPAWNINFO pChar, PCHAR szLine)
{
   if (MQ2LogDKPEnabled && gbInZone && GetCharInfo() && GetCharInfo()->pSpawn) {
      return;
   }
   if (!MQ2LogDKPEnabled && gbInZone && GetCharInfo() && GetCharInfo()->pSpawn) {
      if (MQ2Globals::gGameState==GAMESTATE_INGAME) {
         DoCommand(pChar, "/outputfile raid");
         MQ2LogDKPEnabled=true;
         WriteChatColor("Automatic DKP Raid Dump Enabled",CONCOLOR_GREEN);
         GetDKP(GetCharInfo()->pSpawn);
      } else {
         MQ2LogDKPEnabled=false;
      }
   }
}
VOID LogDKPStop(PSPAWNINFO pChar, PCHAR szLine)
{
   if (!MQ2LogDKPEnabled && gbInZone && GetCharInfo() && GetCharInfo()->pSpawn) {
      return;
   }
   if (MQ2LogDKPEnabled && gbInZone && GetCharInfo() && GetCharInfo()->pSpawn) {
      DoCommand(pChar, "/outputfile raid");
      MQ2LogDKPEnabled=false;
      WriteChatColor("Automatic DKP Raid Dump Disabled",CONCOLOR_RED);
   }
}
VOID GetDKP(PSPAWNINFO pSpawn)
{
   //Change/Add/Delete these entries to meet your channel needs.
   DoCommand(pSpawn, "/fake /rs [[ RAID DUMP ]] Taken NOW!");
   DoCommand(pSpawn, "/outputfile raid");
   DoCommand(pSpawn, "/fake /gu [[ RAID DUMP ]] was just taken, if you were not in raid, you missed it.");
   DoCommand(pSpawn, "/pause 5");
   DoCommand(pSpawn, "/fake /rs [[ Your Raid Attendance just got better. (+1) ]] ");
   DoCommand(pSpawn, "/echo [${Time}] # Updating Raid Dump for DKP.");
   PulseTime=(DWORD)clock()+LOGINTERVAL;
}
 
ahh very nice, now to come up with the 2 files needed to even compile it so it would even be usable... =x
 
ahh very nice, now to come up with the 2 files needed to even compile it so it would even be usable... =x
Or better yet, can someone post a compiled DLL for testing? This could be most useful but it's been a long time since I've dusted off the Visual C Not sure if I even have it around anymore.
 
This is from my July 22nd build. I don't know if you can use it with mmo's builds.
 

Attachments

  • MQ2RaidUtils.dll
    80.1 KB · Views: 7
ahh very nice, now to come up with the 2 files needed to even compile it so it would even be usable... =x

Everything you need should be there. Generally its up to each person to generate the project files and copy/paste the code in. Which is what makes sites this MMO nice since they do the maintenance on the plugins.

The code I wrote for the logs is kind of complex because you can specify the range of times for it to dump out logs in so many ways.
 
Last edited:
Hey Dewey thanx for the help, I always just did things manually, anymore im trying to simplify the work load, if/when i get this one figured out, this would simplify it alot for me, and I much apretiate it... kind of surprised when I actually had a need,t hat mmo didnt support one, unless its a lifetime thing.
 
Hey Dewey thanx for the help, I always just did things manually, anymore im trying to simplify the work load, if/when i get this one figured out, this would simplify it alot for me, and I much apretiate it... kind of surprised when I actually had a need,t hat mmo didnt support one, unless its a lifetime thing.
I didn't look through the plugin above, but what we provide for "role call" is MQ2Missing.

htw
 
Do you guys have anything to do raid dumps at specific times of the week or on command?
 
Do you guys have anything to do raid dumps at specific times of the week or on command?
On command, yes. At specific times, no. MQ2RaidUtils is far superior for raid attendance, IMO. We've not got the author's permission (*hint*) to include it though, is why I was mentioning MQ2Missing - certainly not because it's better for the OP's request. ;)

htw
 
I know he is talking DKP attendance specifically, but there are many other raid utility type settings you can use. I wrote a macro that used an ini file to keep notes/timers of events and would cycle through the notes at the correct time if it was on a timer. Then you added the current note on time and next note on a cycle that you could swap independently. Also stored guildmotd and some other variables such as tank lineup, mez/snare/stun immunity info, stored mob spawns and locations and times and converted them into map locations. then i used HUD to display that information. blahblahblah. but the point is, if any of you would like to add that kind of support to a plugin and want some testing done or ideas tossed your way, id be more than likely to help out.

i got lazy and stopped using the macro and started just using global variables combod with hud displays and mq2events.

ie.
in my mq2events ini:
[guildmotd]
trigger=#1#GUILD MOTD: #2#-#3#
command=/varset gmotd ${EventArg3}

Then in my ingame and zoned configs:
/if (!${Defined[gmotd]}) /declare gmotd string global

Then add ${gmotd} to my hud and only display if i am in a raid.

Same goes for tank lineup / click rotations / timers / whatever. Would be nice to have a plugin that does it instead of the ghetto way im doing it. So if someone wants to make a plugin (i know zero C/C+/C++/C# or id write it myself) and needs a tester, let me know.
 
If there is enough interest in using the plugin your welcome to include it.
 
I specifically like being able to /startraid and being able to to dump raid info at any selected time i wish, I kind of just like the default /outputfile raid, However that being said, I very much like the /dzadd all, and /dzremove all functions as though SOE added such functions as kickplayers, its buggy and not as dependable as this.

I've been running an eqdkp setup for our guild. Though as for the dkp log parser, im pretty clueless and cant get it to work as I want, so the raid log copy and paste, has worked well for the dkp insert option for eqdkp.

BTW Dewey, I tried to get it to start the raid file, and I must be inserting the command wrong as I want it saved to into the ini... here is the one i entered perhaps im not understanding, "LogFileFormat=Raid %m/%d/%Y__%H:%M.txt". Anyways i told it to manually dump a few times couldnt find the file, and I did NOT specify what days to do the auto dumps, I just turned it on, and set the dump to 1m, and couldnt get it to work. Info below

Code:
[Mynamehere]
LogIsON=1
LogEvery=1
LogFileFormat=Raid %m/%d/%Y__%H:%M.txt
LogTimes=none
 
Last edited:
This is what I have. It drops the files in my MQ2\logs\RaidList-XXXX.txt

LogIsON=1
LogEvery=30
LogFileFormat=%Q\logs\RaidList-%Y%m%d-%H%M%S.txt
LogTimes=5pm-9pm sun | Tue 8pm-11pm | Wen 8pm-11pm | Thu 8pm-11pm
 
I think the only thing that would make this plugin any better, was keyword's such as dz, raid, and task... that would auto trigger an event. /dzadd player, /taskadd player, /raidinvite player... for late comers.

Code:
example:
soandso tells you, 'dzadd'
you then would auto... /dzadd lastplayertellname

Now that would just about make this plugin a total utility tool.
 
demoante,

you can use mq2events to do that.

[dzadd]
trigger=#1# tells you, 'dzadd#2#
command=/dzadd ${EventArg1}

can do the same for raidinvite, taskadd, etc. even automating buffs via /multiline, which is what i was saying would be nice if it was incorporated into the plugin, but you can ghetto work around with mq2events.
 
Pete,

I know im probably newbing it up atm. I'm only continueing this problem here as it might be relavent to future problems if we modify Dewey's plugin to handle these events... So I kind of started up an events ini, works good until the last one, the raidinvite, and it breaks... no message reporting to the MQ window atall, and raidinvite being sent back, yes im testing in a raid atm...

The 3rd one I get an EQ error that says...
Code:
'You invite Name to join your raid.'
[COLOR="Red"]'Name is unavailable at this time.[/COLOR]'

below is the file i started as i said first 2 work, 3rd doesnt.

Code:
[dzadd]
trigger=#1# tells you, 'dzadd#2#
command=/dzadd ${EventArg1}

[taskadd]
trigger=#1# tells you, 'taskadd#2#
command=/taskadd ${EventArg1}

[invite]
trigger=#1# tells you, 'invite#2#
command=/raidinvite ${EventArg1}
 
Last edited: