Контакти | Въпроси и отговори | Общи условия | Конфиденциалност
Директна връзка с оператор
Контакти

Скрипт за отнемане на кредити в MuOnline при неуспешно MT таксуване

При тарифите с MT таксуване клиентът се таксува при получаване от отговора на своя SMS, а не при самото изпращане на SMS-а, както е при тарифите с MO таксуване. Това дава възможност за злоупотреби от страна на некоректни играчи, които получават кредити без реално да заплащат за тях.

Този скрипт позволява автоматично да се отнемат кредити при получаване на статус за неуспешно таксуване за тарифите с MT таксуване. По този начин могат да се преустановят злоупотребите от некоректни играчи.

Нужно е да промените следните параметри в скрипта:

  • $db_serv: IP адреса на Вашият MSSQL сървър;
  • $db_user: Потребителско име за достъп до MSSQL сървъра;
  • $db_pass: Парола за достъп до MSSQL сървъра;
  • $db_name: Име на базата данни за MuOnline;
  • $credits_to_remove: Колко кредита да бъдат отнети от играч при получаване на статус за неуспешно таксуване;
<?PHP

$mosms_text = $_REQUEST["mosms_text"];
$billing_status = $_REQUEST["billing_status"];
preg_match("/(.*) (.*)$/", $mosms_text, $words);
$item = $words[2];

$mobio_remote_addrs = array("87.120.176.216", "194.12.244.114");

$db_serv = '10.0.2.10';
$db_user = 'sa';
$db_pass = 'password';
$db_name = 'MuOnline';

$credits_to_remove = 1000;

if(in_array($_SERVER['REMOTE_ADDR'], $mobio_remote_addrs)) {

	if($billing_status == 'Failed') {

		$conn = mssql_connect($db_serv, $db_user, $db_pass);

		if($conn) {

			mssql_select_db($db_name);
			$res = mssql_query("SELECT credits FROM MEMB_CREDITS WHERE memb___id='$item'");

			if(mssql_num_rows($res)>0) {

				mssql_query("UPDATE MEMB_CREDITS SET credits=credits-'$credits_to_remove' WHERE memb___id='$item'");
				echo 'Credits removed';

			}else{
				echo "No such user [{$item}]";
			}

		}else{
			echo 'Error connecting to DB';
		}

	}else{
		echo "Billing status is [{$billing_status}]. Not removing credits";
	}
}

?>