vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3.8 Add-ons (https://vborg.vbsupport.ru/forumdisplay.php?f=235)
-   -   Major Additions - Realm Conquest System (https://vborg.vbsupport.ru/showthread.php?t=211920)

AfterWorldForum 04-15-2010 06:29 AM

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.

RollaJedi 04-15-2010 02:20 PM

you will make this for vbulletin 4, yes?

Dutch_Boy 04-15-2010 05:39 PM

Quote:

Originally Posted by AfterWorldForum (Post 2021538)
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.

Feanor_87 04-16-2010 01:17 AM

Is there an option that allows you to leave a nation?

MichaelDance 05-12-2010 07:38 PM

carnt wait to set this up on my forum, thanks bud defo installing..

murekhalir 05-12-2010 07:48 PM

can't wait to get a vb4 version.

anuanu 06-07-2010 12:19 AM

Me to! It will be amazing.

BloodRavens 06-09-2010 10:17 AM

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.....

Dutch_Boy 06-09-2010 02:35 PM

Need some tweaking. We are waiting for a update. But i think there will never be one :(

session-one 06-13-2010 07:51 AM

is a vb4 launch planned?


All times are GMT. The time now is 11:00 PM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01793 seconds
  • Memory Usage 1,758KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (4)bbcode_code_printable
  • (1)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (2)pagenav_pagelinkrel
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete