Likes: 0
Results 1 to 9 of 9
-
26-03-10, 03:18 PM #1
[Core/C++] Adding Custom Commands ArcEmu
Register to remove this adWere Going to start off by opening are place ware are core is located, for instance mine is here "C:\WoWServer\Compile\trunk\src\arcemu-world"
tut11..jpg
We Will Need to Chat.cpp, and Chat.h, Make back ups if you think you may screw some thing up, or if you just want to make shore .
I will be making a VIP command table, if your making diffrent don't do it exactly how I do.
Now your going to wanna go down a little bit untell you find
Code:ChatCommand * CommandTableStorage::GetSubCommandTable(const char * name) { if(!stricmp(name, "modify"))
Code:else if(!stricmp(name, "vip")) return _vipCommandTable;
Now your going to scroll down tell you find
Code:void CommandTableStorage::Dealloc() { free( _modifyCommandTable ); free( _debugCommandTable ); free( _waypointCommandTable );
Code:free( _vipCommandTable);
Now your going to add this below or some ware near there
Code:static ChatCommand vipCommandTable[] = { { "additem", 'q', &ChatHandler::HandleAddInvItemCommand, "Adds item x count y", NULL, 0, 0, 0 }, { "advanceallskills", 'q', &ChatHandler::HandleAdvanceAllSkillsCommand, "Advances all skills <x> points.", NULL, 0, 0, 0 }, { "appear", 'q', &ChatHandler::HandleAppearCommand, "Teleports to x's position.", NULL, 0, 0, 0 }, { "speed", 'q', &ChatHandler::HandlevipModifySpeedCommand, "Modifies the movement speed of the selected target.", NULL, 0, 0, 0 }, { "search", 'q', &ChatHandler::HandleLookupItemCommand, "Looks up item string x.", NULL, 0, 0, 0 }, { "summon", 'q', &ChatHandler::HandleSummonCommand, "Summons x to your position.", NULL, 0, 0, 0 }, { "guild make", 'q', &ChatHandler::CreateGuildCommand, "Create's Seleceted Player a Guild", NULL, 0, 0, 0}, { NULL, '0', NULL, "", NULL, 0, 0, 0 } }; dupe_command_table(vipCommandTable, _vipCommandTable);
The 'q' is what I will put as the account when I make it vip like .account level (account name) q
Now Press Ctrl+S or how ever you save and open Chat.h.
Now Find
Code:class SERVER_DECL CommandTableStorage : public Singleton<CommandTableStorage> { // List command containers ex. .character is a container of .character additem ChatCommand* _modifyCommandTable; ChatCommand* _debugCommandTable; ChatCommand* _waypointCommandTable; ChatCommand* _GMTicketCommandTable; ChatCommand* _GuildCommandTable;
Code:ChatCommand* _vipCommandTable;
tut15..jpg
Now find
Code:// Level 1 commands bool CmdSetValueField(WorldSession *m_session, uint32 field, uint32 fieldmax, const char *fieldname, const char* args);
Code:bool HandlevipModifySpeedCommand(const char* args, WorldSession *m_session);
Now your going to go to
Code:C:\WoWServer\Compile\trunk\win
and open the
Code:arcemuVC90 - All Projects
Code:arcemu - world
This may take a few min's.
Make shore at the top its on Release, and not Debug
Code:1>------ Build started: Project: collision, Configuration: Release Win32 ------ 1>Linking... 1> Creating library .\..\..\bin\Release\collision.lib and object .\..\..\bin\Release\collision.exp 1>Generating code 1>Finished generating code 1>Embedding manifest... 1>Build log was saved at "file://c:\WoWServer\Compile\trunk\win\VC90\collision___Win32_Release\BuildLog.htm" 1>collision - 0 error(s), 0 warning(s) 2>------ Build started: Project: arcemu-world, Configuration: Release Win32 ------ 2>Compiling... 2>Chat.cpp 2>Linking... 2> Creating library .\..\..\bin\Release\arcemu-world.lib and object .\..\..\bin\Release\arcemu-world.exp 2>Generating code 2>Finished generating code 2>Embedding manifest... 2>Build log was saved at "file://c:\WoWServer\Compile\trunk\win\VC90\arcemu-world___Win32_Release\BuildLog.htm" 2>arcemu-world - 0 error(s), 0 warning(s) ========== Build: 2 succeeded, 0 failed, 3 up-to-date, 0 skipped ==========
~MikExV
› See More: [Core/C++] Adding Custom Commands ArcEmuLast edited by MikExV™; 27-03-10 at 12:06 PM. Reason: I spelledb guild, guld hehe
-
26-03-10, 03:28 PM #2
Just tested in game
tut1111..jpg
Just got my pc back
-
26-03-10, 11:24 PM #3
-
27-03-10, 12:05 PM #4
-
27-03-10, 12:42 PM #5
Simple, yet affective. Good guide.
-
28-03-10, 12:13 PM #6
Thank you both! I added a Script in the Chat.h that makes it so vips can only mod there speed to 14 and 7 or 8 (Wasen't shore witch was normal)
Just got my pc back
-
07-04-10, 05:40 AM #7
- Rep Power
- 0
- Reputation
- 52
correct me if i'm wrong but shouldnt this be "guild create" ? instead of "guild make"
Code:{ "guild make", 'q', &ChatHandler::CreateGuildCommand, "Create's Seleceted Player a Guild", NULL, 0, 0, 0},
-
10-04-10, 04:05 AM #8
-
26-04-10, 05:05 AM #9
- Rep Power
- 0
- Reputation
- 52
Register to remove this adi'm just saying cuz the actual arcemu command is .guild create
would it work if you put make?