Thread: Major Additions - Realm Conquest System
View Single Post
  #544  
Old 04-15-2010, 05:39 PM
Dutch_Boy Dutch_Boy is offline
 
Join Date: Dec 2007
Location: The Netherlands
Posts: 214
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by AfterWorldForum View Post
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.
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01825 seconds
  • Memory Usage 1,772KB
  • 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)bbcode_quote
  • (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