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 09-03-2008, 10:22 PM
cybernine186
Sarnak
 
Join Date: Feb 2008
Posts: 87
Default EQ Editor 1.20

EQ Profile Editor 1.20
-----------------------------------------------------
This program was written and designed for the purpose of editing the user profile
and account for the EQ Emulator Server Database.


I need feedback if anyone would so kindly take the time and let me know what they think about the program or any bugs you might have found..... Either post it here or send me an email at cybernine186@gmail.com

Also the Telnet functions are sorta... untested so please let me know how it goes. If anyone has a server that they can give me some admin rights to for testing I would be very thankful.


Changes in 1.20
-----------------------------------------------------
1. Added the ability to view, train and edit raw AA profile.
2. Made some modifications to the coin_wipe.php script (A little bit better performance)
3. Added the GM Variable on the character page. (Allows the character to be flaged for GM Status)
4. Added the Character Title and Suffix to the character page.
5. Fixed some small issues with the item viewer on the inventory page.
6. Added the ability to do character backup and restore. (This uses the same method as the Emu Server)
7. Added the ability to delete characters
8. Changed the way that stats and features are changed, they are now drop down menus with a defined range
of numbers instead of inputting a number. This makes sure that a correct value is always input.
9. Added a better login system, the login system now uses the account table username and password with
a minimum status to login. Default is set to 50, this can be changed in the configuration.php file.
10. Added the ability to do telnet functions inside the script, you must have telnet turned on the server.
The login username and password for the telnet comes from the login page.
Telnet must have a account status of 50
or greater, this is hard coded into the EmuServer program.
11. Changed the theme/colors of the script.
12. Added some LDON settings on the Other page.
13. Changed the Account Stats from a drop down menu to a text box. This allows for custom account levels.
14. Added Icons to the Item View for Inventory.
15. Added the ability to list, view and edit a players corpse, Including Coin and Items.
16. Added ability to view and delete petitions.
17. Changed the way that the Languages & Skills updates. Just an improvement on processing power & SQL Resources.
18. Added the ability to edit and add character factions.
19. Added the ability to remove and add guilds from characters.
20. Search for Guilds

Please read the readme.txt for further information

Download EQ Editor 1.20

Sorry for the file sharing for download but its all I got.
Reply With Quote
  #2  
Old 09-03-2008, 10:58 PM
cybernine186
Sarnak
 
Join Date: Feb 2008
Posts: 87
Default

OH something I forgot to mention was once you edit a corpse you might have to reboot the zone that the corpse is in or the changes might not take effect.

I don't really know because I haven't tested that out, if anyone is willing to give me admin rights to a small server for testing I would appreciate it.
Reply With Quote
  #3  
Old 09-04-2008, 01:13 AM
cavedude's Avatar
cavedude
The PEQ Dude
 
Join Date: Apr 2003
Location: -
Posts: 1,988
Default

This tool is simply terrific. Thank you!
Reply With Quote
  #4  
Old 09-09-2008, 10:38 PM
cybernine186
Sarnak
 
Join Date: Feb 2008
Posts: 87
Default

Has anyone tried to use this new tool yet? I haven't seen any feedback or questions related to the new release of the EQ Editor tool.
Reply With Quote
  #5  
Old 09-10-2008, 10:29 AM
nicholasjohn
Fire Beetle
 
Join Date: Sep 2008
Location: Michigan
Posts: 11
Default

I think you did an amazing job on this, two thumbs up
Reply With Quote
  #6  
Old 09-12-2008, 08:27 PM
cavedude's Avatar
cavedude
The PEQ Dude
 
Join Date: Apr 2003
Location: -
Posts: 1,988
Default

I finally got a chance to really kick the tires of this program. The issues I have found are:

- I could not figure out how to restore a toon from a backup. I click on restore backup next to the toon on the account screen. I see the list of backups, but where it looks like the restore button should be (to the left of the delete button) there is nothing there. When I refresh the page, for a split second I see an icon pop up but then it disappears.

- The AA screen doesn't work. Most of the values are 0s, even though the player does have points and points spent. Sometimes values do show up, but they are not correct. I didn't try editing as I didn't want to mess up toons. If you need me to, I can test further on a mule toon.

- Minor problem, I get a warning: "Warning: Missing argument 5 for f_menu() in /home/httpd/html/eqeditor/includes/lib/functions.php on line 288" right above the insert faction box. However, it does seem to work. I see all of the factions, and I am able to insert new ones.

I've tried the vast majority of other options, and they all work great! Outstanding work, this has saved me a ton of time. I have to admit, I was surprised when things like spell scribing or corpse manipulation actually worked, it's was a too good to be true feeling!

IMO, the only thing this is missing is bind point manipulation, the ability to view/edit quest_globals and zone flags, and now that telnet support is in, the ability to feed it your own commands and receive the output. Other than that this program is pure perfection!
Reply With Quote
  #7  
Old 09-15-2008, 12:52 AM
cybernine186
Sarnak
 
Join Date: Feb 2008
Posts: 87
Default

Quote:
Originally Posted by cavedude View Post
I finally got a chance to really kick the tires of this program. The issues I have found are:

- I could not figure out how to restore a toon from a backup. I click on restore backup next to the toon on the account screen. I see the list of backups, but where it looks like the restore button should be (to the left of the delete button) there is nothing there. When I refresh the page, for a split second I see an icon pop up but then it disappears.

- The AA screen doesn't work. Most of the values are 0s, even though the player does have points and points spent. Sometimes values do show up, but they are not correct. I didn't try editing as I didn't want to mess up toons. If you need me to, I can test further on a mule toon.

- Minor problem, I get a warning: "Warning: Missing argument 5 for f_menu() in /home/httpd/html/eqeditor/includes/lib/functions.php on line 288" right above the insert faction box. However, it does seem to work. I see all of the factions, and I am able to insert new ones.

I've tried the vast majority of other options, and they all work great! Outstanding work, this has saved me a ton of time. I have to admit, I was surprised when things like spell scribing or corpse manipulation actually worked, it's was a too good to be true feeling!

IMO, the only thing this is missing is bind point manipulation, the ability to view/edit quest_globals and zone flags, and now that telnet support is in, the ability to feed it your own commands and receive the output. Other than that this program is pure perfection!

1. I will check this out, however it uses javascript. Check to see if you allowed javascript to be run on that page.

2. Very ODD.... Use the advance editing and see if it displays right. It should be AA ID and AA Value listed. What version source code are you using? Can you send me a copy of a couple of your characters back files for testing?

3. It will work just fine with that error message, I will fix the message though. The 5th field is optional not required.

4. Will work on adding those features, they shouldn't take long to add in the system.


Thank you for testing this out.... Can you confirm that the Telnet code works correctly?
Reply With Quote
  #8  
Old 09-17-2008, 04:14 PM
lockjaws
Fire Beetle
 
Join Date: Jun 2008
Location: UK
Posts: 13
Default

Looks like a Fantastic tool can't wait to try this out but, it seems the hosting site is always busy would anyone happen to have an addition download link for this?
Reply With Quote
  #9  
Old 09-17-2008, 04:47 PM
spoon
Sarnak
 
Join Date: Aug 2007
Posts: 34
Default

Quote:
Originally Posted by lockjaws View Post
Looks like a Fantastic tool can't wait to try this out but, it seems the hosting site is always busy would anyone happen to have an addition download link for this?
Try http://drop.io/eqeditor1_20
Reply With Quote
  #10  
Old 09-17-2008, 05:17 PM
lockjaws
Fire Beetle
 
Join Date: Jun 2008
Location: UK
Posts: 13
Default

Quote:
Originally Posted by spoon View Post
Brilliant, Thanks Spoon, much appreciated
Reply With Quote
  #11  
Old 09-17-2008, 05:56 PM
cybernine186
Sarnak
 
Join Date: Feb 2008
Posts: 87
Default

I need some characters with AA's from a database for testing. I think I may have the pointer wrong that it is looking in the profile for the AA structure.

Can you send me a copy of some characters with AA's

Cybernine186@gmail.com
Reply With Quote
  #12  
Old 09-17-2008, 10:37 PM
spoon
Sarnak
 
Join Date: Aug 2007
Posts: 34
Default

Sounds like you are close to finish debugging the AAs but if not one thing I was noticing with 1.20 was the AAs listed in default mode did not match the AAs available for the class being edited (beastlord AAs for a ranger). Adding unused AAs seemed to work. I did not test any of this very well though.

--Spoon
Reply With Quote
  #13  
Old 09-18-2008, 01:53 AM
cybernine186
Sarnak
 
Join Date: Feb 2008
Posts: 87
Default

If cavedood is having problems with the AA's and not viewing right then that means it will not read the correct aa's or write them.

This is written for the latest version of the source. If you are using an old packet structure then this entire program might not work, its untested.

Works with titanium clients other than that..... I dont know.
Reply With Quote
  #14  
Old 09-18-2008, 03:04 AM
AndMetal
Developer
 
Join Date: Mar 2007
Location: Ohio
Posts: 648
Default

Quote:
Originally Posted by cybernine186 View Post
I think I may have the pointer wrong that it is looking in the profile for the AA structure.
I definitely can't hold this against you, even though it's (buried, hardcore style) in the Wiki (I put it there for this exact reason ), but this should answer this issue:
Quote:
aa_array

Even though the source says this starts at 0432, it actually starts at 0428 (item_tint: 0392 + 36).

struct AA_Array
{
int32 AA;
int32 value;
};
I think what ended up happening when I first read the AA info in my PHP tool I started a while back was it had things a little backwards (indexes were the values, and they were off by 1 set I think).

Hope this helps.
__________________
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
  #15  
Old 09-18-2008, 04:34 AM
AndMetal
Developer
 
Join Date: Mar 2007
Location: Ohio
Posts: 648
Default

Looks like I was right:
aa.php
Code:
	// Find the AA ID in the profile or select a new slot to train the AA
	for($x = 1; $x <= 240; $x++){
		
		// AA ID Value
		$aa_id = asc2uint(substr($char->profile,$x*8+428,4));

		// Find first open available slot in profile
		if($aa_id == 0){
			if(!isset($aa_open)){
				$aa_open = $x;
			}
		}

		// if train_id matches a previous AA then stop and save the slot #
		if($_POST['train_id'] == $aa_id){
			$aa_slot = $x;
			$aa_value = asc2uint(substr($char->profile,$x*8+432,4));
			break;
		} elseif(($aa_id == 0) && ($aa_open < 1)) {
			$aa_open = $x;
		}
	}

...

for ($x = 1; $x <= 240; $x++) {
	$aa_array[asc2uint(substr($char_blob,$x*8+428,4))] = asc2uint(substr($char_blob,$x*8+432,4));
}
Should be able to fix this one of 2 ways: either change the for values to 0/239 instead of 1/240, or change the substring to ($x-1)*8+428/($x-1)*8+432. I personally went the first route.

Should also be some more in aa_adv.php:
Code:
for ($x = 1; $x <= 240; $x++) {
	$aa_array[$x] = array( 0 => asc2uint(substr($char_blob,$x*8+428,4)), 1 => asc2uint(substr($char_blob,$x*8+432,4)));
}
It also looks like the locations are defined in schema.sql, so that will be the semi-hard part:
Code:
UPDATE editor_values SET location = (location - 8) WHERE name LIKE 'aa_%'
One thing I'm not sure about with the above code, though, is that the server is really weird about how it reads and stores the AA values. The ID is basically the ID in the profile minus the value it is set to minus 1. I think it's mainly because the IDs sort-of start at 0, not 1 (which is mainly why I ended up starting from 0 instead of 1).

The part that writes the values looks right, but I'm not sure about how it pulls it later in the code. This is how I ended up reading it (is kinda old, so a little sloppy):
Code:
// AA_Array[240]
	for ($x = 0; $x <= 239; $x++) {
		$aa = asc2uint(substr($profileResult,$x*8+428,4));
		$value = asc2uint(substr($profileResult,$x*8+432,4));
		if ($aa != 0) {
			$Profile["aa_array"][($aa-($value-1))] = $value;
		};
		unset($aa);	// Probably not very efficient...
		unset($value);	// Same...
	};
	unset($aa);
	unset($value);
Could probably do it a little better this way:
Code:
// AA_Array[240]
	for ($x = 0; $x <= 239; $x++) {
		$aa = asc2uint(substr($profileResult,$x*8+428,4));
		if ($aa != 0) {
			$value = asc2uint(substr($profileResult,$x*8+432,4));	// 1 call to constant > 2 calls to variables/functions
			$Profile["aa_array"][($aa-($value-1))] = $value;
		};
		$aa = 0;	// Otherwise, can cause some issues in the loop since it carries over
		$value = 0;	// Same
	};
	unset($aa);	// Help free a little memory
	unset($value);	// Same
On a somewhat unrelated note, just as an added feature, you may want to include the AA description in somewhere (I didn't see it, unless I overlooked it):
Code:
SELECT text FROM editor_dbstr WHERE type = 4 AND id = $aa_value[0]
For reference, this is a query I used for viewing the AA info, including text loaded in a table "dbstr_us" (I tried to make a window as close to the client as I could):
Code:
SELECT a.skill_id, a.name, a.cost, a.max_level, a.spellid, (a.classes + a.berserker) AS classes, d.text FROM altadv_vars a, dbstr_us d WHERE a.skill_id=d.id1 AND d.id2='4' AND a.type='$_GET[type]' AND classes & '$ClassesBit[$_GET["class"]]' ORDER BY a.skill_id
Anyways, enough of my rambling, this should take care of the original issue.
__________________
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
Reply


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 05:55 AM.


 

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 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3