From: <wel...@us...> - 2010-12-31 14:12:18
|
Revision: 6665 http://planeshift.svn.sourceforge.net/planeshift/?rev=6665&view=rev Author: weltall2 Date: 2010-12-31 14:12:10 +0000 (Fri, 31 Dec 2010) Log Message: ----------- fixed compilation on some gcc Modified Paths: -------------- trunk/src/server/adminmanager.cpp Modified: trunk/src/server/adminmanager.cpp =================================================================== --- trunk/src/server/adminmanager.cpp 2010-12-31 13:50:36 UTC (rev 6664) +++ trunk/src/server/adminmanager.cpp 2010-12-31 14:12:10 UTC (rev 6665) @@ -855,7 +855,7 @@ skill = words[index++]; // check for relative value - if (words[index][0] == '+' || words[index][0] == '-') + if (words[index].GetAt(0) == '+' || words[index].GetAt(0) == '-') relative = true; delta = words.GetInt(index++); @@ -2513,7 +2513,7 @@ else { skillData.skillName = words[index++]; - if (words[index][0] == '-' || words[index][0] == '+') + if (words[index].GetAt(0) == '-' || words[index].GetAt(0) == '+') { skillData.relativeSkill = true; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2010-12-31 22:41:59
|
Revision: 6675 http://planeshift.svn.sourceforge.net/planeshift/?rev=6675&view=rev Author: weltall2 Date: 2010-12-31 22:41:53 +0000 (Fri, 31 Dec 2010) Log Message: ----------- fixed /item Modified Paths: -------------- trunk/src/server/adminmanager.cpp Modified: trunk/src/server/adminmanager.cpp =================================================================== --- trunk/src/server/adminmanager.cpp 2010-12-31 22:30:13 UTC (rev 6674) +++ trunk/src/server/adminmanager.cpp 2010-12-31 22:41:53 UTC (rev 6675) @@ -1374,7 +1374,7 @@ } AdminCmdDataItem::AdminCmdDataItem(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client *client, WordArray &words) -: AdminCmdDataTarget("/item", ADMINCMD_TARGET_ITEM | ADMINCMD_TARGET_STRING), random(false), quality(0) +: AdminCmdDataTarget("/item", ADMINCMD_TARGET_ITEM | ADMINCMD_TARGET_STRING), random(false), quality(50) { size_t index = 1; @@ -1387,7 +1387,7 @@ {// no action required } // /item <item> [random] <quality> - else if (words.GetCount() >2) + else if (words.GetCount() >=2) { // try first parameter as a target string (item name string) if (ParseTarget(msgManager, me, msg, client, words[index])) @@ -1400,23 +1400,14 @@ { index++; random = true; - if (words.GetCount() == index + 1) - { - quality = words.GetInt(index++); - } - else if (words.GetCount() > index + 1) - { - ParseError(me, "Too many parameters"); - } } - // quality is required - else if (words.GetCount() == index+1) + if (words.GetCount() == index + 1) { quality = words.GetInt(index++); } - else + if (words.GetCount() > index) { - ParseError(me, "Unknown subcommand" + words[index]); + ParseError(me, "Too many parameters"); } } else This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2010-12-31 23:16:44
|
Revision: 6678 http://planeshift.svn.sourceforge.net/planeshift/?rev=6678&view=rev Author: weltall2 Date: 2010-12-31 23:16:38 +0000 (Fri, 31 Dec 2010) Log Message: ----------- restored /modify [] remove Modified Paths: -------------- trunk/src/server/adminmanager.cpp Modified: trunk/src/server/adminmanager.cpp =================================================================== --- trunk/src/server/adminmanager.cpp 2010-12-31 22:50:54 UTC (rev 6677) +++ trunk/src/server/adminmanager.cpp 2010-12-31 23:16:38 UTC (rev 6678) @@ -2389,7 +2389,7 @@ } } // everything else is a syntax error - else + else if(subcommand != "remove") { ParseError(me,"Invalid subcommand"); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2010-12-31 23:18:13
|
Revision: 6679 http://planeshift.svn.sourceforge.net/planeshift/?rev=6679&view=rev Author: weltall2 Date: 2010-12-31 23:18:07 +0000 (Fri, 31 Dec 2010) Log Message: ----------- typo Modified Paths: -------------- trunk/src/server/adminmanager.cpp Modified: trunk/src/server/adminmanager.cpp =================================================================== --- trunk/src/server/adminmanager.cpp 2010-12-31 23:16:38 UTC (rev 6678) +++ trunk/src/server/adminmanager.cpp 2010-12-31 23:18:07 UTC (rev 6679) @@ -2389,7 +2389,7 @@ } } // everything else is a syntax error - else if(subcommand != "remove") + else if(subCommand != "remove") { ParseError(me,"Invalid subcommand"); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2011-01-08 15:47:55
|
Revision: 6727 http://planeshift.svn.sourceforge.net/planeshift/?rev=6727&view=rev Author: weltall2 Date: 2011-01-08 15:47:49 +0000 (Sat, 08 Jan 2011) Log Message: ----------- allow the use of here even if optional Modified Paths: -------------- trunk/src/server/adminmanager.cpp Modified: trunk/src/server/adminmanager.cpp =================================================================== --- trunk/src/server/adminmanager.cpp 2011-01-08 15:39:49 UTC (rev 6726) +++ trunk/src/server/adminmanager.cpp 2011-01-08 15:47:49 UTC (rev 6727) @@ -2061,8 +2061,13 @@ // reset sector name sectorName = ""; // when string to parse is not empty - if (!target.IsEmpty() && target != "here") + if(!target.IsEmpty()) { + //if here was provided just get the sector of the client directly + if(target == "here") + { + return GetSectorOfClient(client); + } // retrieve and save sector information sectorInfo = psserver->GetCacheManager()->GetSectorInfoByName(target); sectorName = target; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2011-01-16 09:43:45
|
Revision: 6792 http://planeshift.svn.sourceforge.net/planeshift/?rev=6792&view=rev Author: weltall2 Date: 2011-01-16 09:43:37 +0000 (Sun, 16 Jan 2011) Log Message: ----------- fixed PS#4908 - /setquality: bad number in system message Modified Paths: -------------- trunk/src/server/adminmanager.cpp Modified: trunk/src/server/adminmanager.cpp =================================================================== --- trunk/src/server/adminmanager.cpp 2011-01-16 09:35:57 UTC (rev 6791) +++ trunk/src/server/adminmanager.cpp 2011-01-16 09:43:37 UTC (rev 6792) @@ -8488,7 +8488,7 @@ { unsigned id = result[i].GetUInt32(0); psItemStats* item = psserver->GetCacheManager()->GetBasicItemStatsByID(id); - if(item && !item->IsMoney() && item->IsSpawnable()) + if(item && !item->IsMoney() /*&& item->IsSpawnable()*/) { csString name(item->GetName()); csString mesh(item->GetMeshName()); @@ -8573,11 +8573,11 @@ return; } - if(!stats->IsSpawnable()) + /*if(!stats->IsSpawnable()) { psserver->SendSystemError(me->clientnum, "This item cannot be spawned!"); return; - } + }*/ psItem* item = stats->InstantiateBasicItem(); @@ -10432,7 +10432,7 @@ item->Save(false); - psserver->SendSystemOK(client->GetClientNum(), "Quality changed successfully to: %d/%d", data->quality, item->GetItemQuality()); + psserver->SendSystemOK(client->GetClientNum(), "Quality changed successfully to: %d/%d", data->quality, data->qualityMax); } void AdminManager::HandleSetTrait(psAdminCmdMessage& msg, AdminCmdData* cmddata, Client *client) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2011-01-16 09:44:31
|
Revision: 6793 http://planeshift.svn.sourceforge.net/planeshift/?rev=6793&view=rev Author: weltall2 Date: 2011-01-16 09:44:24 +0000 (Sun, 16 Jan 2011) Log Message: ----------- additional fixes Modified Paths: -------------- trunk/src/server/adminmanager.cpp Modified: trunk/src/server/adminmanager.cpp =================================================================== --- trunk/src/server/adminmanager.cpp 2011-01-16 09:43:37 UTC (rev 6792) +++ trunk/src/server/adminmanager.cpp 2011-01-16 09:44:24 UTC (rev 6793) @@ -10432,7 +10432,7 @@ item->Save(false); - psserver->SendSystemOK(client->GetClientNum(), "Quality changed successfully to: %d/%d", data->quality, data->qualityMax); + psserver->SendSystemOK(client->GetClientNum(), "Quality changed successfully to: %d/%d", data->quality, data->qualityMax ? data->qualityMax : item->GetMaxItemQuality()); } void AdminManager::HandleSetTrait(psAdminCmdMessage& msg, AdminCmdData* cmddata, Client *client) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2011-01-16 09:47:14
|
Revision: 6794 http://planeshift.svn.sourceforge.net/planeshift/?rev=6794&view=rev Author: weltall2 Date: 2011-01-16 09:47:08 +0000 (Sun, 16 Jan 2011) Log Message: ----------- better fix for the previous one Modified Paths: -------------- trunk/src/server/adminmanager.cpp Modified: trunk/src/server/adminmanager.cpp =================================================================== --- trunk/src/server/adminmanager.cpp 2011-01-16 09:44:24 UTC (rev 6793) +++ trunk/src/server/adminmanager.cpp 2011-01-16 09:47:08 UTC (rev 6794) @@ -10432,7 +10432,7 @@ item->Save(false); - psserver->SendSystemOK(client->GetClientNum(), "Quality changed successfully to: %d/%d", data->quality, data->qualityMax ? data->qualityMax : item->GetMaxItemQuality()); + psserver->SendSystemOK(client->GetClientNum(), "Quality changed successfully to: %f/%f", data->GetItemQuality(), item->GetMaxItemQuality()); } void AdminManager::HandleSetTrait(psAdminCmdMessage& msg, AdminCmdData* cmddata, Client *client) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2011-01-16 09:52:19
|
Revision: 6795 http://planeshift.svn.sourceforge.net/planeshift/?rev=6795&view=rev Author: weltall2 Date: 2011-01-16 09:52:13 +0000 (Sun, 16 Jan 2011) Log Message: ----------- wrong class Modified Paths: -------------- trunk/src/server/adminmanager.cpp Modified: trunk/src/server/adminmanager.cpp =================================================================== --- trunk/src/server/adminmanager.cpp 2011-01-16 09:47:08 UTC (rev 6794) +++ trunk/src/server/adminmanager.cpp 2011-01-16 09:52:13 UTC (rev 6795) @@ -10432,7 +10432,7 @@ item->Save(false); - psserver->SendSystemOK(client->GetClientNum(), "Quality changed successfully to: %f/%f", data->GetItemQuality(), item->GetMaxItemQuality()); + psserver->SendSystemOK(client->GetClientNum(), "Quality changed successfully to: %f/%f", item->GetItemQuality(), item->GetMaxItemQuality()); } void AdminManager::HandleSetTrait(psAdminCmdMessage& msg, AdminCmdData* cmddata, Client *client) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2011-01-16 09:52:48
|
Revision: 6796 http://planeshift.svn.sourceforge.net/planeshift/?rev=6796&view=rev Author: weltall2 Date: 2011-01-16 09:52:41 +0000 (Sun, 16 Jan 2011) Log Message: ----------- decommented some code Modified Paths: -------------- trunk/src/server/adminmanager.cpp Modified: trunk/src/server/adminmanager.cpp =================================================================== --- trunk/src/server/adminmanager.cpp 2011-01-16 09:52:13 UTC (rev 6795) +++ trunk/src/server/adminmanager.cpp 2011-01-16 09:52:41 UTC (rev 6796) @@ -8488,7 +8488,7 @@ { unsigned id = result[i].GetUInt32(0); psItemStats* item = psserver->GetCacheManager()->GetBasicItemStatsByID(id); - if(item && !item->IsMoney() /*&& item->IsSpawnable()*/) + if(item && !item->IsMoney() && item->IsSpawnable()) { csString name(item->GetName()); csString mesh(item->GetMeshName()); @@ -8573,11 +8573,11 @@ return; } - /*if(!stats->IsSpawnable()) + if(!stats->IsSpawnable()) { psserver->SendSystemError(me->clientnum, "This item cannot be spawned!"); return; - }*/ + } psItem* item = stats->InstantiateBasicItem(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2011-01-18 12:39:37
|
Revision: 6808 http://planeshift.svn.sourceforge.net/planeshift/?rev=6808&view=rev Author: weltall2 Date: 2011-01-18 12:39:30 +0000 (Tue, 18 Jan 2011) Log Message: ----------- fixed there and here, last and spawn and restore being considered first as players in the db. we need a flag to allow db hits... Modified Paths: -------------- trunk/src/server/adminmanager.cpp Modified: trunk/src/server/adminmanager.cpp =================================================================== --- trunk/src/server/adminmanager.cpp 2011-01-17 17:59:56 UTC (rev 6807) +++ trunk/src/server/adminmanager.cpp 2011-01-18 12:39:30 UTC (rev 6808) @@ -1572,22 +1572,9 @@ index++; destInstance = DEFAULT_INSTANCE; destInstanceValid = false; - // when the second word is me|pid:<PID>|playername|... - if (destObj.ParseTarget(msgManager, me, msg, client, words[index])) + if (destList.IsSubCommand(words[index])) { - index++; - /*if (destObj.targetType == ADMINCMD_TARGET_ME) - { - // optional instance name - if (words.GetCount() == index + 1) - { - instanceName = words[index++]; - } - else if (words.GetCount() != index) - { - ParseError(me, "Too many arguments"); - } - }*/ + dest = words[index++]; } // current word is not a default target // but it might be 'map' @@ -1613,9 +1600,22 @@ ParseError(me, "Missing x,y,z coordinates"); } } - else if (destList.IsSubCommand(words[index])) + // when the second word is me|pid:<PID>|playername|... + else if (destObj.ParseTarget(msgManager, me, msg, client, words[index])) { - dest = words[index++]; + index++; + /*if (destObj.targetType == ADMINCMD_TARGET_ME) + { + // optional instance name + if (words.GetCount() == index + 1) + { + instanceName = words[index++]; + } + else if (words.GetCount() != index) + { + ParseError(me, "Too many arguments"); + } + }*/ } else { @@ -1623,7 +1623,7 @@ } if (words.GetCount() == index + 1) { - destInstance = words.GetInt(index); + destInstance = words.GetInt(index++); destInstanceValid = true; } else if (words.GetCount() != index) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2011-01-18 13:43:44
|
Revision: 6809 http://planeshift.svn.sourceforge.net/planeshift/?rev=6809&view=rev Author: weltall2 Date: 2011-01-18 13:43:37 +0000 (Tue, 18 Jan 2011) Log Message: ----------- made db hit from the targeting system need to be authorized from the admin command itself (to avoid hitting players which we don't want to hit during the search for the target and reducing the load of the admin commands) made the targetname function just use the targetname set by the targetting system so it becomes also debug system for it. made killnpc able to load also npc for the first time (untested) Modified Paths: -------------- trunk/src/server/adminmanager.cpp Modified: trunk/src/server/adminmanager.cpp =================================================================== --- trunk/src/server/adminmanager.cpp 2011-01-18 12:39:30 UTC (rev 6808) +++ trunk/src/server/adminmanager.cpp 2011-01-18 13:43:37 UTC (rev 6809) @@ -354,6 +354,11 @@ // basically the pid is resolved to an account id that is then used to // execute the specified command + //first of all check if db hits are allowed. most commands don't + //work with the database so there is no use to hit the db for that. + if(!IsAllowedTargetType(ADMINCMD_TARGET_DATABASE)) + return false; + PID pid = PID(strtoul(word.Slice(4).GetData(), NULL, 10)); if (!pid.IsValid()) { @@ -409,6 +414,11 @@ bool AdminCmdTargetParser::GetPlayerAccountIDByName(size_t gmClientNum, const csString &word, bool reporterror) { + //first of all check if db hits are allowed. most commands don't + //work with the database so there is no use to hit the db for that. + if(!IsAllowedTargetType(ADMINCMD_TARGET_DATABASE)) + return false; + // try to find an offline player by name and resolve to a pid csString name; // normalize and escape name (to avoid security issues) @@ -1083,7 +1093,7 @@ } AdminCmdDataDeleteChar::AdminCmdDataDeleteChar(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client *client, WordArray &words) -: AdminCmdDataTarget("/deletechar", ADMINCMD_TARGET_PLAYER | ADMINCMD_TARGET_PID), requestor(ADMINCMD_TARGET_TARGET | ADMINCMD_TARGET_PID | ADMINCMD_TARGET_ME | ADMINCMD_TARGET_PLAYER | ADMINCMD_TARGET_EID | ADMINCMD_TARGET_CLIENTTARGET) +: AdminCmdDataTarget("/deletechar", ADMINCMD_TARGET_PLAYER | ADMINCMD_TARGET_PID), requestor(ADMINCMD_TARGET_TARGET | ADMINCMD_TARGET_PID | ADMINCMD_TARGET_ME | ADMINCMD_TARGET_PLAYER | ADMINCMD_TARGET_EID | ADMINCMD_TARGET_CLIENTTARGET | ADMINCMD_TARGET_DATABASE) { size_t index = 1; @@ -1174,7 +1184,7 @@ } AdminCmdDataBan::AdminCmdDataBan(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client *client, WordArray &words) -: AdminCmdDataTarget("/ban", ADMINCMD_TARGET_TARGET | ADMINCMD_TARGET_PID | ADMINCMD_TARGET_AREA | ADMINCMD_TARGET_PLAYER | ADMINCMD_TARGET_ACCOUNT | ADMINCMD_TARGET_EID | ADMINCMD_TARGET_CLIENTTARGET) +: AdminCmdDataTarget("/ban", ADMINCMD_TARGET_TARGET | ADMINCMD_TARGET_PID | ADMINCMD_TARGET_AREA | ADMINCMD_TARGET_PLAYER | ADMINCMD_TARGET_ACCOUNT | ADMINCMD_TARGET_EID | ADMINCMD_TARGET_CLIENTTARGET | ADMINCMD_TARGET_DATABASE) { size_t index = 1; bool found; @@ -1245,7 +1255,7 @@ } AdminCmdDataKillNPC::AdminCmdDataKillNPC(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client *client, WordArray &words) -: AdminCmdDataTarget("/killnpc", ADMINCMD_TARGET_TARGET | ADMINCMD_TARGET_PID | ADMINCMD_TARGET_AREA | ADMINCMD_TARGET_NPC | ADMINCMD_TARGET_EID | ADMINCMD_TARGET_CLIENTTARGET), reload(false) +: AdminCmdDataTarget("/killnpc", ADMINCMD_TARGET_TARGET | ADMINCMD_TARGET_PID | ADMINCMD_TARGET_AREA | ADMINCMD_TARGET_NPC | ADMINCMD_TARGET_EID | ADMINCMD_TARGET_CLIENTTARGET | ADMINCMD_TARGET_DATABASE), reload(false) { size_t index = 1; bool found; @@ -1554,7 +1564,7 @@ } AdminCmdDataTeleport::AdminCmdDataTeleport(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client *client, WordArray &words) -: AdminCmdDataTarget("/teleport", ADMINCMD_TARGET_TARGET | ADMINCMD_TARGET_PID | ADMINCMD_TARGET_AREA | ADMINCMD_TARGET_ME | ADMINCMD_TARGET_PLAYER | ADMINCMD_TARGET_OBJECT | ADMINCMD_TARGET_NPC | ADMINCMD_TARGET_EID | ADMINCMD_TARGET_ITEM), destList("here there last spawn restore"), destObj(ADMINCMD_TARGET_TARGET | ADMINCMD_TARGET_PID | ADMINCMD_TARGET_ME | ADMINCMD_TARGET_PLAYER | ADMINCMD_TARGET_OBJECT | ADMINCMD_TARGET_NPC | ADMINCMD_TARGET_EID | ADMINCMD_TARGET_ITEM) +: AdminCmdDataTarget("/teleport", ADMINCMD_TARGET_TARGET | ADMINCMD_TARGET_PID | ADMINCMD_TARGET_AREA | ADMINCMD_TARGET_ME | ADMINCMD_TARGET_PLAYER | ADMINCMD_TARGET_OBJECT | ADMINCMD_TARGET_NPC | ADMINCMD_TARGET_EID | ADMINCMD_TARGET_ITEM | ADMINCMD_TARGET_DATABASE), destList("here there last spawn restore"), destObj(ADMINCMD_TARGET_TARGET | ADMINCMD_TARGET_PID | ADMINCMD_TARGET_ME | ADMINCMD_TARGET_PLAYER | ADMINCMD_TARGET_OBJECT | ADMINCMD_TARGET_NPC | ADMINCMD_TARGET_EID | ADMINCMD_TARGET_ITEM) { destList.Push("map", "(<map name>|here) | (<sector name> <x> <y> <z>) [<instance>]"); size_t index = 1; @@ -1685,7 +1695,7 @@ } AdminCmdDataChangeName::AdminCmdDataChangeName(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client *client, WordArray &words) -: AdminCmdDataTarget("/changename", ADMINCMD_TARGET_TARGET | ADMINCMD_TARGET_ME | ADMINCMD_TARGET_PLAYER | ADMINCMD_TARGET_PID | ADMINCMD_TARGET_EID | ADMINCMD_TARGET_CLIENTTARGET), uniqueName(true), uniqueFirstName(true) +: AdminCmdDataTarget("/changename", ADMINCMD_TARGET_TARGET | ADMINCMD_TARGET_ME | ADMINCMD_TARGET_PLAYER | ADMINCMD_TARGET_PID | ADMINCMD_TARGET_EID | ADMINCMD_TARGET_CLIENTTARGET | ADMINCMD_TARGET_DATABASE), uniqueName(true), uniqueFirstName(true) { size_t index = 1; bool found; @@ -1776,7 +1786,7 @@ } AdminCmdDataChangeGuildLeader::AdminCmdDataChangeGuildLeader(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client *client, WordArray &words) -: AdminCmdDataTarget("/changeguildleader", ADMINCMD_TARGET_TARGET | ADMINCMD_TARGET_PID | ADMINCMD_TARGET_ME | ADMINCMD_TARGET_PLAYER | ADMINCMD_TARGET_EID | ADMINCMD_TARGET_CLIENTTARGET) +: AdminCmdDataTarget("/changeguildleader", ADMINCMD_TARGET_TARGET | ADMINCMD_TARGET_PID | ADMINCMD_TARGET_ME | ADMINCMD_TARGET_PLAYER | ADMINCMD_TARGET_EID | ADMINCMD_TARGET_CLIENTTARGET | ADMINCMD_TARGET_DATABASE) { size_t index = 1; bool found = false; @@ -3130,7 +3140,7 @@ } AdminCmdDataQuest::AdminCmdDataQuest(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client *client, WordArray &words) -: AdminCmdDataTarget("/quest", ADMINCMD_TARGET_TARGET | ADMINCMD_TARGET_PID | ADMINCMD_TARGET_AREA | ADMINCMD_TARGET_ME | ADMINCMD_TARGET_PLAYER | ADMINCMD_TARGET_EID | ADMINCMD_TARGET_CLIENTTARGET), +: AdminCmdDataTarget("/quest", ADMINCMD_TARGET_TARGET | ADMINCMD_TARGET_PID | ADMINCMD_TARGET_AREA | ADMINCMD_TARGET_ME | ADMINCMD_TARGET_PLAYER | ADMINCMD_TARGET_EID | ADMINCMD_TARGET_CLIENTTARGET | ADMINCMD_TARGET_DATABASE), subCommandList("complete list discard assign") { size_t index = 1; @@ -3400,7 +3410,7 @@ } AdminCmdDataListWarnings::AdminCmdDataListWarnings(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client *client, WordArray &words) -: AdminCmdDataTarget("/listwarnings", ADMINCMD_TARGET_TARGET | ADMINCMD_TARGET_PID | ADMINCMD_TARGET_AREA | ADMINCMD_TARGET_ME | ADMINCMD_TARGET_PLAYER | ADMINCMD_TARGET_CLIENTTARGET) +: AdminCmdDataTarget("/listwarnings", ADMINCMD_TARGET_TARGET | ADMINCMD_TARGET_PID | ADMINCMD_TARGET_AREA | ADMINCMD_TARGET_ME | ADMINCMD_TARGET_PLAYER | ADMINCMD_TARGET_CLIENTTARGET | ADMINCMD_TARGET_DATABASE) { size_t index = 1; bool found; @@ -3727,19 +3737,19 @@ RegisterMsgFactoryFunction(new AdminCmdDataTarget("/mute", ADMINCMD_TARGET_TARGET | ADMINCMD_TARGET_PID | ADMINCMD_TARGET_AREA | ADMINCMD_TARGET_ME | ADMINCMD_TARGET_PLAYER | ADMINCMD_TARGET_EID | ADMINCMD_TARGET_CLIENTTARGET)); RegisterMsgFactoryFunction(new AdminCmdDataTarget("/unmute", ADMINCMD_TARGET_TARGET | ADMINCMD_TARGET_PID | ADMINCMD_TARGET_AREA | ADMINCMD_TARGET_ME | ADMINCMD_TARGET_PLAYER | ADMINCMD_TARGET_EID | ADMINCMD_TARGET_CLIENTTARGET)); - RegisterMsgFactoryFunction(new AdminCmdDataTarget("/unban", ADMINCMD_TARGET_TARGET | ADMINCMD_TARGET_PLAYER | ADMINCMD_TARGET_PID | ADMINCMD_TARGET_ACCOUNT)); - RegisterMsgFactoryFunction(new AdminCmdDataTarget("/banadvisor", ADMINCMD_TARGET_TARGET | ADMINCMD_TARGET_AREA | ADMINCMD_TARGET_PLAYER | ADMINCMD_TARGET_PID | ADMINCMD_TARGET_ACCOUNT | ADMINCMD_TARGET_EID | ADMINCMD_TARGET_CLIENTTARGET)); - RegisterMsgFactoryFunction(new AdminCmdDataTarget("/unbanadvisor", ADMINCMD_TARGET_TARGET | ADMINCMD_TARGET_AREA | ADMINCMD_TARGET_PLAYER | ADMINCMD_TARGET_PID | ADMINCMD_TARGET_ACCOUNT | ADMINCMD_TARGET_EID | ADMINCMD_TARGET_CLIENTTARGET)); - RegisterMsgFactoryFunction(new AdminCmdDataTarget("/info", ADMINCMD_TARGET_TARGET | ADMINCMD_TARGET_PID | ADMINCMD_TARGET_AREA | ADMINCMD_TARGET_ME | ADMINCMD_TARGET_PLAYER | ADMINCMD_TARGET_OBJECT | ADMINCMD_TARGET_NPC | ADMINCMD_TARGET_EID | ADMINCMD_TARGET_ITEM | ADMINCMD_TARGET_CLIENTTARGET)); - RegisterMsgFactoryFunction(new AdminCmdDataTarget("/charlist", ADMINCMD_TARGET_TARGET | ADMINCMD_TARGET_PLAYER | ADMINCMD_TARGET_PID | ADMINCMD_TARGET_ME | ADMINCMD_TARGET_NPC | ADMINCMD_TARGET_EID | ADMINCMD_TARGET_AREA | ADMINCMD_TARGET_CLIENTTARGET)); + RegisterMsgFactoryFunction(new AdminCmdDataTarget("/unban", ADMINCMD_TARGET_TARGET | ADMINCMD_TARGET_PLAYER | ADMINCMD_TARGET_PID | ADMINCMD_TARGET_ACCOUNT | ADMINCMD_TARGET_DATABASE)); + RegisterMsgFactoryFunction(new AdminCmdDataTarget("/banadvisor", ADMINCMD_TARGET_TARGET | ADMINCMD_TARGET_AREA | ADMINCMD_TARGET_PLAYER | ADMINCMD_TARGET_PID | ADMINCMD_TARGET_ACCOUNT | ADMINCMD_TARGET_EID | ADMINCMD_TARGET_CLIENTTARGET | ADMINCMD_TARGET_DATABASE)); + RegisterMsgFactoryFunction(new AdminCmdDataTarget("/unbanadvisor", ADMINCMD_TARGET_TARGET | ADMINCMD_TARGET_AREA | ADMINCMD_TARGET_PLAYER | ADMINCMD_TARGET_PID | ADMINCMD_TARGET_ACCOUNT | ADMINCMD_TARGET_EID | ADMINCMD_TARGET_CLIENTTARGET | ADMINCMD_TARGET_DATABASE)); + RegisterMsgFactoryFunction(new AdminCmdDataTarget("/info", ADMINCMD_TARGET_TARGET | ADMINCMD_TARGET_PID | ADMINCMD_TARGET_AREA | ADMINCMD_TARGET_ME | ADMINCMD_TARGET_PLAYER | ADMINCMD_TARGET_OBJECT | ADMINCMD_TARGET_NPC | ADMINCMD_TARGET_EID | ADMINCMD_TARGET_ITEM | ADMINCMD_TARGET_CLIENTTARGET | ADMINCMD_TARGET_DATABASE)); + RegisterMsgFactoryFunction(new AdminCmdDataTarget("/charlist", ADMINCMD_TARGET_TARGET | ADMINCMD_TARGET_PLAYER | ADMINCMD_TARGET_PID | ADMINCMD_TARGET_ME | ADMINCMD_TARGET_NPC | ADMINCMD_TARGET_EID | ADMINCMD_TARGET_AREA | ADMINCMD_TARGET_CLIENTTARGET | ADMINCMD_TARGET_DATABASE)); RegisterMsgFactoryFunction(new AdminCmdDataTarget("/inspect", ADMINCMD_TARGET_TARGET | ADMINCMD_TARGET_PLAYER | ADMINCMD_TARGET_PID | ADMINCMD_TARGET_AREA | ADMINCMD_TARGET_ME | ADMINCMD_TARGET_NPC | ADMINCMD_TARGET_EID | ADMINCMD_TARGET_CLIENTTARGET)); RegisterMsgFactoryFunction(new AdminCmdDataTarget("/npc", ADMINCMD_TARGET_TARGET | ADMINCMD_TARGET_PID | ADMINCMD_TARGET_NPC | ADMINCMD_TARGET_CLIENTTARGET)); //has got its own class (but this is not really needed yet) // RegisterMsgFactoryFunction(new AdminCmdDataTarget("/setstackable", ADMINCMD_TARGET_TARGET | ADMINCMD_TARGET_AREA | ADMINCMD_TARGET_ITEM | ADMINCMD_TARGET_EID | ADMINCMD_TARGET_CLIENTTARGET)); //natoka: actually here is a need for ADMIN_TARGET_ITEM RegisterMsgFactoryFunction(new AdminCmdDataTarget("/divorce", ADMINCMD_TARGET_TARGET | ADMINCMD_TARGET_PID | ADMINCMD_TARGET_AREA | ADMINCMD_TARGET_ME | ADMINCMD_TARGET_PLAYER | ADMINCMD_TARGET_EID | ADMINCMD_TARGET_CLIENTTARGET)); - RegisterMsgFactoryFunction(new AdminCmdDataTarget("/marriageinfo", ADMINCMD_TARGET_TARGET | ADMINCMD_TARGET_PLAYER | ADMINCMD_TARGET_PID | ADMINCMD_TARGET_ME | ADMINCMD_TARGET_EID | ADMINCMD_TARGET_AREA | ADMINCMD_TARGET_EID | ADMINCMD_TARGET_CLIENTTARGET)); - RegisterMsgFactoryFunction(new AdminCmdDataTarget("/targetname", ADMINCMD_TARGET_TARGET | ADMINCMD_TARGET_PID | ADMINCMD_TARGET_AREA | ADMINCMD_TARGET_ME | ADMINCMD_TARGET_PLAYER | ADMINCMD_TARGET_OBJECT | ADMINCMD_TARGET_NPC | ADMINCMD_TARGET_EID | ADMINCMD_TARGET_ITEM | ADMINCMD_TARGET_CLIENTTARGET)); + RegisterMsgFactoryFunction(new AdminCmdDataTarget("/marriageinfo", ADMINCMD_TARGET_TARGET | ADMINCMD_TARGET_PLAYER | ADMINCMD_TARGET_PID | ADMINCMD_TARGET_ME | ADMINCMD_TARGET_EID | ADMINCMD_TARGET_AREA | ADMINCMD_TARGET_EID | ADMINCMD_TARGET_CLIENTTARGET | ADMINCMD_TARGET_DATABASE)); + RegisterMsgFactoryFunction(new AdminCmdDataTarget("/targetname", ADMINCMD_TARGET_TARGET | ADMINCMD_TARGET_PID | ADMINCMD_TARGET_AREA | ADMINCMD_TARGET_ME | ADMINCMD_TARGET_PLAYER | ADMINCMD_TARGET_OBJECT | ADMINCMD_TARGET_NPC | ADMINCMD_TARGET_EID | ADMINCMD_TARGET_ITEM | ADMINCMD_TARGET_CLIENTTARGET | ADMINCMD_TARGET_ACCOUNT | ADMINCMD_TARGET_DATABASE | ADMINCMD_TARGET_STRING)); } @@ -7110,6 +7120,22 @@ } return; } + else if(!target) + { + //as the npc was not found but it's id was found from db or direct data from the user + PID npcid = data->targetID; + if(npcid.IsValid()) //check if the pid is really one + { + //try to load the new npc + psCharacter *npcdata = psServer::CharacterLoader.LoadCharacterData(npcid,true); + //if the load was successful we can try completing the load process + if(npcdata) + { + EntityManager::GetSingleton().CreateNPC(npcdata); + psserver->SendSystemResult(me->clientnum, "NPC (%s) has been loaded.", npcid.Show().GetData()); + } + } + } psserver->SendSystemError(me->clientnum, "No NPC found to kill."); } @@ -10627,13 +10653,14 @@ { AdminCmdDataTarget* data = dynamic_cast<AdminCmdDataTarget*>(cmddata); - if ((!data->target || !data->target.Length()) && !data->target) + if (!data->target.Length()) { psserver->SendSystemInfo(client->GetClientNum(),"Syntax: \"/targetname [me/target/eid/pid/area/name]\""); return; } - if(data->targetObject) //just to be sure - psserver->SendSystemInfo(client->GetClientNum(),"Targeted: %s", data->targetObject->GetName()); + AccountID aid = (!data->IsTargetType(ADMINCMD_TARGET_PLAYER) && !data->IsTargetType(ADMINCMD_TARGET_PID)) ? 0 : data->GetAccountID(client->GetClientNum()); + psserver->SendSystemInfo(client->GetClientNum(),"Targeted: %s (%s, %s, online: %d)", data->target.GetData(), + data->targetID.Show().GetData(), aid.Show().GetData(), data->IsOnline() ? "yes" : "no"); } void AdminManager::DisableQuest(MsgEntry* me, psAdminCmdMessage& msg, AdminCmdData* cmddata, Client *client ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2011-01-18 22:10:05
|
Revision: 6816 http://planeshift.svn.sourceforge.net/planeshift/?rev=6816&view=rev Author: weltall2 Date: 2011-01-18 22:09:59 +0000 (Tue, 18 Jan 2011) Log Message: ----------- fixed map Modified Paths: -------------- trunk/src/server/adminmanager.cpp Modified: trunk/src/server/adminmanager.cpp =================================================================== --- trunk/src/server/adminmanager.cpp 2011-01-18 16:30:10 UTC (rev 6815) +++ trunk/src/server/adminmanager.cpp 2011-01-18 22:09:59 UTC (rev 6816) @@ -1582,33 +1582,33 @@ index++; destInstance = DEFAULT_INSTANCE; destInstanceValid = false; + if (destList.IsSubCommand(words[index])) { dest = words[index++]; - } - // current word is not a default target - // but it might be 'map' - else if (words[index] == "map") - { - dest = words[index++]; - // map target specified by map name - if (words.GetCount() == index + 1) + // current word is not a default target + // but it might be 'map' + if(dest == "map") { - destMap = words[index++]; + // map target specified by map name + if (words.GetCount() == index + 1) + { + destMap = words[index++]; + } + // or sector target specified by coordinates + // with optional instance id at the end (parsed below) + else if (words.GetCount() == index + 4 || words.GetCount() == index + 5) + { + destSector = words[index++]; + x = words.GetFloat(index++); + y = words.GetFloat(index++); + z = words.GetFloat(index++); + } + else + { + ParseError(me, "Missing x,y,z coordinates"); + } } - // or sector target specified by coordinates - // with optional instance id at the end (parsed below) - else if (words.GetCount() == index + 4 || words.GetCount() == index + 5) - { - destSector = words[index++]; - x = words.GetFloat(index++); - y = words.GetFloat(index++); - z = words.GetFloat(index++); - } - else - { - ParseError(me, "Missing x,y,z coordinates"); - } } // when the second word is me|pid:<PID>|playername|... else if (destObj.ParseTarget(msgManager, me, msg, client, words[index])) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2011-01-20 08:57:31
|
Revision: 6820 http://planeshift.svn.sourceforge.net/planeshift/?rev=6820&view=rev Author: weltall2 Date: 2011-01-20 08:57:24 +0000 (Thu, 20 Jan 2011) Log Message: ----------- allowed skill = 0 Modified Paths: -------------- trunk/src/server/adminmanager.cpp Modified: trunk/src/server/adminmanager.cpp =================================================================== --- trunk/src/server/adminmanager.cpp 2011-01-19 17:47:33 UTC (rev 6819) +++ trunk/src/server/adminmanager.cpp 2011-01-20 08:57:24 UTC (rev 6820) @@ -182,7 +182,7 @@ bool psRewardDataSkill::IsZero() { - return (skillName.IsEmpty() || (skillDelta == 0 && !relativeSkill)); + return (skillName.IsEmpty()); } psRewardDataMoney::psRewardDataMoney(csString pmoneyType, int pmoneyCount, bool prandom) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2011-01-25 16:36:03
|
Revision: 6828 http://planeshift.svn.sourceforge.net/planeshift/?rev=6828&view=rev Author: weltall2 Date: 2011-01-25 16:35:57 +0000 (Tue, 25 Jan 2011) Log Message: ----------- fixed crash when the name is typoed! Modified Paths: -------------- trunk/src/server/adminmanager.cpp Modified: trunk/src/server/adminmanager.cpp =================================================================== --- trunk/src/server/adminmanager.cpp 2011-01-24 21:39:05 UTC (rev 6827) +++ trunk/src/server/adminmanager.cpp 2011-01-25 16:35:57 UTC (rev 6828) @@ -718,8 +718,7 @@ username.Downcase(); db->Escape(usernameEscaped, username.GetData()); result = db->Select("SELECT id FROM accounts WHERE username = '%s' LIMIT 1",usernameEscaped.GetData()); - - if ( result.IsValid() || result.Count() == 1 ) + if ( result.IsValid() && result.Count() == 1 ) { AccountID accountID = AccountID(result[0].GetUInt32("id")); if (accountID.IsValid()) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2011-01-25 20:24:44
|
Revision: 6829 http://planeshift.svn.sourceforge.net/planeshift/?rev=6829&view=rev Author: weltall2 Date: 2011-01-25 20:24:38 +0000 (Tue, 25 Jan 2011) Log Message: ----------- restored offline banning and by pid or aid Modified Paths: -------------- trunk/src/server/adminmanager.cpp Modified: trunk/src/server/adminmanager.cpp =================================================================== --- trunk/src/server/adminmanager.cpp 2011-01-25 16:35:57 UTC (rev 6828) +++ trunk/src/server/adminmanager.cpp 2011-01-25 20:24:38 UTC (rev 6829) @@ -8233,7 +8233,8 @@ } // Find client to get target - if (!data->IsTargetType(ADMINCMD_TARGET_PLAYER)) + if (!data->IsTargetType(ADMINCMD_TARGET_PLAYER) && !data->IsTargetType(ADMINCMD_TARGET_PID) && + !data->IsTargetType(ADMINCMD_TARGET_ACCOUNT)) { psserver->SendSystemError(me->clientnum, "You can only ban a player!"); return; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2011-02-08 08:55:21
|
Revision: 6893 http://planeshift.svn.sourceforge.net/planeshift/?rev=6893&view=rev Author: weltall2 Date: 2011-02-08 08:55:15 +0000 (Tue, 08 Feb 2011) Log Message: ----------- removed adminmanager dependency from psskill enum Modified Paths: -------------- trunk/src/server/adminmanager.cpp Modified: trunk/src/server/adminmanager.cpp =================================================================== --- trunk/src/server/adminmanager.cpp 2011-02-07 22:17:05 UTC (rev 6892) +++ trunk/src/server/adminmanager.cpp 2011-02-08 08:55:15 UTC (rev 6893) @@ -8764,7 +8764,7 @@ bool modified = false; if (rewardDataSkill->skillName == "all") // update all skills { - for (int i=0; i<PSSKILL_COUNT; i++) + for(int i=0; i < psserver->GetCacheManager()->GetSkillAmount(); i++) { psSkillInfo* skill = psserver->GetCacheManager()->GetSkillByID(i); if (!skill) continue; // skill doesn't exist -> this should not happen @@ -9203,7 +9203,7 @@ { if (data->skillData.skillName == "all") { - for (int i=0; i<PSSKILL_COUNT; i++) + for(int i=0; i < psserver->GetCacheManager()->GetSkillAmount(); i++) { psSkillInfo * skill = psserver->GetCacheManager()->GetSkillByID(i); if (skill == NULL) continue; @@ -9257,7 +9257,7 @@ } bool modified = false; - for (int i=0; i<PSSKILL_COUNT; i++) + for (int i=0; i < psserver->GetCacheManager()->GetSkillAmount(); i++) { psSkillInfo * skill = psserver->GetCacheManager()->GetSkillByID(i); if (skill == NULL) continue; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2011-02-13 10:58:02
|
Revision: 6924 http://planeshift.svn.sourceforge.net/planeshift/?rev=6924&view=rev Author: weltall2 Date: 2011-02-13 10:57:56 +0000 (Sun, 13 Feb 2011) Log Message: ----------- fixed various warning and uninitialized variables Modified Paths: -------------- trunk/src/server/adminmanager.cpp Modified: trunk/src/server/adminmanager.cpp =================================================================== --- trunk/src/server/adminmanager.cpp 2011-02-13 10:52:51 UTC (rev 6923) +++ trunk/src/server/adminmanager.cpp 2011-02-13 10:57:56 UTC (rev 6924) @@ -2105,7 +2105,7 @@ bool AdminCmdDataSectorTarget::GetSectorOfClient(Client* client) { // Get the current sector - iSector* here; + iSector* here = NULL; if (client->GetActor()) { here = client->GetActor()->GetSector(); @@ -8771,7 +8771,7 @@ bool modified = false; if (rewardDataSkill->skillName == "all") // update all skills { - for(int i=0; i < psserver->GetCacheManager()->GetSkillAmount(); i++) + for(size_t i = 0; i < psserver->GetCacheManager()->GetSkillAmount(); i++) { psSkillInfo* skill = psserver->GetCacheManager()->GetSkillByID(i); if (!skill) continue; // skill doesn't exist -> this should not happen @@ -9210,7 +9210,7 @@ { if (data->skillData.skillName == "all") { - for(int i=0; i < psserver->GetCacheManager()->GetSkillAmount(); i++) + for(size_t i = 0; i < psserver->GetCacheManager()->GetSkillAmount(); i++) { psSkillInfo * skill = psserver->GetCacheManager()->GetSkillByID(i); if (skill == NULL) continue; @@ -9264,7 +9264,7 @@ } bool modified = false; - for (int i=0; i < psserver->GetCacheManager()->GetSkillAmount(); i++) + for (size_t i = 0; i < psserver->GetCacheManager()->GetSkillAmount(); i++) { psSkillInfo * skill = psserver->GetCacheManager()->GetSkillByID(i); if (skill == NULL) continue; @@ -10213,7 +10213,7 @@ AdminCmdDataQuest *data = dynamic_cast<AdminCmdDataQuest*>(cmddata); Client *subject = data->targetClient; - Client *target; //holds the target of our query + Client *target = NULL; //holds the target of our query PID pid; //used to keep player pid used *only* in offline queries csString name; //stores the char name if(!data->IsOnline()) //the target was empty check if it was because it's a command targetting the issuer or an offline player This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2011-02-17 18:07:54
|
Revision: 6965 http://planeshift.svn.sourceforge.net/planeshift/?rev=6965&view=rev Author: weltall2 Date: 2011-02-17 18:07:48 +0000 (Thu, 17 Feb 2011) Log Message: ----------- fixed ban of offline entities Modified Paths: -------------- trunk/src/server/adminmanager.cpp Modified: trunk/src/server/adminmanager.cpp =================================================================== --- trunk/src/server/adminmanager.cpp 2011-02-16 16:14:04 UTC (rev 6964) +++ trunk/src/server/adminmanager.cpp 2011-02-17 18:07:48 UTC (rev 6965) @@ -8247,7 +8247,7 @@ return; } - if(data->targetClient->GetClientNum() == client->GetClientNum()) + if(data->targetClient && data->targetClient->GetClientNum() == client->GetClientNum()) { psserver->SendSystemError(me->clientnum, "You can't ban yourself!"); return; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2011-05-01 16:23:06
|
Revision: 7201 http://planeshift.svn.sourceforge.net/planeshift/?rev=7201&view=rev Author: magodra Date: 2011-05-01 16:23:00 +0000 (Sun, 01 May 2011) Log Message: ----------- - Include the AdminCmdDataLocatoin factory. Modified Paths: -------------- trunk/src/server/adminmanager.cpp Modified: trunk/src/server/adminmanager.cpp =================================================================== --- trunk/src/server/adminmanager.cpp 2011-04-30 22:21:59 UTC (rev 7200) +++ trunk/src/server/adminmanager.cpp 2011-05-01 16:23:00 UTC (rev 7201) @@ -3730,6 +3730,7 @@ RegisterMsgFactoryFunction(new AdminCmdDataSetLabelColor()); RegisterMsgFactoryFunction(new AdminCmdDataAction()); RegisterMsgFactoryFunction(new AdminCmdDataPath()); + RegisterMsgFactoryFunction(new AdminCmdDataLocation()); RegisterMsgFactoryFunction(new AdminCmdDataGameMasterEvent()); RegisterMsgFactoryFunction(new AdminCmdDataBadText()); RegisterMsgFactoryFunction(new AdminCmdDataQuest()); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2011-05-04 19:58:59
|
Revision: 7211 http://planeshift.svn.sourceforge.net/planeshift/?rev=7211&view=rev Author: magodra Date: 2011-05-04 19:58:53 +0000 (Wed, 04 May 2011) Log Message: ----------- - Fixed command line help for /event and /location. Modified Paths: -------------- trunk/src/server/adminmanager.cpp Modified: trunk/src/server/adminmanager.cpp =================================================================== --- trunk/src/server/adminmanager.cpp 2011-05-04 18:36:16 UTC (rev 7210) +++ trunk/src/server/adminmanager.cpp 2011-05-04 19:58:53 UTC (rev 7211) @@ -2750,7 +2750,7 @@ // when help is requested, return immediate if (IsHelp(words[1])) { - subCmd = words[2]; // Next workd might be a sub Cmd. + subCmd = words[2]; // Next word might be a sub Cmd. return; } @@ -2908,11 +2908,17 @@ AdminCmdDataLocation::AdminCmdDataLocation(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client *client, WordArray &words) : AdminCmdData("/location"), subCommandList("help adjust display hide") { + + subCommandList.Push("help","[sub command]"); + subCommandList.Push("add","<type> <name>"); + // when help is requested, return immediate if (IsHelp(words[1])) + { + subCommand = words[2]; // Next word might be a sub Cmd. return; + } - subCommandList.Push("add","<type> <name>"); size_t index = 1; // first word must be a sub command @@ -2961,10 +2967,6 @@ AdminCmdDataGameMasterEvent::AdminCmdDataGameMasterEvent(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client *client, WordArray &words) : AdminCmdData("/event"), subCommandList("help list"), subCmd(), player(ADMINCMD_TARGET_TARGET | ADMINCMD_TARGET_PLAYER | ADMINCMD_TARGET_CLIENTTARGET) { - // when help is requested, return immediate - if (IsHelp(words[1])) - return; - // register subcommands along with their help message subCommandList.Push("create","<name> <description>"); subCommandList.Push("reward",(csString)"{REWARD}" + "\n" + rewardList.GetHelpMessage()); @@ -2973,6 +2975,14 @@ subCommandList.Push("register","[range <range> | <player>]"); subCommandList.Push("control","<name>"); subCommandList.Push("discard","<name>"); + + // when help is requested, return immediate + if (IsHelp(words[1])) + { + subCmd = words[2]; // Next word might be a sub Cmd. + return; + } + size_t index = 1; // test if the first word is a subcommand This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2011-05-24 17:01:38
|
Revision: 7310 http://planeshift.svn.sourceforge.net/planeshift/?rev=7310&view=rev Author: magodra Date: 2011-05-24 17:01:31 +0000 (Tue, 24 May 2011) Log Message: ----------- - Removed unused var. Modified Paths: -------------- trunk/src/server/adminmanager.cpp Modified: trunk/src/server/adminmanager.cpp =================================================================== --- trunk/src/server/adminmanager.cpp 2011-05-24 04:38:13 UTC (rev 7309) +++ trunk/src/server/adminmanager.cpp 2011-05-24 17:01:31 UTC (rev 7310) @@ -6518,7 +6518,6 @@ csVector3 myPos; float myRotY,distance=10000.0; iSector* mySector = 0; - int loc_id = -1; client->GetActor()->GetPosition(myPos, myRotY, mySector); csString sectorName = mySector->QueryObject()->GetName(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2011-06-27 19:12:48
|
Revision: 7462 http://planeshift.svn.sourceforge.net/planeshift/?rev=7462&view=rev Author: weltall2 Date: 2011-06-27 19:12:42 +0000 (Mon, 27 Jun 2011) Log Message: ----------- restored some code Modified Paths: -------------- trunk/src/server/adminmanager.cpp Modified: trunk/src/server/adminmanager.cpp =================================================================== --- trunk/src/server/adminmanager.cpp 2011-06-27 19:12:04 UTC (rev 7461) +++ trunk/src/server/adminmanager.cpp 2011-06-27 19:12:42 UTC (rev 7462) @@ -8909,7 +8909,7 @@ { unsigned id = result[i].GetUInt32(0); psItemStats* item = psserver->GetCacheManager()->GetBasicItemStatsByID(id); - if(item && !item->IsMoney() /*&& item->IsSpawnable()*/) + if(item && !item->IsMoney() && item->IsSpawnable()) { csString name(item->GetName()); csString mesh(item->GetMeshName()); @@ -8996,8 +8996,8 @@ if(!stats->IsSpawnable()) { - //psserver->SendSystemError(me->clientnum, "This item cannot be spawned!"); - //return; + psserver->SendSystemError(me->clientnum, "This item cannot be spawned!"); + return; } psItem* item = stats->InstantiateBasicItem(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2011-07-12 05:27:47
|
Revision: 7512 http://planeshift.svn.sourceforge.net/planeshift/?rev=7512&view=rev Author: weltall2 Date: 2011-07-12 05:27:41 +0000 (Tue, 12 Jul 2011) Log Message: ----------- fixed possible null pointer deference Modified Paths: -------------- trunk/src/server/adminmanager.cpp Modified: trunk/src/server/adminmanager.cpp =================================================================== --- trunk/src/server/adminmanager.cpp 2011-07-12 05:26:55 UTC (rev 7511) +++ trunk/src/server/adminmanager.cpp 2011-07-12 05:27:41 UTC (rev 7512) @@ -9867,7 +9867,7 @@ while(mIter.HasNext()) { psGuildMember* member = mIter.Next(); - if(member->character) + if(member->character && member->character->GetActor()) { array.Push(member->character->GetActor()->GetEID()); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2011-07-15 13:43:32
|
Revision: 7516 http://planeshift.svn.sourceforge.net/planeshift/?rev=7516&view=rev Author: weltall2 Date: 2011-07-15 13:43:26 +0000 (Fri, 15 Jul 2011) Log Message: ----------- added support to send an animation Modified Paths: -------------- trunk/src/server/adminmanager.cpp Modified: trunk/src/server/adminmanager.cpp =================================================================== --- trunk/src/server/adminmanager.cpp 2011-07-15 01:56:48 UTC (rev 7515) +++ trunk/src/server/adminmanager.cpp 2011-07-15 13:43:26 UTC (rev 7516) @@ -1921,7 +1921,7 @@ { commandMod = words[index]; commandMod.Downcase(); - if ( commandMod == "say" || commandMod == "shout" || commandMod == "worldshout") + if ( commandMod == "say" || commandMod == "shout" || commandMod == "worldshout" || commandMod == "anim" ) { // command mode (if supplied) index++; } @@ -1941,7 +1941,7 @@ csString AdminCmdDataImpersonate::GetHelpMessage() { - return "Syntax: \"" + command + " [" + GetHelpMessagePartForTarget() + "] [say|shout|worldshout] <text>\"\n" + return "Syntax: \"" + command + " [" + GetHelpMessagePartForTarget() + "] [say|shout|worldshout|anim] <text/anim name>\"\n" "If name is \"text\" the given text is used as it is."; } @@ -7652,10 +7652,25 @@ AdminCmdDataImpersonate* data = dynamic_cast<AdminCmdDataImpersonate*>(cmddata); if (data->text.IsEmpty()) { - psserver->SendSystemError(me->clientnum, "Missing text"); + psserver->SendSystemError(me->clientnum, "Missing text or anim name"); return; } + + //send an animation + if(data->commandMod == "anim") + { + gemActor* target = dynamic_cast<gemActor*>(client->GetTargetObject()); + csTicks delay = 0; + if(!target) + { + psserver->SendSystemError(me->clientnum, "You can execute animations only on actors"); + return; + } + target->SetAction(data->text, delay); + return; + } + csString sendText; // We need specialised say/shout as it is a special GM chat message if (data->target == "text") This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |