- bool CWorldServer::pakGMHeal( CPlayer* thisclient, int hpamount, int mpamount )
- {
- //this one works with the modified trose. pak 0x7ec does not work with base 112 client
- thisclient->Stats->HP = hpamount;
- thisclient->Stats->MP = mpamount;
- BEGINPACKET( pak, 0x7ec );
- ADDWORD( pak, hpamount );
- ADDWORD( pak, mpamount );
- thisclient->client->SendPacket( &pak );
- //experimental heal command. Might not work but if it does then we are sorted.
- //BEGINPACKET( pak, 0x7d5 );
- //ADDDWORD ( pak, thisclient->CharInfo->charid );
- //ADDWORD ( pak, thisclient->clientid );
- //ADDWORD ( pak, thisclient->Stats->MaxHP );
- //ADDWORD ( pak, thisclient->Stats->HP );
- //ADDDWORD ( pak, 0x01000000 );
- //ADDDWORD ( pak, 0x0000000f );
- //ADDWORD ( pak, 0x1388 );
- // didn't work either
- //let's try this
- //BEGINPACKET( pak, 0x753 );
- //ADDWORD ( pak, thisclient->clientid ); // USER ID
- //ADDWORD ( pak, thisclient->Stats->HP ); // CURRENT HP
- //ADDWORD ( pak, thisclient->Stats->MP ); // CURRENT MP
- //well it kind of works. You get healed OK but with a pillar of light.
- //works Ok here but we need a heal without effects for other places
- //also resets the zone time lol. Apparently this is not a good plan
- //thisclient->client->SendPacket( &pak );
- Log(MSG_INFO,"GM Heal used for HP %i MP %i",hpamount,mpamount);
- SendPM(thisclient, "Set HP to %i and MP to %i",hpamount,mpamount);
- return true;
- }
Exordium wrote:Can you reupload it kitty? because some files are missing. i dont know specifically but it has some missing files
1) Who is this "kitty"
2) What do you need? Client or server? The server is definitely complete. My entire (working) KTRose server is connected to the SVN and gets updated every week or two whenever I do anything with it. I most recently modified the logging functions on the common code. It was uploaded this morning.
I can't speak for the client since somebody else uploaded it in the first place. However I know several people who have downloaded it and made it work just fine exactly as it is.
I also finally had the time to look at that error posted by Tonnie earlier in the thread.
What I found was that this section of code is somewhat different than the head revision in my SVN.
There are only two places in the whole code base where a 0x753 packet was ever used.
First is in ingmcmds.cpp but it is commented out because it didn't work properly.
See below
The second (and most likely the one where the issue is happening is in WorldPackets.cpp and definitely is related to respawning.
however the exact code is quite different to what is shown in tonnie's picture.
here is the way that section of code should look.
- if( thisclient->Party->party )
- {
- BEGINPACKET( pak, 0x7d5 );
- ADDDWORD ( pak, thisclient->CharInfo->charid );
- ADDWORD ( pak, thisclient->clientid );
- ADDWORD ( pak, thisclient->GetMaxHP( ) );
- ADDWORD ( pak, thisclient->Stats->HP );
- ADDDWORD ( pak, 0x01000000 );
- ADDDWORD ( pak, 0x0000000f );
- ADDWORD ( pak, 0x1388 );
- thisclient->Party->party->SendToMembers( &pak, thisclient );
- }
- BEGINPACKET( pak, 0x721 );
- ADDWORD ( pak, 0x0022 );
- ADDWORD ( pak, 0x0002 );
- ADDWORD ( pak, 0x0000 );
- thisclient->client->SendPacket( &pak );
- RESETPACKET( pak, 0x753 );
- ADDWORD ( pak, thisclient->clientid ); // USER ID
- ADDWORD ( pak, thisclient->Stats->HP ); // CURRENT HP
- ADDWORD ( pak, thisclient->Stats->MP ); // CURRENT MP
- ADDDWORD ( pak, thisclient->CharInfo->Exp ); // CURRENT EXP
- ADDDWORD ( pak, 0x00000000 ); // LVL EXP (UNSUSED)
- // thanks to StrikeX to post this source
- //[economy]
- /*
notice there is an entire 0x721 packet missed out from his source. (0x721 packet resets base stats prior to respawning)
there's not a whole lot I can do to help people with KTRose source when they aren't actually using it from my SVN.
Once again, the SVN for KTRose source is https://subversion.assembla.com/svn/ktrose-source/