After having an issue related to this i found that the problem was in the
check_hasitem.pl plugin.
basically the reason clearing corpse table was causing it to work was because of these lines in that plugin:
Code:
#Check corpses
if ($body_count > 0) {
for ($i=1; $i<=$body_count; $i++) {
$body_id = $client->GetCorpseID($i);
for ($slot1=0; $slot1<=30; $slot1++) {
$itemid1 = $client->GetCorpseItemAt($body_id, $slot1);
if ($itemid1 == $itmchk) {
return 1;
}
}
for ($slot1=251; $slot1<=340; $slot1++) {
$itemid1 = $client->GetCorpseItemAt($body_id, $slot1);
if ($itemid1 == $itmchk) {
return 1;
}
}
}
}
removing this seemed to solve the issue - i noticed it when i realized that the crashes were only occuring in zones where player.pl governed the locking/unlocking of doors, it also solved a crash within my scripts for checking if players had completed their 1.0s before moving on to a new quest
(using quest::check_hasitem($client, $item_id); )
seems to have fixed it all up removing that block from the plugin. Hope this helps others experiencing it :P