commit 057da0a71a6525a083c79391d3be1b806ade3c4a Author: Yehonal Date: Thu Aug 11 20:02:05 2016 +0200 First commit for skeleton module DB part must be implemented yet diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d011fdd --- /dev/null +++ b/.gitignore @@ -0,0 +1,48 @@ +!.gitignore + +# +#Generic +# + +.directory +.mailmap +*.orig +*.rej +*~ +.hg/ +*.kdev* +.DS_Store +CMakeLists.txt.user +*.bak +*.patch +*.diff +*.REMOTE.* +*.BACKUP.* +*.BASE.* +*.LOCAL.* + +# +# IDE & other softwares +# +/.settings/ +/.externalToolBuilders/* +# exclude in all levels +nbproject/ +.sync.ffs_db +*.kate-swp + +# +# Eclipse +# +*.pydevproject +.metadata +.gradle +tmp/ +*.tmp +*.swp +*~.nib +local.properties +.settings/ +.loadpath +.project +.cproject diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..1f07314 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,8 @@ + +AC_ADD_SCRIPT("${CMAKE_CURRENT_LIST_DIR}/src/MyWorld.cpp") +AC_ADD_SCRIPT("${CMAKE_CURRENT_LIST_DIR}/src/MyPlayer.cpp") + +AC_ADD_SCRIPT_LOADER("MyWorld" "${CMAKE_CURRENT_LIST_DIR}/src/loader.h") +AC_ADD_SCRIPT_LOADER("MyPlayer" "${CMAKE_CURRENT_LIST_DIR}/src/loader.h") + +CU_ADD_HOOK(AFTER_WORLDSERVER_CMAKE "${CMAKE_CURRENT_LIST_DIR}/src/cmake/after_ws_install.cmake") diff --git a/conf/my_custom.conf.dist b/conf/my_custom.conf.dist new file mode 100644 index 0000000..32a20dd --- /dev/null +++ b/conf/my_custom.conf.dist @@ -0,0 +1,8 @@ +[worldserver] + +# +# Enable Hello World message at server start +# default: false +# + +MyCustom.enableHelloWorld=false diff --git a/include.sh b/include.sh new file mode 100644 index 0000000..e69de29 diff --git a/src/MyPlayer.cpp b/src/MyPlayer.cpp new file mode 100644 index 0000000..27f1c30 --- /dev/null +++ b/src/MyPlayer.cpp @@ -0,0 +1,24 @@ +/** + This plugin can be used for common player customizations + */ + +#include "ScriptMgr.h" +#include "Player.h" +#include "Configuration/Config.h" + +class MyPlayer : public PlayerScript{ +public: + + MyPlayer() : PlayerScript("MyPlayer") { } + + void OnLogin(Player* player) override { + if (sConfigMgr->GetBoolDefault("MyCustom.enableHelloWorld", false)) { + ChatHandler(player->GetSession()).SendSysMessage("Hello World from Skeleton-Module!"); + } + } +}; + +void AddMyPlayerScripts() { + new MyPlayer(); +} + diff --git a/src/MyWorld.cpp b/src/MyWorld.cpp new file mode 100644 index 0000000..53e473c --- /dev/null +++ b/src/MyWorld.cpp @@ -0,0 +1,26 @@ +#include "Configuration/Config.h" +#include "ScriptMgr.h" + +class MyWorld : public WorldScript +{ +public: + MyWorld() : WorldScript("MyWorld") { } + + void OnBeforeConfigLoad(bool reload) override + { + if (!reload) { + std::string conf_path = _CONF_DIR; + std::string cfg_file = conf_path + "/my_custom.conf"; + std::string cfg_def_file = cfg_file +".dist"; + + sConfigMgr->LoadMore(cfg_def_file.c_str()); + + sConfigMgr->LoadMore(cfg_file.c_str()); + } + } +}; + +void AddMyWorldScripts() +{ + new MyWorld(); +} diff --git a/src/cmake/after_ws_install.cmake b/src/cmake/after_ws_install.cmake new file mode 100644 index 0000000..afcba05 --- /dev/null +++ b/src/cmake/after_ws_install.cmake @@ -0,0 +1,5 @@ +if( UNIX ) + install(FILES "${CMAKE_SOURCE_DIR}/modules/skeleton-module/conf/my_custom.conf.dist" DESTINATION ${CONF_DIR}) +elseif( WIN32 ) + install(FILES "${CMAKE_SOURCE_DIR}/modules/skeleton-module/conf/my_custom.conf.dist" DESTINATION "${CMAKE_INSTALL_PREFIX}") +endif() diff --git a/src/loader.h b/src/loader.h new file mode 100644 index 0000000..37b1660 --- /dev/null +++ b/src/loader.h @@ -0,0 +1,2 @@ +void AddMyWorldScripts(); +void AddMyPlayerScripts();