npcmaster.c-Dateireferenz

#include "/secure/npcmaster.h"
#include "/secure/wizlevels.h"
Include-Abhängigkeitsdiagramm für npcmaster.c:

gehe zum Quellcode dieser Datei

Funktionen

void make_num (string key)
void create ()
static int DumpNPCs ()
varargs mixed QueryNPC (int score)
int SetScore (string key, int score)
mixed * QueryNPCbyNumber (int num)
int Recalculate (string s)

Variablen

private int lastNum
private mapping npcs
static private mapping by_num

Dokumentation der Funktionen

void create (  ) 

Definiert in Zeile 42 der Datei npcmaster.c.

Benutzt by_num, lastNum, npcs, NPCSAVEFILE und restore_object().

00043 {
00044   seteuid(getuid());
00045   if (!restore_object(NPCSAVEFILE))
00046   {
00047     lastNum=0;
00048     npcs=m_allocate(0,2);
00049   }
00050   by_num = m_allocate(0,2);
00051   filter_indices(npcs, #'make_num/*'*/);
00052 }

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

static int DumpNPCs (  )  [static]

Definiert in Zeile 88 der Datei npcmaster.c.

Benutzt i, keys, NPC_NUMBER, NPC_SCORE und npcs.

Wird benutzt von SetScore().

00089 {
00090   mixed *keys;
00091   int i, max;
00092 
00093   keys=m_indices(npcs);
00094   rm(NPCDUMPFILE);
00095   for (i=sizeof(keys)-1, max=0;i>=0;i--) {
00096     write_file(NPCDUMPFILE,sprintf("%5d %4d %s\n",npcs[keys[i],NPC_NUMBER],
00097                    npcs[keys[i],NPC_SCORE],keys[i]));
00098     max += npcs[keys[i],NPC_SCORE];
00099   } 
00100   write_file(NPCDUMPFILE,sprintf("====================\nGesamt: %d Punkte\n",max)); 
00101   return 1;
00102 }

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

void make_num ( string  key  ) 

Definiert in Zeile 38 der Datei npcmaster.c.

Benutzt by_num, NPC_NUMBER, NPC_SCORE und npcs.

00038                           {
00039   by_num += ([ npcs[key,NPC_NUMBER] : key; npcs[key,NPC_SCORE] ]);
00040 }

varargs mixed QueryNPC ( int  score  ) 

Definiert in Zeile 56 der Datei npcmaster.c.

Benutzt by_num, call_out(), lastNum, NPC_INVALID_ARG, NPC_NUMBER, NPC_SCORE, npcs, NPCSAVEFILE, old_explode() und save_object().

00057 {
00058   string key, val;
00059   
00060   if (!previous_object())
00061     return NPC_INVALID_ARG;
00062   key=old_explode(object_name(previous_object()),"#")[0];
00063   if (val=npcs[key,NPC_NUMBER])
00064     return ({val,npcs[key,NPC_SCORE]});
00065   if (score<=0 || member(inherit_list(previous_object()),"/std/living/life.c") < 0)
00066     return NPC_INVALID_ARG;
00067   npcs[key,NPC_SCORE]=score;
00068   npcs[key,NPC_NUMBER]=++lastNum;
00069   by_num += ([lastNum:key;score]);
00070    save_object(NPCSAVEFILE);
00071   call_out("DumpNPCs",0);
00072   return ({lastNum,score});
00073 }

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

mixed* QueryNPCbyNumber ( int  num  ) 

Definiert in Zeile 104 der Datei npcmaster.c.

Benutzt by_num, NPC_NUMBER und NPC_SCORE.

00105 {
00106   if (by_num[num])
00107     return ({num,by_num[num,NPC_SCORE],by_num[num,NPC_NUMBER]});
00108 
00109   return 0;
00110 }

int Recalculate ( string  s  ) 

Definiert in Zeile 112 der Datei npcmaster.c.

Benutzt by_num, i und NPC_SCORE.

00113 {
00114   int i, j;
00115 
00116   if (!s || !strlen(s))
00117     return 0;
00118 
00119   for (j=0, i=6*strlen(s)-1; i>0; i--) {
00120     if (test_bit(s,i))
00121       j+=by_num[i,NPC_SCORE];
00122   }
00123   return j;
00124 }

int SetScore ( string  key,
int  score 
)

Definiert in Zeile 75 der Datei npcmaster.c.

Benutzt by_num, DumpNPCs(), IS_ARCH, NPC_INVALID_ARG, NPC_NO_PERMISSION, NPC_NUMBER, NPC_SCORE, npcs, NPCSAVEFILE und save_object().

00076 {
00077   if (!IS_ARCH(this_interactive())||!IS_ARCH(geteuid(previous_object())))
00078     return NPC_NO_PERMISSION;
00079   if (!npcs[key,NPC_NUMBER])
00080     return NPC_INVALID_ARG;
00081   npcs[key,NPC_SCORE]=score;
00082   by_num += ([npcs[key,NPC_NUMBER]:key;score]);
00083   save_object(NPCSAVEFILE);
00084   DumpNPCs();
00085   return 1;
00086 }

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


Variablen-Dokumentation

private mapping by_num [static]
private int lastNum

Definiert in Zeile 34 der Datei npcmaster.c.

Wird benutzt von create() und QueryNPC().

private mapping npcs
Erzeugt am Thu Jun 3 14:41:45 2010 für MorgenGrauen Mudlib von  doxygen 1.6.3