'Name','text'=>'Beschreibung','avatar'=>'Avatar','grant'=>'Benutzer'); switch($_GET['op']) { case 'start': page_header("NPC-Verwaltung"); $line = "`c`b`%NPC-Übersicht`b`c`n"; if($session['user']['npc']) { // Bereits Aktiviert $npcs = npc::getAllOf($session['user']['acctid'],false); $rows = array(); $blub =array(); foreach(array('buy','name','text','avatar','grant') as $val) { $b = npc::getCost(strtoupper($val)); $cost[$val] = $b['price']; if($val != 'buy') for($i=0,$max=count($npcs);$i<$max;$i++) { $npc = $npcs[$i]; if (npc::canbuy(strtoupper($val))) { $rows[$i] .= "\t\t`6".$outnames[$val]."`0"; addnav('',"npc.php?op=edit&id=".$npc->getId()."&what=".$val); } else $rows[$i] .="\t\t`4X`0\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 = "\n"; for($i=0,$max=count($rows);$i<$max;$i++) { $table .= "\t\n\t\t\n".$rows[$i]."\t\n"; } $table .= "
NPCVerändern
".$npcs[$i]->getName()."
"; 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
"; switch ($_GET['what']) { case 'name': $line .= "`6Der aktuelle Name deines NPCs ist: ".$npc->getName()."`6. Du kannst ihn hier ändern: `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\t\n"; $line .= "\n\n"; foreach($users as $id => $name) { if($id == $npc->getErsteller()) continue; $line .= ""; $line .= ""; $light = empty($light); } $line .= "
EntfernenSpieler
`9Erlauben für:
".$name."
`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
".$line; $line .= "`n`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 .= "
\n"; $line .= "`n"; $line .= "`n"; $line .= "`n`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 = "
\n"; $form .= "\t\n"; $form .= "\t\n"; $form .= "\t\n"; $form .= "\t
"; 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 = "

Folgende NPCs gibt es in diesem Ort:

\n"; $list .= "\n\t\n"; for($i=0,$max=count($npcs);$i<$max;$i++) { $list .= "\t".$npcs[$i]->printRow($i%2==0?'trlight':'trdark'); addnav('',$npcs[$i]->getLink()); addnav('','bio.php?char='.$npcs[$i]->getErstellerLogin()."&ret=".URLEncode($_SERVER['REQUEST_URI'])); } $list .= "
NameErstellerSpielerOps
\n"; output($list,true); break; } addnav("Weitere Orte"); addnav("Verwaltung","npc.php?op=start"); addnav("NPC-Liste","npc.php"); addnav('Ausgang'); addnav('Ins Rathaus','rathaus.php'); addnav('Ins Dorf','village.php'); page_footer(); ?>