]> jfr.im git - irc/gameservirc.git/blobdiff - gameserv/tcpclient.cpp
This is a major bugfix for several mistakes made in coding that were
[irc/gameservirc.git] / gameserv / tcpclient.cpp
index fad1b2abb8e891d8ef9ca169fcb751d1e8ea9e5f..4e939d569017f8fbe4153dfb50e9e0e617817f32 100644 (file)
@@ -35,7 +35,7 @@ using std::cerr;
 using std::endl;
 
 char *PACKAGE = "GameServ";
 using std::endl;
 
 char *PACKAGE = "GameServ";
-char *VERSION = "1.2.3 +devel";
+char *VERSION = "1.2.4 +devel";
 
 int sock;
 long lastrefresh;
 
 int sock;
 long lastrefresh;
@@ -103,12 +103,26 @@ int main(int argc, char *argv[])
         exit(3);
     }
 
         exit(3);
     }
 
-  init_masters();
   load_gs_dbase();
   loadNews(newsdata, todaysnews);
 
   load_gs_dbase();
   loadNews(newsdata, todaysnews);
 
+  if (load_masters() == false)
+  {
+       log("Error loading masters");
+       goto end;
+  }
+
   if (load_monsters() == false)
   if (load_monsters() == false)
+  {
+       log("Error loading monsters");
+       goto end;
+  }
+
+  if (load_levels() == false)
+  {
+       log("Error loading levels");
        goto end;
        goto end;
+  }
 
     shuttingdown = false;
 
 
     shuttingdown = false;
 
@@ -122,16 +136,16 @@ int main(int argc, char *argv[])
        currentserver = strtok(NULL, " ");
     }
 
        currentserver = strtok(NULL, " ");
     }
 
-  strcpy(boss.name, "Red Dragon");
-  strcpy(boss.weapon, "Breath of Unholy Fire");
+  boss.name = "Red Dragon";
+  boss.weapon = "Breath of Unholy Fire";
   boss.strength = 2500;
   boss.gold = 2000000000;
   boss.exp = 2000000000;
   boss.maxhp = 6667;
   boss.hp = 6667;
   boss.strength = 2500;
   boss.gold = 2000000000;
   boss.exp = 2000000000;
   boss.maxhp = 6667;
   boss.hp = 6667;
-  strcpy(boss.death, "You finally snuff out the deadly murderous "\
+  boss.death = "You finally snuff out the deadly murderous "\
     "dragon's dark flames. You have freed the land of its terror "\
     "dragon's dark flames. You have freed the land of its terror "\
-    "filled reign from above!");
+    "filled reign from above!";
 
 
  // This loop will retry the connection 3 times
 
 
  // This loop will retry the connection 3 times
@@ -274,7 +288,7 @@ int main(int argc, char *argv[])
            lastrefresh = currentTime;
            save_lastrefresh();
            notice(s_GameServ, c_Forest, "Refreshing all players "\
            lastrefresh = currentTime;
            save_lastrefresh();
            notice(s_GameServ, c_Forest, "Refreshing all players "\
-                       "and resetting news! %ld", refreshperiod);
+                       "and resetting news!");
        }
 
        // Save the player data every updateperiod seconds
        }
 
        // Save the player data every updateperiod seconds
@@ -286,8 +300,11 @@ int main(int argc, char *argv[])
 
            save_gs_dbase();
            saveNews(newsdata, todaysnews);
 
            save_gs_dbase();
            saveNews(newsdata, todaysnews);
-           // Send notice to the channel of the update
-           notice(s_GameServ, c_Forest, "%S player data saved");
+           if (isSavedNotice())
+           {
+               // Send notice to the channel of the update
+               notice(s_GameServ, c_Forest, "%S player data saved");
+           }
        }
 
 
        }
 
 
@@ -523,7 +540,7 @@ int main(int argc, char *argv[])
            {
                #ifdef DEBUGMODE
                    log("Player %s (IRC: %s) joined %s", 
            {
                #ifdef DEBUGMODE
                    log("Player %s (IRC: %s) joined %s", 
-                       joiner->stats->name, 
+                       joiner->stats->name.c_str()
                        #ifdef P10
                            joiner->getRealNick(),
                        #else
                        #ifdef P10
                            joiner->getRealNick(),
                        #else
@@ -577,7 +594,6 @@ int main(int argc, char *argv[])
   saveNews(newsdata, todaysnews);
 
   delete_monsters();
   saveNews(newsdata, todaysnews);
 
   delete_monsters();
-  delete_masters();
 
   #ifdef DEBUGMODE
       log("<CLOSED>");
 
   #ifdef DEBUGMODE
       log("<CLOSED>");
@@ -666,7 +682,7 @@ aClient *findIRCplayer(const char *nick)
     if (!is_playing(p))
        return NULL;
 
     if (!is_playing(p))
        return NULL;
 
-    unsigned long hv = iHASH((unsigned char *) p->stats->name);
+    unsigned long hv = iHASH((unsigned char *) p->stats->name.c_str());
 
     for (newPtr = players[hv].First(); newPtr; newPtr = newPtr->Next())
     {
 
     for (newPtr = players[hv].First(); newPtr; newPtr = newPtr->Next())
     {
@@ -690,7 +706,7 @@ aClient *findplayer(const char *name)
     for (newPtr = players[hv].First(); newPtr; newPtr = newPtr->Next())
     {
        p = newPtr->getData()->stats;
     for (newPtr = players[hv].First(); newPtr; newPtr = newPtr->Next())
     {
        p = newPtr->getData()->stats;
-       if (stricmp(p->name, name) == 0)
+       if (stricmp(p->name.c_str(), name) == 0)
            return newPtr->getData();
        p = NULL;
     }
            return newPtr->getData();
        p = NULL;
     }