Go Back   EQEmulator Home > EQEmulator Forums > Support > Support::Windows Servers

Support::Windows Servers Support forum for Windows EQEMu users.

Reply
 
Thread Tools Display Modes
  #1  
Old 09-05-2011, 01:20 AM
blackdragonsdg
Dragon
 
Join Date: Dec 2008
Location: Tennessee
Posts: 656
Default

I finally got the scripts to work. On Windows you can right click the file and open with Perl Command Line Interpreter. In order for the import script to work properly I had to put the SkillCaps.txt in C:\Windows\SysWOW64
Didn't figure that out till the export script ran properly...had to search my drives to find it.

It may have just been my computer configuration but I think the windows version of perl requires some additional perl packages to be installed. That may be different in some Linux versions as perl comes as part of the OS install...Ubuntu is a good example of that.
Reply With Quote
  #2  
Old 09-05-2011, 02:41 AM
lerxst2112
Demi-God
 
Join Date: Aug 2010
Posts: 1,742
Default

It just looks for the file in the current directory, so if your skillcaps.txt file wasn't on the desktop too then that's likely the problem.
Reply With Quote
  #3  
Old 09-05-2011, 10:25 AM
Jujubeez
Fire Beetle
 
Join Date: Aug 2011
Location: Charlotte, NC
Posts: 17
Default

But do the skills you added actually work? So far mine look the part but don't work in combat. Wondering if I need to edit the code.
Reply With Quote
  #4  
Old 09-05-2011, 11:05 AM
Jujubeez
Fire Beetle
 
Join Date: Aug 2011
Location: Charlotte, NC
Posts: 17
Default

I figured it out. You will have to edit the mob.cpp file for each skill you add.. woohoo thanks for the help guys!
Reply With Quote
  #5  
Old 06-02-2014, 04:53 PM
NickW
Sarnak
 
Join Date: Apr 2014
Posts: 72
Default

I am so confused here.. Wanted to find a way to give SK track skill. But, I can't make any sense out of the info here. I found the skillcaps.txt. I tried to run the script as a .vbs file. I must be screwing something up..
Reply With Quote
  #6  
Old 06-02-2014, 06:28 PM
Mortow's Avatar
Mortow
Hill Giant
 
Join Date: Apr 2013
Posts: 215
Default

To add skills to a class, you have to modify both your skill_caps table in your database and your SkillCaps.txt file. SkillCaps.txt is located in the Resources folder under your Everquest directory. I think the SkillCaps.txt file has to match on both your server and client. I know it has to be the udated one in the client Everquest folder.

If you want to add Tracking to an SK, go to your skill_caps table in your database ( I use HeidiSQL for this) and go to the data tab and hit Show All. Scroll down until you see Skill 51 (51 is Throwing) for Class 5 (5 is SK). Follow this until it ends at level 100 or whatever level yours ends at. You will see the skill column skip from 51 to 55. Insert your data here. Do not skip any levels. If you do not want your SKs to get Tracking until level 10 then fill in levels 1 thru 10 with a cap of 0, else you will be able to use it at level 1.

Next go to your SkillCaps.txt file and open it with Notepad++ the first two columns in it are reversed from the one in the database table. Scroll down in it until you see 5^51^100^400^0 or whatever is the last 5^51 in your file and insert your data here as well.

I hope that helps you.
Reply With Quote
  #7  
Old 06-02-2014, 08:18 PM
demonstar55
Demi-God
 
Join Date: Apr 2008
Location: MA
Posts: 1,164
Default

If you select to build the client files tools, you just run the export_client_files program after editing the database. (Note make sure you make a directory named export before running)


The Perl script failed to run as a vbs script because its a Perl script not a vbs script.
Reply With Quote
  #8  
Old 06-03-2014, 05:16 AM
NickW
Sarnak
 
Join Date: Apr 2014
Posts: 72
Default

Quote:
Originally Posted by Mortow View Post
To add skills to a class, you have to modify both your skill_caps table in your database and your SkillCaps.txt file. SkillCaps.txt is located in the Resources folder under your Everquest directory. I think the SkillCaps.txt file has to match on both your server and client. I know it has to be the udated one in the client Everquest folder.

If you want to add Tracking to an SK, go to your skill_caps table in your database ( I use HeidiSQL for this) and go to the data tab and hit Show All. Scroll down until you see Skill 51 (51 is Throwing) for Class 5 (5 is SK). Follow this until it ends at level 100 or whatever level yours ends at. You will see the skill column skip from 51 to 55. Insert your data here. Do not skip any levels. If you do not want your SKs to get Tracking until level 10 then fill in levels 1 thru 10 with a cap of 0, else you will be able to use it at level 1.

Next go to your SkillCaps.txt file and open it with Notepad++ the first two columns in it are reversed from the one in the database table. Scroll down in it until you see 5^51^100^400^0 or whatever is the last 5^51 in your file and insert your data here as well.

I hope that helps you.
Edit: My SK in-game has track skill and I can activate it just fine. But, nothing shows up on track. No matter how much skill in tracking I have.. Any ideas?



Quote:
Originally Posted by Jujubeez View Post
I figured it out. You will have to edit the mob.cpp file for each skill you add.. woohoo thanks for the help guys!
Digging around in the mob.cpp file I can't find anything about track..



Here's both my skillcaps files after the changes:




P.S. If I continue to scale track skill past 200 will it keep increasing in effectiveness? Or will I break something..?
Reply With Quote
  #9  
Old 06-06-2014, 11:47 PM
NatedogEZ's Avatar
NatedogEZ
Developer
 
Join Date: Dec 2012
Posts: 515
Default

Just open the SLN file.. and hit compile after you have made whatever changes to the source files.
Reply With Quote
  #10  
Old 06-07-2014, 08:56 AM
NickW
Sarnak
 
Join Date: Apr 2014
Posts: 72
Default

Quote:
Originally Posted by NatedogEZ View Post
Just open the SLN file.. and hit compile after you have made whatever changes to the source files.
Gotcha, thanx. So I recompiled the skill_caps.cpp and entity.cpp





Still no change in-game though. No matter which zone I try there is never anything on track..



Was there another step after recompiling those files?..
Reply With Quote
  #11  
Old 06-07-2014, 03:46 PM
lerxst2112
Demi-God
 
Join Date: Aug 2010
Posts: 1,742
Default

You need to select build to build the solution (F7), then you need to copy the newly built executables to your server directory.
Reply With Quote
  #12  
Old 06-07-2014, 05:48 PM
NickW
Sarnak
 
Join Date: Apr 2014
Posts: 72
Default

Quote:
Originally Posted by lerxst2112 View Post
You need to select build to build the solution (F7), then you need to copy the newly built executables to your server directory.






Still no change. Nothing on track regardless of track skill/distance/zone/mobs. I think the gods are against me..
Reply With Quote
  #13  
Old 06-07-2014, 06:12 PM
lerxst2112
Demi-God
 
Join Date: Aug 2010
Posts: 1,742
Default

You know, you could just say you did it, the giant screen shots add nothing to the conversation.
Reply With Quote
  #14  
Old 06-08-2014, 01:19 AM
NatedogEZ's Avatar
NatedogEZ
Developer
 
Join Date: Dec 2012
Posts: 515
Default

This does work... but there are a few other areas you NEED to change!



client_packet.cpp
Code:
void Client::Handle_OP_TrackTarget(const EQApplicationPacket *app)
{
	int PlayerClass = GetClass();

	if((PlayerClass != RANGER) && (PlayerClass != DRUID) && (PlayerClass != BARD) && (PlayerClass != WARRIOR))
		return;

	if (app->size != sizeof(TrackTarget_Struct))
	{
		LogFile->write(EQEMuLog::Error, "Invalid size for OP_TrackTarget: Expected: %i, Got: %i",
			sizeof(TrackTarget_Struct), app->size);
		return;
	}

	TrackTarget_Struct *tts = (TrackTarget_Struct*)app->pBuffer;

	TrackingID = tts->EntityID;
}

void Client::Handle_OP_Track(const EQApplicationPacket *app)
{
	if(GetClass() != RANGER && GetClass() != DRUID && GetClass() != BARD && GetClass() != WARRIOR)
		return;

	if( GetSkill(SkillTracking)==0 )
		SetSkill(SkillTracking,1);
	else
		CheckIncreaseSkill(SkillTracking, nullptr, 15);

	if(!entity_list.MakeTrackPacket(this))
		LogFile->write(EQEMuLog::Error, "Unable to generate OP_Track packet requested by client.");

	return;
}

Notice all I did was add Warrior to those 2 functions .. plus I added warrior to the one you posted earlier as well..


Hopefully this helps








This is it working on a warrior
Reply With Quote
  #15  
Old 06-08-2014, 08:43 AM
NickW
Sarnak
 
Join Date: Apr 2014
Posts: 72
Default

Quote:
Originally Posted by NatedogEZ View Post
This does work... but there are a few other areas you NEED to change!



client_packet.cpp
Code:
void Client::Handle_OP_TrackTarget(const EQApplicationPacket *app)
{
	int PlayerClass = GetClass();

	if((PlayerClass != RANGER) && (PlayerClass != DRUID) && (PlayerClass != BARD) && (PlayerClass != WARRIOR))
		return;

	if (app->size != sizeof(TrackTarget_Struct))
	{
		LogFile->write(EQEMuLog::Error, "Invalid size for OP_TrackTarget: Expected: %i, Got: %i",
			sizeof(TrackTarget_Struct), app->size);
		return;
	}

	TrackTarget_Struct *tts = (TrackTarget_Struct*)app->pBuffer;

	TrackingID = tts->EntityID;
}

void Client::Handle_OP_Track(const EQApplicationPacket *app)
{
	if(GetClass() != RANGER && GetClass() != DRUID && GetClass() != BARD && GetClass() != WARRIOR)
		return;

	if( GetSkill(SkillTracking)==0 )
		SetSkill(SkillTracking,1);
	else
		CheckIncreaseSkill(SkillTracking, nullptr, 15);

	if(!entity_list.MakeTrackPacket(this))
		LogFile->write(EQEMuLog::Error, "Unable to generate OP_Track packet requested by client.");

	return;
}

Notice all I did was add Warrior to those 2 functions .. plus I added warrior to the one you posted earlier as well..


Hopefully this helps








This is it working on a warrior
It works! Thank you everybody. I seriously love this community. So damn helpful!

Quote:
Originally Posted by lerxst2112 View Post
You know, you could just say you did it, the giant screen shots add nothing to the conversation.
As for the screenshots. If they bother people. I will most definitely stop using them. When people who understand what's going on are trying to help someone who is clueless. In other words me.. They usually assume the person isn't following their directions correctly. And that's why it isn't working for them. The screenshots are my attempt to show exactly how I did what, where, etc.. In case i did screw something up.

That was my thought process anyway..
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 06:59 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