Beschreibung:
Ein schwarzes Brett in der Kneipe. Jeder Spieler kann dort gegen Gebühr für einen bestimmten Zeitraum eine Nachricht hinterlassen. Zum Beispiel für Handel oder Partnersuche - oder einfach für RP.
Autor: anpera
Version: 3.3.2004
Für LoGD Version: 0.9.7
Einbauanleitung:$this->bbcode_second_pass_code('', '----- SQL:
ALTER TABLE `accounts` ADD `message` TEXT NOT NULL , ADD `msgdate` DATETIME NOT NULL ;
----- Öffne:
inn.php
----- Finde:
output("`n`nDie Uhr am Kamin zeigt `6".getgametime()."`0.");
----- Füge danach ein:
$sql = "UPDATE accounts SET message='',msgdate='0000-00-00 00:00:00' WHERE message>'' AND msgdate<'".date("Y-m-d H:i:s")."'";
db_query($sql);
output("`n`n");
$sql = "SELECT acctid,login,name,message,msgdate FROM accounts WHERE message>'' ORDER BY msgdate ASC";
$result = db_query($sql) or die(db_error(LINK));
if (db_num_rows($result)<=0){
output("Am schwarzen Brett neben der Tür ist nicht eine einzige Nachricht zu sehen.");
}else{
output("Am schwarzen Brett neben der Tür flattern einige Nachrichten im Luftzug:");
for ($i=0;$i<db_num_rows($result);$i++){
$row = db_fetch_assoc($result);
output("`n`n<a href=\"mail.php?op=write&to=".rawurlencode($row['login'])."\" target=\"_blank\" onClick=\"".popup("mail.php?op=write&to=".rawurlencode($row['login'])."").";return false;\"><img src='images/newscroll.GIF' width='16' height='16' alt='Mail schreiben' border='0'></a>",true);
output("`& $row[name]`&:`n`^$row[message] ");
if ($row[acctid]==$session[user][acctid]){
output("[<a href='inn.php?op=msgboard&act=del'>entfernen</a>]",true);
addnav("","inn.php?op=msgboard&act=del");
}
}
}
----- Finde:
}else{
switch($HTTP_GET_VARS[op]){
----- Füge danach ein;
case "msgboard":
if ($_GET[act]=="del"){
$session[user][message]="";
$session[user][msgdate]="0000-00-00 00:00:00";
output("Du reisst deine eigene Nachricht vom schwarzen Brett ab. Der Fall hat sich für dich erledigt.");
addnav("Neue Nachricht","inn.php?op=msgboard");
}else if ($_GET[act]=="add1"){
$msgprice=$session[user][level]*6*(int)$_GET[amt];
output("Cedrik kramt einen Zettel und einen Stift unter der Theke hervor und schaut dich fragend an, was er für dich schreiben soll. Offenbar ");
output("sind viele seiner Kunden der Kunst des Schreibens nicht mächtig. \"`%Das macht dann `^$msgprice`% Gold. Wie soll die Nachricht lauten?`0\"`n`n");
output("<form action=\"inn.php?op=msgboard&act=add2&amt=$_GET[amt]\" method='POST'>",true);
output("`nGebe deine Nachricht ein:`n<input name='msg' maxlength='250' size='50'>`n",true);
output("<input type='submit' class='button' value='Ans schwarze Brett'>",true);
addnav("","inn.php?op=msgboard&act=add2&amt=$_GET[amt]");
}else if ($_GET[act]=="add2"){
$msgprice=$session[user][level]*6*(int)$_GET[amt];
$msgdate=date("Y-m-d H:i:s",strtotime("+$_GET[amt] days"));
if ($session[user][gold]<$msgprice){
output("Als Cedrik bemerkt, dass du offensichtlich nicht genug Gold hast, schnauzt er dich an: \"`%So wird kommen wir nicht ins Geschäft, Kleine".($session[user][sex]?"":"r").". Sie zu dass du Land gewinnst. Oder im Lotto.`0\"");
}else{
output("Mürrisch nimmt Cedrik dein Gold, schreibt deinen Text auf den Zettel und ohne ihn nochmal durchzulesen heftet er ihn zu den anderen an das schwarze Brett neben der Eingangstür.");
$session[user][message]=stripslashes($_POST[msg]);
$session[user][msgdate]=$msgdate;
$session[user][gold]-=$msgprice;
}
}else{
$msgprice=$session[user][level]*6;
$msgdays=(int)getsetting("daysperday",4);
output("\"`%Du möchtest eine Nachricht am schwarzen Brett hinterlessen, ja? Wie lang soll die Nachricht denn dort zu sehen sein?`0\" fragt dich Cedrik fordernd und nennt die Preise.");
addnav("$msgdays Tage (`^$msgprice`0 Gold)","inn.php?op=msgboard&act=add1&amt=1");
addnav("".($msgdays*3)." Tage (`^".($msgprice*3)."`0 Gold)","inn.php?op=msgboard&act=add1&amt=3");
addnav("".($msgdays*10)." Tage (`^".($msgprice*10)."`0 Gold)","inn.php?op=msgboard&act=add1&amt=10");
if ($session[user][message]>"") output("`nEr macht dich noch darauf aufmerksam, dass er deine alte Nachricht entfernen wird, wenn du jetzt eine neue anbringen willst.");
}
break;
----- Finde:
addnav("Bestechen","inn.php?op=bartender&act=bribe");
----- Füge davor ein:
addnav("Schwarzes Brett","inn.php?op=msgboard");
')
Bemerkung:
Der Zeitraum, den die Nachricht am schwarzen Brett bleibt, wird in
Spieltagen angegeben, wobei nur ganze
Realtage als Zeitraum gewählt werden können. (Entsprechend den Spieleinstellungen sind das Vielfache der Spieltage pro Tag.)
Dateien:
modifizierte inn.php (Source)