Post Reply Home » Forums » MMO Forums » EverQuest 2 » EverQuest 2 Premium Discussions

Eqemu Stuff and More : EverQuest 2 Premium Discussions

Posted: February 1st, 2005
User avatar
administrator
Total Posts:29891 Joined:2002
From Xabob

A nice find on my part.
Register to unlock hidden link

Also for Eqemu plugins here

This will make any npc you have targeted a banker comes in handy on the legit servers:
Code:
#include "../MQ2plugin.h"

VOID makebanker(PSPAWNINFO pChar, PCHAR szLine)
{
if (pTarget && ppTarget) {
PSPAWNINFO Target = (PSPAWNINFO)pTarget;
Target->Class = (byte)40;
WriteChatColor("Your target is now a banker!", CONCOLOR_RED);
}
else {
WriteChatColor("NO TARGET SELECTED!", CONCOLOR_RED);
}
}


This will set speed on a Eqemu server:
Code:
#include "../MQ2Plugin.h"

VOID setspeed(PSPAWNINFO pChar, PCHAR szLine)
{
char szString[MAX_STRING] = {0};
int speed = atoi(GetArg(szString, szLine, 1));
sprintf(szLine, "%i", speed);
WriteChatColor(szLine, CONCOLOR_BLUE);
pChar->RunSpeed = (byte)speed;

}


This will make you nokos on Eqemu but also might semi work on live:
Code:

VOID NoKos(PSPAWNINFO pChar, PCHAR szLine)
{
static int gSpawnID;
if (pChar->SpawnID!=0){
gSpawnID = pChar->SpawnID;
WriteChatColor("Making you non-kos",USERCOLOR_TELL);
pChar->SpawnID = 0;
} else {
pChar->SpawnID = gSpawnID;
WriteChatColor("Making you mortal",USERCOLOR_TELL);
}
}



This is a warp source with ini support so you can go /savespot Bank
And then once your back into pok say go /warp load bank
Its also zone spicific
Code:

#include "../MQ2Plugin.h"

PSPAWNINFO pChar;
PZONEINFO Zoneinfo = (PZONEINFO)pZoneInfo;

#define ZonetoSafeCord 0x4370CA

VOID warp(PSPAWNINFO pChar, PCHAR szLine);
VOID savespot(PSPAWNINFO pChar, PCHAR szLine);

PreSetup("MQ2Warp");

PLUGIN_API VOID InitializePlugin(VOID)
{
DebugSpewAlways("Initializing MQ2Warp");
AddCommand("/warp", warp);
AddCommand("/savespot", savespot);
}

PLUGIN_API VOID ShutdownPlugin(VOID)
{
DebugSpewAlways("Shutting down MQ2Warp");
RemoveCommand("/warp");
RemoveCommand("/savespot");
}

VOID warp(PSPAWNINFO pChar, PCHAR szLine)
{
PSPAWNINFO Target = (PSPAWNINFO)pTarget;
if (strcmp (szLine, "target") == 0) {
if (pTarget && ppTarget) {
float orgY = Zoneinfo->Unknown0x1ec[0];
float orgX = Zoneinfo->Unknown0x1ec[1];
float orgZ = Zoneinfo->Unknown0x1ec[2];
Zoneinfo->Unknown0x1ec[0] = Target->Y;
Zoneinfo->Unknown0x1ec[1] = Target->X;
Zoneinfo->Unknown0x1ec[2] = Target->Z;
sprintf(szLine, "Warping to %s", Target->Name);
WriteChatColor(szLine, CONCOLOR_BLUE);
sprintf(szLine, "at %f, %f, %f", Target->X, Target->Y, Target->Z);
WriteChatColor(szLine, CONCOLOR_BLUE);
DWORD warp = ZonetoSafeCord;
__asm call dword ptr [warp];
Zoneinfo->Unknown0x1ec[0] = orgY;
Zoneinfo->Unknown0x1ec[1] = orgX;
Zoneinfo->Unknown0x1ec[2] = orgZ;
}
}
else if (strcmp (szLine, "succor") == 0) {
sprintf(szLine, "Succoring to default zone safe point");
WriteChatColor(szLine, CONCOLOR_BLUE);
DWORD warp = ZonetoSafeCord;
__asm call dword ptr [warp];
}
else if (strncmp(szLine, "loc", 3) == 0) {
float location[2] = {0};
char szString[MAX_STRING] = {0};
float orgY = Zoneinfo->Unknown0x1ec[0];
float orgX = Zoneinfo->Unknown0x1ec[1];
float orgZ = Zoneinfo->Unknown0x1ec[2];
location[0] = atof(GetArg(szString, szLine, 2));
location[1] = atof(GetArg(szString, szLine, 3));
location[2] = atof(GetArg(szString, szLine, 4));
Zoneinfo->Unknown0x1ec[0] = location[0];
Zoneinfo->Unknown0x1ec[1] = location[1];
Zoneinfo->Unknown0x1ec[2] = location[2];
sprintf(szString, "Warping to: %f, %f, %f", location[0], location[1], location[2]);
WriteChatColor(szString, CONCOLOR_BLUE);
DWORD warp = ZonetoSafeCord;
__asm call dword ptr [warp];
Zoneinfo->Unknown0x1ec[0] = orgY;
Zoneinfo->Unknown0x1ec[1] = orgX;
Zoneinfo->Unknown0x1ec[2] = orgZ;
}

else if (strncmp(szLine, "load", 4) == 0) {
PCHARINFO pCharInfo = GetCharInfo();
char szString[MAX_STRING] = {0};
char szTemp[MAX_STRING];
char name[10] = {0};
char zone[64] = {0};
float loc[2] = {0};
float orgY = Zoneinfo->Unknown0x1ec[0];
float orgX = Zoneinfo->Unknown0x1ec[1];
float orgZ = Zoneinfo->Unknown0x1ec[2];

sprintf(zone, GetFullZone(pCharInfo->zoneId));
sprintf(name, GetArg(szString, szLine, 2));
GetPrivateProfileString(zone,name,"NULL",szTemp,MAX_STRING,INIFileName);
if (strcmp(szTemp,"NULL") == 0) {
sprintf(szTemp, "%s is not a valid target", name);
WriteChatColor(szTemp, CONCOLOR_RED);
}

else {
loc[0] = atof(strtok(szTemp, ","));
loc[1] = atof(strtok(NULL, ","));
loc[2] = atof(strtok(NULL, ","));

Zoneinfo->Unknown0x1ec[0] = loc[1];
Zoneinfo->Unknown0x1ec[1] = loc[0];
Zoneinfo->Unknown0x1ec[2] = loc[2];
sprintf(szString, "Warping to: %f, %f, %f", loc[0], loc[1], loc[2]);
WriteChatColor(szString, CONCOLOR_BLUE);
DWORD warp = ZonetoSafeCord;
__asm call dword ptr [warp];
Zoneinfo->Unknown0x1ec[0] = orgY;
Zoneinfo->Unknown0x1ec[1] = orgX;
Zoneinfo->Unknown0x1ec[2] = orgZ;
}
}
else if (strncmp(szLine, "invis", 5) == 0) {
DWORD invis = EQPlayer__ForceInvisible;
__asm call dword ptr [invis];
}

}
VOID savespot(PSPAWNINFO pChar, PCHAR szLine)
{
PCHARINFO pCharInfo = GetCharInfo();
char szString[MAX_STRING] = {0};
char name[10] = {0};
char zone[64] = {0};
char loc[MAX_STRING] = {0};
float location[2] = {0};
location[0] = pChar->X;
location[1] = pChar->Y;
location[2] = pChar->Z;
sprintf(zone,GetFullZone(pCharInfo->zoneId));
sprintf(name,GetArg(szString, szLine, 1));
sprintf(loc, "%f,%f,%f", location[0], location[1], location[2]);
if (strcmp(name,"") == 0) {
WriteChatColor("Please input a keyword when using /savespot", CONCOLOR_RED);
}
else {
WritePrivateProfileString(zone,name,loc,INIFileName);
WriteChatColor("Saving data to INI", CONCOLOR_GREEN);
WriteChatColor(zone, CONCOLOR_GREEN);
WriteChatColor(name, CONCOLOR_GREEN);
WriteChatColor(loc, CONCOLOR_GREEN);
}
}


And here are some Eq2 offsets i stumbled across
Code:

#define EQ2__RegisterPrimaryGameSceneConsoleCommands 0x44A600
#define EQ2__EnablePrimaryGameSceneConsoleCommands 0x6688FA
#define EQ2__EnableShorthandConsoleCommands 0x668A8B
#define EQ2__UnregisterGameSceneConsoleCommands 0x669737

//Note: Some of these may be GM Only Commands
#define Command_Con 0x488320
#define Command_Time 0x48C330
#define Command_Quit 0x48B220
#define Command_Camp 0x48B240
#define Command_Loc 0x48C8F0
#define Command_NextPOVSettings 0x48A490
#define Command_CL_SetPOV 0x48A560
#define Command_CameraRecenter 0x488370
#define Command_LoadUI 0x48D0D0
#define Command_DefaultUI 0x48D1F0
#define Command_WindowResetRect 0x48A660
#define Command_WindowResetAll 0x48A6A0
#define Command_WindowUnlockAll 0x48A6E0
#define Command_WindowLockAll 0x48A720
#define Command_CloseTopWindow 0x488380
#define Command_ShowInventory 0x488E40
#define Command_ShowCombatArtBook 0x488F10
#define Command_NewChatWindow 0x48B4B0
#define Command_OpenChatWinow 0x488390
#define Command_PrimaryChatWindow 0x4883E0
#define Command_ShowChatOptions 0x488E90
#define Command_DefaultChatCommand 0x48F3C0
#define Command_Bug 0x48BF90
#define Command_Typo 0x488DA0
#define Command_Feedback 0x488DF0
#define Command_BeginChatInput 0x488420
#define Command_BeginChatReply 0x488400
#define Command_ClearAbilityQueue 0x488F40
#define Command_TargetPC 0x48A820
#define Command_SetSocial 0x48D260
#define Command_DestroyInventoryItem 0x48D410
#define Command_LocalCloseStore 0x48D760
#define Command_ConfirmAttuneInv 0x48D920
#define Command_ConfirmAttuneEquip 0x48DBB0
#define Command_CollectAllHouseItems 0x48A910
#define Command_RelinquishHouse 0x48DE40
#define Command_RelinqHouseNoConfirm 0x48AA10
#define Command_ToggleHotKeyWindow 0x4887D0
#define Command_LoadHotKeys 0x48FAB0
#define Commnad_SaveHotKeys 0x48FA90
#define Command_ToggleAutoAttack 0x488480
#define Command_ToggleRangedAttack 0x4884C0
#define Command_ToggleSitting 0x488F60
#define Command_Filter 0x48CF00
#define Command_ChatPageUp 0x488D60
#define Command_ChatPageDown 0x488D80
#define Command_TargetNone 0x488500
#define Command_TargetSelf 0x488510
#define Command_TargetPet 0x488520
#define Command_TargetNearestNPC 0x488530
#define Command_TargetNextNPC 0x488550
#define Command_TargetPrevNPC 0x488570
#define Command_TargetNearestPC 0x4885D0
#define Command_TargetGroupMember 0x48AB00
#define Command_TargetGroupPet 0x48ABC0
#define Command_WhoTarget 0x489040
#define Command_TellTarget 0x4891F0
#define Command_ToggleRunning 0x4893B0
#define Command_ToggleFollow 0x4885F0
#define Command_ShowFollowTarget 0x488620
#define Command_StoreSetPriceLocal 0x488610
#define Command_WindowSettings 0x48E150
#define Command_ToggleInstructionWnd 0x492580
#define Command_EnableGameEvent 0x488630
#define Command_DisableGameEvent 0x488660
#define Command_ShowWindow 0x48E3A0
#define Command_HideWindow 0x48E440
#define Command_EnableWindow 0x48E4E0
#define Command_DisableWindow 0x48E580
#define Command_FlashWindow 0x48E620
#define Command_LootItem 0x48AD50
#define Command_GetDestroyCoinQuantity 0x48E7B0
#define Command_InspectReward 0x48AF20
#define Command_GetMWQ 0x48E960
#define Command_ActionMWQ 0x48AE40
#define Command_ShowEmotes 0x489430
#define Command_ShowMacros 0x489470
#define Command_EditMacro 0x488690
#define Command_ClearHotkey 0x48B690
#define Command_ClearHotkeyBank 0x48B730
#define Command_SetHotbarKeymap 0x488850
#define Command_OpenNextHotbar 0x4888A0
#define Command_CloseHotbar 0x4888B0
#define Command_Petition 0x4894B0
#define Command_ToggleHelpWindow 0x489500
#define Command_Help 0x48AC80
#define Command_ToggleChat 0x4895D0
#define Command_ToggleCommunity 0x489600
#define Command_ToggleCompass 0x489660
#define Command_ToggleGroup 0x489690
#define Command_ToggleRaid 0x489700
#define Command_ToggleGuild 0x489E40
#define Command_ToggleInventory 0x489770
#define Command_TogglePersona 0x4897A0
#define Command_ToggleKnowledge 0x4897D0
#define Command_ToggleTradeskills 0x489800
#define Command_ToggleMaintainedSpells 0x489860
#define Command_ToggleMap 0x4898D0
#define Command_TogglePet 0x489900
#define Command_TogglePlayer 0x489970
#define Command_ToggleEffects 0x4899A0
#define Command_ToggleQuestHelper 0x4886D0
#define Command_ToggleQuestJournal 0x488740
#define Command_ShowQuestJournal 0x4887A0
#define Command_ToggleSkills 0x489A10
#define Command_ToggleSocials 0x489A40
#define Command_ToggleStartMenu 0x489A70
#define Command_ToggleTargetWindow 0x489AC0
#define Command_ToggleExpWindow 0x489B30
#define Command_ToggleShutdownWindow 0x489B90
#define Command_ToggleWaypointWindow 0x48B5D0
#define Command_ToggleShowAdvExp 0x489B60
#define Command_ToggleBags 0x488840
#define Command_ToggleSociety 0x489820
#define Command_Log 0x48BB60
#define Command_LeaveAll 0x489F20
#define Command_Channellist 0x48F4B0
#define Command_LeaveChannel 0x48B840
#define Command_WhoChannel 0x48B9A0
#define Command_BagOpen 0x489BC0
#define Command_Report 0x48F6D0
#define Command_AdvChoiceRequest 0x489530

//The next commands are registered in different functions.
//The commands seem to serve the same purpose, and have the same
//names in the source; however, I believe they're either outdated
//or else are part of a 'benchmarking' connection state to the game
//that devs use with the client.
#define Command_SetTime1 0x405210
#define Command_SetTime2 0x4B5B20
#define Command_SetDate1 0x405A80
#define Command_SetDate2 0x4B5DB0
#define Command_ListActors1 0x405ED0
#define Command_ListActors2 0x4B6200

#define EqConstants__getGroupYellMethodIDFromString 0x870571
#define EqConstants__getGroupYellMethodStringFromID 0x8704D6
#define EqConstants__getGroupLootMethodIDFromString 0x8703FC
#define EqConstants__getGroupLootMethodStringFromID 0x870349
#define EqConstants__getZoneInstanceContextIDFromString 0x870226
#define EqConstants__getZoneInstanceContextStringFromID 0x870143
#define EqConstants__getHouseAccessIDFromString 0x870039
#define EqConstants__getHouseAccessStringFromID 0x86FF56
#define EqConstants__getGuildIDFromString 0x86FE7B
#define EqConstants__getGuildStringFromID 0x86FDC8
#define EqConstants__getScriptThresholdIDFromString 0x86F836
#define EqConstants__getScriptThresholdStringFromID 0x86F747
#define EqConstants__getSignalIDFromString 0x86F64A
#define EqConstants__getSignalStringFromID 0x86F527
#define EqConstants__getRulesetIDFromString 0x86F306
#define EqConstants__getRulesetFromID 0x86F247
#define EqConstants__getDamageFromWieldStyleID 0x86F16E
#define EqConstants__getCoinTypeIDFromString 0x86F06E
#define EqConstants__getCoinTypeStringFromID 0x86EF7F
#define EqConstants__getWieldStyleIDFromString 0x86EEA8
#define EqConstants__getWieldStyleDisplayStringFromID 0x86EDCE
#define EqConstants__getWieldStyleStringFromID 0x86ECF7
#define EqConstants__getHearCombatFromString 0x86EBA8
#define EqConstants__getACMultFromString 0x86EACD
#define EqConstants__getDamageFromString 0x86E9F4
#define EqConstants__getPetCommandIDFromString 0x86E883
#define EqConstants__getEquipSlotsIDFromString 0x86E32A
#define EqConstants__getEquipSlotDisplayStringFromID 0x86E041
#define EqConstants__getEquipSlotStringFromID 0x86DD56
#define EqConstants__getDamageTypeIDFromString 0x86DA80
#define EqConstants__getDamageTypeStringFromID 0x86D321
#define EqConstants__getSpellEventIDFromString 0x86D21D
#define EqConstants__getSpellEventStringFromID 0x86D116
#define EqConstants__getSpellStackingRuleIDFromString 0x86D042
#define EqConstants__getSpellStackingRuleStringFromID 0x86CF6B
#define EqConstants__getResourcePoolIDFromString 0x86CE97
#define EqConstants__getSpellActivationFlagFromString 0x86CB19
#define EqConstants__getResourcePoolStringFromIDCopy 0x86CA42
#define EqConstants__getResourcePoolStringFromID 0x86C96B
#define EqConstants__getSpellAttributeScaleTypeIDFromString 0x86C897
#define EqConstants__getSpellAttributeScaleTypeStringFromID 0x86C7C0
#define EqConstants__getSpellTargetTypeIDFromString 0x86C688
#define EqConstants__getSpellTargetTypeStringFromID 0x86C54D
#define EqConstants__getSpellCombatDispositionIDFromString 0x86C461
#define EqConstants__getSpellCombatDispositionStringFromID 0x86C372
#define EqConstants__getSpellBeneficialPromptIDFromString 0x86C29E
#define EqConstants__getSpellBeneficialPromptStringFromID 0x86C1C7
#define EqConstants__getSpellCategoryIDFromString 0x86C047
#define EqConstants__getSpellCategoryStringFromID 0x86BEC4
#define EqConstants__getSpellDropIDFromString 0x86BD74
#define EqConstants__getSpellDropStringFromID 0x86BC21
#define EqConstants__getSpellStateIDFromString 0x86BA59
#define EqConstants__getSpellStateStringFromID 0x86B88E
#define EqConstants__getSpellTradeskillPropIDFromString 0x86B756
#define EqConstants__getSpellTradeskillPropStringFromID 0x86B61B
#define EqConstants__getSpellPropIDFromString 0x86B213
#define EqConstants__getSpellPropStringFromID 0x86AE08
#define EqConstants__getSpellPropTypeIDFromString 0x86ACA8
#define EqConstants__getSpellPropTypeStringFromID 0x86AB6D
#define EqConstants__getMeleePositionIDFromString 0x86AA99
#define EqConstants__getMeleePositionStringFromID 0x86A9C2
#define EqConstants__getReagentNameTypeIDFromString 0x86A8EE
#define EqConstants__getReagentNameTypeStringFromID 0x86A817
#define EqConstants__getAttIDFromString 0x86A5CF
#define EqConstants__getAttStringFromID 0x86A4C8
#define EqConstants__getAggressiveIDFromString 0x86A3F4
#define EqConstants__getAggressiveStringFromID 0x86A31D
#define EqConstants__getRoleIDFromString 0x86A219
#define EqConstants__getRoleStringFromID 0x86A112
#define EqConstants__getArchetypeIDFromString 0x86A008
#define EqConstants__getArchetypeStringFromID 0x869EE5
#define EqConstants__getTSClassIDFromString 0x869CFF
#define EqConstants__getTSClassStringFromID 0x869B1C
#define EqConstants__getClassIDFromString 0x869695
#define EqConstants__getClassStringFromID 0x869212
#define EqConstants__getClassTypeIDFromString 0x869138
#define EqConstants__getClassTypeStringFromID 0x869085
#define EqConstants__getAlignmentIDFromString 0x868F93
#define EqConstants__getRaceIDFromString 0x868BC5
#define EqConstants__getRaceStringFromID 0x8689BE
#define EqConstants__getGenderIDFromString 0x8688EA
#define EqConstants__getGenderStringFromID 0x868813
#define EqConstants__getTypeIDFromString 0x868727
#define EqConstants__getTypeStringFromID 0x868638
Posted: February 1st, 2005
Total Posts:11 Joined:2005
Whats point of having a packet sniffer? Sorry I'm retarded when it comes to this stuff.
Posted: February 1st, 2005
Total Posts:73 Joined:2005
Very confusing.. looks like half of that data is eq2, half of it is EQ1? For a moment there I thought someone slipped a MQ2 out for EQ2 and I got excited. Oh well :( hehe
Posted: February 1st, 2005
User avatar
Total Posts:1390 Joined:2004
Yeah, i've been working with Acid for awhile now on the showeq IRC channel. The packet sniffer didn't work for me so i didn't bother posting it here. It was still a WIP.
Also, pretzel is right, all that code is for EQ1. Totally redundent for EQ2.
Ready to join the community? Click here and see all of the benefits!
blue large dotWho is online
Users browsing this forum: No registered users and 16 guests
Post Reply