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. Erforderliche Felder sind mit * markiert.