PDA

View Full Version : 0.6.1 DR1 VS .NET Projects


SuedeWorthey
06-07-2005, 01:34 AM
I took the time to rebuild the project files so I could compile the code for 0.6.1 DR1 with the ranger bug fix. If anyone is interested in obtaining the updated files I can upload them to my server and create a link to download them. I could also post a guide to compile the source if needed. I haven't gone into the PERL aspect yet, as I do not have PERL on my laptop. I will keep you all updated on my progress.

-Steel Psychos Server Admin-

Sakrateri
06-07-2005, 03:22 AM
can this be compiled on windows xp pro? if so I would be very greatful to have those files :)

SuedeWorthey
06-07-2005, 04:42 AM
Yes, I compiled everything on Windows XP Pro with SP2 and Microsoft VS .NET. I am still working on the PERL compile, but as soon as I get that going, I'll put a link to everything I have on my server.

Belfedia
06-07-2005, 08:04 AM
That good news, we need more dr1 compiled version :)

SuedeWorthey
06-07-2005, 08:39 AM
Well, I finished getting all the compilations working properly, so now, all I have left to do is .Zip and .rar the source I have and finish writing the guide tomorrow morning. It's past my bed time and I am losing faction with my wife... Anyway, I'll do what I can to get it all posted up tomorrow.

SuedeWorthey
06-08-2005, 12:11 AM
Well, it took me some hours, but I got everything pulled together. I will note all the changes that I can remember that I made. I started With Visual Studio .Net Version 7.0.9446 (2002).

First, you have to get the source from my site or though CVS. If you go through CVS there are several changes you have to make to the code.

I Included the DB fix that was noted by Emuman2098, and the Archery fix by cavedude, and I got most of my information to compile from Cisyouc.
Thanks a lot guys.

First, download the latest source from CVS and Edit/or download it from:
The zlib library is already included with the source as well. And also in the original .tar I extracted it from.
http://www.steelpsychos.com/index.php?link=eqemu.php

Next, ensure that you have MySQL and PERL installed.
I recommend MySQL 4.0.xx because I have some odd permissions problems with 4.1, but you may not. Also downloadable from my site.

http://dev.mysql.com/downloads/mysql/4.1.html
http://www.activestate.com/Products/Download/Download.plex?id=ActivePerl

After you extract the source, extract the zlib source into a folder called zlib under the same folder as the .sln file. (Already included in my source distro)

Extract the source file to a folder of your choice. If you don't know how to do this, I suggest you learn how to use a PC before you try to program it. I use Winrar to package the files. I also provided a SFX Archive .exe. I take no responsibility for what these may do to your PC, but I ensure they are virus free, etc...

Now that you have installed MySql, PERL(for PERL compiles only), and extracted the source, open the server.sln file. If it asks you to update/whatever, click yes.

For All Compilations:
Click Tools->Options.
Expand Projects.
Select VC++ Directories.
Where it says Show Directories For: Select Include Files.
Press CTRL+Insert to add a new line.
Browse to your MySql installation and select the mysql\include folder.
Press CTRL+Insert again.
Browse to where you extracted zlib, and select that folder.
Note: If you used my source zlib will be under the zlib folder.

Do the same thing once more:
Where it says Show Directories For: Select Library Files.
Press CTRL+Insert to add a new line.
Browse to your MySql installation and select the mysql\lib\opt folder.
Press CTRL+Insert again.
Browse to where you extracted zlib, and select that folder.
Note: If you used my source zlib will be under the zlib folder.

For compile with PERL:
Make sure you have the DebugPerl configuration selected.
Right-Click on Zone in the Solution Explorer Window.
Click Properties.
Expand the Configuration Properties Panel.
Expand C/C++ Panel.
Select General.
Under the Additional Include Directories, ensure that the path points to where you installed PERL, and iafter that folder add \lib\core. It should resemble c:\PERL\lib\CORE. Once again, if you don't know how to do this, just stop here and download the pre-compiled version.
ex:
c:\perl\lib\core

--Do not do this for DR2--
Once you ensure this is correct, click OK.

Before you compile, you will have to make an edit to the PERL file:
Remember to change this back after you are through compiling...

On line ~18 of perl\lib\core\socket.h, change it from:
#include <winsock.h>

to:
#include <winsock2.h>

If you leave this part out you will get tons of library conflicts between winsock and winsock2 at zone compile time.
--End do not do this for DR2--
Reason, DR2 was changed to use the winsock library rather than the winsock2 library.

Compilation time:
Now, you should be ready to compile. Select Build->Build Solution or press CTRL+ALT+B, and compilation will begin. If you have any errors, feel free to post them and I will try to re-create them and fix them for you.

NOTE: I made a change in rdtsc.cpp. My compiler didn't like the type unsigned long long, so I changed it to uint64.
I assumed that since it was trying to make an unsigned integer with the size of 2 longs(32 bits). That would have made it 64 bits long, so uint64 should do it.

char 8bits -127 to 127
unsigned char 8bits 0 to 255
short 16bits -32,767 to 32,767
unsigned short 16bits 0 to 65,535
int 32bits -2,147,483,647 to 2,147,483,647
unsigned int 32bits 0 to 4,294,967,295
long 32bits -2,147,483,647 to 2,147,483,647
unsigned long 32bits 0 to 4,294,967,295
long long 64bits -9,223,372,036,854,775,807 to 9,223,372,036,854,775,807
unsigned long long 64bits 0 to 18,446,744,073,709,551,615

If I am wrong feel free to correct me and provide the proper code for the fix.
If I missed anything, let me know and I'll fix it.

Also, my compiled versions are available on my website for download with the fixes noted above.

-Steel Psychos Server Admin-

Sakrateri
06-08-2005, 06:55 AM
Wow , thanks alot Suede. This is much appriciated :)

Belfedia
06-08-2005, 06:49 PM
Thanks splendid work :)
But i have some runtime error #3 on zone.exe ?
Petstruc and augslot variables not defined error ?
That my system or compiled version ?
that totally crash my zone.Exe

SuedeWorthey
06-08-2005, 07:44 PM
Which compile did you download? The only compile that I have tested is the one w/o PERL, and only in a minilogin situation. I haven't tested the code on my live server yet. I am still looking for bugs that I may be able to fix myself. Please keep all the bug reports coming though. What is your exact configuration? Minus the dbname and password of course. Also, does anyone know why the AAs aren't being updated properly in my database? Is it a DB problem or is it a server problem? If anyone can point me in the right direction, I will see what I can do to make it work. I am not an expert programmer, but I'd like to help in any way I can.

Belfedia
06-08-2005, 11:43 PM
Hello,
My server working on Windows 2000 pro (all services pack and patch make)
P4 3,5 Ghrtz with 2 gigas of ram.
I use Myslq 4.0.23 and last version of ActivePerl
I have Peq velious database + CVSfix for DR1 on my server.
I try to use your perl compiled version and your debugperl compiled version
(download from your site)
When i use it, i have microsoft debug message, (Petstru or augslot not defined error #3) i need to click on requester and my zone.exe reach breakpoint and stop.
I don't have this problems with other 0.6.1 DR1 compiled version (Face42 and Cavedude).

SuedeWorthey
06-09-2005, 03:13 AM
Ok, I will check into it and see what's up with the compile. I haven't tested the PERL one at all yet, just got it to the stages where I could compile it. I know the non-PERL ones run just fine on my server at least... Anyway, I'll see what I can do.

SuedeWorthey
06-09-2005, 03:37 AM
Well, I just tested it on my test server with the PERL release, olny I re-compiled it on the test server PC, so I will upload it to the server later... It works with no errors for me... Maybe it was a PERL library conflict of some sort. Anyway, I'll upload the new one and update the .rar and .exe

-Suede-

SuedeWorthey
06-09-2005, 04:11 AM
I re-created the error, and there was a problem with database.cpp.

uint32 len_query = MakeAnyLenString(&query, "REPLACE INTO inventory (charid,slotid,itemid,charges,instnodrop,color,aug slot1,augslot2,augslot3,augslot4,augslot5) VALUES(%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i)",
char_id, slot_id, inst->GetItem()->ID, charges, inst->IsInstNoDrop() ? 1:0,inst->GetColor(),augslot[0],augslot[1],augslot[2],augslot[3],augslot[4]),augslot[5] );

I dunno if it is right, but augslot should only go from 0 to 4, not 5... so I edited it as follows and will try to re-create the error again.

uint32 len_query = MakeAnyLenString(&query, "REPLACE INTO inventory (charid,slotid,itemid,charges,instnodrop,color,aug slot1,augslot2,augslot3,augslot4,augslot5) VALUES(%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i)",
char_id, slot_id, inst->GetItem()->ID, charges, inst->IsInstNoDrop() ? 1:0,inst->GetColor(),augslot[0],augslot[1],augslot[2],augslot[3],augslot[4]);//,augslot[5] );

Sakrateri
06-09-2005, 04:16 AM
I am getting the same exact problems with your source as I get from cvs source
compiling with ms vb.net 2003 on winXP Pro. here they are

Compiling...
timer.cpp
timeoutmgr.cpp
TCPConnection.cpp
serverinfo.cpp
races.cpp
packet_functions.cpp
packet_dump_file.cpp
packet_dump.cpp
Mutex.cpp
moremath.cpp
MiscFunctions.cpp
misc.cpp
md5.cpp
Item.cpp
guilds.cpp
extprofile.cpp
eqtime.cpp
EQEMuError.cpp
EMuShareMem.cpp
debug.cpp
DBMemLeak.cpp
dbcore.cpp
dbasync.cpp
database.cpp
crc32.cpp
Condition.cpp
classes.cpp
zoneserver.cpp
net.cpp
LoginServer.cpp
console.cpp
client.cpp
Linking...
client.obj : error LNK2001: unresolved external symbol "public: static unsigned char EQApplicationPacket::default_opcode_size" (?default_opcode_size@EQApplicationPacket@@2EA)
client.obj : error LNK2019: unresolved external symbol "protected: __thiscall EQPacket::EQPacket(unsigned short,unsigned char const *,unsigned int)" (??0EQPacket@@IAE@GPBEI@Z) referenced in function "public: __thiscall EQApplicationPacket::EQApplicationPacket(void)" (??0EQApplicationPacket@@QAE@XZ)
client.obj : error LNK2019: unresolved external symbol "public: __thiscall EQPacket::~EQPacket(void)" (??1EQPacket@@QAE@XZ) referenced in function $L109209
client.obj : error LNK2019: unresolved external symbol "public: void __thiscall EQApplicationPacket::SetOpcode(enum EmuOpcode)" (?SetOpcode@EQApplicationPacket@@QAEXW4EmuOpcode@@ @Z) referenced in function "public: __thiscall EQApplicationPacket::EQApplicationPacket(enum EmuOpcode)" (??0EQApplicationPacket@@QAE@W4EmuOpcode@@@Z)
client.obj : error LNK2019: unresolved external symbol "public: enum EmuOpcode const __thiscall EQApplicationPacket::GetOpcodeConst(void)const " (?GetOpcodeConst@EQApplicationPacket@@QBE?BW4EmuOp code@@XZ) referenced in function "public: enum EmuOpcode const __thiscall EQApplicationPacket::GetOpcode(void)const " (?GetOpcode@EQApplicationPacket@@QBE?BW4EmuOpcode@ @XZ)
packet_dump.obj : error LNK2001: unresolved external symbol "public: enum EmuOpcode const __thiscall EQApplicationPacket::GetOpcodeConst(void)const " (?GetOpcodeConst@EQApplicationPacket@@QBE?BW4EmuOp code@@XZ)
packet_dump_file.obj : error LNK2001: unresolved external symbol "public: enum EmuOpcode const __thiscall EQApplicationPacket::GetOpcodeConst(void)const " (?GetOpcodeConst@EQApplicationPacket@@QBE?BW4EmuOp code@@XZ)
client.obj : error LNK2019: unresolved external symbol "public: void __thiscall EQStream::SendDisconnect(void)" (?SendDisconnect@EQStream@@QAEXXZ) referenced in function "public: void __thiscall EQStream::Close(void)" (?Close@EQStream@@QAEXXZ)
client.obj : error LNK2019: unresolved external symbol "public: void __thiscall EQStream::QueuePacket(class EQApplicationPacket const *,bool)" (?QueuePacket@EQStream@@QAEXPBVEQApplicationPacket @@_N@Z) referenced in function "public: void __thiscall Client::QueuePacket(class EQApplicationPacket const *,bool)" (?QueuePacket@Client@@QAEXPBVEQApplicationPacket@@ _N@Z)
client.obj : error LNK2019: unresolved external symbol "public: class EQApplicationPacket * __thiscall EQStream::PopPacket(void)" (?PopPacket@EQStream@@QAEPAVEQApplicationPacket@@X Z) referenced in function "public: bool __thiscall Client::Process(void)" (?Process@Client@@QAE_NXZ)
console.obj : error LNK2001: unresolved external symbol "class OpcodeManager * EQOpcodeManager" (?EQOpcodeManager@@3PAVOpcodeManager@@A)
net.obj : error LNK2001: unresolved external symbol "class OpcodeManager * EQOpcodeManager" (?EQOpcodeManager@@3PAVOpcodeManager@@A)
net.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall OpcodeManager::SetOpcode(enum EmuOpcode,unsigned short)" (?SetOpcode@OpcodeManager@@UAEXW4EmuOpcode@@G@Z)
net.obj : error LNK2001: unresolved external symbol "public: virtual enum EmuOpcode __thiscall SharedOpcodeManager::EQToEmu(unsigned short)" (?EQToEmu@SharedOpcodeManager@@UAE?AW4EmuOpcode@@G @Z)
net.obj : error LNK2001: unresolved external symbol "public: virtual unsigned short __thiscall SharedOpcodeManager::EmuToEQ(enum EmuOpcode)" (?EmuToEQ@SharedOpcodeManager@@UAEGW4EmuOpcode@@@Z )
net.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall SharedOpcodeManager::ReloadOpcodes(char const *)" (?ReloadOpcodes@SharedOpcodeManager@@UAE_NPBD@Z)
net.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall SharedOpcodeManager::LoadOpcodes(char const *)" (?LoadOpcodes@SharedOpcodeManager@@UAE_NPBD@Z)
net.obj : error LNK2019: unresolved external symbol "public: __thiscall OpcodeManager::OpcodeManager(void)" (??0OpcodeManager@@QAE@XZ) referenced in function "public: __thiscall SharedOpcodeManager::SharedOpcodeManager(void)" (??0SharedOpcodeManager@@QAE@XZ)
net.obj : error LNK2019: unresolved external symbol "public: void __thiscall EQStreamFactory::Close(void)" (?Close@EQStreamFactory@@QAEXXZ) referenced in function _main
net.obj : error LNK2019: unresolved external symbol "public: class EQStream * __thiscall EQStreamFactory::Pop(void)" (?Pop@EQStreamFactory@@QAEPAVEQStream@@XZ) referenced in function _main
net.obj : error LNK2019: unresolved external symbol "public: bool __thiscall EQStreamFactory::Open(void)" (?Open@EQStreamFactory@@QAE_NXZ) referenced in function _main
net.obj : error LNK2019: unresolved external symbol "public: __thiscall EQStreamFactory::EQStreamFactory(enum EQStreamType,int)" (??0EQStreamFactory@@QAE@W4EQStreamType@@H@Z) referenced in function _$E1
EMuShareMem.obj : error LNK2019: unresolved external symbol "public: char const * __thiscall SharedLibrary::GetError(void)" (?GetError@SharedLibrary@@QAEPBDXZ) referenced in function "public: bool __thiscall LoadEMuShareMemDLL::Load(void)" (?Load@LoadEMuShareMemDLL@@QAE_NXZ)
EMuShareMem.obj : error LNK2019: unresolved external symbol "public: void * __thiscall SharedLibrary::GetSym(char const *)" (?GetSym@SharedLibrary@@QAEPAXPBD@Z) referenced in function "public: bool __thiscall LoadEMuShareMemDLL::Load(void)" (?Load@LoadEMuShareMemDLL@@QAE_NXZ)
EMuShareMem.obj : error LNK2019: unresolved external symbol "public: virtual bool __thiscall SharedLibrary::Load(char const *)" (?Load@SharedLibrary@@UAE_NPBD@Z) referenced in function "public: bool __thiscall LoadEMuShareMemDLL::Load(void)" (?Load@LoadEMuShareMemDLL@@QAE_NXZ)
EMuShareMem.obj : error LNK2019: unresolved external symbol "public: __thiscall SharedLibrary::SharedLibrary(void)" (??0SharedLibrary@@QAE@XZ) referenced in function "public: __thiscall LoadEMuShareMemDLL::LoadEMuShareMemDLL(void)" (??0LoadEMuShareMemDLL@@QAE@XZ)
EMuShareMem.obj : error LNK2019: unresolved external symbol "public: virtual void __thiscall SharedLibrary::Unload(void)" (?Unload@SharedLibrary@@UAEXXZ) referenced in function "public: virtual void __thiscall LoadEMuShareMemDLL::Unload(void)" (?Unload@LoadEMuShareMemDLL@@UAEXXZ)
EMuShareMem.obj : error LNK2019: unresolved external symbol "public: virtual __thiscall SharedLibrary::~SharedLibrary(void)" (??1SharedLibrary@@UAE@XZ) referenced in function "public: virtual __thiscall LoadEMuShareMemDLL::~LoadEMuShareMemDLL(void)" (??1LoadEMuShareMemDLL@@UAE@XZ)
.\../build/World.exe : fatal error LNK1120: 25 unresolved externals



EDIT: Also I was told to remove the EQNetwork.cpp from this when trying to compile the cvs before, am I still suppose to have to take that out?

Cisyouc
06-09-2005, 09:52 AM
You're missing files in the project. I couldn't tell you which ones because I'm not familiar with 6.1's code, but it seems to be referring to any of the new network files.

SuedeWorthey
06-09-2005, 09:16 PM
Try to re-extract the source, and just open the .sln file, not the other one... The .sln has all the updated files in it, and eqnetwork removed, etc...

Sakrateri
06-09-2005, 10:53 PM
I downloaded and extracted his rar and exe and tried both , I was assuming all the files needed were included.

Sakrateri
06-10-2005, 03:14 AM
I think your right Suede , I didnt use the sln, got ahead of myself I geuss , I will try that when I get home , thanks again.

Sakrateri
06-10-2005, 11:07 AM
Works great Suede , Thanks alot for this , now to try to fix the PoK books so they work . btw if anyone knows how allready let me know :) lol

fathernitwit
06-10-2005, 04:41 PM
there was a post a while back by sysadmin about fixing the pok stones. I havent gotten around to putting it into peq's database, but should give you a good idea on whats up.

SuedeWorthey
06-10-2005, 08:28 PM
I found sysadmin's thread with all the doors in it, and put them all into one SQL file, so anyone can download if from my site. It is called doors_sysadmin.sql I haven't sourced or tested it yet, but I will let you all know when I do.

http://www.steelpsychos.com/index.php?link=eqemu.php

-Suede-

Sakrateri
06-10-2005, 08:35 PM
I just looked at what you have Suede, that looks like its a fix to add the PoK books and some doors , Im talking about a fix to actually make them work . Right now when you click on them they just port you to the zone you are allready in. I have all of the portals in PoK allready and all of teh books to port you to PoK all over norrath but none of them will port you out of the zone you are allready in. Or am I looking at this wrong and it will fix the problkem of not being able to port?

SuedeWorthey
06-10-2005, 09:57 PM
I think this is the code that moves the PC if the door is clicked...

if (opentype == 58 && strncmp(dest_zone,"NONE",strlen("NONE")) != 0 ){ // Teleport door!
if ( strncmp(dest_zone,zone_name,strlen(zone_name)) == 0) {
//dunno why, but this dosent seem to work all the time:
//sender->GMMove(dest_x,dest_y,dest_z);
sender->MovePC((const char*) NULL, dest_x, dest_y, dest_z);
}
else {
sender->MovePC(dest_zone, dest_x, dest_y, dest_z);
}


Edit: The code looks sound, so I don't know why it's not working... Maybe there's something wrong with the destination zones in the DB or the way the db code reads the destination zone...

Sakrateri
06-10-2005, 10:12 PM
I saw that last night and using a doors.cpp from an older source that they worked on I tried to replicate it to this one , It did not make the zone crash and compiled fine but did not do anything and then I noticed in the zone folder there is a new file called zoning.cpp that does not appear in any other version and looking through there I think we have our problem , As I am by no means a coder and only a couple of months of self taught compiling I have no idea what to do to fix it , But I will keep trying ! and thanks for looking into it Suede.
Also Cavedude said right after he said " DO NOT QUOTE ME ON THIS " so please dont but he thought they may have changed movepc from using zone names to using zoneIDs ? I have no idea what to do at that point but mabey you may be able to use that . but still looking at that zoning.cpp it sure has an awful lot of SendZoneCancels in there ?

SuedeWorthey
06-11-2005, 12:11 AM
I did notice that there are 3 implementations of MovePC. One Is by ID, one is by zone name and the other has no space for zone, so I assume it's the current zone. I am going to edit the code and try a few things to see what I can get done.

Off-Topic:
I noticed Fathernitwit was running a 0.6.1 DR2 server... Is this source currently available on CVS???
Thanks,

-Suede-

Sakrateri
06-11-2005, 12:42 AM
Cofruben has a compiled version of DR2 in the Development section , I tried it lastnight and couldnt get world to boot , it would only flash very fast and trying to see what it was saying it looked like it was just a bunch of opcodes , as far as source im not sure. Thanks for working on this door thing its really stopping me from progressing here. I wish I could be of some use and knew some more but I will keep messing with the code too on the hope I will accidently fix something lol , Take care

SuedeWorthey
06-11-2005, 01:05 AM
I wanna try this Junior Dev Stuff...
Alright, there is a problem in zoning.cpp.
Looks like a copy, paste error.

Original Code: zoning.cpp line 318

void Client::MovePC(const char* zonename, float x, float y, float z, int8 ignorerestrictions, bool summoned, ZoneMode zm) {
MovePC(zone->GetZoneID(), x, y, z, ignorerestrictions, summoned, zm);
}


Changed to:

void Client::MovePC(const char* zonename, float x, float y, float z, int8 ignorerestrictions, bool summoned, ZoneMode zm) {
//MovePC(zone->GetZoneID(), x, y, z, ignorerestrictions, summoned, zm);
MovePC(database.GetZoneID(zonename), x, y, z, ignorerestrictions, summoned, zm);
}


I will update my links on my website with the new code in approximately 10 minutes... I will also test the code.

Edit 1:
Upload complete. Testing begins...
Edit 2:
Code works great, just need to update DB for proper coords. I zoned right inside the qeynos stone when I zoned.

-Suede-

Sakrateri
06-11-2005, 02:34 AM
Woot !! Your the bomb diggity !!! Thanks bud !

Recompiled with that fix and YES it does work !

You here that Bel ?? WOOT I SAY !

Sakrateri
06-11-2005, 04:32 AM
Man fix one thing and five more break lol, well the portals are workingnow but I am getting zones crashing with something coming up undefined pet structure? wtf? didnt even do anything with pets lol , any ideas on that one?

SuedeWorthey
06-11-2005, 04:41 AM
I don't know exactly why it says that because the pet structure is defined in the source file, but I am trying to work that one out now... I had that problem before the last fix, but it didn't just jump out. Anyway, I'll post as I fix...

-Suede-

Sakrateri
06-11-2005, 04:48 AM
Ok thanks again , Looks to me its all linked together right below that fix because they made it so pets zone with you , guess thats why it has to effect pets to

SuedeWorthey
06-11-2005, 06:22 AM
I think I fixed the pets, but I won't know until I can do some more testing. I will be using cavedude's db for the testing, beause it is the only one I have experienced the problem on so far...

-Suede-

Sakrateri
06-11-2005, 06:26 AM
Ok , thanks , thats the database I am using atm so cool .

SuedeWorthey
06-11-2005, 07:52 AM
In pets.cpp Around line 541 or so...

MakePet(spell_id, 10, 1, prace, mat, 125, 2*size_mod, 5, 0, 0, petname);
cout << "ptype not found: Making default BL pet." << endl;


I changed to: (added return)

MakePet(spell_id, 10, 1, prace, mat, 125, 2*size_mod, 5, 0, 0, petname);
cout << "ptype not found: Making default BL pet." << endl;
//begin wsft edit
return;
//end wsft edit


In pets.cpp around line 604/605

MakePet(spell_id, 59, WARRIOR, 127,0,46,0,2, 0, 0, petname);


I changed to: (added a return and cout info...)...

MakePet(spell_id, 59, WARRIOR, 127,0,46,0,2, 0, 0, petname);
//begin wsft edit
cout << "I think this was causing the crash..." << endl;
return;
//end wsft edit


I think that since MakePet was called and it didn't exit the function that it reached the MakePet at the end and the petstruct wasn't defined because it wasn't recalled from the DB...

-Suede-

Edit:
I am going to put a couple more files on my site:
1: update_zone.rar for updated zone compiles
2: update_world.rar for updated world compiles
3: update_dll.rar for updated emusharemem.dll files

If there are no updated files from the releases posted, there will be no updated .rar

Edit 2:
I am also going to add the date field to the download page.

-Suede-

Sakrateri
06-11-2005, 08:17 AM
Ok thanks much for this , going to recompile right now !

SuedeWorthey
06-11-2005, 08:20 AM
That's some good stuff. Anyways, keep me posted on small errors you find, and I will try to fix them as they come. Just don't come up with anything that would make me have to re-write the entire database engine or anything... lol

-Suede-

Sakrateri
06-11-2005, 08:55 AM
changed these and still getting the same error ? this is drivin me nuts, lol

iwantavr4
06-11-2005, 06:07 PM
Okay, i dont know how much i can help... But ive been running into this petstruct on my server as well. Basically if you hit ignore it will continue on ewithout crashing it.

Now... If its the same as me(im using peq velious database and some 6.1 perl upgrades from the guide i wrote), I notice it THE MOST in certain zones... Those certain zones being, akanon, sleepers tomb, necropolis, and other zones with traps/wizards...

When i was in veeshans peak, i noticed that there were wizards that were creating sword of xuzil pets(or something like this). I killed their pets, and hit ignore on the error... When they recreated the sword pets, it happened again.

Maybe there is some code thats messed up, or database error, that doesnt specify if someone has more than 1 pet... IE Swarm pets, sword/hammer pets, etc.

Just an idea... Glad someones workin on this though, awesome news!

If youre curious(not trying to plug) the dbs and emu versions im using are here:
http://www.eqemulator.net/forums/showthread.php?p=109893#post109893

SuedeWorthey
06-11-2005, 07:42 PM
Yeah, hitting ignore will allow the application to continue, but you shouldn't have to hit ignore in the first place. I will look some more to see if I can track down the messed up code...

-Suede-

iwantavr4
06-11-2005, 08:50 PM
Try going into Veeshans peak(mapname veeshan), theres some drakes on the way to hoskar(i think it is) they are two wizards... They both summon a familiar AND a invisible 'pet'. If you are in GM mode you can see them summoning the sword of xuxil or wahtever, if you kill the invisible pet with #kill(so they dont attack you), they will summon another one. Which is when I got the same error, i did it with both, and the error happened exactly when they summoned it...

Im not a coder or programmer...

I also noticed theres a lot of 'wizard contraptions' or something in dragon necropolis that did real similar things, it seemed, but i didnt do too much research on those i must admit... There is one right in fron of zlandicar, and quite a few on the way to him, theyre normally just traps.

Would be great if you could fix this, too many times have i been tping something in, to have that error popup and i spacebar and kill my zone, makes me sad :P

Sakrateri
06-11-2005, 09:53 PM
Thanks foir trying to help iwant , the more people we have looking into this the surer we shall find a solution :) I want my portals back !! lol

SuedeWorthey
06-11-2005, 10:49 PM
I put a new link on my site, noted above, with the new zone, zoneperl and zonedebug .exe files. Try to download the ones from my site and use them. I went to all those places with the zoneperl and was unable to re-create the error after the re-compile.

Thanks,
-Suede-

Sakrateri
06-11-2005, 11:07 PM
Ok will do , thanks again . Oh another bug im not sure your familiar with. As people log in and out of my server some of them but not all of them will leave a ghost in a zone , the person with the ghost can not log in and once I get enough ghosts I have to reboot the server because then all the zones are filled with these ghosts and nobody can therefore find a free zone to zone too.? really odd , and kind of scary too because sometimes the ghost will appear to some without ever logging off and they will be walking along and see themselfs standing there lol. /shrug. You are talking about the second to last download on your site I assume : update zone .rar ?

Sakrateri
06-11-2005, 11:23 PM
Awsome !! No crashes upon testing and the Books Work !! Thank you Soooooo much my friend ! :) btw could I get the source that has the fix ? thanks again

SuedeWorthey
06-11-2005, 11:50 PM
Sure, I'll be sure to update the source in my download page shortly.

-Suede-

Edit:
New source is posted at http://www.steelpsychos.com/index.php?link=eqemu.php

Belfedia
06-12-2005, 12:09 AM
Very nice work, many thanks :)

iwantavr4
06-12-2005, 12:33 AM
holy mo! I didnt realise you were still working on it! Woo hoo, i will have to test this out when i get back to my room tonight. Thanks alot!! Did you happen to find out what the problem was by chance..?

SuedeWorthey
06-12-2005, 12:38 AM
It was what I had posted before. I put the updated source and updated .exe files on my download page.

-Suede-

Sakrateri
06-12-2005, 12:55 AM
Oh got one more thing for ya , Augs were working in the 6.0 but wont work now. If you get a chance to check that out :)

SuedeWorthey
06-12-2005, 01:02 AM
What exactly is not working? Can you not aug anything, or what??? Please be as descriptive as possible, and I'll try to fix the problem. Where is a place you can aug in Cavedude's db, so I can test them myself?

Thanks,
-Suede-

Sakrateri
06-12-2005, 01:14 AM
Well , I made an augment "birdbath" not sure what it is really called but it is found under Object in the database and its objectname is IT10714_ACTORDEF type 53 , It may be something in the database or in the code im not sure but I can open it ok and insert an item and an augment but when I click insert the box comes up saying are you wish to INSERT this and I click yes and then nothing happens . I dont really see an actuall augmnet place in the database as I believe they are just found under items . Im not sure if this info helps at all and sorry I wasnt more discriptive earlier. Oh and there where none of these "birdbaths " in cavedudes database that I could find so I had to insert one myself. Item number 41054 is an Exuisite Pearl of Magiacal Warding thats good to try with as it fits in all slot types

Edit: if you need an sql to put a birdbath in I can give you one .

SuedeWorthey
06-12-2005, 01:21 AM
This one may take some time, but I'll get to checking it out... Are there any "birdbaths" in the PEQ DB? I doubt ti because it's just through Velious, but I'll see what I can do. Keep the bugs coming. I am also looking into the AAs, but I am not exactly sure how they are working in the DB... I know they worked fine in 0.6.0 DR2 with a few bugs, but I can't get them to work on this 0.6.1 DR1... Anyways, I am working all those issues.

-Suede-

Sakrateri
06-12-2005, 02:42 AM
Yes , they are in the velious database , thats where I took teh info from to add one to my 6.1 database, And thanks alot !

SuedeWorthey
06-12-2005, 06:08 PM
Yes , they are in the velious database , thats where I took teh info from to add one to my 6.1 database, And thanks alot !
I checked it out using the PEQ db, and you are right they are broken. I think it might just be an opcode problem, because whenever I tried to aug something I got an opcode error on the zone server. I'll see if I can figure out what the opcode is and what the opcode name is. I think I am going to write something to tell me what the unknown opcode is, so that I can at least give it a name such as OPAugmentItem or something...

-Suede-

Sakrateri
06-12-2005, 09:37 PM
Ok great, thanks alot !

Hatrack
06-15-2005, 10:10 PM
Could you look into why weapon procs and worn effects such has haste don't seem to work? Have tried the PEQ and Cavedude's database with many versions of 6.1(Nice getting rid of petstruct error!) and in none of them will a weapon proc for a PC or haste items like FBSS work. If you pick the procing weapon or haste item up and #itemfinfo they all have generic 65535 spellID, 0 proc level , and 0x00 EffectType like a mundane item. The item link shows info right such as what level it procs and info about the proc effect.

Right clickable items like Journeyman's Boots do work and show all the right info on #iteminfo, and strangely if an NPC has a procing weapon equipped it seems to work. A tentacle terror with a Tentacle whip will proc the lifetap, but if you take the whip and #iteminfo it the info is generic and the weapon will never proc for you. Any ideas?

SuedeWorthey
06-16-2005, 09:09 PM
Could you look into why weapon procs and worn effects such has haste don't seem to work? Have tried the PEQ and Cavedude's database with many versions of 6.1(Nice getting rid of petstruct error!) and in none of them will a weapon proc for a PC or haste items like FBSS work. If you pick the procing weapon or haste item up and #itemfinfo they all have generic 65535 spellID, 0 proc level , and 0x00 EffectType like a mundane item. The item link shows info right such as what level it procs and info about the proc effect.

Right clickable items like Journeyman's Boots do work and show all the right info on #iteminfo, and strangely if an NPC has a procing weapon equipped it seems to work. A tentacle terror with a Tentacle whip will proc the lifetap, but if you take the whip and #iteminfo it the info is generic and the weapon will never proc for you. Any ideas?

If that't the case it looks mor elike a DB problem than anything. Especially if it has the wrong spell id, etc... I will see what I can do though. I have a couple other projects along the side as well as this one now, so it may be a while until I get a fix or proper answer. I will be looking into it though.

sonicintuition
06-17-2005, 03:53 AM
Hey,

Just wanted to send a BIG THANK YOU for all of your hard work on these issues - it's a Godsend for those of us who lack the coding skills to figure it out for ourselves. You've been entirely unselfish and helpful in this venture, and we all appreciate it bigtime. Thank you again!

Unfortunately, however I did find a few things. I figured I'd ask, not to sound unappreciative but I'm just wondering why Windows throws an error at me when I close zone.exe? This started on 6.0 DR3 and continues to this day. I realize this isn't a big deal, however it kind of is when you consider I get kicked out of EQ to close these stupid error windows.

Another question I have, or something I noticed, was that when using #zsave, I get "Config for somezone NOT saved!" ...can't figure that one out. Any ideas?

Again, I don't mean to sound unnappreciative, just a couple things that were kinda getting to me. Any comments on this, whether or not they can be fixed, are welcome. Thanks again for all your hard work :)

Regards,
Sonic

arigo
06-17-2005, 08:46 PM
To fix procing, haste and a few other commands first replace GetProcChances(ProcChance, ProcBonus); Around line 2387 in mob.cpp with ProcChance = GetProcChances(ProcChance, ProcBonus);
Around line 213 in bonuses.cpp replace

if(common.ProcChance > 0) {
newbon->ProcChance += common.(I forgetwhat was here);
}

with


if(common.ProcRate > 0) {
newbon->ProcChance += common.ProcRate;
}


in command.cpp around line 4142/3 replace

c->Message(0, " Magic: %i SpellID: %i Proc Level: %i DBCharges: %i CurCharges: %i", item->Common.Magic, item->Common.Click.Effect, item->Common.Click.Level, item->Common.MaxCharges, inst->GetCharges());

With

c->Message(0, " Magic: %i SpellID: %i Proc Level: %i DBCharges: %i CurCharges: %i", item->Common.Magic, item->Common.Proc.Effect, item->Common.Proc.Level, item->Common.MaxCharges, inst->GetCharges());

AND Replace

c->Message(0, " EffectType: 0x%02x CastTime: %.2f", (int8) item->Common.Click.Type, (double) item->Common.CastTime/1000);

with

c->Message(0, " EffectType: 0x%02x CastTime: %.2f", (int8) item->Common.Proc.Type, (double) item->Common.CastTime/1000);


Around lines 182/183 in bonuses.cpp replace

if(common.Click.Type == ET_WornEffect) {
if(newbon->haste < (sint8)item->Common.Haste)
newbon->haste = item->Common.Haste;

WITH

if(newbon->haste < (sint8)item->Common.Haste){
newbon->haste = item->Common.Haste;


I have the feeling I'm forgetting something but I don't know what. I want to find the opcode for /assist, but I don't know how to start.

SuedeWorthey
06-18-2005, 02:29 AM
Awesome Work Arigo. I have incorporated your changes into my build, and released the update_zone.rar on my website. Well, gimme 10 mins... It's up on the Steel Psychos site. I am going to revamp the site a bit to make it more EMU-Oriented...

sonicintuition
06-18-2005, 03:20 AM
Argh,

An addendum to my above post...

I cannot log into my server when using your ZonePerl.exe. I can create a character but when I go to log in, it freezes up and I have to reset the computer. The non-perl verison works fine. I can't figure out why other people are getting success with this and I am not. I will download Perl from your list on your site and see if I'm just using the wrong version of perl or something...it's the only thing I haven't tried to get this to work. Both Cavedude's and PEQ's databases give the same result with ZonePerl.exe. Any other ideas? This is perplexing. An eqemu server without quests is ...boring. Thanks in advance.

EDIT - Leaving this post up in case anyone else runs into the same issue. It DOES matter what version of Perl that you use. I used the version posted up on SteelPhychos site and I can now log in fine.

Regards,
Sonic

SuedeWorthey
06-21-2005, 04:07 AM
I updated the guide for 0.6.1 DR2 compiles as well.

Aradorn
06-23-2005, 11:34 AM
im running the Setting up pre5/11 Velious Beta1 + 6.1DR1 + Minilogin(windows) will the update zone.rar fix my hast/pet prob or do i need to set up a 6.1dr2?

edit
nevermind if figured it out it works just need to unzipp the zoneperl.exe

arigo
06-28-2005, 12:27 AM
I'm wanting to get AA working, SuedeWorthey. Have you gotten anywhere with that? Oh, and I don't know if this works for 6.1dr2, but 6.1dr1's assist opcode is 0x7f22.

SuedeWorthey
06-28-2005, 04:04 AM
I'm wanting to get AA working, SuedeWorthey. Have you gotten anywhere with that? Oh, and I don't know if this works for 6.1dr2, but 6.1dr1's assist opcode is 0x7f22.That's awesome Thanks. Yeah, I will be looking into the whole AA thing as much as I can starting around the 5th or so... I will be able to work on it all a lot more after about the 15th of August, so look for a lot from me around then.

Aradorn
07-01-2005, 06:20 PM
ive replaced my zoneperl.exe from your website and started the game and haste/proc started working and the pet bug stopped....

ive played for about 2 weeks no probs

when i play it sometimes kicks me out if i play for a very extended pierod of time but i just click eqgame and continue

on 6/30 i used the #haste 85 to see how much i lacked from max. after i had played for a while i got dropped as it usually does, when i tried to log back in i got a zoneperl error and now i cannot get back in. i saved my old zone perl in another folder and replaced it with yours. it let me back in my weaps still proced but the haste doesnt work i dont understand why all of the sudden now your zoneperl.exe doesnt work... my activeperl is 5.8.2.808 even though its different from the one on your website i still cant figure why it would work for 2 weeks then just stop

SuedeWorthey
07-01-2005, 10:04 PM
ive replaced my zoneperl.exe from your website and started the game and haste/proc started working and the pet bug stopped....

ive played for about 2 weeks no probs

when i play it sometimes kicks me out if i play for a very extended pierod of time but i just click eqgame and continue

on 6/30 i used the #haste 85 to see how much i lacked from max. after i had played for a while i got dropped as it usually does, when i tried to log back in i got a zoneperl error and now i cannot get back in. i saved my old zone perl in another folder and replaced it with yours. it let me back in my weaps still proced but the haste doesnt work i dont understand why all of the sudden now your zoneperl.exe doesnt work... my activeperl is 5.8.2.808 even though its different from the one on your website i still cant figure why it would work for 2 weeks then just stopTry changing your PERL to the one on my website.... That could be the problem. If I could reproduce the error, I might be able to fix it, but until then, try to use the PERL that I have on my site. That's the one I used at compile time, so that could be it.

Aradorn
07-03-2005, 05:02 PM
the active perl? and if that is the case if i install the one off your site all i have to do is install it over the old one.
will i have to update anything im using the pre5/11 Velious Beta1 + 6.1DR1 + Minilogin(windows) from iwantavr4

the only step in his i see is for perl is
23) Use the command prompt at c:\ perl and type in

Code:
perl load_13thfloor_items.pl -d eq -u [user] -p [password] <items.txt

SuedeWorthey
07-03-2005, 10:02 PM
the active perl? and if that is the case if i install the one off your site all i have to do is install it over the old one.
will i have to update anything im using the pre5/11 Velious Beta1 + 6.1DR1 + Minilogin(windows) from iwantavr4

the only step in his i see is for perl is
23) Use the command prompt at c:\ perl and type in

Code:
perl load_13thfloor_items.pl -d eq -u [user] -p [password] <items.txt
Try to uninstall PERL and re-install the one from my site. It was mentioned that this could fix any problems with the PERL .exes in a previous post in this topic.

iwantavr4
07-04-2005, 05:01 PM
Ahh, okay. Yeah everytime i was tried using your zoneperl with my server it crashed. So i gave up on it and went back to my old one. Ill give it another go sometime soon to see if its my version of perl thats incompatible... Thats why i didnt update the guide with the update...

Aradorn
07-06-2005, 10:33 AM
ok i uninstalled my older perl and installed your 813perl and it still wont work, now my original zonerperl wont work either so i resetup my server using the 813 perl. the only zoneperl that works is the one without the haste/petfix

i also saw on a previous post you made you said
am going to put a couple more files on my site:
1: update_zone.rar for updated zone compiles
2: update_world.rar for updated world compiles
3: update_dll.rar for updated emusharemem.dll files

but i cant seem to find the world.rar and dll.rar maybe those are the files me and iwantavr4 need also to get it to work

sdabbs65
07-08-2005, 01:44 AM
Do you also have the 6.1 DR2 source on your WEBSITE ?

I was unable to find it.

cavedude
07-08-2005, 09:26 AM
Suede's gone away for a couple months but I'll upload it in a bit

Aradorn
07-08-2005, 11:53 AM
can you upload his world and emusharemem.dll

cavedude
07-08-2005, 12:22 PM
I don't have any of his complies, only access to his site.

sdabbs65
07-10-2005, 04:06 AM
Suede's gone away for a couple months but I'll upload it in a bit

Thanks,
eqemu_0.6.1_DR1_Source is a pain to try and compile.
did you mean your uploading it to his site ?

cavedude
07-11-2005, 04:48 AM
Opps I read 0.6.1-DR2 as 0.6.0-DR2. I'll upload the 6.1 source in a bit. It's an easy complie, but very buggy. I don't have any of his compiled binaries, and honestly I played with DR1 for a bit and still went back to 0.6.0-DR3 so I've been working on that. Most of my changes should be able to carry over though I hope.