Player *p;
char *buf;
buf = new char[50];
- char *space;
+ string space;
if (!(p = findplayer(nick)))
sprintf(buf, "Experience: %ld", p->getExp());
space = spaces(strlen(buf), " ");
- notice(s_GameServ, sender->getNick(), "%s%sLevel: %d", buf, space,
+ notice(s_GameServ, sender->getNick(), "%s%sLevel: %d", buf, space.c_str(),
p->getLevel());
- delete [] space;
+
sprintf(buf, "Gold: %ld", p->getGold());
space = spaces(strlen(buf), " ");
- notice(s_GameServ, sender->getNick(), "%s%sGold in Bank: %ld", buf, space, p->getBank());
- delete [] space;
+ notice(s_GameServ, sender->getNick(), "%s%sGold in Bank: %ld", buf, space.c_str(), p->getBank());
+
notice(s_GameServ, sender->getNick(), "Hit Points: %d of %d", p->getHP(),
p->getMaxHP());
sprintf(buf, "Strength: %d", p->getStrength());
space = spaces(strlen(buf), " ");
notice(s_GameServ, sender->getNick(), "%s%sDefense: %d",
- buf, space, p->getDefense());
- delete [] space;
+ buf, space.c_str(), p->getDefense());
+
sprintf(buf, "Armor: %s", (p->getArmor() ? p->getArmor()->getName().c_str() : "Nothing"));
space = spaces(strlen(buf), " ");
- notice(s_GameServ, sender->getNick(), "%s%sWeapon: %s", buf, space,
+ notice(s_GameServ, sender->getNick(), "%s%sWeapon: %s", buf, space.c_str(),
(p->getWeapon() ? p->getWeapon()->getName().c_str() : "Fists"));
- delete [] space;
+
sprintf(buf, "Forest Fights: %d", p->getForestFights());
space = spaces(strlen(buf), " ");
- notice(s_GameServ, sender->getNick(), "%s%sPlayer Fights: %d", buf, space, p->getPlayerFights());
- delete [] space;
+ notice(s_GameServ, sender->getNick(), "%s%sPlayer Fights: %d", buf, space.c_str(), p->getPlayerFights());
+
if (p->getClient() == sender || isAdmin(sender))
{
showinventory(p, sender);
notice(s_GameServ, u, "Account Balance: %ld Gold On hand: %ld", p->getBank(), p->getGold());
}
-void display_help(char *u, char *file)
+void display_help(const string &u, const string &file)
{
ifstream infile;
char *buf;
- if (!file)
+ if (file.empty())
{
infile.open("helpfiles/help");
if (infile.fail())
{
log("Error opening helpfiles/help");
- notice(s_GameServ, u, "Error opening helpfiles/help");
+ notice(s_GameServ, u.c_str(), "Error opening helpfiles/help");
return;
}
buf = new char[1024];
{
// Written this way, it will process <S in the helpfiles
// Instead of notice(s_GameServ, u, "%s", buf);
- notice(s_GameServ, u, buf);
+ notice(s_GameServ, u.c_str(), buf);
}
// Minor recursion - as long as admin_commands exists, it won't loop
// continuously
- aClient *user = find(u);
+ aClient *user = find(u.c_str());
if (user && isAdmin(user))
- display_help(u, "admin_commands");
+ display_help(u.c_str(), "admin_commands");
}
else
{
- char *filename;
- filename = new char[strlen(file) + 11];
- strcpy(filename, "helpfiles/");
- strcat(filename, file);
+ string filename;
+ filename = "helpfiles/";
+ filename += file;
- for (unsigned int x = 10; x < strlen(filename); x++)
+ for (unsigned int x = 10; x < filename.length(); x++)
filename[x] = tolower(filename[x]);
- infile.open(filename);
- delete [] filename;
+ infile.open(filename.c_str());
if (infile.fail())
{
- notice(s_GameServ, u, "No help for \ 2%s\ 2", file);
+ notice(s_GameServ, u.c_str(), "No help for \ 2%s\ 2", file.c_str());
return;
}
buf = new char[1024];
{
// Written this way, it will process <S in the helpfiles
// Instead of notice(s_GameServ, u, "%s", buf);
- notice(s_GameServ, u, buf);
+ notice(s_GameServ, u.c_str(), buf);
}
}
infile.close();
using namespace std;
-char *PACKAGE = "GameServ";
-char *VERSION = "1.3.4 +devel";
+const string PACKAGE = "GameServ";
+const string VERSION = "1.3.4 +devel";
int sock;
long lastrefresh;
perror("Could not turn into a daemon");
exit(3);
}
+
if (load_items() == 0)
{
log("Error loading items");
raw("PASS :%s", remotepass);
raw("SERVER %s 1 :%s", servername, servername);
raw("NICK <S 1 %d %s %s %s %d :%s v%s", time(NULL), gsident, gshost,
- servername, time(NULL), PACKAGE, VERSION);
+ servername, time(NULL), PACKAGE.c_str(), VERSION.c_str());
raw(":<S JOIN %s", c_Forest);
raw(":<S MODE %s +tn", c_Forest);
#elif defined(BAHAMUT)
char *server;
server = strtok(NULL, " ");
server++;
- raw(":%s 351 %s %s_%s. %s", servername, source+1, PACKAGE, VERSION, servername);
+ raw(":%s 351 %s %s_%s. %s", servername, source+1, PACKAGE.c_str(), VERSION.c_str(), servername);
}
// Code indenting is clean up until here!
#if !defined(P10)