anpera.net https://anpera.dyndns.org/phpbb3/ |
|
Spieler des Tages, Mod https://anpera.dyndns.org/phpbb3/viewtopic.php?f=43&t=4142 |
Seite 1 von 1 |
Autor: | Kevz [ Di 20 Nov, 2007 16:55 ] |
Betreff des Beitrags: | Spieler des Tages, Mod |
Spieler des Tages, Mod: Dieser Mod, ist mehr ein "Fun" Mod, und kann beliebig abgeändert werden. Es wird dadurch in Verbindung mit dem "Ansehen" eine Art, "Spieler des Tages" erwählt. Dies kann individuell von den Einstellungen gehandhabt werden. Belohnungen & co sind ebenfalls möglich. Ein kleines Update, der Sauberkeit folgt. Datei: setnewday.php Suche: PHP: // end cleanup Füge darunter hinzu: PHP: /** * Legend of the Green Dragon - Spieler des Tages * 2007 (C) by Kevin Gödecker [Kevz] * * * Mit diesem Mod kann bei Aktivierung dieser Option, ein Spieler * des Tages gewählt werden. Dies ist aber dann jeweils von den * Einstellungen abhängig, wie viel der Spieler an ansehen bei den * Bewohnern haben muss, um zur Teilnahme angenommen zu werden! */ if ( getsetting('PotD.active', 0) ) { // If the players have enough minimum vision, to participate? $sql = 'SELECT `acctid`, `name` FROM `accounts` WHERE `reputation` >= '.(int)getsetting('PotD.reputation', 0).' AND `acctid` <> '.(int)getsetting('PotD.user').' ORDER BY `reputation` DESC LIMIT 1'; $res = db_query($sql) or die (db_error($sql)); // The player with the most prestige, as a player of the day. if ( db_num_rows($res) ) { $row = db_fetch_assoc($res); savesetting('PotD.user', $row['acctid']); if ( !empty(getsetting('PotD.bonus', '')) ) { $pbonus = explode(';', getsetting('PotD.bonus', '')); $bonus = explode(',', $pbonus); foreach ( $bonus as $key => $val) { $session['user'][$key] += $val; } } if ( !empty(getsetting('PotD.message', '')) ) addnews(str_replace('%user%', $row['name'], getsetting('PotD.message', ''))); output('`n`9Da du aufgrund deiner großen Ehrenhaftigkeit das Volk auf deiner Seite hast, '); output('wurdest Du zum "`bSpieler des Tages`b" erwählt!`0'); } } Datei: configuration.php Suche: PHP: "Spieleinstellungen Ende,title" Füge darüber hinzu: PHP: 'Spieler des Tages (Einstellungen),title',
'PotD.active' => 'Ist für Spieler verfügbar?,bool', 'PotD.reputation' => 'Mindestansehen des Spielers (0 = egal),int', 'PotD.message' => 'News- Nachricht (0 = Deaktiviert; %user% = Spielername),int', 'PotD.bonus' => 'Belohnung(en) des Spielers (Bsp: gold,500;charm,2),int', 'PotD.user' => 'Spieler-ID Kennung, für Spieler des Tages (0 = Niemand),int', |
Autor: | Linus [ Di 06 Mai, 2008 13:38 ] |
Betreff des Beitrags: | Re: Spieler des Tages, Mod |
Ich hab mir diesen Codeschnipsel mal angeschaut, eine nette Idee eigendlich ... nur denke ich das es so nicht funktionieren kann. Du machst dir die Mühe einen Spieler des Tages zu setzen ... verteilst die dazugehörigen Boni aber an den der zufällig das Glück hatte die setnewday anzustossen: Kevz hat geschrieben: Spieler des Tages, Mod: PHP: foreach ( $bonus as $key => $val) { $session['user'][$key] += $val; } Und das alles soll wirklich in die setnewday.php? Folgendes macht für mich dort keinen Sinn, die setnewday.php ruft die Funktion page_footer() nicht auf. Also wer sollte das $output ausgeben?: Kevz hat geschrieben: Spieler des Tages, Mod: PHP: output('`n`9Da du aufgrund deiner großen Ehrenhaftigkeit das Volk auf deiner Seite hast, '); output('wurdest Du zum "`bSpieler des Tages`b" erwählt!`0'); Sorry für die Kritik und dafür einen alten Fred wieder aufzuwärmen, aber so wie es da steht kann man es nicht nutzen ![]() |
Autor: | Kevz [ Di 06 Mai, 2008 13:51 ] |
Betreff des Beitrags: | Re: Spieler des Tages, Mod |
Möp! Die Datei "setnewday.php" wird innerhalb der Datei "newday.php" eingebunden. Soviel dazu erst einmal. Und jetzt erkläre mir bitte, was die Datei "setnewday.php" nicht mit der anderen zu tun hat, was die Ausgabe betrifft?! Wenn Du Kritik ausüben möchtest, dann studiere die Dateien und wie diese genutzt werden! ![]() Achja und bitte zeige mir einmal, weshalb es nicht Funktionieren sollte? Fehlermeldungen, Bugs o.ä.?? |
Autor: | Linus [ Di 06 Mai, 2008 14:28 ] |
Betreff des Beitrags: | Re: Spieler des Tages, Mod |
Hmmm ... ja, das mit der page_footer() in der newday.php hab ich nicht bedacht, da hast du jecht. Doch IMHO wird die setnewday nur einmal am neuen Spieltag ausgeführt ... also wird nicht jeder den es betrifft den output zu sehen bekommen, und die Bonis wirklich an $session['user'] verteilt werden und nicht an den zuvor ermittelten Spieler des Tages. Oder liege ich da auch falsch? Dann klär mich bitte auf^^ EDIT: und hier die gewünschte Fehlermeldung: in der Adresszeile des Browsers: http://192.168.178.23/logd/newday.php und dann nur eine weise Seite mit folgender Meldung: Fatal error: Can't use function return value in write context in C:\xampp\htdocs\logd\setnewday.php on line 299 nachdem man den Brwoser aktualisieren lässt geht es weiter als hätte es nie ein Spieler des Tages-Mod gegeben. Ich kann dir auch die setnewday.php posten wenn du dich versichern möchtest das es keinen Fehler beim Einbau gegeben hat. |
Autor: | dragonslayer [ So 11 Mai, 2008 21:28 ] |
Betreff des Beitrags: | Re: Spieler des Tages, Mod |
Ich kannd ir leider nicht sagen wieso der fehler bei dir auftrat, aber wie er zustande kommt Du hast versucht einem Rückgabewert einer Funktion etwas zuzuweisen so wie hier z.B. if(strlen($xyz) = 4) Such mal nach sowas an der von der monierten Stelle. |
Seite 1 von 1 | Alle Zeiten sind UTC + 1 Stunde |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |