Well passed a few hours to write up some kind of introduction for a huge project i have in mind, i talked with redbot on irc and he told me he was gonna setup a forums for that ... dammit i dont see it i must be blind!
MQ2ProjetX
Well some of ya might have heard of ProjetX it was first talked about a few months ago in mq2melee thread, a project i start working on but i have to put it on ice, cause question and answer i was seeking was getting unanswered or i was being told that people like me doesnt need to know how to do that or i dont need to do that their is other way.
ProjetX by itself is a MQ2 Complaint API Plugins, that will offer new powerfull toys for plugin, macro and hud designers. Everything that i wanted to be added into mq2main but that developpers always refuses or slap me arounds! Their is way to much duplicate code that currently in use in many plugins (lack of built-in functions into mq2main), their is also lots of codes that was made that actually duplicate code that is in eqgames.exe (lack of built in function prototyping and offset). Their was a time when almost everything was found in eqgame.exe but that get nerfed and stipped down by the devs, i want those back, i understand at that times their was very few people with knowledge on how to find those but stripping it down didnt stop experience programmers to make mq2warp, mq2ghost, and stuff like that.
ProjetX will also act as a module manager and handler, that will enable to load/unload child module of his own kinds, i also wanted to integrates bi-directionals communications channels and services between plugins so they could exchange data between them. I also want to reduce memory usage and cpu usage, on pulse plugins are cpu heavy weights and some times they do things that could have been coded way better if it was build on stronger fortifications, and have more built-in detour to tigger and traps events without having to do massive for/loops.
Lets me paste down for example code that is use to get number of free buff slots available currently in mq2:
code description: As you could see, each time you use ${Me.FreeBuffSlots} it first calculate how many buffs slots are avaialable for the current loaded character (everytime it check if you own any of those aa to estimate # of slots: "mystical attuning", "embrace of the dark reign" and "embrace of the keepers"). Then it scan's all 25 possible buff slots and substract each slots that have a buff in then return you the results.
code comments: Total # of slots should be evaluated when character load into the game, then each time you purchase new aa. If you have mystatical attuning 2 minutes ago you should still have, why recalculating those everytimes! And Fun parts they scan for all 25 slots and decrease their counter each time they found a buffid. Why 25? if you own only 15?
new approach:
1. When projetx detect it's the 1st time you get ingame with this character it will calculate to built-in variables, TotalNumberOfBuffSlot and TotalNumberOfBuffFree.
2. Make some kind of detour that will notify me when i receive new buffs, or that some buffs fades out. So i could recalculate TotalNumberOfBuffFree.
3. Make some kind of detour that will notify me when you get new aa available, so i could recalculate TotalNumberOfBuffSlot then save that total and if this total differs from saved one then i should also recalculate TotalNumberOfBuffFree.
4. Make two direct MQ2DataVar ie: MeBuffSlotTotal and MeBuffSlotFree and directly return our calculated values (no needs to recalculate them, no need to scan a map of internal tlo commands and waste stupids cpu ressources).
This is a very huge projects by itself, i dont plan on doing it if i dont get any assistances from skilled programmers, hackers, documenters, also i dont want people to invest their full times in developping this, as they got times they could search for new offsets, or write up new subs etc. Also i dont want this project to be built only for one hacking site, i know some might get shocked reading this but i want this to be opened for all hacking sites (ie: Redguides, mmobugs, forever hacking and freelances peoples) to help out development, designing and testing. When platform his release they could their own modules.
First Built-In Core Components Projet:
I want to start that huges projects with the buff manager sections. I will need skilled people to find me the following informations to be able to create the proper detour. I will need at least 3 functionals detours to notify me when buffs changes: (ie: some has fade out, or some as get in). Those detour needs ideally to be made after GetCharInfo2()->Buff, or GetCharInfo2()->ShortBuff, or pPetInfoWnd->Buff as been updated, so i could update appropriate structure info with latest informations and generate appropriate events for modules that are listenings.
I'am not sure if their is suck kinds of code in the executable, but i would like offsets for functions to clickoff buffs and songs that dont use "PACKETS" and/or UI CLICK NOTIFICATION, well if we have no choices CLICK notification is better then nothings!
I will keep arrays of spells pointer loaded for fast access, (hopes zoning dont changes those pointers address), also fast evaluates debuffs informations you have on, aka mq2debuffs (built-in) and total # of slots available and total # of free buff slots. I will also look foward on building OnBuffAdd() and OnBuffOut() events for baby plugins!
I hope i get positive feeedback from community
s0rCieR
MQ2ProjetX
Well some of ya might have heard of ProjetX it was first talked about a few months ago in mq2melee thread, a project i start working on but i have to put it on ice, cause question and answer i was seeking was getting unanswered or i was being told that people like me doesnt need to know how to do that or i dont need to do that their is other way.
ProjetX by itself is a MQ2 Complaint API Plugins, that will offer new powerfull toys for plugin, macro and hud designers. Everything that i wanted to be added into mq2main but that developpers always refuses or slap me arounds! Their is way to much duplicate code that currently in use in many plugins (lack of built-in functions into mq2main), their is also lots of codes that was made that actually duplicate code that is in eqgames.exe (lack of built in function prototyping and offset). Their was a time when almost everything was found in eqgame.exe but that get nerfed and stipped down by the devs, i want those back, i understand at that times their was very few people with knowledge on how to find those but stripping it down didnt stop experience programmers to make mq2warp, mq2ghost, and stuff like that.
ProjetX will also act as a module manager and handler, that will enable to load/unload child module of his own kinds, i also wanted to integrates bi-directionals communications channels and services between plugins so they could exchange data between them. I also want to reduce memory usage and cpu usage, on pulse plugins are cpu heavy weights and some times they do things that could have been coded way better if it was build on stronger fortifications, and have more built-in detour to tigger and traps events without having to do massive for/loops.
Lets me paste down for example code that is use to get number of free buff slots available currently in mq2:
Rich (BB code):
case FreeBuffSlots:
Dest.DWord=GetAAIndexByName("mystical attuning");
if (PlayerHasAAAbility(PCHARINFO pChar, Dest.DWord))
{
for (unsigned int j=0; j < AA_CHAR_MAX_REAL; j++)
{
if ( pPCData->GetAltAbilityIndex(j) == Dest.DWord)
{
Dest.DWord=15+(GetCharInfo2()->AAList[j].PointsSpent/5);
break;
}
}
} else Dest.DWord = 15;
if(GetAAIndexByName("Embrace of the Dark Reign")) Dest.DWord++;
if(GetAAIndexByName("Embrace of the Keepers")) Dest.DWord++;
for (nBuff=0 ; nBuff<25 ; nBuff++)
{
if (GetCharInfo2()->Buff[nBuff].SpellID>0)
Dest.DWord--;
}
Dest.Type = pIntType;
return true;
code comments: Total # of slots should be evaluated when character load into the game, then each time you purchase new aa. If you have mystatical attuning 2 minutes ago you should still have, why recalculating those everytimes! And Fun parts they scan for all 25 slots and decrease their counter each time they found a buffid. Why 25? if you own only 15?
new approach:
1. When projetx detect it's the 1st time you get ingame with this character it will calculate to built-in variables, TotalNumberOfBuffSlot and TotalNumberOfBuffFree.
2. Make some kind of detour that will notify me when i receive new buffs, or that some buffs fades out. So i could recalculate TotalNumberOfBuffFree.
3. Make some kind of detour that will notify me when you get new aa available, so i could recalculate TotalNumberOfBuffSlot then save that total and if this total differs from saved one then i should also recalculate TotalNumberOfBuffFree.
4. Make two direct MQ2DataVar ie: MeBuffSlotTotal and MeBuffSlotFree and directly return our calculated values (no needs to recalculate them, no need to scan a map of internal tlo commands and waste stupids cpu ressources).
This is a very huge projects by itself, i dont plan on doing it if i dont get any assistances from skilled programmers, hackers, documenters, also i dont want people to invest their full times in developping this, as they got times they could search for new offsets, or write up new subs etc. Also i dont want this project to be built only for one hacking site, i know some might get shocked reading this but i want this to be opened for all hacking sites (ie: Redguides, mmobugs, forever hacking and freelances peoples) to help out development, designing and testing. When platform his release they could their own modules.
First Built-In Core Components Projet:
I want to start that huges projects with the buff manager sections. I will need skilled people to find me the following informations to be able to create the proper detour. I will need at least 3 functionals detours to notify me when buffs changes: (ie: some has fade out, or some as get in). Those detour needs ideally to be made after GetCharInfo2()->Buff, or GetCharInfo2()->ShortBuff, or pPetInfoWnd->Buff as been updated, so i could update appropriate structure info with latest informations and generate appropriate events for modules that are listenings.
I'am not sure if their is suck kinds of code in the executable, but i would like offsets for functions to clickoff buffs and songs that dont use "PACKETS" and/or UI CLICK NOTIFICATION, well if we have no choices CLICK notification is better then nothings!
I will keep arrays of spells pointer loaded for fast access, (hopes zoning dont changes those pointers address), also fast evaluates debuffs informations you have on, aka mq2debuffs (built-in) and total # of slots available and total # of free buff slots. I will also look foward on building OnBuffAdd() and OnBuffOut() events for baby plugins!
I hope i get positive feeedback from community
s0rCieR
Last edited by a moderator: