ptool.c-Dateireferenz

#include <wizlevels.h>
#include <properties.h>
#include <language.h>
Include-Abhängigkeitsdiagramm für ptool.c:

gehe zum Quellcode dieser Datei

Funktionen

int dump ()
int secure ()
void create ()
int add (string number)
int changepath (string number)
int setlist (string number)
int activate ()
int deactivate ()
int info (string para)

Variablen

inherit std thing

Dokumentation der Funktionen

int activate (  ) 

Definiert in Zeile 148 der Datei ptool.c.

Benutzt active, dump(), room und secure().

00149 {
00150   int nr, active;
00151   string room;
00152   
00153   if (!secure())
00154   { printf("Fehler: -1\n"); return -1; }
00155   if (!query_once_interactive(environment()))
00156   { printf("Fehler: -2\n"); return -2; }
00157   room = object_name(environment(environment(this_object())));
00158   active = "/secure/potionmaster"->ActivateRoom(room);
00159   if (active>=0)
00160     {
00161       printf("Raum aktiviert in Liste %d\n", active);
00162       dump();
00163     }
00164   else
00165     printf("Fehler beim Aktivieren, Ergebnis: %d\n", active);
00166   return 1;
00167 }

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

int add ( string  number  ) 

Definiert in Zeile 61 der Datei ptool.c.

Benutzt active, dump(), room und secure().

00062 {
00063   int nr, next, active;
00064   string room;
00065   if (!secure())
00066   { printf("Fehler: -1\n"); return -1; }
00067   if (!query_once_interactive(environment()))
00068   { printf("Fehler: -2\n"); return -2; }
00069   if (!number)
00070   { printf("Fehler: -3\n"); return -3; }
00071   sscanf(number, "%d", nr);
00072   if (!intp(nr))
00073   { printf("Fehler: -4\n"); return -4; }
00074   room = object_name(environment(environment(this_object())));
00075   next = "/secure/potionmaster"->AddPotionroom(room);
00076   if (next>0)
00077     printf("Raum in Gesamtliste eingetragen, Nummer: %d\n", next-1);
00078   else
00079   {
00080     printf("Raum konnte nicht eingetragen werden, Ergebnis: %d\n", next);
00081     return 1;
00082   }
00083   active = "/secure/potionmaster"->SetListNr(room, nr);
00084   if (active>=0)
00085   {
00086     printf("Raum aktiviert in Liste %d\n", nr);
00087     dump();
00088   }
00089   else
00090     printf("Fehler beim Aktivieren, Ergebnis: %d\n", active);
00091   return 1;
00092 }

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

int changepath ( string  number  ) 

Definiert in Zeile 94 der Datei ptool.c.

Benutzt dump(), neu, room und secure().

00095 {
00096   int nr,neu;
00097   string room;
00098   mixed roomold;
00099   if (!secure())
00100   { printf("Fehler: -1\n"); return -1; }
00101   if (!query_once_interactive(environment()))
00102   { printf("Fehler: -2\n"); return -2; }
00103   if (!number)
00104   { printf("Fehler: -3\n"); return -3; }
00105   sscanf(number, "%d", nr);
00106   if (!intp(nr))
00107   { printf("Fehler: -4\n"); return -4; }
00108   room = object_name(environment(environment(this_object())));
00109   roomold = "/secure/potionmaster"->GetFilenameByNumber(nr);
00110   if (roomold==-1)
00111   { printf("Fehler: -5\n"); return -5; }
00112   neu = "/secure/potionmaster"->ChangeRoomPath(roomold,room);
00113   if (neu>0)
00114     {
00115       printf("ZT %d durch aktuellen Raum ersetzt.\n", neu);
00116       dump();
00117     }
00118   else
00119     printf("ZT %d konnte nicht ersetzt werden, Ergebnis: %d\n", nr,neu);
00120   return 1;
00121 }

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

void create (  ) 

Definiert in Zeile 24 der Datei ptool.c.

Benutzt AddCmd(), AddId(), create(), NEUTER, P_AUTOLOADOBJ, P_GENDER, P_LONG, P_NAME, P_NODROP, P_SHORT und SetProp().

00025 {
00026   if (!clonep(this_object())) return;
00027   ::create();
00028   SetProp(P_SHORT, "Potion-Tool");
00029   SetProp(P_LONG, 
00030      "Ein Tool zum Eintragen von Raumen in den Potionmaster.\n"+
00031      "Folgende Befehle gibt es:\n"+
00032      "ptadd <nummer>    Addiert den ZT im Raum in Liste <nummer>\n"+
00033      "                  und aktiviert ihn gleichzeitig.\n"+
00034      "ptset <nummer>    Aktiviert den ZT im Raum und setzt ihn in\n"+
00035      "                  die Liste <nummer>.\n"+
00036      "ptchange <nummer> Ersetzt den ZT <nummer> durch den ZT im Raum.\n"+
00037      "ptact             Aktiviert einen deaktivierten ZT in seiner\n"+
00038      "                  bisherigen Liste.\n"+
00039      "ptdeact           Deaktiviert den ZT im Raum aus der ZTListe\n"+
00040      "                  und verschiebt ihn nach 'deaktivierte ZTs'.\n"+
00041      "ptinfo [para]     kein para:   Zeigt Infos ueber den ZT im aktu-\n"+
00042      "                               ellen Raum.\n"+
00043      "                  int para:    Zeigt Infos zum ZT para an.\n"+
00044      "                  string para: Zeigt ZT-Infos des Spielers para.\n"+
00045      "ptdump            Erzeugt ein Dump der aktuellen ZTListe und\n"+
00046      "                  speichert diesen ab.\n\n");
00047   SetProp(P_NAME, "PTool");
00048   SetProp(P_GENDER, NEUTER);
00049   AddId(({"tool", "ptool"}));
00050   SetProp(P_NODROP, 1);
00051   SetProp(P_AUTOLOADOBJ, 1);
00052   AddCmd("ptadd", "add");
00053   AddCmd("ptset", "setlist");
00054   AddCmd("ptchange", "changepath");
00055   AddCmd("ptact", "activate");
00056   AddCmd("ptdeact", "deactivate");
00057   AddCmd("ptinfo", "info");
00058   AddCmd("ptdump", "dump");
00059 }

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

int deactivate (  ) 

Definiert in Zeile 169 der Datei ptool.c.

Benutzt dump(), room und secure().

00170 {
00171   int deactive;
00172   string room;
00173   
00174   if (!secure())
00175   { printf("Fehler: -1\n"); return -1; }
00176   if (!query_once_interactive(environment()))
00177   { printf("Fehler: -2\n"); return -2; }
00178   room = object_name(environment(environment(this_object())));
00179   deactive = "/secure/potionmaster"->DeactivateRoom(room);
00180   if (deactive>=0)
00181     {
00182       printf("Raum deaktiviert in Liste %d\n",deactive);
00183       dump();
00184     }
00185   else
00186     printf("Fehler beim Deaktivieren, Ergebnis: %d\n", deactive);
00187   return 1;
00188 }

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

int dump (  ) 

Definiert in Zeile 284 der Datei ptool.c.

00285 {
00286   "/secure/potionmaster"->DumpList();
00287   printf("Liste wurde erzeugt.\n");
00288   return 1;
00289 }

int info ( string  para  ) 

Definiert in Zeile 190 der Datei ptool.c.

Benutzt break_string(), find_player(), info, P_POTIONROOMS, room und secure().

00191 {
00192   int info,nr;
00193   string s;
00194   object room,o;
00195   mixed m,*potions;
00196   if (!secure())
00197   { printf("Fehler: -1\n"); return -1; }
00198   if (!query_once_interactive(environment()))
00199   { printf("Fehler: -2\n"); return -2; }
00200   if (!para || para=="")
00201     {
00202       room = environment(environment(this_object()));
00203       info = "/secure/potionmaster"->HasPotion(room);
00204       if (info>=0)
00205                 {
00206                   printf("Raum hat ZT mit Nr:  %d\n\n",info);
00207                   nr = "/secure/potionmaster"->GetListByNumber(info);
00208                   if (nr>=0)
00209                     printf("ZT aktiv in Liste:   %d\n\n",nr);
00210                   else
00211                     {
00212                       nr = "/secure/potionmaster"->GetInactListByNumber(info);
00213                       if (nr>=0)
00214                                 printf("ZT INaktiv in Liste: %d\n\n",nr);
00215                       else
00216                                 printf("ZT INaktiv\n\n");
00217                     }
00218                   if (info>=0 && s=read_file("/secure/ARCH/ZT/"+info+".zt"))
00219                     {
00220                       write("Tip:\n"+s);
00221                     }
00222                 }
00223       else
00224                 printf("Raum hat keinen ZT eingetragen.\n");
00225     }
00226   else
00227     if (sscanf(para,"%d",info)==1)
00228       {
00229                 printf("ZT mit Nummer: %d\n\n",info);
00230                 m = "/secure/potionmaster"->GetFilenameByNumber(info);
00231                 if (m!=-1)
00232                   {
00233                     write("Filename: "+m+"\n\n");
00234                     nr = "/secure/potionmaster"->GetListByNumber(info);
00235                     if (nr>=0)
00236                       printf("ZT aktiv in Liste: %d\n\n",nr);
00237                     else
00238                       {
00239                                 nr = "/secure/potionmaster"->GetInactListByNumber(info);
00240                                 if (nr>=0)
00241                                   printf("ZT INaktiv in Liste: %d\n\n",nr);
00242                                 else
00243                                   printf("ZT INaktiv\n\n");
00244                       }
00245                     if (info>=0 && s=read_file("/secure/ARCH/ZT/"+info+".zt"))
00246                       {
00247                                 write("Tip:\n"+s);
00248                       }
00249                   }
00250                 else
00251                   write("Kein ZT mit dieser Nummer bekannt.\n");
00252       }
00253     else
00254       {
00255                 write("Spieler "+capitalize(para)+"\n\n");
00256                 if (o=find_player(para))
00257                   {
00258                     potions=sort_array(o->QueryProp(P_POTIONROOMS),#'>);
00259                     if (sizeof(potions))
00260                       {
00261                                 s="";
00262                                 for (nr=0;nr<sizeof(potions);nr++)
00263                                   s+=potions[nr]+", ";
00264                                 write("Potionrooms:\n"+break_string(s[0..<3],78)+"\n");
00265                       }
00266                     else write("Spieler hat keine weiteren Potionrooms.\n");
00267                     potions=sort_array(o->QueryProp(P_KNOWN_POTIONROOMS),#'>);
00268                     if (sizeof(potions))
00269                       {
00270                                 s="";
00271                                 for (nr=0;nr<sizeof(potions);nr++)
00272                                   s+=potions[nr]+", ";
00273                                 write("Bekannte Potionrooms:\n"+
00274                                       break_string(s[0..<3],78));
00275                       }
00276                     else write("Spieler hat keine bekannten Potionrooms.\n");
00277                   }
00278                 else
00279                   write("Kein Spieler mit diesem Namen anwesend.\n");
00280       }
00281   return 1;
00282 }

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

int secure (  ) 

Definiert in Zeile 14 der Datei ptool.c.

Benutzt ARCH_SECURITY und ROOTID.

Wird benutzt von activate(), ActivateRoom(), add(), AddPotionroom(), changepath(), ChangeRoomPath(), deactivate(), DeactivateRoom(), info(), jonglier(), message(), parse(), QueryDir(), QueryRead(), QueryWrite(), setlist() und SetListNr().

00015 {
00016   if (!previous_object()) return 0;
00017   if (geteuid(previous_object())==ROOTID) return 1;
00018   if (geteuid(previous_object()) != geteuid(this_interactive())) return 0;
00019   if (this_interactive() != this_player()) return 0;
00020   if (!ARCH_SECURITY) return 0;
00021   return 1;
00022 }

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

int setlist ( string  number  ) 

Definiert in Zeile 123 der Datei ptool.c.

Benutzt active, dump(), room und secure().

00124 {
00125   int nr, next, active;
00126   string room;
00127   if (!secure())
00128   { printf("Fehler: -1\n"); return -1; }
00129   if (!query_once_interactive(environment()))
00130   { printf("Fehler: -2\n"); return -2; }
00131   if (!number)
00132   { printf("Fehler: -3\n"); return -3; }
00133   sscanf(number, "%d", nr);
00134   if (!intp(nr) || nr<0 || nr>7)
00135   { printf("Fehler: -4\n"); return -4; }
00136   room = object_name(environment(environment(this_object())));
00137   active = "/secure/potionmaster"->SetListNr(room, nr);
00138   if (active>=0)
00139   {
00140     printf("Raum aktiviert in Liste %d\n", nr);
00141     dump();
00142   }
00143   else
00144     printf("Fehler beim Aktivieren, Ergebnis: %d\n", active);
00145   return 1;
00146 }

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


Variablen-Dokumentation

inherit std thing

Definiert in Zeile 10 der Datei ptool.c.

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