guide.c-Dateireferenz

#include <config.h>
#include <player/user_filter.h>
#include <properties.h>
#include <defines.h>
Include-Abhängigkeitsdiagramm für guide.c:

gehe zum Quellcode dieser Datei

Makrodefinitionen

#define NEED_PROTOTYPES

Funktionen

void add_guide_commands ()
protected int NewbieChangeMsg ()
protected int NewbieStatusMsg ()
int CiceroneCmd (string str)
protected string IstSindMsg (string *namen)
void NewbieIntroMsg ()

Makro-Dokumentation

#define NEED_PROTOTYPES

Definiert in Zeile 14 der Datei guide.c.


Dokumentation der Funktionen

void add_guide_commands (  ) 

Definiert in Zeile 21 der Datei guide.c.

00022 {
00023                 add_action("CiceroneCmd","cicerone");
00024                 // Sollte eigentlich an derselben Stelle moeglich sein.
00025 }

int CiceroneCmd ( string  str  ) 

Definiert in Zeile 76 der Datei guide.c.

Benutzt break_string(), BS_INDENT_ONCE, BS_LEAVE_MY_LFS, BS_PREPEND_INDENT, idle(), NewbieChangeMsg(), NewbieStatusMsg(), P_LEVEL, P_NEWBIE_GUIDE, QueryProp() und SetProp().

00077 {
00078                 if (QueryProp(P_LEVEL)<20)
00079                 {
00080                                 write(break_string("Du solltest erst noch ein wenig "
00081                                                                                 "Erfahrung sammeln, bevor Du Dich "
00082                                                                        "als Cicerone zur Verfuegung stellst.",78));
00083                                 return 1;
00084                 }
00085                 // Idlezeit uebergeben?
00086                 int idle=to_int(str);
00087                 // max. einen Tag (1440 min) zulassen.
00088                 if (idle < 0) idle=0;
00089                 else if (idle > 1440) idle=1440;
00090 
00091                 if (!str) {
00092                     return NewbieStatusMsg();
00093                 }
00094                 else if (str=="status") {
00095                     return NewbieStatusMsg();
00096                 }
00097                 // "ein" schaltet einfach generell ein, hierbei steht 1 in der Prop
00098                 // fuer "permanent ein".
00099                 else if (str=="ein") {
00100                     SetProp(P_NEWBIE_GUIDE,1);
00101                     return NewbieChangeMsg();
00102                 }
00103                 // "aus" oder "0" deaktiviert.
00104                 else if (str=="aus") {
00105                     SetProp(P_NEWBIE_GUIDE,0);
00106                     return NewbieChangeMsg();
00107                 }
00108                 // wenn Zahl uebergeben ist, die groesser 0 und kleiner 1440 ist
00109                 // (s.o.), wird es als Anzahl an Idle-Minuten aufgefasst, ab der man
00110                 // ausgeblendet werden will.
00111                 else if (idle) {
00112                     SetProp(P_NEWBIE_GUIDE, idle*60); // als Sekunden speichern.
00113                     return NewbieChangeMsg();
00114                 }
00115                 write(break_string(
00116                       "cicerone ein  - Du bist Cicerone\n"
00117                       "cicerone aus  - Du bist kein Cicerone\n"
00118                       "cicerone      - Status anzeigen\n"
00119                       +break_string(
00120                                 "Du bist Cicerone, aber wenn Du laenger als <zahl> Minuten "
00121                                 "idle bist, wirst Du automatisch ausgeblendet, bis Du wieder "
00122                                 "endidelt bist.",
00123                                 76,"cicerone zahl - ",BS_INDENT_ONCE),
00124                       78,"Syntaxhilfe:",BS_PREPEND_INDENT|BS_LEAVE_MY_LFS));
00125 
00126                 return 1;
00127 }

Hier ist ein Graph der zeigt, was diese Funktion aufruft:

protected string IstSindMsg ( string *  namen  ) 

Definiert in Zeile 129 der Datei guide.c.

Benutzt CountUp().

00130 {
00131                 if (sizeof(namen)==1)
00132                                 return "ist davon "+namen[0];
00133                 else
00134                                 return "sind davon "+CountUp(namen);
00135 }

Hier ist ein Graph der zeigt, was diese Funktion aufruft:

protected int NewbieChangeMsg (  ) 

Definiert in Zeile 28 der Datei guide.c.

Benutzt break_string(), P_NEWBIE_GUIDE, QueryProp() und SetProp().

Wird benutzt von CiceroneCmd().

00028                                 {
00029     int cic=QueryProp(P_NEWBIE_GUIDE);
00030     // begrenzen auf 1 Tag, falls jemand da Schrott reingschrieben hat.
00031     if (cic > 86400) {
00032                 cic=86400;
00033                 SetProp(P_NEWBIE_GUIDE,cic);
00034     }
00035     if (cic<=0) {
00036                 write("Du bist jetzt kein Cicerone mehr.\n");
00037     }
00038     else if (cic < 60) {
00039                 write("Du bist jetzt ein Cicerone.\n");
00040     }
00041     else {
00042                 write(break_string(
00043                     "Du bist jetzt ein Cicerone, allerdings nur in den Zeiten, "
00044                     "in denen Du weniger als " + cic/60
00045                     + ((cic/60)<2 ? " Minute ":" Minuten ")
00046                     + "idle bist.\n",78));
00047     }
00048     return 1;
00049 }

Hier ist ein Graph der zeigt, was diese Funktion aufruft:

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

void NewbieIntroMsg (  ) 

Definiert in Zeile 137 der Datei guide.c.

Benutzt neu, P_LEVEL und QueryProp().

00138 {
00139                 object* cicerones;
00140                 string* namen;
00141                 string restext;
00142 
00143                 // Nur bis Level 5 wird etwas ausgegeben.
00144                 if (QueryProp(P_LEVEL)>5) return;
00145                 
00146                 // is_active_guide() ist in /std/user_filter.c, welches vom
00147                 // Spielerobjekt geerbt wird und damit zur Verfuegung steht.
00148                 cicerones=filter(users(),#'is_active_guide);
00149                 // uid verwenden, da sonst kleine Spieler einen getarnten 
00150                 // "Riesen" oder aehnliches anstprechen.
00151                 namen=map(cicerones,function string (object o) 
00152                     { return(capitalize(geteuid(o))); } );
00153 
00154                 if (namen && sizeof(namen)>0)
00155                 {
00156                                 restext="\nEs gibt einige nette Spieler, die bereit sind, Dich "
00157                                                                 "auf Deinen ersten Schritten im "MUDNAME
00158                                                                 " zu begleiten. \n\nDerzeit "
00159                                                                 +IstSindMsg(namen)+" eingeloggt. Du kannst "
00160                                                                 "einen oder eine von Ihnen ansprechen, "
00161                                                                 "indem Du z.B. einfach \n"
00162                                                                 "  'teile "+
00163                                                                 lower_case(namen[random(sizeof(namen))])+
00164                                                                 " mit Hallo ich bin neu hier, kannst Du "
00165                                                                 "mir bitte helfen?'\n"
00166                                                                 "eintippst. Nur keine Scheu, diese Spieler "
00167                                                                 "haben sich freiwillig dazu bereiterklaert!\n"
00168                                                                 "\nDu kannst Dir diese Spieler jederzeit "
00169                                                                 "mit 'kwer cicerones' anzeigen lassen.\n\n";
00170                                 write(break_string(restext,78,"*  ",BS_LEAVE_MY_LFS));
00171                 }
00172                 else
00173                 {
00174                                 // Weia, kein Newbie-Guide da. Lieber erstmal nix tun,
00175                                 // bis uns was besseres einfaellt.
00176                 }
00177                 return;
00178 }

Hier ist ein Graph der zeigt, was diese Funktion aufruft:

protected int NewbieStatusMsg (  ) 

Definiert in Zeile 52 der Datei guide.c.

Benutzt break_string(), P_NEWBIE_GUIDE, QueryProp() und SetProp().

Wird benutzt von CiceroneCmd().

00052                                 {
00053   int cic=QueryProp(P_NEWBIE_GUIDE);
00054   // begrenzen auf 1 Tag, falls jemand da Schrott reingschrieben hat.
00055   if (cic > 86400) {
00056       cic=86400;
00057       SetProp(P_NEWBIE_GUIDE,cic);
00058   }
00059 
00060   if (cic <= 0)
00061     write ("Du bist kein Cicerone.\n");
00062   else if (cic < 60)
00063     write ("Du stehst Neuspielern als Cicerone zur Verfuegung.\n");
00064   else {
00065     write(break_string(
00066                     "Du stehst Neuspielern als Cicerone zur Verfuegung, allerdings "
00067                     "nur in den Zeiten, in denen Du weniger als " + cic/60
00068                     + ((cic/60)<2 ? " Minute ":" Minuten ")
00069                     + "idle bist.\n",78));
00070   }
00071   return 1;
00072 }

Hier ist ein Graph der zeigt, was diese Funktion aufruft:

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

Erzeugt am Thu Jun 3 14:42:50 2010 für MorgenGrauen Mudlib von  doxygen 1.6.3