More() ====== FUNKTION -------- :: varargs public void More(string txt, int file, mixed ctrl, mixed *ctrlargs, int flags); DEFINIERT IN ------------ :: /std/util/pager.c ARGUMENTE --------- :: txt - entweder ein Text der ausgegeben werden soll, oder ein filename. file - das flag file gibt an, ob es sich bei um einen text oder einen Filenamen handelt. Bei einem Filenamen wird der Inhalt dieses Files eingelesen und ausgegeben. ctrl - Eine closure, die aufgerufen wird, falls kein angegeben wurde. ctrlargs - ctrlargs wird als Parameter an ctrl uebergeben. flags - flags wird mit den im Spieler definierten P_MORE_FLAGS kombiniert. BESCHREIBUNG ------------ :: More() dient der Ausgabe von Texten an Spieler. Mit Hilfe eines PL->More(txt) oder PL->More(txt, 1) ist es sehr einfach laengere Texte an Spieler auszugeben. Bei der Ausgabe werden die persoenlichen Einstellungen des Spielern (wie z.b. Zeilen pro Bildschirmseite) automatisch beruecksichtigt und der Text dadurch ggf. zerstueckelt und in mehreren Schritten nacheinander angezeigt. RUeCKGABEWERT ------------- :: keiner BEMERKUNGEN ----------- :: Beim einlesen des Files sind die Leserechte des Spieler in dem More() aufgerufen wird von Bedeutung und nicht die Rechte des Objektes das More() aufruft. Spielerobjekte haben im MorgenGrauen jedoch nur sehr eingeschraenkte Leserechte! Ausgegeben werden koennen nur files aus /p/*, /gilden/* und /d/* die _keinen_ code enthalten. Als Code wird hierbei jedes File betrachtet das als vorletztes Zeichen einen . hat (also .c, .h, .o usw.). Will man aus irgendwelchen Gruenden ein File (z.b. aus /players/) ausgeben, so sollte man stattdessen folgendes verwenden: this_player()->More(read_file(filename)) BEISPIELE --------- :: // Ausgabe eines normalen textes... this_player()->More("Einfach nur mal so ein Test...\n"); // Ausgabe eines kompletten files this_player()->More("/etc/WIZRULES", 1); SIEHE AUCH ---------- :: ---------------------------------------------------------------------------- Last modified: Mon Feb 22 15:09:18 1999 by Padreic