Seite 1 von 1

Knuffel - Highscoreanzeige & Top 3 anpassen

Verfasst: 13.06.2016 17:33
von forza sve
Hallo zusammen.

Hat jemand eine Idee wie man in der Knuffel Extension den Highscore erhöhen kann ? Also z.b. das die besten 10 o. 20 Ergebnisse angezeigt werden. Auch das mehrere Ergebnisse eines Benutzer/User angezeigt werden.....Danke

Re: Knuffel

Verfasst: 13.06.2016 18:09
von Scanialady
Ich nehme an, dafür ist dieser Bereich der ..knuffel/controller/main.php verantwortlich:

Code: Alles auswählen

			// Show Top 3
			$i = 1;
			$sql_array = array(
				'SELECT'	=> 'u.user_id, u.username, u.user_colour, k.*',

				'FROM'		=> array(
				USERS_TABLE	=> 'u',
			),

			'LEFT_JOIN'	=> array(
			array(
				'FROM'	=> array($this->knuffel_table => 'k'),
				'ON'	=> 'u.user_id = k.user_id'
				),
			),

				'WHERE'		=> 'k.score > 0',
				'ORDER_BY'	=> 'k.score DESC, k.average DESC',
			);

			$sql = $this->db->sql_build_query('SELECT', $sql_array);
			$result = $this->db->sql_query_limit($sql, 3);

			while ( $row = $this->db->sql_fetchrow($result) )
			{
				$highscore_position = "<img src='" . $board_url. "ext/dmzx/knuffel/knuffel/images/rank/".$i.".gif' alt='*' />";

				$this->template->assign_block_vars('highscore', array(
					'POSITION'	=> $highscore_position,
					'NAME'		=> get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']),
					'POINTS'	=> $row['score'],
				));
				$i++;
			}
			$this->db->sql_freeresult($result);

			$this->template->assign_vars(array(
				'S_KNUFFEL'				=> true,
				'U_KNUFFEL_PLAY'		=> $this->helper->route('dmzx_knuffel_controller', array('mode' => 'knuffel_play')),
				'U_KNUFFEL_HIGHSCORE' 	=> $this->helper->route('dmzx_knuffel_controller', array('mode' => 'highscore')),
				'U_KNUFFEL_USERGUIDE' 	=> $this->helper->route('dmzx_knuffel_controller', array('mode' => 'userguide')),
			));

			break;

Re: Knuffel

Verfasst: 13.06.2016 18:19
von Melmac
Hi,
forza sve hat geschrieben:Hat jemand eine Idee wie man in der Knuffel Extension den Highscore erhöhen kann ? Also z.b. das die besten 10 o. 20 Ergebnisse angezeigt werden.
Meinst Du die High Score Liste?
Knuffel settings_01.png
Oder den Top 3 Block auf der Knuffel-Übersichtsseite?
Falls Letzteres, könntest Du mal folgendes probieren:
- öffne <phpbb_root>/ext/dmzx/knuffel/controller/main.php
suche (Zeile 184)

Code: Alles auswählen

$result = $this->db->sql_query_limit($sql, 3);
und passe den Wert 3 entsprechend auf z.B. 10 an.

- danach in <phpbb_root>/ext/dmzx/knuffel/language/de/common.php
suche

Code: Alles auswählen

'TOP_3'						=> 'TOP 3',
hier dann 3 auf den Wert von oben umstellen.

Bei Deiner zweiten Frage muss ich leider passen.

Re: Knuffel

Verfasst: 13.06.2016 18:32
von forza sve
Hi danke für die schnellen Rückmeldungen.

Ja ich meinte den Top 3 Block (sorry) - und das beim Highscore auch die 'Highscores' angezeigt werden auch wenn sie von ein und demselben User stammen. :)

Re: Knuffel

Verfasst: 13.06.2016 18:47
von Melmac
Einen möglichen Ansatz für den "Top 3" Block hatte ich gepostet.
Nur: Ich sehe gerade, dass ich mich beim letzten Editvorschlag etwas missverständlich ausgedrückt habe :oops:

gemeint war:
suche

Code: Alles auswählen

    'TOP_3'                  => 'TOP 3',
und ersetze durch z.B.

Code: Alles auswählen

    'TOP_3'                  => 'TOP 10',
forza sve hat geschrieben:und das beim Highscore auch die 'Highscores' angezeigt werden auch wenn sie von ein und demselben User stammen. :)
Wie geschrieben: hierbei bin ich doch etwas überfragt; vielleicht kann Dir aber jemand anderes hierbei weiter helfen.