anpera.net
http://anpera.homeip.net/phpbb3/

Das Kloster
http://anpera.homeip.net/phpbb3/viewtopic.php?f=43&t=3339
Seite 2 von 2

Autor:  Noel [ Mo 28 Mai, 2007 15:36 ]
Betreff des Beitrags: 

wie kann man es machen das der eigene titel durch klosterräuber ersetzt wird?
also statt das da:
klosterräuber einwanderer noel
einfach nur klosterräuber noel steht

Autor:  Morpheus [ Mo 28 Mai, 2007 20:13 ]
Betreff des Beitrags: 

ACHTUG, UNGETESTET!

Öfnne Klosterabt.php und suche:

$this->bbcode_second_pass_code('', '
$session['user']['title'] = $newtitle;
')

ersetze mit:

$this->bbcode_second_pass_code('', '
$session['user']['ctitle'] = $newtitle;
')

Teste es lieber erst mal, sollte aber so funktionieren.... ;) :wink:

Autor:  Noel [ Di 29 Mai, 2007 06:52 ]
Betreff des Beitrags: 

er ersetzt zwar den eigenen titel, aber in der vitalinfo hängt er den klosterräuber einfach nur vorne dran

Autor:  Morpheus [ Di 29 Mai, 2007 18:15 ]
Betreff des Beitrags: 

Eigentlöich sollte er den Titel durch den neuen ersetzen, ich schau noch mal...

Autor:  Noel [ Mi 30 Mai, 2007 11:45 ]
Betreff des Beitrags: 

ja wenn es noch der normale titel nach dem dk ist klappt es auch.. aber wenn jemand schon einen titel in der jägerhütte gewählt hat hängt er den titel klosterräuber nur vorn dran... sry hab mich vorher vielleicht ein wenig blödausgedrückt

Autor:  Morpheus [ Do 31 Mai, 2007 17:27 ]
Betreff des Beitrags: 

Wirf mal einen Blick in die lodge.php, dort in den Punkt, unter dem man einen eigenen Titel wählen kann, das dortige Schema kannst Du übernehmen... ;)

Autor:  Aaron73 [ Mo 16 Feb, 2009 23:20 ]
Betreff des Beitrags:  Re: Das Kloster

Zur der fehlerhaften Titelbehandlung habe ich dies bei uns wie folgt gelöst:

Der originale Titel, sei es "title" (also der DK-Titel) oder der "ctitle" (also der vom Spieler bestimmte Titel), wird durch das stehlen der Dose durch "Klosterräuber" ersetzt. Am neuen Tag wird dann wieder der vorige Titel gesetzt.

Das ganze wird wie folgt geändert:
PHP:
//Suche in klosterabt.php:
$name=$session['user']['name'];
addnews("$name `7wollte im Kloster stehlen und hat nun den Titel Klosterräuber!");
$newtitle="Klosterräuber";
$regname = $session['user']['name'];
$session['user']['name'] = $newtitle." ".$session['user']['name'];
$session['user']['title'] = $newtitle;

//Ersetze mit:
$name = $session['user']['name'];
addnews('`7'.$session['user']['name'].' `7wollte im Kloster stehlen und hat nun den Titel Klosterräuber!');
$newtitle = 'Klosterräuber';
$regname = $session['user']['name'];
if (strpos($regname, $newtitle) === false){
if ($session['user']['ctitle'] == ''){
$session['user']['name'] = str_replace($session['user']['title'], $newtitle, $session['user']['name']);
}else{
$session['user']['name'] = str_replace($session['user']['ctitle'], $newtitle, $session['user']['name']);
}
$session['user']['title'] = $newtitle;
}

Die Datei "klosterabt.php" speichern und wieder hochladen.
Um den Titel am neuen Tag zu entfernen muss folgendes in der "newsday.php" hinzugefügt werden:
PHP:
//Suche in newday.php
// Buffs from items
$sql="SELECT * FROM items WHERE (class='Fluch' OR class='Geschenk' OR class='Zauber') AND owner=".$session[user][acctid]." ORDER BY id";
$result=db_query($sql);
for ($i=0;$i<db_num_rows($result);$i++){
$row = db_fetch_assoc($result);
if (strlen($row[buff])>8){
$row[buff]=unserialize($row[buff]);
if ($row['class']!='Zauber') $session[bufflist][$row[buff][name]]=$row[buff];
if ($row['class']=='Fluch') output("`n`G$row[name]`G nagt an dir.");
if ($row['class']=='Geschenk') output("`n`1$row[name]`1: $row[description]");
}
if ($row[hvalue]>0){
$row[hvalue]--;
if ($row[hvalue]<=0){
db_query("DELETE FROM items WHERE id=$row[id]");
if ($row['class']=='Fluch') output(" Aber nur noch heute.");
if ($row['class']=='Zauber') output("`n`Q$row[name]`Q hat seine Kraft verloren.");
}else{
$what="hvalue=$row[hvalue]";
if ($row['class']=='Zauber') $what.=", value1=$row[value2]";
db_query("UPDATE items SET $what WHERE id=$row[id]");
}
}
}

//Füge danach ein
//Klosterräüber Titelbehandlung (Titel entfernen) von Aaron
if (strpos($session['user']['name'], 'Klosterräuber') !== false){
$ori_title = $titles[$session['user']['dragonkills']][$session['user']['sex']];
if ($session['user']['ctitle'] == ''){
$session['user']['name'] = str_replace('Klosterräuber', $ori_title, $session['user']['name']);
}else{
$session['user']['name'] = str_replace('Klosterräuber', $session['user']['ctitle'], $session['user']['name']);
}
$session['user']['title'] = $ori_title;
}
// ENDE

Der Teil für die "newday.php" könnte auch in der "dragon.php" verwendung finden, sofern es gewünscht ist, dass der Titel erst nach einem Dk entfernt werden soll.

Autor:  Morpheus [ Di 17 Feb, 2009 19:55 ]
Betreff des Beitrags:  Re: Das Kloster

Vielen Dank für die gute Lösung, ich muß ehrlich gestehen, im Laufe der Zeit habe ich ganz vergessen, daß ich da noch Korrekturen vornehmen wollte. Ich hoffe, Deine Spieler haben Spaß mit dem Kloster.. :wink:

Seite 2 von 2 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/