Hello I would like to apply for access to eq1 and eq2 fourms here i will submit this for it.
Makes any npc a banker on Eqemu
(!empty($user->lang['CODE'])) ? $user->lang['CODE'] : ucwords(strtolower(str_replace('_', ' ', '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);
}
}
Works with live /zone plugin
(!empty($user->lang['CODE'])) ? $user->lang['CODE'] : ucwords(strtolower(str_replace('_', ' ', 'CODE'))):
#include "../MQ2Plugin.h"
PreSetup("MQ2Zone");
VOID GateBind(PSPAWNINFO, PCHAR);
VOID ZoneShift(PSPAWNINFO pChar, PCHAR szLine);
VOID ZoneShift(PSPAWNINFO pChar, PCHAR szLine)
{
CHAR szMsg[MAX_STRING] = {0};
DWORD ZoneToGoTo;
ZoneToGoTo = GetZoneID(szLine);
sprintf(szMsg,"Going to zone %s, id %d",szLine,ZoneToGoTo);
WriteChatColor(szMsg,USERCOLOR_DEFAULT);
GetCharInfo()->ZoneBoundId = ZoneToGoTo;
pChar->Type = SPAWN_CORPSE;
}
VOID GateBind(PSPAWNINFO pChar, PCHAR szLine)
{ WriteChatColor ("Gating...",CONCOLOR_RED);
pChar->Type = SPAWN_CORPSE;
}
PLUGIN_API VOID InitializePlugin(VOID)
{
AddCommand("/zone",ZoneShift);
AddCommand("/gate",GateBind);
}
PLUGIN_API VOID ShutdownPlugin(VOID)
{
DebugSpewAlways("Shutting down MQ2Zone");
RemoveCommand("/gate");
RemoveCommand("/zone");
}
Eqemu only set speed
(!empty($user->lang['CODE'])) ? $user->lang['CODE'] : ucwords(strtolower(str_replace('_', ' ', '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;
}
Makes any npc nokos might work on live
(!empty($user->lang['CODE'])) ? $user->lang['CODE'] : ucwords(strtolower(str_replace('_', ' ', 'CODE'))):
#include "../mq2plugin.h"
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);
}
}
/warp code with /savespot witch lets you /savespot bank and /warp load bank will poof you there whenever you need it and its zone specific
(!empty($user->lang['CODE'])) ? $user->lang['CODE'] : ucwords(strtolower(str_replace('_', ' ', '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 some eq2 offsets i sumbled acrossed
(!empty($user->lang['CODE'])) ? $user->lang['CODE'] : ucwords(strtolower(str_replace('_', ' ', '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