master.c-Dateireferenz

#include "party.h"
#include <wizlevels.h>
#include <daemon.h>
#include <moving.h>
Include-Abhängigkeitsdiagramm für master.c:

gehe zum Quellcode dieser Datei

Makrodefinitionen

#define __PARTY_NEED_ROOMS__

Funktionen

 create ()
 ok ()
 QueryData ()
 QueryUser (name)
 DeleteUser (name)
 SetUser (name, what)
nomask void StartQuery ()
nomask void EndQuery ()

Variablen

mapping data

Makro-Dokumentation

#define __PARTY_NEED_ROOMS__

Definiert in Zeile 3 der Datei master.c.


Dokumentation der Funktionen

create (  ) 

Definiert in Zeile 11 der Datei master.c.

Benutzt data, restore_object() und SAVEFILE.

00012 {
00013   seteuid(getuid());
00014   if (!restore_object(SAVEFILE))
00015     data=([]);
00016 }

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

DeleteUser ( name   ) 

Definiert in Zeile 34 der Datei master.c.

Benutzt data, m_delete(), name, ok(), save_object() und SAVEFILE.

00035 {
00036   if (!ok()) return;
00037   if (!data[name]) return;
00038   efun::m_delete(data,name);
00039   save_object(SAVEFILE);
00040   return 1;
00041 }

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

nomask void EndQuery (  ) 

Definiert in Zeile 81 der Datei master.c.

Benutzt env(), i, IS_ELDER und OBJECTD.

00082 {
00083   int i;
00084   object board, env;
00085   string envnam;
00086 
00087   if (!this_interactive() || !IS_ELDER(this_interactive())) {
00088     write("Das darf nur ein Erzmagier!\n");
00089     return;
00090   }
00091 
00092   for (i=sizeof(BOARD_ROOMS)-1; i>=0; i--) {
00093     envnam = BOARD_ROOMS[i];
00094     catch(call_other(envnam, "???"));
00095     if (env = find_object(envnam)) {
00096       if (board=present("PartyBrett", env)) {
00097                 OBJECTD->RemoveObject(board, envnam);
00098         env->RemoveItem("/p/service/rochus/party/brett");
00099                 printf("Partybrett in '%s.c' abgebaut.\n", envnam);
00100       }
00101       else
00102                 printf("In '%s.c befindet sich kein Partybrett!?\n", envnam);
00103     }
00104     else
00105       printf("Kann kein Partybrett in '%s.c' abbauen!\nDer Raum laesst sich "
00106                      "nicht laden!\n", envnam);
00107   }
00108 }

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

ok (  ) 

Definiert in Zeile 18 der Datei master.c.

Benutzt IS_ELDER.

Wird benutzt von DeleteUser(), lauf(), QueryData(), QueryUser(), RegisterExit() und SetUser().

00019 {
00020   return ((geteuid()==geteuid(previous_object()))
00021                   || IS_ELDER(this_interactive()));
00022 }

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

QueryData (  ) 

Definiert in Zeile 24 der Datei master.c.

Benutzt data und ok().

00025 {
00026   if (ok()) return data;
00027 }

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

QueryUser ( name   ) 

Definiert in Zeile 29 der Datei master.c.

Benutzt data, name und ok().

00030 {
00031   if(ok()) return data[name];
00032 }

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

SetUser ( name  ,
what   
)

Definiert in Zeile 43 der Datei master.c.

Benutzt data, name, ok(), save_object() und SAVEFILE.

00044 {
00045   if (!ok()) return;
00046   if (!mappingp(what)) return;
00047   data[name]=what;
00048   save_object(SAVEFILE);
00049 }

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

nomask void StartQuery (  ) 

Definiert in Zeile 51 der Datei master.c.

Benutzt env(), i, IS_ELDER, M_NOCHECK und OBJECTD.

00052 {
00053   int i;
00054   object board, env;
00055   string envnam;
00056 
00057   if (!this_interactive() || !IS_ELDER(this_interactive())) {
00058     write("Das darf nur ein Erzmagier!\n");
00059     return;
00060   }
00061 
00062   for (i=sizeof(BOARD_ROOMS)-1; i>=0; i--) {
00063     envnam = BOARD_ROOMS[i];
00064     catch(call_other(envnam, "???"));
00065     if (env = find_object(envnam)) {
00066       if (!present("PartyBrett", env)) {
00067                 board = clone_object("/p/service/rochus/party/brett");
00068                 board->move(env, M_NOCHECK);
00069                 OBJECTD->AddObject(board, envnam);
00070                 printf("Partybrett in '%s.c' aufgestellt.\n", envnam);
00071       }
00072       else
00073                 printf("In '%s.c' befindet sich schon ein Partybrett!\n", envnam);
00074     }
00075     else
00076       printf("Kann kein Partybrett in '%s.c' aufstellen!\nDer Raum laesst sich "
00077                      "nicht laden!\n", envnam);
00078   }
00079 }

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


Variablen-Dokumentation

mapping data
Erzeugt am Thu Jun 3 14:41:00 2010 für MorgenGrauen Mudlib von  doxygen 1.6.3