AutoHotkey Community

It is currently May 27th, 2012, 9:53 am

All times are UTC [ DST ]




Post new topic Reply to topic  [ 28 posts ]  Go to page 1, 2  Next
Author Message
PostPosted: November 3rd, 2006, 10:22 pm 
Offline

Joined: January 29th, 2005, 3:56 am
Posts: 13
I saw i3egohan's Chat script and thought I'd do it a little different. Mine relies upon a php script tied to a MySQL database and an AHK script. Give it a shot if you like. The script is made to tie into my server, but if you want I can include the database setup and the php script.

Enjoy!

Jon2s

AHK Script
Code:
#Persistent
start:
Gui, Add, Edit, x76 y10 w100 h20 vusername ,
Gui, Add, Text, x6 y10 w70 h20 , User Name:
Gui, Add, Button, x43 y40 w100 h30 glogin +default, Login
Gui, Show, h83 w188, Login
Return

login:
gui submit
gui destroy
URLDownloadToFile, http://jon2s.com/ahkchat/chat.php?event=login&loggedusername=%username%, %A_Temp%\login.txt
FileReadLine, loginresult, %A_Temp%\login.txt, 1
if loginresult = success
{
  URLDownloadToFile, http://jon2s.com/ahkchat/chat.php?event=userlist, %A_Temp%\userlist.txt
  URLDownloadToFile, http://jon2s.com/ahkchat/chat.php?event=chat&loggedusername=%username%, %A_Temp%\chat.txt
  FileReadLine, userlist, %A_Temp%\userlist.txt, 1
  StringReplace, userlist, userlist, &(), `n, 1
  FileReadLine, chat, %A_Temp%\chat.txt, 1
  StringReplace, chat, chat, &(), `n, 1
  SetTimer, updatechat, 5000
  goto displaychat
}
if loginresult <> success
{
  msgbox,,Warning, There was a problem logging in.  Please try again.
  goto start
}

displaychat:
Gui, Add, Edit, x6 y310 w350 h20 vsendtext,
Gui, Add, Button, x366 y310 w100 h20 gsend +default, Send
Gui, Add, Edit, x6 y10 w350 h290 +readonly vchat,
Gui, Add, Edit, x366 y10 w100 h290 +readonly vuserlist, %userlist%
Gui, Show, h342 w477, AHK Chat
Return

send:
gui submit, nohide
SetTimer, updatechat, off
URLDownloadToFile, http://jon2s.com/ahkchat/chat.php?event=sendtext&loggedusername=%username%&msg=%sendtext%, %A_Temp%\sendtxt.txt
gosub, updatechat
guicontrol,, sendtext,
SetTimer, updatechat, on
return

updatechat:
URLDownloadToFile, http://jon2s.com/ahkchat/chat.php?event=chat&loggedusername=%username%, %A_Temp%\chat.txt
FileReadLine, chatnew, %A_Temp%\chat.txt, 1
if chatnew <> ''
{
  chat = %chatnew% %chat%
}
StringReplace, chat, chat, &(), `n, 1
guiControl,, chat, %chat%
chatnew =
URLDownloadToFile, http://jon2s.com/ahkchat/chat.php?event=userlist, %A_Temp%\userlist.txt
FileReadLine, userlist, %A_Temp%\userlist.txt, 1
StringReplace, userlist, userlist, &(), `n, 1
guicontrol,, userlist, %userlist%
return

GuiClose:
URLDownloadToFile, http://jon2s.com/ahkchat/chat.php?event=logout&loggedusername=%username%, %A_Temp%\logout.txt
FileDelete, %A_Temp%\logout.txt
FileDelete, %A_Temp%\userlist.txt
FileDelete, %A_Temp%\chat.txt
FileDelete, %A_Temp%\login.txt
FileDelete, %A_Temp%\send.txt
ExitApp


Last edited by jon2s on November 3rd, 2006, 11:33 pm, edited 1 time in total.

Report this post
Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: November 3rd, 2006, 11:28 pm 
Offline

Joined: May 2nd, 2006, 11:16 pm
Posts: 800
Location: Greeley, CO
jon2s wrote:
...if you want I can include the database setup and the php script.

Well, of course we do.

_________________
Image
SoggyDog
Dwarf Fortress:
"The most intriguing game I've ever played."


Report this post
Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: November 3rd, 2006, 11:40 pm 
Offline

Joined: January 29th, 2005, 3:56 am
Posts: 13
Here are the 2 tables and the php script for the AHK Chat.

MySQL Table ahkchat
Code:
CREATE TABLE `ahkchatchat` (
  `msgid` int(11) NOT NULL auto_increment,
  `username` varchar(50) NOT NULL default '',
  `date` timestamp NOT NULL default CURRENT_TIMESTAMP,
  `msg` text NOT NULL,
  PRIMARY KEY  (`msgid`)
) ENGINE=MyISAM AUTO_INCREMENT=72 DEFAULT CHARSET=latin1 AUTO_INCREMENT=72 ;


MySQL Table
Code:
CREATE TABLE `ahkchatusers` (
  `userid` int(11) NOT NULL auto_increment,
  `username` varchar(50) NOT NULL default '',
  `loggedin` char(3) NOT NULL default '',
  `ip` varchar(50) NOT NULL default '',
  `lastmsg` int(11) NOT NULL default '0',
  PRIMARY KEY  (`userid`)
) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=latin1 AUTO_INCREMENT=8 ;


PHP Script
Code:
<?php
$event = $_GET['event'];
$msg = $_GET['msg'];
$username = $_GET['loggedusername'];
$loggedusername = $_GET['loggedusername'];
mysql_pconnect("localhost", "***USERNAME***", "***PASSWORD***") or
die("Could not connect: " . mysql_error());
mysql_select_db("***DATABASE***");

if ($event == 'chat') {
  $sql_events = mysql_query("SELECT * FROM ahkchatusers where username='$loggedusername' and loggedin='yes'") or die (mysql_error());
  while ($row = mysql_fetch_array($sql_events)) {
    $lastmsg = $row["lastmsg"];
  }
  $sql_events2 = mysql_query("SELECT * FROM ahkchatchat where msgid>$lastmsg order by msgid desc") or die (mysql_error());
  while ($row = mysql_fetch_array($sql_events2)) {
    $username = $row["username"];
    $date = $row["date"];
    $msg = $row["msg"];
    $msgid = $row["msgid"];
    echo $username;
    echo ' ';
    $hour = date("g:i a", strtotime($date));
    echo $hour;
    echo ' - ';
    echo $msg;
    echo ' &()';
  }
  if ($msgid != '') {
    $query = "UPDATE ahkchatusers SET lastmsg='$msgid' where username='$loggedusername' and loggedin='yes'";
    mysql_query($query) or die("Could not connect: " . mysql_error());
  }
}

if ($event == 'login') {
  $sql_events3 = mysql_query("SELECT * FROM ahkchatusers where username='$username' limit 1") or die (mysql_error());
  while ($row = mysql_fetch_array($sql_events3)) {
    $loggedin = $row["loggedin"];
  }
  if ($loggedin == 'yes') {
  echo "failure";
  }
  if ($loggedin == 'no') {
  $ip = GetHostByName($REMOTE_ADDR);
  $query2 = "UPDATE ahkchatusers SET loggedin='yes', ip='$ip' where username='$username'";
  mysql_query($query2) or die("Could not connect: " . mysql_error());
  echo "success";
  }
  if ($loggedin == '') {
  $ip = GetHostByName($REMOTE_ADDR);
  $query3 = "INSERT INTO ahkchatusers (username, loggedin, ip) VALUES ('$username', 'yes', '$ip')";
  mysql_query($query3) or die('Error, insert query failed');
  echo "success";
  }
  $result = mysql_query("SELECT * FROM ahkchatchat") or die (mysql_error());
  $num_rows = mysql_num_rows($result);
  $query4 = "UPDATE ahkchatusers SET lastmsg='$num_rows'";
  mysql_query($query4) or die("Could not connect: " . mysql_error());
}

if ($event == 'logout') {
  $query5 = "UPDATE ahkchatusers SET loggedin='no' where username='$username'";
  mysql_query($query5) or die("Could not connect: " . mysql_error());
}

if ($event == 'sendtext') {
  $query6 = "INSERT INTO ahkchatchat (username, msg) VALUES ('$username', '$msg')";
  mysql_query($query6) or die('Error, insert query failed');
}

if ($event == 'userlist') {
  $sql_events4 = mysql_query("SELECT * FROM ahkchatusers where loggedin='yes'") or die (mysql_error());
  while ($row = mysql_fetch_array($sql_events4)) {
    $username = $row["username"];
    echo $username;
    echo ' &()';
  }
}
mysql_close();
?>


Report this post
Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: November 3rd, 2006, 11:54 pm 
Offline

Joined: May 2nd, 2006, 11:16 pm
Posts: 800
Location: Greeley, CO
Groovy. Thanks.

_________________
Image
SoggyDog
Dwarf Fortress:
"The most intriguing game I've ever played."


Report this post
Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: November 4th, 2006, 2:10 pm 
Offline

Joined: July 18th, 2006, 12:18 pm
Posts: 403
Very impressive and a good example how to implement php with ahk.

I3egohan


You got MSN?


Report this post
Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: November 11th, 2006, 7:25 am 
dude it wont log in it keeps saying error loging in all the time... the first time it idled for 3 mins then after that it imediatly goes to the error box


Report this post
Top
  
Reply with quote  
 Post subject:
PostPosted: November 13th, 2006, 6:42 pm 
Offline

Joined: September 12th, 2005, 2:12 am
Posts: 190
Hi. This script has been extremely helpful. Thank you so much for posting it! :D

I'm currently integrating it as a chat window in a multicast streaming media client I'm working on. Here are some of the improvements I've made:

    Fixed login bug
    Fixed error where client would not close connection with database
    Added more informative error dialogues
    Increment identical usernames by adding a number to them
    User SERVER_MSG added for broadcasting special output
    Automatically drop users who have timed out
    Quit message on client exit


There is so much that can be done with this. I've only just started. :)

I'm very new to php and working with mysql databases and would appreciate it if someone more experienced could offer some suggestions for optimizing the number of queries made by this script. I'm also interested in learning how to queue mysql queries to prevent congestion errors.

Here is my updated code:


ahkusers mysql table
Code:
CREATE TABLE `ahkchatusers` (
  `userid` int(11) NOT NULL auto_increment,
  `username` varchar(50) NOT NULL default '',
  `loggedin` char(3) NOT NULL default '',
  `ip` varchar(50) NOT NULL default '',
  `lastping` timestamp NOT NULL default CURRENT_TIMESTAMP,
  `lastmsg` int(11) NOT NULL default '0',
  PRIMARY KEY  (`userid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;


chat.php
Code:
<?php
/* Warning codes,  put to errorlog
W001: Username already in use


*/


$event = $_GET['event'];
$msg = $_GET['msg'];
$username = $_GET['loggedusername'];
$loggedusername = $_GET['loggedusername'];

if ($db = mysql_connect('**server**', '**username**', '**password**')) {
   mysql_select_db('**database**', $db);
   //echo 'Connected to the database.';
} else {
   die('Could not connect: ' . mysql_error());
}
 

if ($event == 'chat') {
  $sql_events = mysql_query("SELECT * FROM ahkchatusers where username='$loggedusername' and loggedin='yes'") or die (mysql_error());
  while ($row = mysql_fetch_array($sql_events)) {
    $lastmsg = $row["lastmsg"];
  }
  $sql_events2 = mysql_query("SELECT * FROM ahkchatchat where msgid>$lastmsg order by msgid desc") or die (mysql_error());
  while ($row = mysql_fetch_array($sql_events2)) {
    $username = $row["username"];
    $date = $row["date"];
    $msg = $row["msg"];
    $msgid = $row["msgid"];
   $hour = date("g:i a", strtotime($date));
   if ($username <> "SERVER_MSG") {
      echo '[' . $hour . ']« ' . $username . ' » ' . $msg . '&()';
   }
   else {
      echo '[' . $hour . '] ' . $msg . '&()';
   }

  }
  if ($msgid != '') {
    $query = "UPDATE ahkchatusers SET lastmsg='$msgid' where username='$loggedusername' and loggedin='yes'";
    mysql_query($query) or die("Could not connect: " . mysql_error());
  }
}

if ($event == 'login') {
  $sql_events3 = mysql_query("SELECT * FROM ahkchatusers where username='$username' limit 1") or die (mysql_error());
  while ($row = mysql_fetch_array($sql_events3)) {
    $loggedin = $row["loggedin"];
  }
  if ($loggedin == 'yes') {
  echo "Warning: W001";
  }
  if ($loggedin == 'no') {
  $ip = GetHostByName($REMOTE_ADDR);
  $query2 = "UPDATE ahkchatusers SET loggedin='yes', ip='$ip' where username='$username'";
  mysql_query($query2) or die("Could not connect: " . mysql_error());
  echo "success";
  }
  if ($loggedin == '') {
  $ip = GetHostByName($REMOTE_ADDR);
  $query3 = "INSERT INTO ahkchatusers (username, loggedin, ip) VALUES ('$username', 'yes', '$ip')";
  mysql_query($query3) or die('Error, insert query failed');
  echo "success";
  }
  $result = mysql_query("SELECT * FROM ahkchatchat") or die (mysql_error());
  $num_rows = mysql_num_rows($result);
  $query4 = "UPDATE ahkchatusers SET lastmsg='$num_rows'";
  mysql_query($query4) or die("Could not connect: " . mysql_error());
}

if ($event == 'logout') {
  $query5 = "UPDATE ahkchatusers SET loggedin='no' where username='$username'";
  mysql_query($query5) or die("Could not connect: " . mysql_error());
}

if ($event == 'sendtext') {
  $query6 = "INSERT INTO ahkchatchat (username, msg) VALUES ('$username', '$msg')";
  mysql_query($query6) or die('Error, insert query failed');
}

if ($event == 'userlist') {
  $sql_events4 = mysql_query("SELECT * FROM ahkchatusers where loggedin='yes'") or die (mysql_error());
  while ($row = mysql_fetch_array($sql_events4)) {
    $username = $row["username"];
    echo $username;
    echo ' &()';
  }
}

if ($event == 'ping') {
  mysql_query("UPDATE ahkchatusers SET lastping=CURRENT_TIMESTAMP WHERE username='$username'") or die('Error, insert query failed');
}

if ($event == 'whoisactive') {
   $query_myping = mysql_query("SELECT * FROM ahkchatusers where username='$username' limit 1") or die (mysql_error());
   while ($row = mysql_fetch_array($query_myping)) {
   $myping = $row["lastping"];
   }
   $query_username = mysql_query("SELECT * FROM ahkchatusers where loggedin='yes'") or die (mysql_error());
   while ($row = mysql_fetch_array($query_username)) {
      $username = $row["username"];

      $query_userping = mysql_query("SELECT * FROM ahkchatusers where username='$username' limit 1") or die (mysql_error());
      while ($row = mysql_fetch_array($query_userping)) {
         $theirping = $row["lastping"];
      }

      $mytime=strtotime($myping);
      $theirtime=strtotime($theirping);
      $diff = $mytime-$theirtime;
      
      if ($diff >= 30) {
         mysql_query("UPDATE ahkchatusers SET loggedin='no' where username='$username'") or die('Error, insert query failed');
         mysql_query("INSERT INTO ahkchatchat (username, msg) VALUES ('SERVER_MSG', 'Quits: $username (Connection timed out)')") or die('Error, insert query failed');
      }
   }
}


//username ='$username'
//$query5 = "UPDATE ahkchatusers SET loggedin='no' where username='$username'";
//UPDATE ahkchatusers SET lastping = CURRENT_TIMESTAMP WHERE userid =2 LIMIT 1 ;


//2006-11-12 20:21:11

mysql_close($db);
?>


ahk script
Code:
#Persistent
#SingleInstance off
start:
Gui, Add, Edit, x76 y10 w100 h20 vusername ,
Gui, Add, Text, x6 y10 w70 h20 , User Name:
Gui, Add, Button, x43 y40 w100 h30 glogin +default, Login
Gui, Show, h83 w188, Login
Return

login:
gui submit
gui destroy
URLDownloadToFile, http://localhost/ahkchat/chat.php?event=login&loggedusername=%username%, %A_Temp%\login.txt
FileReadLine, loginresult, %A_Temp%\login.txt, 1
loginresult = %loginresult%

;Check for warnings
IfInString, loginresult, Warning: W001
{
  uNum = 1
  loop
  {   
   username = %username%%uNum%
   URLDownloadToFile, http://localhost/ahkchat/chat.php?event=login&loggedusername=%username%, %A_Temp%\login.txt
   FileReadLine, loginresult, %A_Temp%\login.txt, 1
   loginresult = %loginresult%

   IfNotInString, loginresult, Warning: W001
   {
     break
   }
   StringTrimRight username,username,1
   uNum := uNum + 1
  }
}
 
if loginresult <> success
{
  FileRead, loginresult, %A_Temp%\login.txt
  ;Check for errors
  IfInString, loginresult, Could not connect
  {
     msgbox Could not connect to server.
     goto start
  }

  IfInString, loginresult, Too many connections
  {
     msgbox Login failed: Too many connections
     goto start
  }
  msgbox,,Warning, There was a problem logging in.  Please try again.
  goto start
}

if loginresult = success
{
  URLDownloadToFile, http://localhost/ahkchat/chat.php?event=userlist, %A_Temp%\userlist.txt
  URLDownloadToFile, http://localhost/ahkchat/chat.php?event=chat&loggedusername=%username%, %A_Temp%\chat.txt
  FileReadLine, userlist, %A_Temp%\userlist.txt, 1
  StringReplace, userlist, userlist, &(), `n, 1
  FileReadLine, chat, %A_Temp%\chat.txt, 1
  StringReplace, chat, chat, &(), `n, 1
  SetTimer, updatechat, 5000
  SetTimer, whoisactive, 30000
  goto displaychat
}


displaychat:
Gui, Add, Edit, x6 y310 w350 h20 vsendtext,
Gui, Add, Button, x366 y310 w100 h20 gsend +default, Send
Gui, font,, Arial
Gui, Add, Edit, x6 y10 w350 h290 +readonly vchat,
Gui, Add, Edit, x366 y10 w100 h290 +readonly vuserlist, %userlist%
Gui, Show, h342 w477, AHK Chat
Return

send:
gui submit, nohide
SetTimer, updatechat, off
URLDownloadToFile, http://localhost/ahkchat/chat.php?event=sendtext&loggedusername=%username%&msg=%sendtext%, %A_Temp%\sendtxt.txt
gosub, updatechat
guicontrol,, sendtext,
SetTimer, updatechat, on
return

updatechat:
URLDownloadToFile, http://localhost/ahkchat/chat.php?event=ping&loggedusername=%username%, %A_Temp%\tmp.txt
URLDownloadToFile, http://localhost/ahkchat/chat.php?event=chat&loggedusername=%username%, %A_Temp%\chat.txt
FileReadLine, chatnew, %A_Temp%\chat.txt, 1
if chatnew <> ''
{
  chat = %chat%%chatnew%
}

StringReplace, chat, chat, &(),`n, 1
guiControl,, chat, %chat%
chatnew =
URLDownloadToFile, http://localhost/ahkchat/chat.php?event=userlist, %A_Temp%\userlist.txt
FileReadLine, userlist, %A_Temp%\userlist.txt, 1
StringReplace, userlist, userlist, &(), `n, 1
guicontrol,, userlist, %userlist%
return

whoisactive:
URLDownloadToFile, http://localhost/ahkchat/chat.php?event=whoisactive&loggedusername=%username%, %A_Temp%\tmp.txt
return

GuiClose:
URLDownloadToFile, http://localhost/ahkchat/chat.php?event=sendtext&loggedusername=SERVER_MSG&msg=Quits: %username% (User left), %A_Temp%\sendtxt.txt
URLDownloadToFile, http://localhost/ahkchat/chat.php?event=logout&loggedusername=%username%, %A_Temp%\logout.txt
FileDelete, %A_Temp%\tmp.txt
FileDelete, %A_Temp%\logout.txt
FileDelete, %A_Temp%\userlist.txt
FileDelete, %A_Temp%\chat.txt
FileDelete, %A_Temp%\login.txt
FileDelete, %A_Temp%\send.txt
ExitApp


Report this post
Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: November 14th, 2006, 5:26 am 
Offline

Joined: January 29th, 2005, 3:56 am
Posts: 13
Nice job Kahz. There are tons of things you can do with AHK/PHP/MySQL. That chat script was mostly proof of concept, and you certainly are running with it. Best of luck with it. =)

Jon2s


Report this post
Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: November 14th, 2006, 9:45 am 
Offline

Joined: March 28th, 2004, 3:53 pm
Posts: 1870
i don't know if anyone thought about this earlier... but this combo can also be used for simple online multiplayer games as well, like chess, tic tac toe, battleships etc.
i once made a good multiplayer battleships game but that was LAN only.

_________________
Image


Report this post
Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: November 14th, 2006, 5:23 pm 
Offline

Joined: September 12th, 2005, 2:12 am
Posts: 190
TCP/IP is still probably the best way to go for p2p communication but I think this script is still wonderful for its simplicity.

Here is a great post on tcp/ip support for ahk.
http://www.autohotkey.com/forum/viewtopic.php?t=13829

I reversed the output so that new messages appear at the bottom but forgot to fix the scrollbar. Here is an update that fixes it.

Add these lines to the end of "displaychat: .. Gui, Show"
Code:
WinGet Gui_ID, ID, AHK Chat
GuiControl Focus, chat
ControlGetFocus chat_id, ahk_id %Gui_ID%


And after "guiControl,, chat, %chat%" add this line:
Code:
ControlSend %chat_id%, ^{End}, ahk_id %Gui_ID%


The redraw can sometimes be seen as the scrollbar falls to the bottom on an update. It's not pretty but it works. I'll try adding something so the output doesn't refresh if there are no new messages to display. Something also needs to be added to prevent the window from updating while the user is selecting text.

I'm considering replacing the editbox with an html window. Updates can be made without refreshing by using ajax. Using an html window will also allow the use of colored text and bold fonts and might provide a better method of dealing with the scrollbar.


Report this post
Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: November 16th, 2006, 4:30 am 
Offline

Joined: September 12th, 2005, 2:12 am
Posts: 190
This update allows users to rename themselves by typing /nick (username) in the send window. I tried to implement it so that new command switches can be easily added.

There appears to be some severe problems with lag and other obscure bugs when running this script online. I've only been testing it locally until today. I'll look into these problems later in the week.

(link removed by author. the script was too buggy.)


Report this post
Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: November 17th, 2006, 6:24 am 
Offline

Joined: September 12th, 2005, 2:12 am
Posts: 190
I've fixed all of the speed issues as well as some bugs. There is still a problem where text will sometimes repeat or not get sent at all. I'll post an update once I fix these problems and the communication is more stable.


Report this post
Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: November 23rd, 2006, 7:16 am 
Offline

Joined: September 12th, 2005, 2:12 am
Posts: 190
Here is the updated script. I've made a lot of improvements and all of the bugs I know of have been fixed.

There are two things to be aware of with this script. The first is that I haven't been able to come up with a reliable solution for dealing with the scrollbar in the main chat window. When the chat updates it will visibly jump up and down as the script forcefully scrolls it back to the bottom.

The second is with how I'm updating the chat gui. Perhaps it has something to do with accessing a database or maybe it was how I was structuring the code but the presence of too many frequent urldownload calls would cause the gui to halt and appear frozen until it was completed. To solve this problem I have the script run itself with parameters containing the data to be updated. This data is then processed and updated in the main chat window and the update exits.

The downside to this solution is that cpu usage will spike slightly every time the script loads itself again. I would also welcome ideas for how to deal with this problem.

Please let me know what you think. :)

http://3dfolio.com/files/ahkchat.rar


Report this post
Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: November 23rd, 2006, 6:37 pm 
Offline

Joined: May 2nd, 2006, 11:16 pm
Posts: 800
Location: Greeley, CO
The db file is empty.
Should it be?

_________________
Image
SoggyDog
Dwarf Fortress:
"The most intriguing game I've ever played."


Report this post
Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: November 23rd, 2006, 8:07 pm 
Offline

Joined: September 12th, 2005, 2:12 am
Posts: 190
My mistake. I've corrected the database file. :)


Report this post
Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 28 posts ]  Go to page 1, 2  Next

All times are UTC [ DST ]


Who is online

Users browsing this forum: sks, Yahoo [Bot] and 21 guests


You can post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Powered by phpBB® Forum Software © phpBB Group