Thread: Major Additions - Realm Conquest System
View Single Post
  #542  
Old 04-15-2010, 06:29 AM
AfterWorldForum AfterWorldForum is offline
 
Join Date: Dec 2008
Posts: 154
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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.
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.02113 seconds
  • Memory Usage 1,770KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (2)bbcode_code
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.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/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • showpost_complete