Knuffel 2.2.0

Allgemeiner Support zum phpBB 2 Board und phpBB 2 Modifikationen
Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Beitrag von Holger »

[quote="Dungeonwatcher";p="80453"]Hi! :cool:

Ich habe die von mir an das phpBB2 Design angepasste Version inkl. einem Screenshot eben auf http://forum4u.biz/ hoch geladen. Wer es testen will, braucht nur alle Dateien ersetzen. Bis auf einen Fehler im JavaScript ist das ganze jetzt auch W3C konform.

Bye[/quote]
Das ist ja supernett! :respect:

Arrrg ... muss man sich dort registrieren um was zu sehen?

/Holger
Zuletzt geändert von Holger am Mi 09.Jan, 2008 15:00, insgesamt 1-mal geändert.
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Beitrag von Dungeonwatcher »

@oxpus

Neee, das währe zu einfach. Dann gibt es 'ne Fehlermeldung das die Tags '0', '1' etc. nicht gefunden werden und das Spiel streikt.

@Holger

Jupp, um zu testen musst du dich registrieren.
Zuletzt geändert von Dungeonwatcher am Mi 09.Jan, 2008 15:04, insgesamt 2-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Wie lautet denn die Fehlermeldung genau?
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Beitrag von Dungeonwatcher »

So:
Debug: The tag with specified id (0) was not found on the document.
Debug: The tag with specified id (1) was not found on the document.
Debug: The tag with specified id (2) was not found on the document.
Debug: The tag with specified id (3) was not found on the document.
Debug: The tag with specified id (4) was not found on the document.
Das muss wohl mit diesem Abschnitt zu tun haben:

Code: Alles auswählen

// The D6Animator class
function D6Animator(id, baseUrl, key) {
	if ((typeof id != "string") || !id) return; // allows a dummy object to be created without causing errors below.
	this.id = id;
	if ((typeof key != "string") || !key) key = id;
	D6Animator.animators[id] = this;
	if (document.getElementById) {
		var targetElem = document.getElementById(id);
		if (!targetElem) {
			this.nope("Debug: The tag with specified id (" + id + ") was not found in the document.");
		} else {
[...]
Zuletzt geändert von Dungeonwatcher am Mi 09.Jan, 2008 15:41, insgesamt 1-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Ich glaub, ich habs!
In der knuffel220.js ist das hier drinnen:

Code: Alles auswählen

function D6Animator(id, baseUrl, key) {
	if ((typeof id != "string") || !id) return; // allows a dummy object to be created without causing errors below.
	this.id = id;
	if ((typeof key != "string") || !key) key = id;
	D6Animator.animators[id] = this;
	if (document.getElementById) {
		var targetElem = document.getElementById(id);
hier die letzte Zeile

Code: Alles auswählen

		var targetElem = document.getElementById(id);
durch

Code: Alles auswählen

		var targetElem = document.getElementById('d'+id);
ersetzen.
Auch an anderer Stelle wird ähnliches in den "Klassen" gemacht. Also greifen wir hier auch mal ein ;)

EDIT
Jo, Du warst genau so schnell ;)
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Beitrag von Dungeonwatcher »

[quote="oxpus";p="80466"]Ich glaub, ich habs![/quote]

Jupp, das scheint's tatsächlich gewesen zu sein. Alle Würfel sind da, keine Fehlermeldung, auch das Berechnen scheint auf den ersten Blick zu funktionieren und Validome meckert jetzt ebenfalls nicht mehr. :anbet

Da werde ich gleich mal mein Paket an den Programmierer aktualisieren. :cool:
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Beitrag von Holger »

Hmmmm ... da sind ja einige Texte im Code versteckt! Schlamperei!
Real men don’t back up, they learn data recovery. ;-)
http://www.mysqldumper.de
http://www.mysqldumper.se
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Beitrag von Dungeonwatcher »

[quote="Holger";p="80469"]Hmmmm ... da sind ja einige Texte im Code versteckt! Schlamperei![/quote]

Es gibt schlimmeres. In der Vorversion (Knuffel v1.1) waren wohl fast alle Texte im Code fest eingebaut. Wenn ich den Programmierer richtig verstehe, dann wird bei einem evtl. größerem Update auch dieser noch ausgelagert werden. Ich bin jedenfalls momentan zufrieden mit der jetzigen Version. :cool:
Wobei, das mit den Usernamen in der Statistik als Link währe noch schön. :pfff
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Beitrag von Holger »

Ich habe alles geändert.
Deine Version scheint gut zu funktionieren.
Muss ich updaten (Code-Änderungen oben)?
Real men don’t back up, they learn data recovery. ;-)
http://www.mysqldumper.de
http://www.mysqldumper.se
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Beitrag von Dungeonwatcher »

[quote="Holger";p="80471"]Ich habe alles geändert.
Deine Version scheint gut zu funktionieren.[/quote]

Naja, es waren auch hauptsächlich Designfragen und W3C kuddelmuddel zu entwirren. Am eigentlichen Code habe ich nichts geändert.
Muss ich updaten (Code-Änderungen oben)?
Müssen musst du nicht. Es sei du bist so verrückt wie ich nach validen Webseiten, dann tue das was @oxpus geschrieben hat. ;)
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Schön zu lesen, daß ich doch noch nicht verkalkt bin ;)
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Beitrag von Holger »

Hm, jetzt bekomme ich diese komischen Fehlermeldungen!
Real men don’t back up, they learn data recovery. ;-)
http://www.mysqldumper.de
http://www.mysqldumper.se
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Beitrag von Dungeonwatcher »

[quote="Holger";p="80474"]Hm, jetzt bekomme ich diese komischen Fehlermeldungen![/quote]

Die beiden in der PN genannten Dateien ersetzt?
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Beitrag von Holger »

Japp.
Real men don’t back up, they learn data recovery. ;-)
http://www.mysqldumper.de
http://www.mysqldumper.se
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Beitrag von Dungeonwatcher »

[quote="Holger";p="80476"]Japp.[/quote]

Hmmm, sicher? ^6
Dann sollte es diese Meldung eigentlich nicht geben. Die knuffel.php sollte von Heute 15:42 und die knuffel220.js von Heute 15:45 sein.
Benutzeravatar
ZMANN
Beiträge: 99
Registriert: Sa 21.Jul, 2007 00:31
Wohnort: Pfungstadt
Kontaktdaten:

Beitrag von ZMANN »

Ist es eigendlich schwierig das Spiel an den Color Group Mod anzupassen???

Welche datei müsste das denn sein?
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Beitrag von Dungeonwatcher »

[quote="ZMANN";p="80483"]Welche datei müsste das denn sein?[/quote]

knuffel.php, knuffelscore.php und knuffelhighscore.php
Benutzeravatar
ZMANN
Beiträge: 99
Registriert: Sa 21.Jul, 2007 00:31
Wohnort: Pfungstadt
Kontaktdaten:

Beitrag von ZMANN »

Habe mal versucht die "knuffelhighscore.php" an den Color Group Mod anzupassen, bin mal nach einem anderen Beispiel gegangen, aber wenn ich es eingebaut habe verschwinden die Namen in der liste?

Habe ihn so eingebaut:

Code: Alles auswählen

define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

include_once($phpbb_root_path.'includes/functions_color_groups.'.$phpEx);

// Start session management
$userdata = session_pagestart($user_ip, PAGE_KNUFFEL);
init_userprefs($userdata);
if (!$userdata['session_logged_in'] )
   {
     redirect(append_sid("login.$phpEx?redirect=knuffel.$phpEx", true));
     exit;
   }
include($phpbb_root_path . 'language/lang_' .$userdata['user_lang']. '/lang_knuffel.' . $phpEx);
// End session management

$start = ( isset($HTTP_GET_VARS['start']) ) ? intval($HTTP_GET_VARS['start']) : 0;
$start = ($start < 0) ? 0 : $start;
$page_title = 'Knuffel';
include($phpbb_root_path . 'includes/page_header.'.$phpEx);

    	$template->set_filenames(array(
    		'knuffelhighscore' => 'knuffelhighscore.tpl')
    		);
	$i = $start + 1;
	$sql = "SELECT * FROM ". KNUFFEL_TABLE ." WHERE played <> '0' ORDER BY score DESC LIMIT $start,10";
  	if( !$result = $db->sql_query($sql) ) {
		message_die(GENERAL_ERROR, "Could not get top 10 information.", "", __LINE__, __FILE__, $sql);
  		}
	$r = $db -> sql_query($sql);
	while($row 	= $db -> sql_fetchrow($r)) {
		$highscorename = $row['name'];
		$highscorepoints = $row['score'];
       $highscoreplayed = $row['played'];
       $highscoreaverage = $row['average'];
		if ( $i < 4 ) {
			$highscoreposition = "<b>".$i."</b>";
			}
		else {
			$highscoreposition = $i;
			}
		$row_class = ( !($i % 2) ) ? $theme['td_class2'] : $theme['td_class1'];
       	$template -> assign_block_vars('highscore', array(
			'POSITION' => $highscoreposition,

			'NAME' => color_group_colorize_name($user_id, true),
			'POINTS' => $highscorepoints,
            		'PLAYED' => $highscoreplayed,
            		'AVERAGE' => $highscoreaverage,
           		'ROW_CLASS' => $row_class
			)
		);
		$i++;
		}

	//
	// generate the pagination
	//
    	$sql = "SELECT count(*) AS total FROM " . KNUFFEL_TABLE . " WHERE played <> '0' ";
	if ( !($result = $db->sql_query($sql)) ) {
	    	message_die(GENERAL_ERROR, 'Error getting total players', '', __LINE__, __FILE__, $sql);
	    	}
	if ( $total = $db->sql_fetchrow($result) ) {
	    	$total_players = $total['total'];
	    	$pagination = generate_pagination("knuffelhighscore.$phpEx?", $total_players, 10, $start). '&nbsp;';
	    	}
	$db->sql_freeresult($result);

	//
	// OK - that´s it - let's tell the template what we want!
	//
	$template->assign_vars(array(
		'KNUFFEL_COPY' => $lang['Knuffel_Copy'],
		'U_KNUFFEL'	=> append_sid('knuffel.'.$phpEx),
		'L_KNUFFELHIGHSCORE' => $lang['Knuffelhighscore'],
        	'L_KNUFFEL' => $lang['Knuffel'],
        	'L_POINTS' => $lang['Points'],
        	'L_PLAYED' => $lang['Played'],
        	'L_HIGHSCORENAME' => $lang['Highscorename'],
        	'L_AVERAGE' => $lang['Average'],
        	'L_POSITION' => $lang['Position'],
        	'L_PLAY_AGAIN' => $lang['Play_Again'],
	    	'PAGINATION' => $pagination,
	    	'PAGE_NUMBER' => sprintf($lang['Page_of'], ( floor( $start / $board_config['topics_per_page'] ) + 1 ), ceil( $total_members / $board_config['topics_per_page'] )),
	    	'L_GOTO_PAGE' => $lang['Goto_page']
		)
	);
	$template->pparse('knuffelhighscore');
	include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>
Was ist daran falsch?? Weiß jemand warum die Namen dann verschwinden?
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Naja:

Code: Alles auswählen

'NAME' => color_group_colorize_name($user_id, true),
$user_id wird hierbei nicht definiert, daher ist der Inhalt dann "leer".
Ich weiß zwar jetzt nicht, wie die User-ID des Users abgespeichert wird, aber füge mal als Versuch hinter

Code: Alles auswählen

$highscorename = $row['name'];
das ein:

Code: Alles auswählen

$user_id = $row['player_id'];
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
ZMANN
Beiträge: 99
Registriert: Sa 21.Jul, 2007 00:31
Wohnort: Pfungstadt
Kontaktdaten:

Beitrag von ZMANN »

funktioniert leider auch noch nicht.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Da muss dann wohl eher Dungeonwatcher helfen, er kann in die Tabelle schauen und finden, was ich meine.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Beitrag von Dungeonwatcher »

Moin! :cool:

Hmmm, die Tabelle sieht so aus:

Code: Alles auswählen

$sql[] = "CREATE TABLE " . $table_prefix . "knuffel (
    user mediumint(8) NOT NULL default '0',
    name varchar(25) NOT NULL default '',
    score mediumint(8) NOT NULL default '0',
    played mediumint(8) NOT NULL default '0',
    average mediumint(8) NOT NULL default '0',
    playing smallint(3) NOT NULL default '0',
    checker mediumint(8) NOT NULL default '0',
    PRIMARY KEY  (user)
    ) TYPE=MyISAM";
In diesem Zusammenhang dürften diese Bemerkungen des Programmierers interessant sein.

Bye
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Dann müsste "user" die User-ID enthalten.
Oder nicht?
Also für ZMANN dann

Code: Alles auswählen

$user_id = $row['user'];
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
ZMANN
Beiträge: 99
Registriert: Sa 21.Jul, 2007 00:31
Wohnort: Pfungstadt
Kontaktdaten:

Beitrag von ZMANN »

Hey ist ja Super!!!

Es funktioniert!

So muß die "knuffelhighscore.php" ausschauen:

Code: Alles auswählen

define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
include_once($phpbb_root_path.'includes/functions_color_groups.'.$phpEx);
// Start session management
$userdata = session_pagestart($user_ip, PAGE_KNUFFEL);
init_userprefs($userdata);
if (!$userdata['session_logged_in'] )
   {
     redirect(append_sid("login.$phpEx?redirect=knuffel.$phpEx", true));
     exit;
   }
include($phpbb_root_path . 'language/lang_' .$userdata['user_lang']. '/lang_knuffel.' . $phpEx);
// End session management

$start = ( isset($HTTP_GET_VARS['start']) ) ? intval($HTTP_GET_VARS['start']) : 0;
$start = ($start < 0) ? 0 : $start;
$page_title = 'Knuffel';
include($phpbb_root_path . 'includes/page_header.'.$phpEx);

    	$template->set_filenames(array(
    		'knuffelhighscore' => 'knuffelhighscore.tpl')
    		);
	$i = $start + 1;
	$sql = "SELECT * FROM ". KNUFFEL_TABLE ." WHERE played <> '0' ORDER BY score DESC LIMIT $start,10";
  	if( !$result = $db->sql_query($sql) ) {
		message_die(GENERAL_ERROR, "Could not get top 10 information.", "", __LINE__, __FILE__, $sql);
  		}
	$r = $db -> sql_query($sql);
	while($row 	= $db -> sql_fetchrow($r)) {
		$highscorename = $row['name'];
                $user_id = $row['user'];
		$highscorepoints = $row['score'];
       $highscoreplayed = $row['played'];
       $highscoreaverage = $row['average'];
		if ( $i < 4 ) {
			$highscoreposition = "<b>".$i."</b>";
			}
		else {
			$highscoreposition = $i;
			}
		$row_class = ( !($i % 2) ) ? $theme['td_class2'] : $theme['td_class1'];
       	$template -> assign_block_vars('highscore', array(
			'POSITION' => $highscoreposition,
			'NAME' => color_group_colorize_name($user_id, true), 
			'POINTS' => $highscorepoints,
            		'PLAYED' => $highscoreplayed,
            		'AVERAGE' => $highscoreaverage,
           		'ROW_CLASS' => $row_class
			)
		);
		$i++;
		}

	//
	// generate the pagination
	//
    	$sql = "SELECT count(*) AS total FROM " . KNUFFEL_TABLE . " WHERE played <> '0' ";
	if ( !($result = $db->sql_query($sql)) ) {
	    	message_die(GENERAL_ERROR, 'Error getting total players', '', __LINE__, __FILE__, $sql);
	    	}
	if ( $total = $db->sql_fetchrow($result) ) {
	    	$total_players = $total['total'];
	    	$pagination = generate_pagination("knuffelhighscore.$phpEx?", $total_players, 10, $start). ' ';
	    	}
	$db->sql_freeresult($result);

	//
	// OK - that´s it - let's tell the template what we want!
	//
	$template->assign_vars(array(
		'KNUFFEL_COPY' => $lang['Knuffel_Copy'],
		'U_KNUFFEL'	=> append_sid('knuffel.'.$phpEx),
		'L_KNUFFELHIGHSCORE' => $lang['Knuffelhighscore'],
        	'L_KNUFFEL' => $lang['Knuffel'],
        	'L_POINTS' => $lang['Points'],
        	'L_PLAYED' => $lang['Played'],
        	'L_HIGHSCORENAME' => $lang['Highscorename'],
        	'L_AVERAGE' => $lang['Average'],
        	'L_POSITION' => $lang['Position'],
        	'L_PLAY_AGAIN' => $lang['Play_Again'],
	    	'PAGINATION' => $pagination,
	    	'PAGE_NUMBER' => sprintf($lang['Page_of'], ( floor( $start / $board_config['topics_per_page'] ) + 1 ), ceil( $total_members / $board_config['topics_per_page'] )),
	    	'L_GOTO_PAGE' => $lang['Goto_page']
		)
	);
	$template->pparse('knuffelhighscore');
	include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>
Das heißt jetzt das es bei der knuffel.php und der knuffelscore.php genauso gemacht werden muß, oder?
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Yepp.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Antworten