anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Mi 24 Apr, 2024 16:58

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Spieler des Tages, Mod
BeitragVerfasst: Di 20 Nov, 2007 16:55 
Offline
Freak
Freak

Registriert: Mo 06 Sep, 2004 15:17
Beiträge: 3236
Geschlecht: Männlich
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',


Zuletzt geändert von Kevz am Di 06 Mai, 2008 14:43, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Spieler des Tages, Mod
BeitragVerfasst: Di 06 Mai, 2008 13:38 
Offline
Meister
Meister
Benutzeravatar

Registriert: Mo 05 Feb, 2007 12:33
Beiträge: 375
Wohnort: Hattingen
Geschlecht: Männlich
LoGD: http://www.alvion-logd.de/logd/
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 ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Spieler des Tages, Mod
BeitragVerfasst: Di 06 Mai, 2008 13:51 
Offline
Freak
Freak

Registriert: Mo 06 Sep, 2004 15:17
Beiträge: 3236
Geschlecht: Männlich
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.ä.??


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Spieler des Tages, Mod
BeitragVerfasst: Di 06 Mai, 2008 14:28 
Offline
Meister
Meister
Benutzeravatar

Registriert: Mo 05 Feb, 2007 12:33
Beiträge: 375
Wohnort: Hattingen
Geschlecht: Männlich
LoGD: http://www.alvion-logd.de/logd/
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.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Spieler des Tages, Mod
BeitragVerfasst: So 11 Mai, 2008 21:28 
Offline
Profi
Profi
Benutzeravatar

Registriert: Mo 20 Sep, 2004 23:43
Beiträge: 164
Wohnort: Berlin
LoGD: http://www.atrahor.de/source.php
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.

_________________
Atrahor.de
http://www.atrahor.de/ci_images.php?id=1


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 74 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen
Du darfst keine Antworten zu Themen in diesem Forum erstellen
Du darfst deine Beiträge in diesem Forum nicht ändern
Du darfst deine Beiträge in diesem Forum nicht löschen
Du darfst keine Dateianhänge in diesem Forum erstellen

Suche nach:
Gehe zu:  
cron
POWERED_BY
Deutsche Übersetzung durch phpBB.de
anpera.net - Impressum