From: Christian S. <blu...@us...> - 2005-05-12 16:56:14
|
Update of /cvsroot/planeshift/planeshift/src/server In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15199/src/server Modified Files: adminmanager.cpp adminmanager.h guildmanager.cpp guildmanager.h Log Message: - Added /changeguildname - Fixed memory leak in pawsBorder with SetTitleImage - Added GUI to change skin in the setup application - Pushed the version to 0.3.010 Index: adminmanager.cpp =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/server/adminmanager.cpp,v retrieving revision 1.152 retrieving revision 1.153 diff -C2 -d -r1.152 -r1.153 *** adminmanager.cpp 11 May 2005 03:31:33 -0000 1.152 --- adminmanager.cpp 12 May 2005 16:56:04 -0000 1.153 *************** *** 63,66 **** --- 63,67 ---- #include "npcmanager.h" #include "psserverchar.h" + #include "guildmanager.h" // List of GM levels and their security level. *************** *** 399,402 **** --- 400,407 ---- ChangeName( me, msg,client ); } + else if (msg.command == "/changeguildname") + { + RenameGuild( me, msg,client ); + } else if (msg.command == "/banname" ) { *************** *** 1199,1202 **** --- 1204,1208 ---- commandList.Append( "<command name='/kick' />" ); commandList.Append( "<command name='/changename' />" ); + commandList.Append( "<command name='/changeguildname' />" ); commandList.Append( "<command name='/banname' />" ); commandList.Append( "<command name='/unbanname' />" ); *************** *** 2099,2103 **** } ! if (!msg.newPlayerName.Length()) { psserver->SendSystemError(me->clientnum,"You have to specify a new character name"); --- 2105,2109 ---- } ! if (!msg.newName.Length()) { psserver->SendSystemError(me->clientnum,"You have to specify a new character name"); *************** *** 2106,2111 **** // Fix names ! msg.newPlayerName = NormalizeCharacterName(msg.newPlayerName); ! msg.newPlayerLastName = NormalizeCharacterName(msg.newPlayerLastName); csString name = NormalizeCharacterName(msg.player); --- 2112,2117 ---- // Fix names ! msg.newName = NormalizeCharacterName(msg.newName); ! msg.newLastName = NormalizeCharacterName(msg.newLastName); csString name = NormalizeCharacterName(msg.player); *************** *** 2143,2170 **** bool checkFirst=true; //If firstname is same as before, skip DB check ! bool checkLast=true; //If we make the newPlayerLastName var the current value, we need to skip the db check on that ! if(msg.newPlayerLastName == "No") { ! msg.newPlayerLastName = ""; checkLast = false; } ! else if (msg.newPlayerLastName.Length() == 0 || msg.newPlayerLastName == prevLastName) { ! msg.newPlayerLastName = prevLastName; checkLast = false; } ! if (msg.player == msg.newPlayerName) checkFirst = false; ! if (!checkFirst && !checkLast && msg.newPlayerLastName.Length() != 0) return; if(checkFirst) { ! if (!psServerCharManager::FilterName(msg.newPlayerName)) { ! psserver->SendSystemError(me->clientnum,"The name %s is invalid!",msg.newPlayerName.GetData()); return; } --- 2149,2176 ---- bool checkFirst=true; //If firstname is same as before, skip DB check ! bool checkLast=true; //If we make the newLastName var the current value, we need to skip the db check on that ! if(msg.newLastName == "No") { ! msg.newLastName = ""; checkLast = false; } ! else if (msg.newLastName.Length() == 0 || msg.newLastName == prevLastName) { ! msg.newLastName = prevLastName; checkLast = false; } ! if (msg.player == msg.newName) checkFirst = false; ! if (!checkFirst && !checkLast && msg.newLastName.Length() != 0) return; if(checkFirst) { ! if (!psServerCharManager::FilterName(msg.newName)) { ! psserver->SendSystemError(me->clientnum,"The name %s is invalid!",msg.newName.GetData()); return; } *************** *** 2172,2178 **** if(checkLast) { ! if (!psServerCharManager::FilterName(msg.newPlayerLastName)) { ! psserver->SendSystemError(me->clientnum,"The last name %s is invalid!",msg.newPlayerLastName.GetData()); return; } --- 2178,2184 ---- if(checkLast) { ! if (!psServerCharManager::FilterName(msg.newLastName)) { ! psserver->SendSystemError(me->clientnum,"The last name %s is invalid!",msg.newLastName.GetData()); return; } *************** *** 2182,2189 **** if (checkFirst) { ! Result result1(db->Select("SELECT * FROM characters WHERE name='%s'",msg.newPlayerName.GetData())); if (result1.IsValid() && result1.Count() > 0) { ! psserver->SendSystemError(me->clientnum,"The name %s is not unique!",msg.newPlayerName.GetData()); return; } --- 2188,2195 ---- if (checkFirst) { ! Result result1(db->Select("SELECT * FROM characters WHERE name='%s'",msg.newName.GetData())); if (result1.IsValid() && result1.Count() > 0) { ! psserver->SendSystemError(me->clientnum,"The name %s is not unique!",msg.newName.GetData()); return; } *************** *** 2191,2200 **** // If the last name should be unique, check it ! if (msg.uniqueName && checkLast && msg.newPlayerLastName.Length() ) { ! Result result1(db->Select("SELECT * FROM characters WHERE lastname='%s'",msg.newPlayerLastName.GetData())); if (result1.IsValid() && result1.Count() > 0) { ! psserver->SendSystemError(me->clientnum,"The last name %s is not unique!",msg.newPlayerLastName.GetData()); return; } --- 2197,2206 ---- // If the last name should be unique, check it ! if (msg.uniqueName && checkLast && msg.newLastName.Length() ) { ! Result result1(db->Select("SELECT * FROM characters WHERE lastname='%s'",msg.newLastName.GetData())); if (result1.IsValid() && result1.Count() > 0) { ! psserver->SendSystemError(me->clientnum,"The last name %s is not unique!",msg.newLastName.GetData()); return; } *************** *** 2204,2209 **** if(online) { ! target->GetCharacterData()->SetFullName(msg.newPlayerName, msg.newPlayerLastName); ! target->SetName(msg.newPlayerName); } --- 2210,2215 ---- if(online) { ! target->GetCharacterData()->SetFullName(msg.newName, msg.newLastName); ! target->SetName(msg.newName); } *************** *** 2214,2219 **** target->GetClientNum(), "Your name has been changed to %s %s by GM %s", ! msg.newPlayerName.GetData(), ! msg.newPlayerLastName.GetData(), client->GetName() ); --- 2220,2225 ---- target->GetClientNum(), "Your name has been changed to %s %s by GM %s", ! msg.newName.GetData(), ! msg.newLastName.GetData(), client->GetName() ); *************** *** 2224,2229 **** prevFirstName.GetDataSafe(), prevLastName.GetDataSafe(), ! msg.newPlayerName.GetDataSafe(), ! msg.newPlayerLastName.GetDataSafe() ); --- 2230,2235 ---- prevFirstName.GetDataSafe(), prevLastName.GetDataSafe(), ! msg.newName.GetDataSafe(), ! msg.newLastName.GetDataSafe() ); *************** *** 2232,2238 **** csString fullName; ! fullName = msg.newPlayerName; fullName += " "; ! fullName += msg.newPlayerLastName; // Send name change label update message --- 2238,2244 ---- csString fullName; ! fullName = msg.newName; fullName += " "; ! fullName += msg.newLastName; // Send name change label update message *************** *** 2244,2248 **** // Need instant DB update if we should be able to change the same persons name twice ! db->Command("UPDATE characters SET name='%s', lastname='%s' WHERE id='%u'",msg.newPlayerName.GetData(),msg.newPlayerLastName.GetDataSafe(), id ); // Resend group list --- 2250,2254 ---- // Need instant DB update if we should be able to change the same persons name twice ! db->Command("UPDATE characters SET name='%s', lastname='%s' WHERE id='%u'",msg.newName.GetData(),msg.newLastName.GetDataSafe(), id ); // Resend group list *************** *** 2259,2263 **** psGuildMember* mem = guild->FindMember(target->GetActor()->GetCharacterData()->GetCharacterID()); if(mem) ! mem->name = msg.newPlayerName; } } --- 2265,2269 ---- psGuildMember* mem = guild->FindMember(target->GetActor()->GetCharacterData()->GetCharacterID()); if(mem) ! mem->name = msg.newName; } } *************** *** 2757,2758 **** --- 2763,2800 ---- psserver->SendSystemInfo(me->clientnum,message); } + + void AdminManager::RenameGuild(MsgEntry* me, psAdminCmdMessage& msg, Client* client) + { + if(client->GetSecurityLevel() < GM_LEVEL_2) + { + psserver->SendSystemError(me->clientnum, + "You need to be a level 2 GM to use that command"); + return; + } + + psGuildInfo* guild = psserver->cachemanager.FindGuild(msg.target); + if(!guild) + { + psserver->SendSystemError(me->clientnum, + "No guild with that name"); + return; + } + + guild->SetName(msg.newName); + psserver->GetGuildManager()->ResendGuildData(guild->id); + + // Notify the guild leader if he is online + psGuildMember* gleader = guild->FindLeader(); + if(gleader) + { + if(gleader->actor && gleader->actor->GetActor()) + { + psserver->SendSystemInfo(gleader->actor->GetActor()->GetClientID(), + "Your guild has been renamed to %s by a GM", + msg.newName.GetData() + ); + } + } + + psserver->SendSystemOK(me->clientnum,"Guild renamed to '%s'",msg.newName.GetData()); + } Index: adminmanager.h =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/server/adminmanager.h,v retrieving revision 1.51 retrieving revision 1.52 diff -C2 -d -r1.51 -r1.52 *** adminmanager.h 24 Apr 2005 21:31:32 -0000 1.51 --- adminmanager.h 12 May 2005 16:56:05 -0000 1.52 *************** *** 139,142 **** --- 139,143 ---- void SpawnItemInv( MsgEntry* me, psGMSpawnItem& msg, Client *client); bool GetAccount(csString useroracc,Result& resultre); + void RenameGuild( MsgEntry* me, psAdminCmdMessage& mesg, Client* client); /** Freezes a client, preventing it from doing anything. Index: guildmanager.cpp =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/server/guildmanager.cpp,v retrieving revision 1.119 retrieving revision 1.120 diff -C2 -d -r1.119 -r1.120 *** guildmanager.cpp 26 Mar 2005 08:42:41 -0000 1.119 --- guildmanager.cpp 12 May 2005 16:56:05 -0000 1.120 *************** *** 2263,2265 **** --- 2263,2269 ---- } + void GuildManager::ResendGuildData(int id) + { + SendNotifications(id, psGUIGuildMessage::GUILD_DATA); + } Index: guildmanager.h =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/server/guildmanager.h,v retrieving revision 1.35 retrieving revision 1.36 diff -C2 -d -r1.35 -r1.36 *** guildmanager.h 18 Jan 2005 23:33:47 -0000 1.35 --- guildmanager.h 12 May 2005 16:56:05 -0000 1.36 *************** *** 63,66 **** --- 63,68 ---- void AcceptWar(PendingGuildWarInvite *invite); + void ResendGuildData(int id); + protected: int GetClientLevel(Client *client); |