bool ChatHandler::CreateGuildCommand(const char* args, WorldSession *m_session) { if(!*args) return false; Player * ptarget = getSelectedChar(m_session); if(!ptarget) return false; if(strlen((char*)args)>75) { // send message to user char buf[256]; snprintf((char*)buf,256,"The name was too long by %ui", strlen((char*)args)-75); SystemMessage(m_session, buf); return true; } for (uint32 i = 0; i < strlen(args); i++) { if(!isalpha(args[i]) && args[i]!=' ') { SystemMessage(m_session, "Error, name can only contain chars A-Z and a-z."); return true; } } Charter tempCharter(0, ptarget->GetLowGUID(), CHARTER_TYPE_GUILD); tempCharter.SignatureCount=0; tempCharter.GuildName = string(args); Guild * pGuild = Guild::Create(); pGuild->CreateFromCharter(&tempCharter, ptarget->GetSession()); SystemMessage(m_session, "Guild created"); return true; }
bool ChatHandler::CreateGuildCommand(const char* args, WorldSession* m_session) { if(!*args) return false; Player* ptarget = getSelectedChar(m_session); if(!ptarget) return false; if(ptarget->IsInGuild()) { RedSystemMessage(m_session, "%s is already in a guild.", ptarget->GetName()); return true; } if(strlen((char*)args) > 75) { // send message to user char buf[256]; snprintf((char*)buf, 256, "The name was too long by %u", (uint32)strlen(args) - 75); SystemMessage(m_session, buf); return true; } for(uint32 i = 0; i < strlen(args); i++) { if(!isalpha(args[i]) && args[i] != ' ') { SystemMessage(m_session, "Error, name can only contain chars A-Z and a-z."); return true; } } Guild* pGuild = NULL; pGuild = objmgr.GetGuildByGuildName(string(args)); if(pGuild) { RedSystemMessage(m_session, "Guild name is already taken."); return true; } Charter tempCharter(0, ptarget->GetLowGUID(), CHARTER_TYPE_GUILD); tempCharter.SignatureCount = 0; tempCharter.GuildName = string(args); pGuild = Guild::Create(); pGuild->CreateFromCharter(&tempCharter, ptarget->GetSession()); GreenSystemMessage(m_session, "Guild created"); sGMLog.writefromsession(m_session, "Created guild '%s'", args); return true; }
bool ChatHandler::CreateGuildCommand(const char* args, WorldSession *m_session) { if(!*args) return false; Player* ptarget = getSelectedChar(m_session); if(ptarget == NULL) return true; if(strlen((char*)args)>75) { // send message to user char buf[256]; snprintf((char*)buf,256,"The name was too long by %i", (unsigned int)strlen((char*)args)-75); SystemMessage(m_session, buf); return true; } for (uint32 i = 0; i < strlen(args); i++) { if(!isalpha(args[i]) && args[i]!=' ') { SystemMessage(m_session, "Error, name can only contain chars A-Z and a-z."); return true; } } GuildInfo* pGuild = guildmgr.GetGuildByGuildName(string(args)); if(pGuild) { RedSystemMessage(m_session, "Guild name is already taken."); return true; } Charter tempCharter(0, ptarget->GetLowGUID(), CHARTER_TYPE_GUILD); tempCharter.SignatureCount = 0; tempCharter.GuildName = string(args); guildmgr.CreateGuildFromCharter(&tempCharter); SystemMessage(m_session, "Guild created"); return true; }
//.guild create bool ChatHandler::HandleGuildCreateCommand(const char* args, WorldSession* m_session) { #if VERSION_STRING != Cata Player* selected_player = GetSelectedPlayer(m_session, true, true); if (selected_player == nullptr) return true; if (!*args) return false; if (selected_player->IsInGuild()) { RedSystemMessage(m_session, "%s is already in a guild.", selected_player->GetName()); return true; } if (strlen((char*)args) > 75) { // send message to user char buf[256]; snprintf((char*)buf, 256, "The name was too long by %u", (uint32)strlen(args) - 75); SystemMessage(m_session, buf); return true; } for (uint32 i = 0; i < strlen(args); i++) { if (!isalpha(args[i]) && args[i] != ' ') { SystemMessage(m_session, "Error, name can only contain chars A-Z and a-z."); return true; } } Guild* pGuild = NULL; pGuild = objmgr.GetGuildByGuildName(std::string(args)); if (pGuild) { RedSystemMessage(m_session, "Guild name is already taken."); return true; } Charter tempCharter(0, selected_player->getGuidLow(), CHARTER_TYPE_GUILD); tempCharter.SignatureCount = 0; tempCharter.GuildName = std::string(args); pGuild = Guild::Create(); pGuild->CreateFromCharter(&tempCharter, selected_player->GetSession()); GreenSystemMessage(m_session, "Guild created"); sGMLog.writefromsession(m_session, "Created guild '%s'", args); return true; #else Player* selected_player = GetSelectedPlayer(m_session, true, true); if (selected_player == nullptr) return true; if (!*args) return false; if (selected_player->GetGuild()) { RedSystemMessage(m_session, "%s is already in a guild.", selected_player->GetName()); return true; } if (strlen((char*)args) > 75) { // send message to user char buf[256]; snprintf((char*)buf, 256, "The name was too long by %u", (uint32)strlen(args) - 75); SystemMessage(m_session, buf); return true; } for (uint32 i = 0; i < strlen(args); i++) { if (!isalpha(args[i]) && args[i] != ' ') { SystemMessage(m_session, "Error, name can only contain chars A-Z and a-z."); return true; } } Charter tempCharter(0, selected_player->getGuidLow(), CHARTER_TYPE_GUILD); tempCharter.SignatureCount = 0; tempCharter.GuildName = std::string(args); Guild* guild = new Guild; if (!guild->create(selected_player, std::string(args))) { delete guild; SystemMessage(m_session, "Guild not created"); return true; } sGuildMgr.addGuild(guild); //\todo danko //pGuild->CreateFromCharter(&tempCharter, selected_player->GetSession()); GreenSystemMessage(m_session, "Guild created"); sGMLog.writefromsession(m_session, "Created guild '%s'", args); return true; #endif }