Version: 1.3.0, by Jaxel
Developer Last Online: Sep 2013
Category: Major Additions -
Version: 3.8.x
Rating:
Released: 04-21-2009
Last Update: 04-28-2009
Installs: 211
DB Changes Uses Plugins
Additional Files
No support by the author.
This Conquest System is very similar to the vBarmy system, except it has a few specific fundamental changes. Instead of every player working alone to fight other players, players work together as a single nation to fight other players who are members of different nations. Everything else in the system is pretty much self-explanitory.
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.
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.
The graphics seems good. Is this release is ready to be used in large forum or it still needs some tweaking? It will be good if it is compatible with vbExperience.....