Core/Scripts: add example_commandscript as an example of how to use commandscripts to add your own commands to the core

Patch by Paradox
Closes issue 4630

--HG--
branch : trunk
This commit is contained in:
Spp
2010-11-03 08:44:03 +01:00
parent 43a5a3ced1
commit afb3e790de
3 changed files with 63 additions and 0 deletions

View File

@@ -5,6 +5,7 @@ set(scripts_STAT_SRCS
Examples/example_escort.cpp
Examples/example_creature.cpp
Examples/example_spell.cpp
Examples/example_commandscript.cpp
)
message(" -> Prepared: Examples")

View File

@@ -0,0 +1,60 @@
/*
* Copyright (C) 2008-2010 TrinityCore <http://www.trinitycore.org/>
* Copyright (C) 2006-2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation; either version 2 of the License, or (at your
* option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/* ScriptData
Name: Example_Commandscript
%Complete: 100
Comment: Short custom scripting example
Category: Script Examples
EndScriptData */
#include "ScriptPCH.h"
#include "Chat.h"
// **** This script is designed as an example for others to build on ****
// **** Please modify whatever you'd like to as this script is only for developement ****
// **** Script Info ****
// This script's primary purpose is to show just how much you can really do with commandscripts
class example_commandscript : public CommandScript
{
public:
example_commandscript() : CommandScript("example_commandscript") { }
static bool HandleHelloWorldCommand(ChatHandler* handler, const char* /*args*/)
{
handler->PSendSysMessage("Hello World");
return true;
}
ChatCommand* GetCommands() const
{
static ChatCommand HelloWorldCommandTable[] =
{
{ "hello", SEC_PLAYER, true, &HandleHelloWorldCommand, "", NULL },
{ NULL, 0, false, NULL, "", NULL }
};
return HelloWorldCommandTable;
}
};
void AddSC_example_commandscript()
{
new example_commandscript();
}