
04-15-2010, 05:39 PM
|
|
|
Join Date: Dec 2007
Location: The Netherlands
Posts: 214
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
|
Quote:
Originally Posted by AfterWorldForum
I implemented a solution to prevent people from getting spammed with messages when they get attacked. In short, I fire off a query checking whether the user that was attacked has any unread PMs from the conquest system, and only send the PM if the above is not true.
To accomplish this, open up functions_conquest_village.php and replace this:
Code:
$message .= "]Click here to view futher information on $player[username]'s village.";
$pmdm =& datamanager_init('PM', $vbulletin, ERRTYPE_ARRAY);
$pmdm->set('iconid', 4);
$pmdm->set('fromuserid', $player[userid]);
$pmdm->set('fromusername', $player[username]);
$pmdm->set('title', $title);
$pmdm->set('message', $message);
$pmdm->overridequota = true;
$pmdm->set_recipients($village[username], $botpermissions);
$pmdm->set('dateline', TIMENOW);
$pmdm->save();
with this:
Code:
// Start modification to prevent players from being spammed
$conquestpmread_sql = "SELECT MIN(pm.messageread) pmsRead FROM user JOIN pm ON user.userid = pm.userid JOIN pmtext ON pm.pmtextid = pmtext.pmtextid WHERE user.username = '" . $village[username] . "' AND pmtext.title LIKE 'You have been attacked%'";
$conquest = $vbulletin->db->query_first($conquestpmread_sql);
if (!$conquest['pmsRead'] == 0) // Apparently there's no unread Conquest messages for this user.
{
$message .= "]Click here to view futher information on $player[username]'s village.";
$pmdm =& datamanager_init('PM', $vbulletin, ERRTYPE_ARRAY);
$pmdm->set('iconid', 4);
$pmdm->set('fromuserid', $player[userid]);
$pmdm->set('fromusername', $player[username]);
$pmdm->set('title', $title);
$pmdm->set('message', $message);
$pmdm->overridequota = true;
$pmdm->set_recipients($village[username], $botpermissions);
$pmdm->set('dateline', TIMENOW);
$pmdm->save();
}
// End modification
Feel free to alter this to your needs. I tested this on my own system, and it seems to be working as intended. Should you find something different, please let me know.
|
Thanks. Added to the game and will test it.
|