Quiz Addon: Oxpus Community Projekt

Neue Projekte und Anfragen, Teamarbeiten und Alpha/Beta Scripte jeder Art.
KEINE Supportanfragen zu bestehenden MODs!
Antworten
Benutzeravatar
SethDeBlade
Beiträge: 708
Registriert: Mo 31.Mai, 2004 02:31
Kontaktdaten:

Quiz Addon: Oxpus Community Projekt

Beitrag von SethDeBlade »

Ich habe mir da mal was ausgedacht. Ich habe saerdnaer auf phpbb.de schon mehrere Vorschläge zur Verbesserung des Quizmods gemacht, aber irgendwie hat er keine Lust oder keine Zeit dazu sich dazu zu äußern, oder sonstwas zu tun. Es gibt wohl eine aktuelle Entwicklerversion, aber die kann man nirgends runterladen. Ich will ihm jetzt hier auch nicht an den Karren fahren, vielleicht hat er auch viel zu tun.

Daher meine Idee: Was haltet ihr davon, wenn wir gemeinsam (ein) Addon(s) schreiben und die ihm dann zukommen lassen. Ich habe da mit einem Mod schon angefangen, aber ich komme damit nicht weit, weil ich mich dafür zu wenig in PHP und dem CFode von phpBB auskenne. Aber wenn wir das zusammen machen, dann sollten wir das doch hinbekommen, oder?? Und hinzukommt, dass wir ja einen Joker haben, nämlich Oxpus ^a (ich weiß, du hast kaum Zeit, war auchn Witz ;) )


Als Addon hatte ich mir folgendes überlegt, (Zitat aus phpbb.de);
Ich habe mir was überlegt. Meine User haben sich "beschwert", dass es nur eine Frage am Tag gibt, und dass man da ja schon echtes Glück haben muss, wenn man dann eine Frage erwischt. Im Moment habe ich deshalb 4 Fragen pro Tag, wovon eine um 0h und eine um 6h kommt. Da ist natürlich kaum jemand online und wenn jemand zufällig das Forum besucht, dann hat er leichtes Spiel. Deswegen habe ich mir gedacht, dass es toll wäre, wenn man dem Quizbot sagen könnte, von wann bis wann er die Fragen stellen soll. Man weiß ja, wann die besucherstärksten Zeiten sind und in denen soll der Bot die Fragen stellen.

Deswegen habe ich schon mal angefangen etwas zu modden, aber ich denke mal, dass ich ohne eure Hilfe nicht weit kommen werde, weil meine PHP-Kenntnisse dafür nicht ausreichen. Einfaches editieren und hinzufügen geht, aber wenn ich was neues selbst in php schreiben muss, da geht mir schnell die Puste aus.

Ich würde mich freuen, wenn sich also jemand beteiligen würde.

angedachte geplante Features:
- Interval deaktivieren: wenn deaktiviert, dann Standard-Verhalten des Quizbots
- Eingabe der Start- und Endstunde
- Eingabe der Anzahl von Fragen in diesem Zeitraum: Intervall / Anzahl ergibt Abstände zwischen Fragen
- Zufallsgenerator: wenn aktiv, dann variiert die Startzeit um XY% der Intervallänge um die rechnerischen Startzeiten

Die Eingabemasken und die Drop-Down-Menüs für die Eingabe der Std habe ich in der tpl-Datei schon erstellt und die entsprechenden Einträge in der lang- und admin-Datei sind auch schon vorhanden.
Bis jetzt habe ich 4 neue Tabelleneinträge in die quiz_config-Tabelle eingetragen.

Wenn Interesse besteht mir zu helfen, dann kann ich die Dateien ja mal uploaden.

Wie gefällt euch meine Idee?? Wäre die Änderung sehr umfangreich?? Prinzipiell müsste es aufwandstechnisch ja gehen, da das Addon ja "nur" das Zeitmanagement betrifft.
Was meint ihr?? Das schaffen wir doch mit Sicherheit, oder??
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Sicher schafft Ihr das. Aber ich verschiebe es mal zunächst an den richtigen Platz

*uff*
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
SethDeBlade
Beiträge: 708
Registriert: Mo 31.Mai, 2004 02:31
Kontaktdaten:

Beitrag von SethDeBlade »

das Interesse an sowas scheint ja nicht so groß zu sein :(

naja, war ja auch nur ne Idee.
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Also was mich interessieren würde wäre ein Zufallsgenerator für die Postingzeit und ein zufallsgenerator für die Frage (die ja im Orginal der reihe nach abgearbeitet werden)!
Ich hänge aber momentan am easyUCP ein wenig fest und kann deswegen hier bei deinem Projekt erstmal nicht mit einsteigen. :(
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Ich habs mir gemerkt, aber anderes geht halt momentan vor.
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
SethDeBlade
Beiträge: 708
Registriert: Mo 31.Mai, 2004 02:31
Kontaktdaten:

Beitrag von SethDeBlade »

der zufallsgenerator ist schon eingebaut, nur ist da ein fehler drinne. habe es auf phpbb.de in dem quiz-topic gelesen und eingebaut. ich schau mal, ob ich die betreffende stelle noch finde
Benutzeravatar
SethDeBlade
Beiträge: 708
Registriert: Mo 31.Mai, 2004 02:31
Kontaktdaten:

Beitrag von SethDeBlade »

habs gefunden
in includes/quiz.php

$random_quiz_id = mt_rand(1, $count_quiz_id);

da wird ne Variable $count_quiz_id verwendet, die nie definiert wurde.

einfach durch $row['num'] ersetzen und es müsste funktionieren ^^
damit klappts auch mit den zufallsfragen :D ;)
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

^^ erstmal thx Seth
Hab das jetzt gerade mal bei mir gemacht und scheint zu funktionieren. :)

Bist du bei den restlichen Punkten mittlerweile schon etwas weiter gekommen?
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Benutzeravatar
SethDeBlade
Beiträge: 708
Registriert: Mo 31.Mai, 2004 02:31
Kontaktdaten:

Beitrag von SethDeBlade »

nein, leider.

ich habe saerdnaer mal gefragt und er meinte, er hätte weder zeit noch lust den mod weiterzuentwickeln.

deswegen bin ich genau so schlau wie vorher. :(

Aber ich habe ein Addon bekommen, mit welchem man die Antwortzeit des Quizes verändern kann. Man kann einstellen, wie lange die User Zeit haben um auf eine Frage zu antworten und alle User, die in dem Zeitraum richtig geantwortet haben bekommen einen Punkt. Leider funktioniert das Addon in meinem Testforum nicht einwandfrei.

Im Moment will ich den Mod so verändern, dass er die Moderator-Einstellungen im Quiz-ACP nicht global "versteht", sondern nur für den Mod des Quizforums. Ich habe die Administration des Quizes nämlich an einen User abgegeben und der kann momentam leider nicht sehen ob die Leute richtig geantwortet haben.

Ich würde ja nicht fragen, wenn ich mir zu helfen wüsste, aber ich schaffe das alleine nicht. Könntet ihr mir vielleicht bei meinem Problem helfen??
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Im Moment will ich den Mod so verändern, dass er die Moderator-Einstellungen im Quiz-ACP nicht global "versteht", sondern nur für den Mod des Quizforums. Ich habe die Administration des Quizes nämlich an einen User abgegeben und der kann momentam leider nicht sehen ob die Leute richtig geantwortet haben.
Dazu müstest du in der includes/quiz.php folgende Funktion abändern:

Code: Alles auswählen

	//
	// This function check the quiz answer auth
	//
	function check_answer_auth($topic_id, &$userdata)
	{
		global $db;
		if ( isset($userdata['quiz_answer_auth_' . $topic_id]) )
		{
			return $userdata['quiz_answer_auth_' . $topic_id];
		}
		if ( !$userdata['session_logged_in'] )
		{
			$userdata['quiz_answer_auth_' . $topic_id] = false;
			return false;
		}
		$this->get_config('allow_admin_in_quiz, allow_mod_in_quiz, allow_quiz_from_user_in_quiz, banned_users, banned_groups');
		if ( $userdata['user_level'] > USER )
		{
			if ( $userdata['user_level'] == ADMIN )
			{
				if ( !$this->config['allow_admin_in_quiz'] )
				{
					$userdata['quiz_answer_auth_' . $topic_id] = false;
					return false;
				}
			}
			else
			{
				if ( !$this->config['allow_mod_in_quiz'] )
				{
					$userdata['quiz_answer_auth_' . $topic_id] = false;
					return false;
				}
			}
		}
		if ( !$this->config['allow_quiz_from_user_in_quiz'] )
		{
			if ( empty($this->quiz_data) )
			{
				$this->get_quiz_data($topic_id);
			}
			if ( $userdata['user_id'] == $this->quiz_data['quiz_from_user_id'] )
			{
				$userdata['quiz_answer_auth_' . $topic_id] = false;
				return false;
			}
		}
		if ( !empty($this->config['banned_users']) )
		{
			if ( strpos(' ,' . $this->config['banned_users'] . ',', ',' . $user_id . ',') )
			{
				$userdata['quiz_answer_auth_' . $topic_id] = false;
				return false;
			}
		}
		$sql = "SELECT count(*) AS num
			FROM " . QUIZ_ANSWER_TABLE . "
			WHERE topic_id = '$topic_id'
				AND user_id = '" . $userdata['user_id'] . "'";
		if ( !($result = $db->sql_query($sql)) )
		{
			message_die(GENERAL_ERROR, 'Could not select user answer data', '', __LINE__, __FILE__, $sql);
		}
		$row = $db->sql_fetchrow($result);
		if ( $row['num'] > 0 )
		{
			$userdata['quiz_answer_auth_' . $topic_id] = false;
			return false;
		}
		if ( !empty($this->config['banned_groups']) )
		{
			$sql = "SELECT count(*) AS num FROM " . USER_GROUP_TABLE . " WHERE user_id = '" . $userdata['user_id'] . "' AND group_id IN(" . $this->config['banned_groups'] . ")";
			if ( !($result = $db->sql_query($sql)) )
			{
				message_die(GENERAL_ERROR, 'Could not select user group infos', '', __LINE__, __FILE__, $sql);
			}
			$row = $db->sql_fetchrow($result);
			if ( $row['num'] > 0 )
			{
				$userdata['quiz_answer_auth_' . $topic_id] = false;
				return false;
			}
		}
		$sql = "SELECT count(*) AS num
			FROM " . POSTS_TABLE . " p, " . POSTS_TEXT_TABLE . " pt
			WHERE p.topic_id = '$topic_id'
				AND p.poster_id = '" . $userdata['user_id'] . "'
				AND pt.post_id = p.post_id
				AND pt.quiz_answer <> ''";
		if ( !($result = $db->sql_query($sql)) )
		{
			message_die(GENERAL_ERROR, 'Could not select post count', '', __LINE__, __FILE__, $sql);
		}
		$row = $db->sql_fetchrow($result);
		if ( $row['num'] > 0 )
		{
			$userdata['quiz_answer_auth_' . $topic_id] = false;
			return false;
		}
		
		$userdata['quiz_answer_auth_' . $topic_id] = true;
		return true;
	}
Wie man das aber am Geschicktestem macht fällt mir aber spontan gerade nicht ein. :(
Ich lass es mir in einer ruhigen Minute mal durch den Kopf gehen.
Zuletzt geändert von AmigaLink am So 29.Aug, 2004 08:19, insgesamt 1-mal geändert.
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Benutzeravatar
SethDeBlade
Beiträge: 708
Registriert: Mo 31.Mai, 2004 02:31
Kontaktdaten:

Beitrag von SethDeBlade »

so spontan würde ich mal sagen, dass man das hier

Code: Alles auswählen

            if ( !$this->config['allow_mod_in_quiz'] )
            {
               $userdata['quiz_answer_auth_' . $topic_id] = false;
               return false;
            } 
verändern muss.

man müsste vielleicht vorher ne abfrage machen, wer quizforum-mod ist und diese inso in die obige schleife einbauen.

nur wie ich das machen soll, da hab ich keine ahnung
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

man müsste vielleicht vorher ne abfrage machen, wer quizforum-Mod ist und diese inso in die obige schleife einbauen.
Genau das ist es was ich beizeiten mal näher durchdenken werde. :)
Es sei denn mir kommt jemand zuvor! ;)
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

:pfff
Ich nicht...
Kämpfe erstmal mit dem neuen Mod Projekt ( ;) ) und dann sehen wir uns die bestehenden Anfragen mal näher an ...
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
Dizko
Beiträge: 38
Registriert: Di 28.Sep, 2004 19:00

Beitrag von Dizko »

can't download the quiz Mod
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

From where? In the download section you can...
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