Codes already submitted by people of the forums.
xmukox
Member
Posts: 175 Joined: Sun Sep 11, 2005 9:53 am
Post
by xmukox » Mon Aug 07, 2006 8:22 am
Game.cpp
Find and delete:
Code: Select all
if ((m_pClientList[iClientH]->m_iLevel > 2) && (m_pClientList[iClientH]->m_iAdminUserLevel == 0) &&
(m_pClientList[iClientH]->m_iExp < iGetLevelExp(m_pClientList[iClientH]->m_iLevel-1)-3000)) {
wsprintf(G_cTxt, "Data Error: (%s) Player: (%s) CurrentExp: %d --- Minimum Exp: %d", m_pClientList[iClientH]->m_cIPaddress, m_pClientList[iClientH]->m_cCharName, m_pClientList[iClientH]->m_iExp, (iGetLevelExp(m_pClientList[iClientH]->m_iLevel)-1));
PutHackLogFileList(G_cTxt);
DeleteClient(iClientH, TRUE, TRUE);
return;
}
now if your character have for example: 200lvl and exp ''123'' or '' 99999999999999999'' he dont get lost...
Tafka12
<3 bd long time
Posts: 772 Joined: Wed Dec 28, 2005 6:32 pm
Post
by Tafka12 » Mon Aug 07, 2006 8:57 am
This doesn't help anything.
It only prevents D/C, but the bug still exists.
There is 100 times easier way to prevent exp going to - or too low.
xmukox
Member
Posts: 175 Joined: Sun Sep 11, 2005 9:53 am
Post
by xmukox » Mon Aug 07, 2006 9:07 am
i know it but i and more people need only how to change that obtain lost...
juggalo2
Spamtastic
Posts: 1144 Joined: Sun Jul 17, 2005 5:28 pm
Post
by juggalo2 » Mon Aug 07, 2006 5:47 pm
no need for 2 topic deleted other
Crossfade
Loyal fan
Posts: 354 Joined: Sun Mar 20, 2005 5:55 pm
Post
by Crossfade » Thu Aug 10, 2006 10:17 pm
REPLACE:
Code: Select all
if (m_pClientList[iClientH]->m_iExp < 0) {
wsprintf(G_cTxt, "Packet Editing: (%s) Player: (%s) experience is below 0 - (Exp:%d).", m_pClientList[iClientH]->m_cIPaddress, m_pClientList[iClientH]->m_cCharName, m_pClientList[iClientH]->m_iExp);
PutHackLogFileList(G_cTxt);
return FALSE;
}
WITH:
Code: Select all
if ((m_pClientList[iClientH]->m_iExp < 0) && (m_pClientList[iClientH]->m_iLevel < m_iPlayerMaxLevel)) {
wsprintf(G_cTxt, "Packet Editing: (%s) Player: (%s) experience is below 0 - (Exp:%d).", m_pClientList[iClientH]->m_cIPaddress, m_pClientList[iClientH]->m_cCharName, m_pClientList[iClientH]->m_iExp);
PutHackLogFileList(G_cTxt);
return FALSE;
}
anyone try that?
1+12
Member
Posts: 173 Joined: Sat Feb 04, 2006 5:05 pm
Post
by 1+12 » Wed Aug 30, 2006 4:56 am
Crossfade wrote: REPLACE:
Code: Select all
if (m_pClientList[iClientH]->m_iExp < 0) {
wsprintf(G_cTxt, "Packet Editing: (%s) Player: (%s) experience is below 0 - (Exp:%d).", m_pClientList[iClientH]->m_cIPaddress, m_pClientList[iClientH]->m_cCharName, m_pClientList[iClientH]->m_iExp);
PutHackLogFileList(G_cTxt);
return FALSE;
}
WITH:
Code: Select all
if ((m_pClientList[iClientH]->m_iExp < 0) && (m_pClientList[iClientH]->m_iLevel < m_iPlayerMaxLevel)) {
wsprintf(G_cTxt, "Packet Editing: (%s) Player: (%s) experience is below 0 - (Exp:%d).", m_pClientList[iClientH]->m_cIPaddress, m_pClientList[iClientH]->m_cCharName, m_pClientList[iClientH]->m_iExp);
PutHackLogFileList(G_cTxt);
return FALSE;
}
anyone try that?
I would test it but I don't have time right now...
Another way to fix the exp bug fix is one that's been proven.
Change all int's related to EXP into _int64...
That should get it to work
Drajwer
<3 bd long time
Posts: 841 Joined: Fri Dec 10, 2004 3:24 pm
Post
by Drajwer » Wed Aug 30, 2006 7:15 am
better is just dont add exp to player on max lvl (if not using majestics). or reset exp to 0 and dont add exp...
thats easier and looks better.
<img src='
http://img440.imageshack.us/img440/2627/15pt.jpg ' border='0' alt='user posted image' /><br><br>HBPolska characters:<br><br>Hellios 150+ Aresden Hero Mage<br>TheBill 120 Aresden plrider<br>Kill_Me 100 Full-Hero plrider<br>Rockeater 110+ Aresden Plate Mage<br><br><a href='
http://www.helbreath.org ' target='_blank'>http://www.helbreath.org</a> come and play (250 ppl online)