\n";
}
}
$line .= "`5Da du es bereits bis hier her geschafft hast, darfst du neue N(on)P(layer)C(haracter)s bzw. N(icht)S(pieler)C(haraktere) zu erstellen.`n";
$line .= "Die Erstelung eines solchen NPCs kostet dich jeweils `4".$cost['buy']." Punkte`5, dafür kannst du den NPC dann allerdings unbegrenzt Nutzen. Weitere Kosten fallen nur an, ";
$line .= "wenn du den NPC grundlegen ändern wilst, ihm also einen neuen Namen geben willst (`4".$cost['name']." Punkte`5) oder seine Beschreibung ändern möchtest (`4".$cost['text']." Punkte`5). ";
if(((int) $cost['avatar'])>0) $line .= "Das Ändern des Avatars für einen NPC kostet hingegen `4".$cost['avatar']." Punkte";
$line .= "Für jeweils `4".$cost['grant']."`5 Punkte kannst du einem weiteren Spieler (maximal ".getsetting('NPC_GRANT_MAX',5).") Zugriff auf einen NPC gewähren.`n";
$line .= "`qDiese Kosten dienen dazu, es sinnvoll zu gestalten, auch mehr als einen NPC zu besitzten`n `iHinweis: Du kannst nur die Orte für den Kauf von NPC-Optionen betreten, für die du ausreichend Punkte hast`i`n`n";
$line .= "`c`9`b(Mit 'Punkte' sind hier übrigends deine `i".(npc::getCurrency()=='rp'?'RP-Punkte':'Donationpoints')."`i gemeint)`b`0`c`n`n";
output($line);
if (npc::canbuy('BUY')) {
addnav("Operationen");
addnav("NPC erstellen","npc.php?op=create");
}
if(count($npcs)>0) {
$table = "
";
output($table,true);
}
} else { // Noch nicht aktiviert
$cost = npc::getCost('ACTIVATE');
$line .= "`qNoch gehörst du nicht zum Kreis der Eingeweihten, die Zugriff auf NPCs haben. Du darfst also noch keine NPCs erstellen oder steuern.`n";
$line .= "Wenn du dem jedoch abhilfe schaffen willst, musst du zunächst `4".$cost['price']." ".($cost['cur']=='dp'?'Donationpoints':'RP-Punkte')."`q bezahlen.`n";
$line .= "Danach wirst du auf alle NPC-Funktionen zugriff haben und auch fremde NPCs nutzen können, wenn sie dir zur Verfügung gestellt werden.`n";
if(npc::canbuy('ACTIVATE')) {
$line .= "`^Glücklicherweise hast du ausreichend Punkte um die Kosten zu bezahlen.";
addnav("Freischalten");
addnav("Bezahlen (".$cost['price']." ".($cost['cur']=='dp'?'Donationpoints':'RP-Punkte').")","npc.php?op=activate");
} else {
$line .= "`4Doch leider hast du nicht genügend Punkte. Du wirst wohl später wiederkommen müssen.";
}
output($line);
}
break;
case 'bio':
if (empty($_GET['id'])) redirect('npc.php');
$npc = new npc($_GET['id']);
output($npc->printBio(),true);
if ($_GET['ret']) {
$return = preg_replace("'[&?]c=[[:digit:]-]+'","",$_GET[ret]);
$return = substr($return,strrpos($return,"/")+1);
addnav("Zurück",$return);
}
break;
case 'edit':
$npc = new npc($_GET['id']);
page_header("NPC-Veränderung");
$link = "npc.php?op=update&what=".$_GET['what']."&id=".$_GET['id'];
addnav('',$link);
$line = "`c`^`bNPC-Veränderung`b`0`c`n ",true);
break;
case 'text':
$line .= "`6Hier kannst du die Beschreibung von ".$npc->getName()." `6ändern:`n`n",true);
break;
case 'avatar':
$line .= "`6Hier kannst du den Avatar von ".$npc->getName()." `6ändern: `n";
$line .= " ";
output($line,true);
break;
case 'grant':
$users = $npc->getAllPlayers();
$line .= "`6Folgende Spieler haben Zugriff auf ".$npc->getName()."`6:`n";
$line .= "
`n";
$line .= "`c`i`^(Über die Unterste Zeile kannst du weiteren Leuten den Zugriff gewähren)`0`i`c";
output($line,true);
break;
}
break;
case 'update':
$npc = new npc($_GET['id']);
if($_GET['what'] != 'grant') {
page_header("NPC-Veränderung abgeschlossen!");
$line = "`c`b`@NPC-Veränderung abgeschlossen!`0`b`c`n";
if($npc->change(($_GET['what']=='name'?'name':$_GET['what']),$_POST['val'])) {
$cost = npc::getCost(strtoupper($_GET['what']));
$line .= "`2Die Änderung wurde erfolgreich durchgeführt!`n`n";
$line .= "`3(Der/Die ".$outnames[$_GET['what']]." wurde erfolgreich auf '".$_POST['val']."'`3 gesetzt; ";
$line .= "Du hast dafür ".$cost['price']." Punkte bezahlt)`n";
} else {
$line .= "`4Es ist ein Fehler aufgetreten: Du scheinst nicht genügend Punkte zu haben!";
}
} else {
page_header("Überprüfung der Änderungsbefehle");
if (empty($_GET['valid'])) {
$line = '';
if(!empty($_POST['users'])) {
$line .= "`n`n`b`qFolgenden Spielern wird der Zugriff auf ".$npc->getName()."`q entzogen:`b`0`n";
$line .= "
`n`n";
}
if(!empty($_POST['val'])) {
$string="%";
for ($x=0;$x".strip_tags($row['name'])."\n";
}
$line .= "\t`n";
}
if(empty($line)) {
$line = "Du hast keinerlei Änderungen übergeben, bitte versuche es noch einmal!";
} else {
$line = "`c`b`@Überprüfung der Änderungsbefehle`0`b`c`n";
}
} else { // Bestätigt!
page_header("NPC-Veränderung abgeschlossen!");
$line = "`c`b`@NPC-Veränderung abgeschlossen!`0`b`c`n";
}
}
output($line,true);
break;
case 'create':
page_header("NPC-Schöpfung");
$line = "`c`b`^NPC-Schöpfung`0`b`c`n";
$line .= "`3Hier kannst du nun einen neuen NPC erschaffen. Gib die gewünschten Werte einfach in die folgenden Felder ein:`n";
$line .= "";
output($line,true);
addnav('','npc.php?op=insert');
break;
case 'insert':
page_header("NPC-Schöpfung (Abschluss)");
if(empty($_GET['valid'])) {
output("`c`gNun kannst du die eingegebenen Daten noch einmal Überprüfen. Wenn du zufrieden bist, klicke auf \"Erschaffen\", wenn nicht, kannst du es noch einmal neu versuchen.`c`n`n");
$pre_npc = npc::previewCreate($_POST['name'],$_POST['text'],$session['user']['acctid'],$_POST['avatar']);
output($pre_npc->printBio(),true);
$form = "";
rawoutput($form);
addnav('','npc.php?op=insert&valid=true');
addnav('Zurück');
addnav('Noch einmal versuchen','npc.php?op=create');
} else {
$npc = npc::create($_POST['name'],$_POST['text'],$session['user']['acctid'],$_POST['avatar']);
if($npc) {
$cost = npc::getCost();
output("`c`b`^Erfolgreiche Schöpfung!`0`b`c`n");
output("`tDein NPC '".$_POST['name']."`t wurde erschaffen. Du kannst ihn nun benutzen.`n`n`i(Dir wurden dafür `4".$cost['price']." Punkte`t abgezogen");
} else {
output("`c`b`$ Fehler! `0`b`c`n");
output("Die Erschaffund deines NPCs schlug fehl, eventuell hast du nicht genügend Punkte");
}
}
break;
case 'activate':
page_header("Aktivierung für die NPC-Nutzung");
if(npc::activate()) {
output("Du bist nun für die Nutzung von NPCs freigeschaltet!");
} else {
output("Uuups... da ist wohl was schie gegangen.. versuche es bitte noch einmal.");
}
break;
default:
page_header("NPC-Details");
$npcs = npc::getAllOf(0,false);
$list = "