PHPBB „AutoHangman“ Hack für Hangman-Mod

Mit Hilfe dieser kleinen Änderung ist es möglich, Hangmans im phpBB anhand einer Wortliste automatisch erzeugen lassen.

Dazu wird eine Tabelle phpbb_hangman_auto mit den Spalten id (int, auto increment, primary key) und word (varchar(255)) erzeugt, und eine passende Wortliste dort importiert. Der Code unten, der nach den Zeilen

/* Hangmans anzeigen => header,hangman_overview.tpl,footer */
if ($mode == 'overview')
{

in die hangman.php eingefügt werden sollte, erstellt bei jedem Aufruf der Übersichtsseite, sofern weniger als 10 aktive Hangman’s aktiv sind, Hangman’s mit festen (in der INSERT Zeile stehenden, die userid da ggfs. anpassen, den Benutzer sollte es geben und er sollte nicht mitspielen wollen) Parametern und zufälligen Worten aus der hangman_auto Tabelle, so das wieder 10 Hangman’s zur Verfügung stehen. Das Wort wird dabei in der hangman_auto Tabelle gelöscht. Code:

//******************** AUTO Hangman ;) **************************
$res = mysql_query("SELECT count(*) FROM ".HANGMAN_WORDS." WHERE bwon=0") or die(mysql_error());
list($cnt) = mysql_fetch_row($res);
if ($cnt<10) {
$res = mysql_query("SELECT id,word,RAND() so FROM phpbb_hangman_auto ORDER BY so DESC LIMIT ".(10-$cnt));
$ids=Array();
while($d = mysql_fetch_assoc($res)) {
$ids[] = $d["id"];
mysql_query("INSERT INTO ".HANGMAN_WORDS."(userid, hangman_word, hangman_help, hangman_subject, max_tries, time_created, time_limit, bwon, quessed_letters, bbcodeid, winner) VALUES (2,'".$d['word']."', '','AutoHangman :)', 3, ".time().", ".(time()+24*60*60*10).", 0, '', '".(substr(md5(time()), 0,10))."', 0)") or die(mysql_error());
}
if (count($ids)>0) mysql_query("DELETE FROM phpbb_hangman_auto WHERE id IN (".implode(",", $ids).")");
}
//***************** AUTO Hangman Ende ***************

Als Wortliste eignet sich beispielsweise das Wörterbuch der Rechtschreibprüfung von pspell oder OpenOffice (*.dic), sofern man dieses etwas nachbearbeitet („/“ und alles danach entfernen, zu kurze Wörter entfernen).

Dieser Beitrag wurde unter Software, Websoftware veröffentlicht. Setze ein Lesezeichen auf den Permalink.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.


Warning: Declaration of sk2_captcha_plugin::output_plugin_UI() should be compatible with sk2_plugin::output_plugin_UI($output_dls = true) in /is/htdocs/wp1153128_S7O04BK1JT/www/blog/wp-content/plugins/SK2/sk2_plugins/sk2_captcha_plugin.php on line 60

Warning: Declaration of sk2_pjw_simpledigest::output_plugin_UI() should be compatible with sk2_plugin::output_plugin_UI($output_dls = true) in /is/htdocs/wp1153128_S7O04BK1JT/www/blog/wp-content/plugins/SK2/sk2_plugins/sk2_pjw_daily_digest_plugin.php on line 210

Warning: Declaration of sk2_rbl_plugin::treat_this($cmt_object) should be compatible with sk2_plugin::treat_this(&$cmt_object) in /is/htdocs/wp1153128_S7O04BK1JT/www/blog/wp-content/plugins/SK2/sk2_plugins/sk2_rbl_plugin.php on line 227

Warning: Declaration of sk2_referrer_check_plugin::output_plugin_UI() should be compatible with sk2_plugin::output_plugin_UI($output_dls = true) in /is/htdocs/wp1153128_S7O04BK1JT/www/blog/wp-content/plugins/SK2/sk2_plugins/sk2_referrer_check_plugin.php on line 70

Warning: Use of undefined constant after - assumed 'after' (this will throw an Error in a future version of PHP) in /is/htdocs/wp1153128_S7O04BK1JT/www/blog/wp-content/plugins/SK2/sk2_core_class.php on line 314

Warning: Use of undefined constant after - assumed 'after' (this will throw an Error in a future version of PHP) in /is/htdocs/wp1153128_S7O04BK1JT/www/blog/wp-content/plugins/SK2/sk2_core_class.php on line 314