Notes v8.2
--This update marks a major change in the way that some of the plugins for the compile are working. Thanks to some major reworking of a lot of our active hacks by Thez (with some help from others), our warping plugins are now a heck of a lot safer (by manipulating the MoveTracker Packet!) Thanks should go to Jimbo, Thez, and others who helped get this going. That said, the way that the changes were made may not make some of you self-compilers as happy. A lot of what was causing the problems between plugins was due to multiple plugins wanting to deal with OnSendPacket at once, and several plugins trying to utilize the same things at once.
--These issues have been fixed by consolidating most of the structs / packet defines, a lot of the common functions, and some of the other stuff into a single .lib file. For those of you just downloading the precompile, this won't make any difference. For those downloading the source and compiling, it'll be a bit more complicated. I will explain below!
--Other changes:
MQ2Melee updated! MovePkt plugins have been re-added to the compile, and to the source! Fixed the crashing bug with gank! Thez fixed the problem that MQ2Exactspeed was causing in
MQ2Cast...unfortunately, he had to strip out all of the coding relating to stopping you, or movement, to do it...sorry! MQ2Exactspeed is also now known as MQ2Speed!
If you are not going to be customizing your plugins, you don't need to read the rest of this information!
--For those wanting to compile using the RQlib.lib, here is the info that you need:
If you are just planning on compiling the plugins straight from the file, you are fine. But! If you are going to be customizing the code, to utilize the RQlib.lib features, the following are the options available to you:
//Lib Functions
LONG Evaluate(PCHAR zFormat, ...); //Evaluates TLO script (Evaluate("${MQ2}"))
VOID SendMovementPacket(float _X, float _Y, float _Z, float _Heading); // (Warps for things like sumcorpse, etc)
VOID AddLibDetours(void); // You need to add the AddLibDetours and RemLib
VOID RemLibDetours(void); // to every plugin that will be using the RQlib in the appropriate spots (Add where AddCommands go, Rem where RemCommands go)
VOID ToggleSpeed(bool Status); //Enables speed to go. Must be toggled before the SpeedDemon() sub. Look at MQ2Speed for example.
VOID ToggleWarp(void); //Alters the next MvTkrPkt to make it look like you didn't warp.
void SumCorpse(void); //Summons target corpse
void COpen(void); // Opens target object
void CGank(void); // Picks up target item
void ZThrow(bool Type, PCHAR MessageToDo); //Type = 0 for Hail, Type = 1 for Throwsay. Still fairly buggy...sorry.
void DoSwitch(int DoorNumber); // MQ2Switch function
void SpeedDemon(int Speed); // Change speed to what you want it to be. Must ToggleSpeed() first. Look at MQ2Speed for examples.
To utilize the a function in RQlib.lib, you must paste the corresponding general lib function from the above list at the beginning of the plugin. Examples can be found in any of the plugins that use the RQlib.lib.
Remember, you MUST add the AddLibDetours(); and RemLibDetours(); by the respective AddCommand() and RemCommand() functions to make this work. It will not otherwise.