Cash & Vault Mod: Sudoku integrieren

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Benutzeravatar
Dungeonwatcher
Mitglied
Beiträge: 635
Registriert: 11.07.2004 10:04
Wohnort: Berlin

Cash & Vault Mod: Sudoku integrieren

Beitrag von Dungeonwatcher »

Hi! 8)

Monatelang habe ich mir die Birne zermatert um den Sudoku Mod, den Cash Mod und den Vault Mod zusammenzubringen. Gestern nun fiel mir endlich diese simple Lösung ein. :)

Auch hier ist dies Vault Mod: keine Nachkommastellen? wieder die Voraussetzung.

Suche in der funktions_sudoku.php:

Code: Alles auswählen

function sudoku_grid_success($pack, $num, $curr_points, $redirect)
{
	global $db, $userdata, $lang, $lrow, $line;
	// update the user stats
		$sql=" UPDATE " . SUDOKU_STATS . "
		SET played=played+1, points=points+'$curr_points'
		WHERE user_id=" . $userdata['user_id'];
		if (!$db->sql_query($sql) )
		{
			message_die(GENERAL_ERROR, 'Error inserting Sudoku userdata to database', '', __LINE__, __FILE__, $sql); 
		}
ersetze es durch:

Code: Alles auswählen

function sudoku_grid_success($pack, $num, $curr_points, $redirect)
{
	global $db, $userdata, $lang, $lrow, $line, $cash;
	// update the user stats
		$sql=" UPDATE " . SUDOKU_STATS . "
		SET played=played+1, points=points+'$curr_points'
		WHERE user_id=" . $userdata['user_id'];
		if (!$db->sql_query($sql) ) 
		{ 
			message_die(GENERAL_ERROR, 'Error inserting Sudoku userdata to database', '', __LINE__, __FILE__, $sql); 
		}
		
		$cash = round($curr_points / 10,2);
		$cash_bank_profit = round($cash * 25/100,2);
		$cash = $cash - $cash_bank_profit;
		
		$sql=" UPDATE " . USERS_TABLE . "
			SET user_points=user_points+'$cash'
			WHERE user_id=" . $userdata['user_id'];
		if (!$db->sql_query($sql) )
		{
			message_die(GENERAL_ERROR, 'Error inserting User_points userdata to database', '', __LINE__, __FILE__, $sql);
		}

		$sql = "UPDATE " . VAULT_GENERAL_TABLE ."
			SET config_value = config_value + $cash_bank_profit
			WHERE config_name = 'bank_profit_sum'";
		if( !$db->sql_query($sql))
		{
			message_die(GENERAL_ERROR, 'Could not obtain update bank profit', "", __LINE__, __FILE__, $sql);
		}
Die Punkte bzw. der Geldbetrag werden hierbei wie folgt berechnet:

Die Erreichte Punktzahl dividiert durch 10 minus 25 Prozent. Das sind, wenn keine Fehler beim lösen gemacht wurden ca. 37 Punkte.

Es ist jedoch ohne weiteres möglich diese Berechnung zu ändern und seinen eigenen Bedürfnissen anzupassen. Verantwortlich hierfür sind diese drei Zeilen:

Code: Alles auswählen

		$cash = round($curr_points / 10,2);
		$cash_bank_profit = round($cash * 25/100,2);
		$cash = $cash - $cash_bank_profit;
Bye
Antworten

Zurück zu „phpBB 2.0: Mod Support“