Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Tools

Development::Tools 3rd Party Tools for EQEMu (DB management tools, front ends, etc...)

Reply
 
Thread Tools Display Modes
  #1  
Old 12-19-2007, 07:34 AM
cubber
Discordant
 
Join Date: Apr 2006
Posts: 374
Default

This is a great utility! I am having a bit of an issue with anything that has to do with spells though. I did not see a readme in the file with installation instructions but I did find a file in the includes folder called constants.php that I put my database info into which allowed me to view the site but not spell data.

Did I need to do anything else to get the spell functionality working? I saw a file in the spells folder called add_spells.php, i copied my spells_* files from my client and put them in that folder then edited the add_spells.php file to point to "." to look for them. I then tried running add_spells.php in a browser but it failed. To me it looks like it is supposed to create a table in the eqem database called spells_new that the site is supposed to read from for its spell data?

Any information would be helpful, and thanks for your hard work on this very promising tool!
Reply With Quote
  #2  
Old 12-19-2007, 08:38 AM
cubber
Discordant
 
Join Date: Apr 2006
Posts: 374
Default

I looked over both of the files a bit more and noticed that they both contain the statement:

include "../includes/db_login.inc";

but there is not file called db_login.inc in the includes folder...
Reply With Quote
  #3  
Old 12-19-2007, 09:24 AM
cubber
Discordant
 
Join Date: Apr 2006
Posts: 374
Default

It looks like the add_spells file takes the info from the spells_* file and adds it to the table spells_new, but where is the file that creates the table spells_new in the eqemu database?
Reply With Quote
  #4  
Old 12-23-2007, 06:42 PM
AndMetal
Developer
 
Join Date: Mar 2007
Location: Ohio
Posts: 648
Default

Sorry I didn't reply back sooner (haven't been on the forums as much recently).

The main reason I haven't put together a readme file yet is because this is still in the alpha stages. Once I complete some of the functionality and streamline some of the files into others, I'll be able to focus on a more user-friendly approach. In the meantime, you can just post here if you have any questions or concerns.

The idea behind the spell folder was for a few things (eventually): importing the spells_us.txt file into the database, viewing spells, editing spells in the database, and exporting a new spells_us.txt file from the database (for easy distribution to others via a web page). Thus far, only the first has been semi-implemented.

The spells folder, right now, contains scripts to import the spells_us.txt file into a new table, which currently is spells_new. "spells" is used by other utilities, which don't use the same schema.

The insert_columns.php file was meant to be run after creating the table spells_new (which is currently done manually via command line or a GUI front-end, but could be incorporated into the script relatively easy), to create a base schema. Eventually, it will contain an array of all the column names instead of just creating field{$y}, which I'm still working on.

The add_spells.php file was meant to be run next, which actually imports the text file into the database. Luckily, there isn't anything really special about this, except it uses a ton of memory (more than 128MB, but less than 256MB). If your PHP server is set to run in safe mode, it might not complete correctly because of the ini_set() functions at the top.

In reference to "../includes/db_login.inc", that was an old file that I used to use if a file needed to access the database. Because everything needs access to the database plus several constants (race info, class info, etc), I incorporated it into the the constants.php file (1 less line per script). Just before I started sharing the files, I removed the file for good, but apparently forgot to change some of the references. I'll make sure I update it for future releases (thank you for catching that, by the way )
__________________
GM-Impossible of 'A work in progress'
A non-legit PEQ DB server
How to create your own non-legit server

My Contributions to the Wiki
Reply With Quote
  #5  
Old 12-24-2007, 03:31 AM
Bishop4351
Sarnak
 
Join Date: Sep 2006
Location: Texas
Posts: 49
Default

The tool looks to be a nice start. I would recommend that you tighten up on the permissions or distribute the files in a tar or something that knows that everything isn't 777.

It's a great start can't wait for the the release.
Reply With Quote
  #6  
Old 01-04-2008, 10:04 AM
AndMetal
Developer
 
Join Date: Mar 2007
Location: Ohio
Posts: 648
Default

I was able to get a Sourceforge site for the project, so the releases will be moved here.
__________________
GM-Impossible of 'A work in progress'
A non-legit PEQ DB server
How to create your own non-legit server

My Contributions to the Wiki
Reply With Quote
  #7  
Old 05-05-2008, 01:11 PM
cubber
Discordant
 
Join Date: Apr 2006
Posts: 374
Default

Is there anymore work being done on this project. I like the magelo portion of it and am trying to set it up on my servers website so my players can view their characters. However I do not want the character_/index.php page to display the account id's, and account names. The only tables I want it to show are character name, level, and class, and when the player clicks on the character name it takes them to their profile. My php skills are limited, what do I need to edit on the character_/index.php page to make this happen?

Thanks.
Default contents of character_/index.php

Code:
<html>

<head>

<title>EQ Emu - Character List</title>

<?php

$time_start = microtime(true);
include "../includes/constants.php";
include "../includes/functions.php";

if (!isset($_GET["limit"])) {
	$_GET["limit"] = 10;
};
if ((!isset($_GET["offset"]) || ($_GET["offset"] == ""))) {
	$_GET["offset"] = 0;
};

?>

</head>

<body>

<center><h1>Character List</h1></center>

<table align="center" border="1">
	<form method="GET" action="">
	<caption align="top" style="text-align:right">
		<?php CreateResultLimit();?>
<!--		<input type="text" size="1" name="limit" value="<?php echo $_GET["limit"];?>"> Per Page
		<input type="hidden" name="offset" value="<?php echo $_GET["offset"];?>">
		<input type="hidden" name="sort" value="<?php echo $_GET["sort"];?>">
		<input type="hidden" name="dir" value="<?php echo $_GET["dir"];?>">
		<a href="?limit=<?php echo $_GET["limit"];?>&offset=<?php if ($_GET["offset"] - $_GET["limit"] >= 0) {echo $_GET["offset"] - $_GET["limit"];};?>&sort=<?php echo $_GET["sort"];?>&dir=<?php echo $_GET["dir"];?>">&lt;&lt;Prev</a>&nbsp;
		<a href="?limit=<?php echo $_GET["limit"];?>&offset=<?php echo $_GET["offset"] + $_GET["limit"];?>&sort=<?php echo $_GET["sort"];?>&dir=<?php echo $_GET["dir"];?>">Next&gt;&gt;</a>
-->	</caption>
	<tr>
		<th><?php SortLink(id,'ID');?></th>
		<th><?php SortLink(account_name,'Acct');?></th>
		<th><?php SortLink(name,'Name');?></th>
		<th><?php SortLink(level,'Level','DESC');?></th>
		<th><?php SortLink('class','Class');?></th>
		<th><?php SortLink(zonename,'Zone Name');?></th>
<!--		<th><?php SortLink(pktime,'PK Time');?></th>		-->
		<th><?php SortLink(groupid,'Group ID','DESC');?></th>
		<th><?php SortLink(timelaston,'Last On','DESC');?></th>
		<th><?php SortLink(birthday,'Birthday','DESC');?></th>
	</tr>
<?php flush(); ob_flush();?>	<tr>
		<td align="right">
			<?php // CreateDropdown(id,character_);?>&nbsp;
		</td>
		<td>
			<?php // CreateDropdown(account_name,character_);?>&nbsp;
		</td>
		<td>
			<?php // CreateDropdown(name,character_);?>&nbsp;
		</td>
		<td>
			<?php // CreateDropdown(level,character_);?>&nbsp;
		</td>
		<td>
			<?php // CreateDropdown('class',character_);?>&nbsp;
		</td>
		<td>
			<?php CreateDropdown(zonename,character_);?>&nbsp;
		</td>
<!--		<td>
			<?php // CreateDropdown(pktime,character_);?>&nbsp;
		</td>
-->		<td align="right">
			<?php CreateDropdown(groupid,character_);?>
		</td>
		<td>
			<?php // CreateDropdown(timelaston,character_);?>&nbsp;
		</td>
		<td>
			<?php // CreateDropdown(birthday,character_);?>&nbsp;
		</td>
	</tr>
	</form>
<?php

if ($_GET["account_id"] != "") {
	$where = " WHERE account_id=" . $_GET["account_id"] . " ";
};
if (!isset($_GET["sort"]) || ($_GET["sort"] == "")) {
	$_GET["sort"] = "timelaston";
};
if (!isset($_GET["dir"]) || ($_GET["dir"] == "")) {
	$_GET["dir"] = "DESC";
};
$query1 = "SELECT character_.id, account.name AS account_name, character_.account_id, character_.name, character_.timelaston, character_.x, character_.y, character_.z, character_.zonename, character_.zoneid, character_.pktime, character_.groupid, character_.class, character_.level, CONV(CONCAT(LPAD(BIN(ASCII(SUBSTRING(character_.profile,232,1))),8,'0'),LPAD(BIN(ASCII(SUBSTRING(character_.profile,231,1))),8,'0'),LPAD(BIN(ASCII(SUBSTRING(character_.profile,230,1))),8,'0'),LPAD(BIN(ASCII(SUBSTRING(character_.profile,229,1))),8,'0')),2,10) AS  birthday FROM character_ LEFT JOIN account ON account.id=character_.account_id" . $where . " ORDER BY " . $_GET["sort"] . " " . $_GET["dir"] . " ";
// Limit query if $_GET["limit"] is set
if ($_GET["limit"] != "") {
	$query1 .= " LIMIT " . $_GET["limit"] . " OFFSET " . $_GET["offset"] . " ";
};
$result1 = mysql_query($query1,$db);

// Display data if any found, message if none found

if ($db_row1 = mysql_fetch_array($result1)) {
	do {
		// Find out how many characters the account has
		global $db;
		$query_chars = "SELECT COUNT(id) AS id FROM character_ WHERE account_id='" . $db_row1["account_id"] . "'";
		$result_chars = mysql_query($query_chars,$db);
		$db_row_chars = mysql_fetch_array($result_chars);

		echo "\t<tr>
		<td align=\"right\">" . $db_row1["id"] . "</td>
		<td title=\"ID: " . $db_row1["account_id"] . "\"><a href=\"../account/?id=" . $db_row1["account_id"] . "\">" . $db_row1["account_name"] . "</a> (<a href=\"?account_id=" . $db_row1["account_id"] . "\">" . $db_row_chars["id"] . "</a>)</td>
		<td><a href=\"../inventory/?id=" . $db_row1["id"] . "\">" . $db_row1["name"] . "</a></td>
		<td align=\"right\">" . $db_row1["level"] . "</td>
		<td>" . $Classes["{$db_row1["class"]}"] . "</td>
		<td title=\"X: " . $db_row1["x"] . "\nY: " . $db_row1["y"] . "\nZ: " . $db_row1["z"] . "\">" . $db_row1["zonename"] . "</td>
<!--		<td>" . $db_row1["pktime"] . "</td>		-->
		<td align=\"right\">" . $db_row1["groupid"] . "</td>
		<td>" . date("Y-m-d H:i:s",$db_row1["timelaston"]) . "</td>
		<td>" . date("Y-m-d H:i:s",$db_row1["birthday"]) . "</td>
	</tr>\n";
	flush(); ob_flush();
	} while ($db_row1 = mysql_fetch_array($result1));
} else {
	echo "\t\t<td align=\"center\" colspan=\"11\">No records found</td>
	</tr>";
};

?>
</table>

<?php

include "../includes/footer.php";

?>

</body>

</html>
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 06:36 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3